pertpy 0.9.1__tar.gz → 0.9.4__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. {pertpy-0.9.1 → pertpy-0.9.4}/.github/release-drafter.yml +2 -2
  2. {pertpy-0.9.1 → pertpy-0.9.4}/.github/workflows/test.yml +7 -7
  3. {pertpy-0.9.1 → pertpy-0.9.4}/PKG-INFO +4 -3
  4. {pertpy-0.9.1 → pertpy-0.9.4}/README.md +2 -2
  5. {pertpy-0.9.1 → pertpy-0.9.4}/docs/installation.md +2 -2
  6. {pertpy-0.9.1 → pertpy-0.9.4}/docs/usage/usage.md +1 -1
  7. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/__init__.py +1 -1
  8. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/data/_dataloader.py +4 -4
  9. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/data/_datasets.py +2 -2
  10. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/__init__.py +13 -14
  11. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_cinemaot.py +1 -1
  12. {pertpy-0.9.1 → pertpy-0.9.4}/pyproject.toml +3 -2
  13. {pertpy-0.9.1 → pertpy-0.9.4}/.editorconfig +0 -0
  14. {pertpy-0.9.1 → pertpy-0.9.4}/.gitattributes +0 -0
  15. {pertpy-0.9.1 → pertpy-0.9.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  16. {pertpy-0.9.1 → pertpy-0.9.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  17. {pertpy-0.9.1 → pertpy-0.9.4}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  18. {pertpy-0.9.1 → pertpy-0.9.4}/.github/labels.yml +0 -0
  19. {pertpy-0.9.1 → pertpy-0.9.4}/.github/pull_request_template.md +0 -0
  20. {pertpy-0.9.1 → pertpy-0.9.4}/.github/workflows/build.yml +0 -0
  21. {pertpy-0.9.1 → pertpy-0.9.4}/.github/workflows/labeler.yml +0 -0
  22. {pertpy-0.9.1 → pertpy-0.9.4}/.github/workflows/release.yml +0 -0
  23. {pertpy-0.9.1 → pertpy-0.9.4}/.github/workflows/release_drafter.yml +0 -0
  24. {pertpy-0.9.1 → pertpy-0.9.4}/.gitignore +0 -0
  25. {pertpy-0.9.1 → pertpy-0.9.4}/.gitmodules +0 -0
  26. {pertpy-0.9.1 → pertpy-0.9.4}/.pre-commit-config.yaml +0 -0
  27. {pertpy-0.9.1 → pertpy-0.9.4}/.readthedocs.yml +0 -0
  28. {pertpy-0.9.1 → pertpy-0.9.4}/CODE_OF_CONDUCT.md +0 -0
  29. {pertpy-0.9.1 → pertpy-0.9.4}/LICENSE +0 -0
  30. {pertpy-0.9.1 → pertpy-0.9.4}/codecov.yml +0 -0
  31. {pertpy-0.9.1 → pertpy-0.9.4}/docs/Makefile +0 -0
  32. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_ext/edit_on_github.py +0 -0
  33. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_ext/typed_returns.py +0 -0
  34. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/SCVI_LICENSE +0 -0
  35. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/css/overwrite.css +0 -0
  36. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/css/sphinx_gallery.css +0 -0
  37. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/augur_dp_scatter.png +0 -0
  38. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/augur_important_features.png +0 -0
  39. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/augur_lollipop.png +0 -0
  40. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/augur_scatterplot.png +0 -0
  41. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/dialogue_pairplot.png +0 -0
  42. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/dialogue_violin.png +0 -0
  43. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/enrichment_dotplot.png +0 -0
  44. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/enrichment_gsea.png +0 -0
  45. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/milo_da_beeswarm.png +0 -0
  46. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/milo_nhood.png +0 -0
  47. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/milo_nhood_graph.png +0 -0
  48. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/mixscape_barplot.png +0 -0
  49. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/mixscape_heatmap.png +0 -0
  50. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/mixscape_lda.png +0 -0
  51. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/mixscape_perturbscore.png +0 -0
  52. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/mixscape_violin.png +0 -0
  53. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/sccoda_boxplots.png +0 -0
  54. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/sccoda_effects_barplot.png +0 -0
  55. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/sccoda_rel_abundance_dispersion_plot.png +0 -0
  56. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/sccoda_stacked_barplot.png +0 -0
  57. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/scgen_reg_mean.png +0 -0
  58. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/tasccoda_draw_effects.png +0 -0
  59. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/tasccoda_draw_tree.png +0 -0
  60. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/docstring_previews/tasccoda_effects_umap.png +0 -0
  61. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/icons/code-24px.svg +0 -0
  62. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/icons/computer-24px.svg +0 -0
  63. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/icons/library_books-24px.svg +0 -0
  64. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/icons/play_circle_outline-24px.svg +0 -0
  65. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/placeholder.png +0 -0
  66. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/augur.png +0 -0
  67. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/cinemaot.png +0 -0
  68. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/dge.png +0 -0
  69. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/dialogue.png +0 -0
  70. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/distances.png +0 -0
  71. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/distances_tests.png +0 -0
  72. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/enrichment.png +0 -0
  73. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/guide_rna_assignment.png +0 -0
  74. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/metadata.png +0 -0
  75. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/milo.png +0 -0
  76. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/mixscape.png +0 -0
  77. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/ontology.png +0 -0
  78. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/perturbation_space.png +0 -0
  79. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/placeholder.png +0 -0
  80. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/sccoda.png +0 -0
  81. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/sccoda_extended.png +0 -0
  82. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/scgen_perturbation_prediction.png +0 -0
  83. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_static/tutorials/tasccoda.png +0 -0
  84. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_templates/autosummary/class.rst +0 -0
  85. {pertpy-0.9.1 → pertpy-0.9.4}/docs/_templates/class_no_inherited.rst +0 -0
  86. {pertpy-0.9.1 → pertpy-0.9.4}/docs/code_of_conduct.md +0 -0
  87. {pertpy-0.9.1 → pertpy-0.9.4}/docs/conf.py +0 -0
  88. {pertpy-0.9.1 → pertpy-0.9.4}/docs/contributing.md +0 -0
  89. {pertpy-0.9.1 → pertpy-0.9.4}/docs/index.md +0 -0
  90. {pertpy-0.9.1 → pertpy-0.9.4}/docs/make.bat +0 -0
  91. {pertpy-0.9.1 → pertpy-0.9.4}/docs/references.bib +0 -0
  92. {pertpy-0.9.1 → pertpy-0.9.4}/docs/references.md +0 -0
  93. {pertpy-0.9.1 → pertpy-0.9.4}/docs/tutorials/index.md +0 -0
  94. {pertpy-0.9.1 → pertpy-0.9.4}/docs/utils.py +0 -0
  95. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/data/__init__.py +0 -0
  96. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/__init__.py +0 -0
  97. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/_cell_line.py +0 -0
  98. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/_compound.py +0 -0
  99. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/_drug.py +0 -0
  100. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/_look_up.py +0 -0
  101. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/_metadata.py +0 -0
  102. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/metadata/_moa.py +0 -0
  103. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/plot/__init__.py +0 -0
  104. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/preprocessing/__init__.py +0 -0
  105. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/preprocessing/_guide_rna.py +0 -0
  106. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/py.typed +0 -0
  107. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_augur.py +0 -0
  108. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_coda/__init__.py +0 -0
  109. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_coda/_base_coda.py +0 -0
  110. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_coda/_sccoda.py +0 -0
  111. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_coda/_tasccoda.py +0 -0
  112. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_dialogue.py +0 -0
  113. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/__init__.py +0 -0
  114. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_base.py +0 -0
  115. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_checks.py +0 -0
  116. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_dge_comparison.py +0 -0
  117. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_edger.py +0 -0
  118. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_formulaic.py +0 -0
  119. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_pydeseq2.py +0 -0
  120. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_simple_tests.py +0 -0
  121. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_differential_gene_expression/_statsmodels.py +0 -0
  122. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_distances/__init__.py +0 -0
  123. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_distances/_distance_tests.py +0 -0
  124. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_distances/_distances.py +0 -0
  125. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_enrichment.py +0 -0
  126. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_kernel_pca.py +0 -0
  127. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_milo.py +0 -0
  128. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_mixscape.py +0 -0
  129. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/__init__.py +0 -0
  130. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/_clustering.py +0 -0
  131. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/_comparison.py +0 -0
  132. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/_discriminator_classifiers.py +0 -0
  133. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/_metrics.py +0 -0
  134. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/_perturbation_space.py +0 -0
  135. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_perturbation_space/_simple.py +0 -0
  136. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_scgen/__init__.py +0 -0
  137. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_scgen/_base_components.py +0 -0
  138. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_scgen/_scgen.py +0 -0
  139. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_scgen/_scgenvae.py +0 -0
  140. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/_scgen/_utils.py +0 -0
  141. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/decoupler_LICENSE +0 -0
  142. {pertpy-0.9.1 → pertpy-0.9.4}/pertpy/tools/transferlearning_MMD_LICENSE +0 -0
  143. {pertpy-0.9.1 → pertpy-0.9.4}/tests/conftest.py +0 -0
  144. {pertpy-0.9.1 → pertpy-0.9.4}/tests/metadata/test_cell_line.py +0 -0
  145. {pertpy-0.9.1 → pertpy-0.9.4}/tests/metadata/test_compound.py +0 -0
  146. {pertpy-0.9.1 → pertpy-0.9.4}/tests/metadata/test_drug.py +0 -0
  147. {pertpy-0.9.1 → pertpy-0.9.4}/tests/metadata/test_moa.py +0 -0
  148. {pertpy-0.9.1 → pertpy-0.9.4}/tests/preprocessing/test_grna_assignment.py +0 -0
  149. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_coda/test_sccoda.py +0 -0
  150. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_coda/test_tasccoda.py +0 -0
  151. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/__init__.py +0 -0
  152. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/conftest.py +0 -0
  153. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_base.py +0 -0
  154. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_compare_groups.py +0 -0
  155. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_dge.py +0 -0
  156. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_edger.py +0 -0
  157. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_formulaic.py +0 -0
  158. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_input_checks.py +0 -0
  159. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_pydeseq2.py +0 -0
  160. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_simple_tests.py +0 -0
  161. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_differential_gene_expression/test_statsmodels.py +0 -0
  162. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_distances/test_distance_tests.py +0 -0
  163. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_distances/test_distances.py +0 -0
  164. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_perturbation_space/test_comparison.py +0 -0
  165. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_perturbation_space/test_discriminator_classifiers.py +0 -0
  166. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_perturbation_space/test_simple_cluster_space.py +0 -0
  167. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/_perturbation_space/test_simple_perturbation_space.py +0 -0
  168. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/haber_data.csv +0 -0
  169. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/r_result.csv +0 -0
  170. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_augur.py +0 -0
  171. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_cinemaot.py +0 -0
  172. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_dialogue.py +0 -0
  173. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_enrichment.py +0 -0
  174. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_milo.py +0 -0
  175. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_mixscape.py +0 -0
  176. {pertpy-0.9.1 → pertpy-0.9.4}/tests/tools/test_scgen.py +0 -0
@@ -1,5 +1,5 @@
1
- name-template: "0.9.1 🌈"
2
- tag-template: 0.9.1
1
+ name-template: "0.9.4 🌈"
2
+ tag-template: 0.9.4
3
3
  exclude-labels:
4
4
  - "skip-changelog"
5
5
 
@@ -27,13 +27,13 @@ jobs:
27
27
  - os: ubuntu-latest
28
28
  python: "3.12"
29
29
  run_mode: "slow"
30
- - os: ubuntu-latest
31
- python: "3.12"
32
- run_mode: "fast"
33
- - os: ubuntu-latest
34
- python: "3.12"
35
- run_mode: slow
36
- pip-flags: "--pre"
30
+ # - os: ubuntu-latest
31
+ # python: "3.12"
32
+ # run_mode: "fast"
33
+ # - os: ubuntu-latest
34
+ # python: "3.12"
35
+ # run_mode: slow
36
+ # pip-flags: "--pre"
37
37
 
38
38
  env:
39
39
  OS: ${{ matrix.os }}
@@ -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
@@ -30,13 +30,13 @@ pip install pertpy
30
30
  if you want to use scCODA or tascCODA, please install pertpy as follows:
31
31
 
32
32
  ```console
33
- pip install pertpy[coda]
33
+ pip install 'pertpy[coda]'
34
34
  ```
35
35
 
36
36
  If you want to use the differential gene expression interface, please install pertpy by running:
37
37
 
38
38
  ```console
39
- pip install pertpy[de]
39
+ pip install 'pertpy[de]'
40
40
  ```
41
41
 
42
42
  ## Citation
@@ -78,10 +78,10 @@ Follow these steps to install pertpy on an Apple Silicon machine (tested on a Ma
78
78
  brew install --cask mambaforge
79
79
  ```
80
80
 
81
- 3. Create a new environment using mamba (here with python 3.10) and activate it
81
+ 3. Create a new environment using mamba and activate it
82
82
 
83
83
  ```console
84
- mamba create -n pertpy-env python=3.11
84
+ mamba create -n pertpy-env
85
85
  mamba activate pertpy-env
86
86
  ```
87
87
 
@@ -450,7 +450,7 @@ See [scGen predicts single-cell perturbation responses](https://www.nature.com/a
450
450
  .. autosummary::
451
451
  :toctree: tools
452
452
 
453
- tools.SCGEN
453
+ tools.Scgen
454
454
  ```
455
455
 
456
456
  Example implementation:
@@ -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
@@ -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,
@@ -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
  ]
@@ -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
@@ -4,7 +4,7 @@ requires = ["hatchling"]
4
4
 
5
5
  [project]
6
6
  name = "pertpy"
7
- version = "0.9.1"
7
+ version = "0.9.4"
8
8
  description = "Perturbation Analysis in the scverse ecosystem."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -64,7 +64,8 @@ dependencies = [
64
64
  "pubchempy",
65
65
  "pyarrow",
66
66
  "blitzgsea",
67
- "lamin_utils"
67
+ "lamin_utils",
68
+ "anndata <0.10.9" # pydeseq2 bug
68
69
  ]
69
70
 
70
71
  [project.optional-dependencies]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes