pertpy 0.6.0__tar.gz → 0.7.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. {pertpy-0.6.0 → pertpy-0.7.0}/.github/release-drafter.yml +2 -2
  2. {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/build.yml +2 -2
  3. {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/labeler.yml +1 -1
  4. {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/release.yml +2 -2
  5. {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/test.yml +12 -6
  6. {pertpy-0.6.0 → pertpy-0.7.0}/.gitignore +2 -0
  7. {pertpy-0.6.0 → pertpy-0.7.0}/.pre-commit-config.yaml +5 -11
  8. {pertpy-0.6.0 → pertpy-0.7.0}/PKG-INFO +31 -12
  9. {pertpy-0.6.0 → pertpy-0.7.0}/README.md +9 -3
  10. {pertpy-0.6.0 → pertpy-0.7.0}/codecov.yml +1 -1
  11. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_ext/edit_on_github.py +1 -0
  12. pertpy-0.7.0/docs/_static/docstring_previews/augur_dp_scatter.png +0 -0
  13. pertpy-0.7.0/docs/_static/docstring_previews/augur_important_features.png +0 -0
  14. pertpy-0.7.0/docs/_static/docstring_previews/augur_lollipop.png +0 -0
  15. pertpy-0.7.0/docs/_static/docstring_previews/augur_scatterplot.png +0 -0
  16. pertpy-0.7.0/docs/_static/docstring_previews/dialogue_pairplot.png +0 -0
  17. pertpy-0.7.0/docs/_static/docstring_previews/dialogue_violin.png +0 -0
  18. pertpy-0.7.0/docs/_static/docstring_previews/enrichment_dotplot.png +0 -0
  19. pertpy-0.7.0/docs/_static/docstring_previews/enrichment_gsea.png +0 -0
  20. pertpy-0.7.0/docs/_static/docstring_previews/milo_da_beeswarm.png +0 -0
  21. pertpy-0.7.0/docs/_static/docstring_previews/milo_nhood.png +0 -0
  22. pertpy-0.7.0/docs/_static/docstring_previews/milo_nhood_graph.png +0 -0
  23. pertpy-0.7.0/docs/_static/docstring_previews/mixscape_barplot.png +0 -0
  24. pertpy-0.7.0/docs/_static/docstring_previews/mixscape_heatmap.png +0 -0
  25. pertpy-0.7.0/docs/_static/docstring_previews/mixscape_lda.png +0 -0
  26. pertpy-0.7.0/docs/_static/docstring_previews/mixscape_perturbscore.png +0 -0
  27. pertpy-0.7.0/docs/_static/docstring_previews/mixscape_violin.png +0 -0
  28. pertpy-0.7.0/docs/_static/docstring_previews/sccoda_boxplots.png +0 -0
  29. pertpy-0.7.0/docs/_static/docstring_previews/sccoda_effects_barplot.png +0 -0
  30. pertpy-0.7.0/docs/_static/docstring_previews/sccoda_rel_abundance_dispersion_plot.png +0 -0
  31. pertpy-0.7.0/docs/_static/docstring_previews/sccoda_stacked_barplot.png +0 -0
  32. pertpy-0.7.0/docs/_static/docstring_previews/scgen_reg_mean.png +0 -0
  33. pertpy-0.7.0/docs/_static/docstring_previews/tasccoda_draw_effects.png +0 -0
  34. pertpy-0.7.0/docs/_static/docstring_previews/tasccoda_draw_tree.png +0 -0
  35. pertpy-0.7.0/docs/_static/docstring_previews/tasccoda_effects_umap.png +0 -0
  36. pertpy-0.7.0/docs/_static/tutorials/augur.png +0 -0
  37. pertpy-0.7.0/docs/_static/tutorials/cinemaot.png +0 -0
  38. pertpy-0.7.0/docs/_static/tutorials/dialogue.png +0 -0
  39. pertpy-0.7.0/docs/_static/tutorials/enrichment.png +0 -0
  40. pertpy-0.7.0/docs/_static/tutorials/milo.png +0 -0
  41. pertpy-0.7.0/docs/_static/tutorials/mixscape.png +0 -0
  42. pertpy-0.7.0/docs/_static/tutorials/perturbation_space.png +0 -0
  43. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_templates/autosummary/class.rst +17 -3
  44. {pertpy-0.6.0 → pertpy-0.7.0}/docs/conf.py +6 -5
  45. {pertpy-0.6.0 → pertpy-0.7.0}/docs/index.md +0 -10
  46. {pertpy-0.6.0 → pertpy-0.7.0}/docs/installation.md +12 -9
  47. {pertpy-0.6.0 → pertpy-0.7.0}/docs/tutorials/index.md +6 -6
  48. pertpy-0.7.0/docs/usage/usage.md +597 -0
  49. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/__init__.py +3 -2
  50. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/data/__init__.py +5 -1
  51. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/data/_dataloader.py +2 -4
  52. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/data/_datasets.py +203 -92
  53. pertpy-0.7.0/pertpy/metadata/__init__.py +4 -0
  54. pertpy-0.7.0/pertpy/metadata/_cell_line.py +826 -0
  55. pertpy-0.7.0/pertpy/metadata/_compound.py +129 -0
  56. pertpy-0.7.0/pertpy/metadata/_drug.py +242 -0
  57. pertpy-0.7.0/pertpy/metadata/_look_up.py +582 -0
  58. pertpy-0.7.0/pertpy/metadata/_metadata.py +73 -0
  59. pertpy-0.7.0/pertpy/metadata/_moa.py +129 -0
  60. pertpy-0.7.0/pertpy/plot/__init__.py +5 -0
  61. pertpy-0.7.0/pertpy/plot/_augur.py +171 -0
  62. pertpy-0.7.0/pertpy/plot/_coda.py +601 -0
  63. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/plot/_guide_rna.py +17 -35
  64. pertpy-0.7.0/pertpy/plot/_milopy.py +209 -0
  65. pertpy-0.7.0/pertpy/plot/_mixscape.py +355 -0
  66. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/preprocessing/_guide_rna.py +88 -4
  67. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/__init__.py +8 -13
  68. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_augur.py +315 -17
  69. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_cinemaot.py +143 -4
  70. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/_base_coda.py +1210 -65
  71. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/_sccoda.py +50 -21
  72. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/_tasccoda.py +27 -19
  73. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_dialogue.py +164 -56
  74. pertpy-0.7.0/pertpy/tools/_differential_gene_expression.py +325 -0
  75. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_distances/_distance_tests.py +8 -8
  76. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_distances/_distances.py +184 -34
  77. pertpy-0.7.0/pertpy/tools/_enrichment.py +465 -0
  78. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_milo.py +345 -11
  79. pertpy-0.7.0/pertpy/tools/_mixscape.py +1121 -0
  80. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_clustering.py +5 -1
  81. pertpy-0.7.0/pertpy/tools/_perturbation_space/_discriminator_classifiers.py +526 -0
  82. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_perturbation_space.py +135 -43
  83. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_simple.py +51 -10
  84. pertpy-0.7.0/pertpy/tools/_scgen/__init__.py +1 -0
  85. pertpy-0.7.0/pertpy/tools/_scgen/_scgen.py +701 -0
  86. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_scgen/_utils.py +1 -3
  87. pertpy-0.7.0/pertpy/tools/decoupler_LICENSE +674 -0
  88. {pertpy-0.6.0 → pertpy-0.7.0}/pyproject.toml +34 -11
  89. pertpy-0.7.0/tests/conftest.py +7 -0
  90. pertpy-0.7.0/tests/metadata/test_cell_line.py +77 -0
  91. pertpy-0.7.0/tests/metadata/test_compound.py +43 -0
  92. pertpy-0.7.0/tests/metadata/test_drug.py +34 -0
  93. pertpy-0.7.0/tests/metadata/test_moa.py +49 -0
  94. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_coda/test_tasccoda.py +1 -1
  95. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_distances/test_distance_tests.py +5 -1
  96. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_distances/test_distances.py +49 -38
  97. pertpy-0.6.0/tests/tools/_perturbation_space/test_discriminator_classifier.py → pertpy-0.7.0/tests/tools/_perturbation_space/test_discriminator_classifiers.py +30 -7
  98. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_perturbation_space/test_simple_perturbation_space.py +56 -73
  99. pertpy-0.7.0/tests/tools/test_differential_gene_expression.py +81 -0
  100. pertpy-0.7.0/tests/tools/test_enrichment.py +63 -0
  101. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_milo.py +3 -0
  102. pertpy-0.6.0/tests/tools/test_jax_scgen.py → pertpy-0.7.0/tests/tools/test_scgen.py +6 -7
  103. pertpy-0.6.0/.prettierignore +0 -1
  104. pertpy-0.6.0/docs/_static/tutorials/augur.png +0 -0
  105. pertpy-0.6.0/docs/_static/tutorials/dialogue.png +0 -0
  106. pertpy-0.6.0/docs/_static/tutorials/milo.png +0 -0
  107. pertpy-0.6.0/docs/_static/tutorials/mixscape.png +0 -0
  108. pertpy-0.6.0/docs/_static/tutorials/scgen_batch_removal.png +0 -0
  109. pertpy-0.6.0/docs/authors.md +0 -13
  110. pertpy-0.6.0/docs/usage/usage.md +0 -612
  111. pertpy-0.6.0/pertpy/plot/__init__.py +0 -13
  112. pertpy-0.6.0/pertpy/plot/_augur.py +0 -234
  113. pertpy-0.6.0/pertpy/plot/_cinemaot.py +0 -81
  114. pertpy-0.6.0/pertpy/plot/_coda.py +0 -1001
  115. pertpy-0.6.0/pertpy/plot/_dialogue.py +0 -91
  116. pertpy-0.6.0/pertpy/plot/_milopy.py +0 -284
  117. pertpy-0.6.0/pertpy/plot/_mixscape.py +0 -594
  118. pertpy-0.6.0/pertpy/plot/_scgen.py +0 -337
  119. pertpy-0.6.0/pertpy/tools/_differential_gene_expression.py +0 -99
  120. pertpy-0.6.0/pertpy/tools/_metadata/_cell_line.py +0 -613
  121. pertpy-0.6.0/pertpy/tools/_metadata/_look_up.py +0 -342
  122. pertpy-0.6.0/pertpy/tools/_mixscape.py +0 -503
  123. pertpy-0.6.0/pertpy/tools/_perturbation_space/__init__.py +0 -0
  124. pertpy-0.6.0/pertpy/tools/_perturbation_space/_discriminator_classifier.py +0 -381
  125. pertpy-0.6.0/pertpy/tools/_scgen/__init__.py +0 -1
  126. pertpy-0.6.0/pertpy/tools/_scgen/_jax_scgen.py +0 -370
  127. pertpy-0.6.0/tests/__init__.py +0 -1
  128. pertpy-0.6.0/tests/tools/_metadata/test_cell_line.py +0 -93
  129. {pertpy-0.6.0 → pertpy-0.7.0}/.editorconfig +0 -0
  130. {pertpy-0.6.0 → pertpy-0.7.0}/.gitattributes +0 -0
  131. {pertpy-0.6.0 → pertpy-0.7.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  132. {pertpy-0.6.0 → pertpy-0.7.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  133. {pertpy-0.6.0 → pertpy-0.7.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  134. {pertpy-0.6.0 → pertpy-0.7.0}/.github/labels.yml +0 -0
  135. {pertpy-0.6.0 → pertpy-0.7.0}/.github/pull_request_template.md +0 -0
  136. {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/release_drafter.yml +0 -0
  137. {pertpy-0.6.0 → pertpy-0.7.0}/.gitmodules +0 -0
  138. {pertpy-0.6.0 → pertpy-0.7.0}/.readthedocs.yml +0 -0
  139. {pertpy-0.6.0 → pertpy-0.7.0}/CODE_OF_CONDUCT.md +0 -0
  140. {pertpy-0.6.0 → pertpy-0.7.0}/LICENSE +0 -0
  141. {pertpy-0.6.0 → pertpy-0.7.0}/docs/Makefile +0 -0
  142. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_ext/typed_returns.py +0 -0
  143. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/SCVI_LICENSE +0 -0
  144. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/css/overwrite.css +0 -0
  145. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/css/sphinx_gallery.css +0 -0
  146. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/code-24px.svg +0 -0
  147. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/computer-24px.svg +0 -0
  148. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/library_books-24px.svg +0 -0
  149. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/play_circle_outline-24px.svg +0 -0
  150. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/placeholder.png +0 -0
  151. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/distances.png +0 -0
  152. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/distances_tests.png +0 -0
  153. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/guide_rna_assignment.png +0 -0
  154. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/ontology.png +0 -0
  155. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/placeholder.png +0 -0
  156. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/sccoda.png +0 -0
  157. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/sccoda_extended.png +0 -0
  158. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/scgen_perturbation_prediction.png +0 -0
  159. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/tasccoda.png +0 -0
  160. {pertpy-0.6.0 → pertpy-0.7.0}/docs/_templates/class_no_inherited.rst +0 -0
  161. {pertpy-0.6.0 → pertpy-0.7.0}/docs/code_of_conduct.md +0 -0
  162. {pertpy-0.6.0 → pertpy-0.7.0}/docs/contributing.md +0 -0
  163. {pertpy-0.6.0 → pertpy-0.7.0}/docs/make.bat +0 -0
  164. {pertpy-0.6.0 → pertpy-0.7.0}/docs/references.bib +0 -0
  165. {pertpy-0.6.0 → pertpy-0.7.0}/docs/references.md +0 -0
  166. {pertpy-0.6.0 → pertpy-0.7.0}/docs/utils.py +0 -0
  167. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/preprocessing/__init__.py +0 -0
  168. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/py.typed +0 -0
  169. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/__init__.py +0 -0
  170. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_distances/__init__.py +0 -0
  171. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_kernel_pca.py +0 -0
  172. {pertpy-0.6.0/pertpy/tools/_metadata → pertpy-0.7.0/pertpy/tools/_perturbation_space}/__init__.py +0 -0
  173. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_metrics.py +0 -0
  174. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_scgen/_base_components.py +0 -0
  175. /pertpy-0.6.0/pertpy/tools/_scgen/_jax_scgenvae.py → /pertpy-0.7.0/pertpy/tools/_scgen/_scgenvae.py +0 -0
  176. {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/transferlearning_MMD_LICENSE +0 -0
  177. {pertpy-0.6.0 → pertpy-0.7.0}/tests/preprocessing/test_grna_assignment.py +0 -0
  178. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_coda/test_sccoda.py +0 -0
  179. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_perturbation_space/test_simple_cluster_space.py +0 -0
  180. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/haber_data.csv +0 -0
  181. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/r_result.csv +0 -0
  182. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_augur.py +0 -0
  183. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_cinemaot.py +0 -0
  184. {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_mixscape.py +0 -0
@@ -1,5 +1,5 @@
1
- name-template: "0.6.0 🌈" # <<COOKIETEMPLE_FORCE_BUMP>>
2
- tag-template: 0.6.0 # <<COOKIETEMPLE_FORCE_BUMP>>
1
+ name-template: "0.7.0 🌈"
2
+ tag-template: 0.7.0
3
3
  exclude-labels:
4
4
  - "skip-changelog"
5
5
 
@@ -14,10 +14,10 @@ jobs:
14
14
  package:
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
- - uses: actions/checkout@v3
17
+ - uses: actions/checkout@v4
18
18
 
19
19
  - name: Set up Python 3.11
20
- uses: actions/setup-python@v4
20
+ uses: actions/setup-python@v5
21
21
  with:
22
22
  python-version: "3.11"
23
23
  cache: "pip"
@@ -11,7 +11,7 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - name: Check out the repository
14
- uses: actions/checkout@v3
14
+ uses: actions/checkout@v4
15
15
 
16
16
  - name: Run Labeler
17
17
  uses: crazy-max/ghaction-github-labeler@v4.1.0
@@ -11,10 +11,10 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - name: Checkout code
14
- uses: actions/checkout@v3
14
+ uses: actions/checkout@v4
15
15
 
16
16
  - name: Set up Python 3.11
17
- uses: actions/setup-python@v4
17
+ uses: actions/setup-python@v5
18
18
  with:
19
19
  python-version: "3.11"
20
20
 
@@ -22,7 +22,7 @@ jobs:
22
22
  matrix:
23
23
  include:
24
24
  - os: ubuntu-latest
25
- python: "3.9"
25
+ python: "3.10"
26
26
  - os: ubuntu-latest
27
27
  python: "3.11"
28
28
  - os: ubuntu-latest
@@ -34,25 +34,31 @@ jobs:
34
34
  PYTHON: ${{ matrix.python }}
35
35
 
36
36
  steps:
37
- - uses: actions/checkout@v3
37
+ - uses: actions/checkout@v4
38
38
  - name: Set up Python ${{ matrix.python }}
39
- uses: actions/setup-python@v4
39
+ uses: actions/setup-python@v5
40
40
  with:
41
41
  python-version: ${{ matrix.python }}
42
42
  cache: "pip"
43
43
  cache-dependency-path: "**/pyproject.toml"
44
44
 
45
45
  - name: Install test dependencies
46
- run: python -m pip install --upgrade pip wheel
46
+ run: python -m pip install --upgrade uv wheel
47
47
  - name: Install dependencies
48
- run: pip install ${{ matrix.pip-flags }} ".[dev,test,coda]"
48
+ run: uv pip install --system ${{ matrix.pip-flags }} ".[dev,test,coda]"
49
49
 
50
50
  - name: Test
51
51
  env:
52
52
  MPLBACKEND: agg
53
53
  PLATFORM: ${{ matrix.os }}
54
54
  DISPLAY: :42
55
- run: pytest -v --cov --color=yes
55
+ run: coverage run -m pytest -v --color=yes
56
+
57
+ - name: Show coverage report
58
+ run: coverage report -m
56
59
 
57
60
  - name: Upload coverage
58
61
  uses: codecov/codecov-action@v3
62
+ with:
63
+ fail_ci_if_error: true
64
+ verbose: true
@@ -153,3 +153,5 @@ cache
153
153
 
154
154
  lightning_logs/*
155
155
  */lightning_logs/*
156
+
157
+ node_modules
@@ -7,23 +7,17 @@ default_stages:
7
7
  minimum_pre_commit_version: 2.16.0
8
8
  repos:
9
9
  - repo: https://github.com/pre-commit/mirrors-prettier
10
- rev: v3.0.3
10
+ rev: v4.0.0-alpha.8
11
11
  hooks:
12
12
  - id: prettier
13
- # Newer versions of node don't work on systems that have an older version of GLIBC
14
- # (in particular Ubuntu 18.04 and Centos 7)
15
- # EOL of Centos 7 is in 2024-06, we can probably get rid of this then.
16
- # See https://github.com/scverse/cookiecutter-scverse/issues/143 and
17
- # https://github.com/jupyterlab/jupyterlab/issues/12675
18
- language_version: "17.9.1"
19
13
  - repo: https://github.com/astral-sh/ruff-pre-commit
20
- rev: v0.1.3
14
+ rev: v0.3.5
21
15
  hooks:
22
16
  - id: ruff
23
- args: [--fix, --exit-non-zero-on-fix]
17
+ args: [--fix, --exit-non-zero-on-fix, --unsafe-fixes]
24
18
  - id: ruff-format
25
19
  - repo: https://github.com/pre-commit/pre-commit-hooks
26
- rev: v4.5.0
20
+ rev: v4.6.0
27
21
  hooks:
28
22
  - id: detect-private-key
29
23
  - id: check-ast
@@ -33,7 +27,7 @@ repos:
33
27
  - id: trailing-whitespace
34
28
  - id: check-case-conflict
35
29
  - repo: https://github.com/pre-commit/mirrors-mypy
36
- rev: v1.6.1
30
+ rev: v1.9.0
37
31
  hooks:
38
32
  - id: mypy
39
33
  args: [--no-strict-optional, --ignore-missing-imports]
@@ -1,11 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: pertpy
3
- Version: 0.6.0
3
+ Version: 0.7.0
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/theislab/pertpy
7
7
  Project-URL: Home-page, https://github.com/theislab/pertpy
8
- Author: Lukas Heumos, Yuge Ji, Alejandro Tejada, Johannes Köster, Emma Dann, Xinyue Zhang, Xichen Wu, Amir Moinfar, Sergei Rybakov, Tessa Green, Stefan Peidli, Antonia Schumacher
8
+ Author: Lukas Heumos, Yuge Ji, Alejandro Tejada, Johannes Köster, Emma Dann, Xinyue Zhang, Xichen Wu, Amir Moinfar, Sergei Rybakov, Tessa Green, Stefan Peidli, Antonia Schumacher, Lilly May
9
9
  Maintainer-email: Lukas Heumos <lukas.heumos@posteo.net>
10
10
  License: MIT License
11
11
 
@@ -29,18 +29,31 @@ License: MIT License
29
29
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30
30
  SOFTWARE.
31
31
  License-File: LICENSE
32
- Requires-Python: >=3.9
32
+ Classifier: Development Status :: 4 - Beta
33
+ Classifier: Environment :: Console
34
+ Classifier: Framework :: Jupyter
35
+ Classifier: Intended Audience :: Developers
36
+ Classifier: Intended Audience :: Science/Research
37
+ Classifier: License :: OSI Approved :: Apache Software License
38
+ Classifier: Natural Language :: English
39
+ Classifier: Operating System :: MacOS :: MacOS X
40
+ Classifier: Operating System :: POSIX :: Linux
41
+ Classifier: Programming Language :: Python :: 3
42
+ Classifier: Programming Language :: Python :: 3.10
43
+ Classifier: Programming Language :: Python :: 3.11
44
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
45
+ Classifier: Topic :: Scientific/Engineering :: Visualization
46
+ Requires-Python: >=3.10
33
47
  Requires-Dist: adjusttext
34
- Requires-Dist: anndata
35
48
  Requires-Dist: arviz
49
+ Requires-Dist: blitzgsea
36
50
  Requires-Dist: decoupler
37
- Requires-Dist: ipywidgets
38
51
  Requires-Dist: muon
39
- Requires-Dist: numba
40
52
  Requires-Dist: numpyro
41
53
  Requires-Dist: openpyxl
42
54
  Requires-Dist: ott-jax
43
- Requires-Dist: plotnine
55
+ Requires-Dist: pubchempy
56
+ Requires-Dist: pyarrow
44
57
  Requires-Dist: requests
45
58
  Requires-Dist: rich
46
59
  Requires-Dist: scanpy[leiden]
@@ -76,13 +89,13 @@ Requires-Dist: sphinx>=4; extra == 'doc'
76
89
  Requires-Dist: sphinxcontrib-bibtex>=1.0.0; extra == 'doc'
77
90
  Requires-Dist: sphinxext-opengraph; extra == 'doc'
78
91
  Provides-Extra: test
92
+ Requires-Dist: coverage; extra == 'test'
79
93
  Requires-Dist: pytest; extra == 'test'
80
- Requires-Dist: pytest-cov; extra == 'test'
81
94
  Description-Content-Type: text/markdown
82
95
 
83
96
  [![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
84
97
  [![Build](https://github.com/theislab/pertpy/actions/workflows/build.yml/badge.svg)](https://github.com/theislab/pertpy/actions/workflows/build.yml)
85
- [![Codecov](https://codecov.io/gh/theislab/pertpy/branch/master/graph/badge.svg)](https://codecov.io/gh/theislab/pertpy)
98
+ [![codecov](https://codecov.io/gh/theislab/pertpy/graph/badge.svg?token=1dTpIPBShv)](https://codecov.io/gh/theislab/pertpy)
86
99
  [![License](https://img.shields.io/github/license/theislab/pertpy)](https://opensource.org/licenses/Apache2.0)
87
100
  [![PyPI](https://img.shields.io/pypi/v/pertpy.svg)](https://pypi.org/project/pertpy/)
88
101
  [![Python Version](https://img.shields.io/pypi/pyversions/pertpy)](https://pypi.org/project/pertpy)
@@ -92,7 +105,7 @@ Description-Content-Type: text/markdown
92
105
 
93
106
  # pertpy
94
107
 
95
- ![pertpy-wide1](https://user-images.githubusercontent.com/21954664/235677503-0c72f90d-3f6d-4a16-a1ff-ff8c11a540fb.png)
108
+ ![fig1](https://github.com/theislab/pertpy/assets/99650244/182fa9c3-6d23-4002-b86a-82bf2a243377)
96
109
 
97
110
  ## Documentation
98
111
 
@@ -103,7 +116,13 @@ Please read the [documentation](https://pertpy.readthedocs.io/en/latest).
103
116
  You can install _pertpy_ via [pip] from [PyPI]:
104
117
 
105
118
  ```console
106
- $ pip install pertpy
119
+ pip install pertpy
120
+ ```
121
+
122
+ if you want to use scCODA please install it as:
123
+
124
+ ```console
125
+ pip install pertpy[coda]
107
126
  ```
108
127
 
109
128
  [pip]: https://pip.pypa.io/
@@ -1,6 +1,6 @@
1
1
  [![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
2
2
  [![Build](https://github.com/theislab/pertpy/actions/workflows/build.yml/badge.svg)](https://github.com/theislab/pertpy/actions/workflows/build.yml)
3
- [![Codecov](https://codecov.io/gh/theislab/pertpy/branch/master/graph/badge.svg)](https://codecov.io/gh/theislab/pertpy)
3
+ [![codecov](https://codecov.io/gh/theislab/pertpy/graph/badge.svg?token=1dTpIPBShv)](https://codecov.io/gh/theislab/pertpy)
4
4
  [![License](https://img.shields.io/github/license/theislab/pertpy)](https://opensource.org/licenses/Apache2.0)
5
5
  [![PyPI](https://img.shields.io/pypi/v/pertpy.svg)](https://pypi.org/project/pertpy/)
6
6
  [![Python Version](https://img.shields.io/pypi/pyversions/pertpy)](https://pypi.org/project/pertpy)
@@ -10,7 +10,7 @@
10
10
 
11
11
  # pertpy
12
12
 
13
- ![pertpy-wide1](https://user-images.githubusercontent.com/21954664/235677503-0c72f90d-3f6d-4a16-a1ff-ff8c11a540fb.png)
13
+ ![fig1](https://github.com/theislab/pertpy/assets/99650244/182fa9c3-6d23-4002-b86a-82bf2a243377)
14
14
 
15
15
  ## Documentation
16
16
 
@@ -21,7 +21,13 @@ Please read the [documentation](https://pertpy.readthedocs.io/en/latest).
21
21
  You can install _pertpy_ via [pip] from [PyPI]:
22
22
 
23
23
  ```console
24
- $ pip install pertpy
24
+ pip install pertpy
25
+ ```
26
+
27
+ if you want to use scCODA please install it as:
28
+
29
+ ```console
30
+ pip install pertpy[coda]
25
31
  ```
26
32
 
27
33
  [pip]: https://pip.pypa.io/
@@ -5,7 +5,7 @@ coverage:
5
5
  status:
6
6
  project:
7
7
  default:
8
- # Require 1% coverage, i.e., always succeed
8
+ # Require 1% coverage, i.e., succeed as long as coverage collection works
9
9
  target: 1
10
10
  patch: false
11
11
  changes: false
@@ -1,4 +1,5 @@
1
1
  """Based on gist.github.com/MantasVaitkunas/7c16de233812adcb7028."""
2
+
2
3
  import os
3
4
  from typing import Any
4
5
 
@@ -24,11 +24,25 @@ Methods table
24
24
  ~~~~~~~~~~~~~
25
25
 
26
26
  .. autosummary::
27
+
28
+ {% set plotting_methods = [] %}
29
+ {% set other_methods = [] %}
30
+
27
31
  {% for item in methods %}
28
- {%- if item != '__init__' %}
32
+ {%- if item.startswith('plot_') %}
33
+ {%- set _ = plotting_methods.append(item) %}
34
+ {% elif item != '__init__' %}
35
+ {%- set _ = other_methods.append(item) %}
36
+ {%- endif %}
37
+ {% endfor %}
38
+
39
+ {% for item in other_methods %}
29
40
  ~{{ fullname }}.{{ item }}
30
- {%- endif -%}
31
- {%- endfor %}
41
+ {% endfor %}
42
+
43
+ {% for item in plotting_methods %}
44
+ ~{{ fullname }}.{{ item }}
45
+ {% endfor %}
32
46
  {% endif %}
33
47
  {% endblock %}
34
48
 
@@ -7,16 +7,15 @@ from pathlib import Path
7
7
  HERE = Path(__file__).parent
8
8
  sys.path[:0] = [str(HERE.parent), str(HERE / "extensions")]
9
9
 
10
- needs_sphinx = "4.3" # Nicer param docs
10
+ needs_sphinx = "4.3"
11
11
 
12
- # General information about the project.
13
12
  project = "pertpy"
14
13
  copyright = "2021, Lukas Heumos, Theislab"
15
14
  author = "Lukas Heumos"
16
15
  github_repo = "pertpy"
17
16
 
18
- version = "0.6.0"
19
- release = "0.6.0"
17
+ version = "0.7.0"
18
+ release = "0.7.0"
20
19
 
21
20
  extensions = [
22
21
  "myst_parser",
@@ -181,9 +180,11 @@ nbsphinx_thumbnails = {
181
180
  "tutorials/notebooks/tasccoda": "_static/tutorials/tasccoda.png",
182
181
  "tutorials/notebooks/milo": "_static/tutorials/milo.png",
183
182
  "tutorials/notebooks/dialogue": "_static/tutorials/dialogue.png",
183
+ "tutorials/notebooks/enrichment": "_static/tutorials/enrichment.png",
184
184
  "tutorials/notebooks/distances": "_static/tutorials/distances.png",
185
185
  "tutorials/notebooks/distance_tests": "_static/tutorials/distances_tests.png",
186
+ "tutorials/notebooks/cinemaot": "_static/tutorials/cinemaot.png",
186
187
  "tutorials/notebooks/scgen_perturbation_prediction": "_static/tutorials/scgen_perturbation_prediction.png",
187
- "tutorials/notebooks/scgen_batch_removal": "_static/tutorials/scgen_batch_removal.png",
188
188
  "tutorials/notebooks/ontology_mapping": "_static/tutorials/ontology.png",
189
+ "tutorials/notebooks/perturbation_space": "_static/tutorials/perturbation_space.png",
189
190
  }
@@ -24,15 +24,6 @@
24
24
  The tutorials walk you through real-world applications of pertpy.
25
25
  ```
26
26
 
27
- ```{eval-rst}
28
- .. card:: Use cases :octicon:`info;1em;`
29
- :link: user_guide/index
30
- :link-type: doc
31
-
32
- pertpy has been applied to many use-cases. We highlight some of them here.
33
- Interested in adding your use-case? Please talk to us.
34
- ```
35
-
36
27
  ```{eval-rst}
37
28
  .. card:: Discussion :octicon:`megaphone;1em;`
38
29
  :link: https://discourse.scverse.org/
@@ -60,7 +51,6 @@ tutorials/index
60
51
  contributing
61
52
  code_of_conduct
62
53
  Discussions <https://github.com/theislab/pertpy/discussions>
63
- authors
64
54
  references
65
55
  ```
66
56
 
@@ -14,8 +14,17 @@ $ pip install pertpy
14
14
 
15
15
  This is the preferred method to install pertpy, as it will always install the most recent stable release.
16
16
 
17
- If you don't have [pip] installed, this [Python installation guide] can guide
18
- you through the process.
17
+ If you don't have [pip] installed, this [Python installation guide] can guide you through the process.
18
+
19
+ ## Google Colab and TascCODA support
20
+
21
+ TascCODA requires an additional set of dependencies (ete3 and pyqt5) that can be installed using
22
+
23
+ ```console
24
+ $ pip install pertpy[coda]
25
+ ```
26
+
27
+ this also solves any "AttributeError: module 'pertpy.plot' has no attribute 'coda'" issues.
19
28
 
20
29
  ## From sources
21
30
 
@@ -34,12 +43,6 @@ Or download the [tarball]:
34
43
  $ curl -OJL https://github.com/theislab/pertpy/tarball/master
35
44
  ```
36
45
 
37
- Once you have a copy of the source, you can install it with:
38
-
39
- ```console
40
- $ make install
41
- ```
42
-
43
46
  ## Apple Silicon
44
47
 
45
48
  If you want to install and use pertpy on a machine with macOS and M-Chip, the installation is slightly more complex.
@@ -60,7 +63,7 @@ Follow these steps to install pertpy on an Apple Silicon machine (tested on a Ma
60
63
  3. Create a new environment using mamba (here with python 3.10) and activate it
61
64
 
62
65
  ```console
63
- $ mamba create -n pertpy-env python=3.10
66
+ $ mamba create -n pertpy-env python=3.11
64
67
  $ mamba activate pertpy-env
65
68
  ```
66
69
 
@@ -5,10 +5,10 @@ orphan: true
5
5
  # Tutorials
6
6
 
7
7
  The easiest way to get familiar with pertpy is to follow along with our tutorials.
8
- Many are also designed to work seamlessly in Binder, a free cloud computing platform.
8
+ Many are also designed to work seamlessly in Google colab.
9
9
 
10
10
  :::{note}
11
- For questions about the usage of pertpy use [Github Discussions].
11
+ For questions about the usage of pertpy use the [scverse discourse](https://discourse.scverse.org/).
12
12
  :::
13
13
 
14
14
  ## Quick start
@@ -24,11 +24,13 @@ For questions about the usage of pertpy use [Github Discussions].
24
24
  notebooks/tasccoda
25
25
  notebooks/milo
26
26
  notebooks/dialogue
27
+ notebooks/enrichment
27
28
  notebooks/distances
28
29
  notebooks/distance_tests
30
+ notebooks/cinemaot
29
31
  notebooks/scgen_perturbation_prediction
30
- notebooks/scgen_batch_removal
31
32
  notebooks/ontology_mapping
33
+ notebooks/perturbation_space
32
34
  ```
33
35
 
34
36
  ### Glossary
@@ -38,7 +40,7 @@ For questions about the usage of pertpy use [Github Discussions].
38
40
 
39
41
  .. tab-item:: AnnData
40
42
 
41
- `AnnData <https://github.com/theislab/anndata>`_ is short for Annotated Data and is the primary datastructure that pertpy uses.
43
+ `AnnData <https://github.com/scverse/anndata>`_ is short for Annotated Data and is the primary datastructure that pertpy uses.
42
44
  It is based on the principle of a single Numpy matrix X embraced by two Pandas Dataframes.
43
45
  All rows are called observations (in our case cells or similar) and the columns
44
46
  are known as variables (any feature such as e.g. genes or similar).
@@ -49,5 +51,3 @@ For questions about the usage of pertpy use [Github Discussions].
49
51
 
50
52
  For a more in depth introduction please read the `Scanpy paper <https://genomebiology.biomedcentral.com/articles/10.1186/s13059-017-1382-0>`_.
51
53
  ```
52
-
53
- [github discussions]: https://github.com/theislab/pertpy/discussions