pertpy 0.9.1__py3-none-any.whl → 0.9.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pertpy/__init__.py CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  __author__ = "Lukas Heumos"
4
4
  __email__ = "lukas.heumos@posteo.net"
5
- __version__ = "0.9.1"
5
+ __version__ = "0.9.4"
6
6
 
7
7
  import warnings
8
8
 
@@ -23,10 +23,10 @@ def _download( # pragma: no cover
23
23
  Args:
24
24
  url: URL to download
25
25
  output_file_name: Name of the downloaded file
26
- output_path: Path to download/extract the files to (default: OS tmpdir)
27
- block_size: Block size for downloads in bytes (default: 1024)
28
- overwrite: Whether to overwrite existing files (default: False)
29
- is_zip: Whether the downloaded file needs to be unzipped (default: False)
26
+ output_path: Path to download/extract the files to.
27
+ block_size: Block size for downloads in bytes.
28
+ overwrite: Whether to overwrite existing files.
29
+ is_zip: Whether the downloaded file needs to be unzipped.
30
30
  """
31
31
  if output_file_name is None:
32
32
  letters = ascii_lowercase
pertpy/data/_datasets.py CHANGED
@@ -1100,7 +1100,7 @@ def shifrut_2018() -> AnnData: # pragma: no cover
1100
1100
  output_file_path = settings.datasetdir / output_file_name
1101
1101
  if not Path(output_file_path).exists():
1102
1102
  _download(
1103
- url="https://zenodo.org/record/10044268/files/ShifrutMarson2018.h5ad?download=1",
1103
+ url="https://zenodo.org/record/13350497/files/ShifrutMarson2018.h5ad?download=1",
1104
1104
  output_file_name=output_file_name,
1105
1105
  output_path=settings.datasetdir,
1106
1106
  is_zip=False,
@@ -1160,7 +1160,7 @@ def srivatsan_2020_sciplex3() -> AnnData: # pragma: no cover
1160
1160
  output_file_path = settings.datasetdir / output_file_name
1161
1161
  if not Path(output_file_path).exists():
1162
1162
  _download(
1163
- url="https://zenodo.org/records/10044268/files/SrivatsanTrapnell2020_sciplex3.h5ad?download=1",
1163
+ url="https://zenodo.org/records/13350497/files/SrivatsanTrapnell2020_sciplex3.h5ad?download=1",
1164
1164
  output_file_name=output_file_name,
1165
1165
  output_path=settings.datasetdir,
1166
1166
  is_zip=False,
pertpy/tools/__init__.py CHANGED
@@ -2,19 +2,21 @@ from importlib import import_module
2
2
 
3
3
 
4
4
  def lazy_import(module_path, class_name, extras):
5
- def _import():
6
- try:
7
- for extra in extras:
8
- import_module(extra)
9
- except ImportError as e:
10
- raise ImportError(
11
- f"Extra dependencies required: {', '.join(extras)}. "
12
- f"Please install with: pip install {' '.join(extras)}"
13
- ) from e
5
+ try:
6
+ for extra in extras:
7
+ import_module(extra)
14
8
  module = import_module(module_path)
15
9
  return getattr(module, class_name)
10
+ except ImportError:
16
11
 
17
- return _import
12
+ class Placeholder:
13
+ def __init__(self, *args, **kwargs):
14
+ raise ImportError(
15
+ f"Extra dependencies required: {', '.join(extras)}. "
16
+ f"Please install with: pip install {' '.join(extras)}"
17
+ )
18
+
19
+ return Placeholder
18
20
 
19
21
 
20
22
  from pertpy.tools._augur import Augur
@@ -39,14 +41,12 @@ from pertpy.tools._perturbation_space._simple import (
39
41
  )
40
42
  from pertpy.tools._scgen import Scgen
41
43
 
42
- # from pertpy.tools._differential_gene_expression import DGEEVAL
43
-
44
44
  CODA_EXTRAS = ["toytree", "arviz", "ete3"] # also pyqt5 technically
45
45
  Sccoda = lazy_import("pertpy.tools._coda._sccoda", "Sccoda", CODA_EXTRAS)
46
46
  Tasccoda = lazy_import("pertpy.tools._coda._tasccoda", "Tasccoda", CODA_EXTRAS)
47
47
 
48
48
  DE_EXTRAS = ["formulaic", "pydeseq2"]
49
- EdgeR = lazy_import("pertpy.tools._differential_gene_expression", "EdgeR", DE_EXTRAS + ["edger"])
49
+ EdgeR = lazy_import("pertpy.tools._differential_gene_expression", "EdgeR", DE_EXTRAS) # edgeR will be imported via rpy2
50
50
  PyDESeq2 = lazy_import("pertpy.tools._differential_gene_expression", "PyDESeq2", DE_EXTRAS)
51
51
  Statsmodels = lazy_import("pertpy.tools._differential_gene_expression", "Statsmodels", DE_EXTRAS + ["statsmodels"])
52
52
  TTest = lazy_import("pertpy.tools._differential_gene_expression", "TTest", DE_EXTRAS)
@@ -76,5 +76,4 @@ __all__ = [
76
76
  "KMeansSpace",
77
77
  "PseudobulkSpace",
78
78
  "Scgen",
79
- "DGEEVAL",
80
79
  ]
pertpy/tools/_cinemaot.py CHANGED
@@ -190,7 +190,7 @@ class Cinemaot:
190
190
  TE.obsm["X_embedding"] = embedding
191
191
 
192
192
  if return_matching:
193
- TE.obsm["ot"] = ot_sink.matrix.T
193
+ TE.obsm["ot"] = np.asarray(ot_sink.matrix.T)
194
194
  return TE
195
195
  else:
196
196
  return TE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pertpy
3
- Version: 0.9.1
3
+ Version: 0.9.4
4
4
  Summary: Perturbation Analysis in the scverse ecosystem.
5
5
  Project-URL: Documentation, https://pertpy.readthedocs.io
6
6
  Project-URL: Source, https://github.com/scverse/pertpy
@@ -46,6 +46,7 @@ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
46
46
  Classifier: Topic :: Scientific/Engineering :: Visualization
47
47
  Requires-Python: >=3.10
48
48
  Requires-Dist: adjusttext
49
+ Requires-Dist: anndata<0.10.9
49
50
  Requires-Dist: blitzgsea
50
51
  Requires-Dist: decoupler
51
52
  Requires-Dist: lamin-utils
@@ -129,13 +130,13 @@ pip install pertpy
129
130
  if you want to use scCODA or tascCODA, please install pertpy as follows:
130
131
 
131
132
  ```console
132
- pip install pertpy[coda]
133
+ pip install 'pertpy[coda]'
133
134
  ```
134
135
 
135
136
  If you want to use the differential gene expression interface, please install pertpy by running:
136
137
 
137
138
  ```console
138
- pip install pertpy[de]
139
+ pip install 'pertpy[de]'
139
140
  ```
140
141
 
141
142
  ## Citation
@@ -1,8 +1,8 @@
1
- pertpy/__init__.py,sha256=OaiANyTVOegBAYDyD4004b7LXIWFpN2HkvQpKLC8P3I,658
1
+ pertpy/__init__.py,sha256=k0tPuH0DdvQraT7I-zYrI1TwJHK3GnBx-Nvi-cMobvM,658
2
2
  pertpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  pertpy/data/__init__.py,sha256=ah3yvoxkgbdMUNAWxS3SyqcUuVamBOSeuWkF2QRAEwM,2703
4
- pertpy/data/_dataloader.py,sha256=fl16n82nun01gGiP7qhr5sShfcDchp0szzZp7aXkfBI,2495
5
- pertpy/data/_datasets.py,sha256=I-keaJSTsRBySCPjiVonKmC9rRIM0AEgo0_0UlEX804,65616
4
+ pertpy/data/_dataloader.py,sha256=ENbk1T3w3N6tVI11V4FVUxuWFEwOHP8_kIB-ehiMlVQ,2428
5
+ pertpy/data/_datasets.py,sha256=OwI0HSSXnUPnUw_lAG9w5jNMILjLnPZS2Wj_LfrXSoI,65616
6
6
  pertpy/metadata/__init__.py,sha256=zoE_VXNyuKa4nlXlUk2nTgsHRW3jSQSpDEulcCnzOT0,222
7
7
  pertpy/metadata/_cell_line.py,sha256=-8KSqmP5XjmLEmNX3TavxSM_MtIHwLWS_x3MVkk6JEw,38595
8
8
  pertpy/metadata/_compound.py,sha256=JEFwP_TOTyMzfd2qFMb2VkJJvPhCVIvu6gs9Bq_stgs,4756
@@ -13,9 +13,9 @@ pertpy/metadata/_moa.py,sha256=u_OcMonjOeeoW5P9xOltquVSoTH3Vs80ztHsXf-X1DY,4701
13
13
  pertpy/plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  pertpy/preprocessing/__init__.py,sha256=VAPFaeq2_qCvdFkQTCj_Hm460HC4Tersu8Rig_tnp_Y,71
15
15
  pertpy/preprocessing/_guide_rna.py,sha256=IgKhXEyfRwEA7ccKJNLA_aIxKHm09QJINM09KaIwn68,7644
16
- pertpy/tools/__init__.py,sha256=laoRUOIjnjR4D41miOg6tISC_8pNJsu79785_CxMbSE,2603
16
+ pertpy/tools/__init__.py,sha256=guh4QL8ac_CKP8S2nFHmxWJ6epCFB_Jfga4eK9HYGnE,2598
17
17
  pertpy/tools/_augur.py,sha256=UWro1nIEZe_rWtjlQCBv4ucqeh3Vt1m8IRzKlux72Z8,55683
18
- pertpy/tools/_cinemaot.py,sha256=BD_oYC1TktbFMX7fpp0A57QAF6frLEgNQ_2wFUpxjyo,39509
18
+ pertpy/tools/_cinemaot.py,sha256=vMm9oTNW6pb8HBe993-BvkVKjSHbfbqlZY1SSCvj12Y,39521
19
19
  pertpy/tools/_dialogue.py,sha256=f2fbhKWdm4Co79ZzVgtVq9xYwjYWFLdGNDeGFOO_pfM,51990
20
20
  pertpy/tools/_enrichment.py,sha256=rjPHK9YBCJZfpa5Rvfxo3Ii7W5Mvm5dOdolAD7QazVg,21440
21
21
  pertpy/tools/_kernel_pca.py,sha256=_EJ9WlBLjHOafF34sZGdyBgZL6Fj0WiJ1elVT1XMmo4,1579
@@ -51,7 +51,7 @@ pertpy/tools/_scgen/_base_components.py,sha256=Qq8myRUm43q9XBrZ9gBggfa2cSV2wbz_K
51
51
  pertpy/tools/_scgen/_scgen.py,sha256=HPvFVjY9SS9bGqgTkCDuPYjmA4QHW7rKgHnI2yuI_Q4,30608
52
52
  pertpy/tools/_scgen/_scgenvae.py,sha256=v_6tZ4wY-JjdMH1QVd_wG4_N0PoaqB-FM8zC2JsDu1o,3935
53
53
  pertpy/tools/_scgen/_utils.py,sha256=1upgOt1FpadfvNG05YpMjYYG-IAlxrC3l_ZxczmIczo,2841
54
- pertpy-0.9.1.dist-info/METADATA,sha256=JrAJR7n35TG8BZ30XmTdsrkaI6ADaz1PQE_DGLHT1TM,6848
55
- pertpy-0.9.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
56
- pertpy-0.9.1.dist-info/licenses/LICENSE,sha256=OZ-ZkXM5CmExJiEMM90b_7dGNNvRpj7kdE-49AnrLuI,1070
57
- pertpy-0.9.1.dist-info/RECORD,,
54
+ pertpy-0.9.4.dist-info/METADATA,sha256=0gKL9NKX-_hyYAGZvXqTNZySfUSG-VuJdOL_zNCBDrs,6882
55
+ pertpy-0.9.4.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
56
+ pertpy-0.9.4.dist-info/licenses/LICENSE,sha256=OZ-ZkXM5CmExJiEMM90b_7dGNNvRpj7kdE-49AnrLuI,1070
57
+ pertpy-0.9.4.dist-info/RECORD,,
File without changes