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.
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/release-drafter.yml +2 -2
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/build.yml +2 -2
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/labeler.yml +1 -1
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/release.yml +2 -2
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/test.yml +12 -6
- {pertpy-0.6.0 → pertpy-0.7.0}/.gitignore +2 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.pre-commit-config.yaml +5 -11
- {pertpy-0.6.0 → pertpy-0.7.0}/PKG-INFO +31 -12
- {pertpy-0.6.0 → pertpy-0.7.0}/README.md +9 -3
- {pertpy-0.6.0 → pertpy-0.7.0}/codecov.yml +1 -1
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_ext/edit_on_github.py +1 -0
- pertpy-0.7.0/docs/_static/docstring_previews/augur_dp_scatter.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/augur_important_features.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/augur_lollipop.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/augur_scatterplot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/dialogue_pairplot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/dialogue_violin.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/enrichment_dotplot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/enrichment_gsea.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/milo_da_beeswarm.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/milo_nhood.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/milo_nhood_graph.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/mixscape_barplot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/mixscape_heatmap.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/mixscape_lda.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/mixscape_perturbscore.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/mixscape_violin.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/sccoda_boxplots.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/sccoda_effects_barplot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/sccoda_rel_abundance_dispersion_plot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/sccoda_stacked_barplot.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/scgen_reg_mean.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/tasccoda_draw_effects.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/tasccoda_draw_tree.png +0 -0
- pertpy-0.7.0/docs/_static/docstring_previews/tasccoda_effects_umap.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/augur.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/cinemaot.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/dialogue.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/enrichment.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/milo.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/mixscape.png +0 -0
- pertpy-0.7.0/docs/_static/tutorials/perturbation_space.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_templates/autosummary/class.rst +17 -3
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/conf.py +6 -5
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/index.md +0 -10
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/installation.md +12 -9
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/tutorials/index.md +6 -6
- pertpy-0.7.0/docs/usage/usage.md +597 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/__init__.py +3 -2
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/data/__init__.py +5 -1
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/data/_dataloader.py +2 -4
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/data/_datasets.py +203 -92
- pertpy-0.7.0/pertpy/metadata/__init__.py +4 -0
- pertpy-0.7.0/pertpy/metadata/_cell_line.py +826 -0
- pertpy-0.7.0/pertpy/metadata/_compound.py +129 -0
- pertpy-0.7.0/pertpy/metadata/_drug.py +242 -0
- pertpy-0.7.0/pertpy/metadata/_look_up.py +582 -0
- pertpy-0.7.0/pertpy/metadata/_metadata.py +73 -0
- pertpy-0.7.0/pertpy/metadata/_moa.py +129 -0
- pertpy-0.7.0/pertpy/plot/__init__.py +5 -0
- pertpy-0.7.0/pertpy/plot/_augur.py +171 -0
- pertpy-0.7.0/pertpy/plot/_coda.py +601 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/plot/_guide_rna.py +17 -35
- pertpy-0.7.0/pertpy/plot/_milopy.py +209 -0
- pertpy-0.7.0/pertpy/plot/_mixscape.py +355 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/preprocessing/_guide_rna.py +88 -4
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/__init__.py +8 -13
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_augur.py +315 -17
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_cinemaot.py +143 -4
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/_base_coda.py +1210 -65
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/_sccoda.py +50 -21
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/_tasccoda.py +27 -19
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_dialogue.py +164 -56
- pertpy-0.7.0/pertpy/tools/_differential_gene_expression.py +325 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_distances/_distance_tests.py +8 -8
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_distances/_distances.py +184 -34
- pertpy-0.7.0/pertpy/tools/_enrichment.py +465 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_milo.py +345 -11
- pertpy-0.7.0/pertpy/tools/_mixscape.py +1121 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_clustering.py +5 -1
- pertpy-0.7.0/pertpy/tools/_perturbation_space/_discriminator_classifiers.py +526 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_perturbation_space.py +135 -43
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_simple.py +51 -10
- pertpy-0.7.0/pertpy/tools/_scgen/__init__.py +1 -0
- pertpy-0.7.0/pertpy/tools/_scgen/_scgen.py +701 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_scgen/_utils.py +1 -3
- pertpy-0.7.0/pertpy/tools/decoupler_LICENSE +674 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pyproject.toml +34 -11
- pertpy-0.7.0/tests/conftest.py +7 -0
- pertpy-0.7.0/tests/metadata/test_cell_line.py +77 -0
- pertpy-0.7.0/tests/metadata/test_compound.py +43 -0
- pertpy-0.7.0/tests/metadata/test_drug.py +34 -0
- pertpy-0.7.0/tests/metadata/test_moa.py +49 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_coda/test_tasccoda.py +1 -1
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_distances/test_distance_tests.py +5 -1
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_distances/test_distances.py +49 -38
- 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
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_perturbation_space/test_simple_perturbation_space.py +56 -73
- pertpy-0.7.0/tests/tools/test_differential_gene_expression.py +81 -0
- pertpy-0.7.0/tests/tools/test_enrichment.py +63 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_milo.py +3 -0
- pertpy-0.6.0/tests/tools/test_jax_scgen.py → pertpy-0.7.0/tests/tools/test_scgen.py +6 -7
- pertpy-0.6.0/.prettierignore +0 -1
- pertpy-0.6.0/docs/_static/tutorials/augur.png +0 -0
- pertpy-0.6.0/docs/_static/tutorials/dialogue.png +0 -0
- pertpy-0.6.0/docs/_static/tutorials/milo.png +0 -0
- pertpy-0.6.0/docs/_static/tutorials/mixscape.png +0 -0
- pertpy-0.6.0/docs/_static/tutorials/scgen_batch_removal.png +0 -0
- pertpy-0.6.0/docs/authors.md +0 -13
- pertpy-0.6.0/docs/usage/usage.md +0 -612
- pertpy-0.6.0/pertpy/plot/__init__.py +0 -13
- pertpy-0.6.0/pertpy/plot/_augur.py +0 -234
- pertpy-0.6.0/pertpy/plot/_cinemaot.py +0 -81
- pertpy-0.6.0/pertpy/plot/_coda.py +0 -1001
- pertpy-0.6.0/pertpy/plot/_dialogue.py +0 -91
- pertpy-0.6.0/pertpy/plot/_milopy.py +0 -284
- pertpy-0.6.0/pertpy/plot/_mixscape.py +0 -594
- pertpy-0.6.0/pertpy/plot/_scgen.py +0 -337
- pertpy-0.6.0/pertpy/tools/_differential_gene_expression.py +0 -99
- pertpy-0.6.0/pertpy/tools/_metadata/_cell_line.py +0 -613
- pertpy-0.6.0/pertpy/tools/_metadata/_look_up.py +0 -342
- pertpy-0.6.0/pertpy/tools/_mixscape.py +0 -503
- pertpy-0.6.0/pertpy/tools/_perturbation_space/__init__.py +0 -0
- pertpy-0.6.0/pertpy/tools/_perturbation_space/_discriminator_classifier.py +0 -381
- pertpy-0.6.0/pertpy/tools/_scgen/__init__.py +0 -1
- pertpy-0.6.0/pertpy/tools/_scgen/_jax_scgen.py +0 -370
- pertpy-0.6.0/tests/__init__.py +0 -1
- pertpy-0.6.0/tests/tools/_metadata/test_cell_line.py +0 -93
- {pertpy-0.6.0 → pertpy-0.7.0}/.editorconfig +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.gitattributes +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/labels.yml +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/pull_request_template.md +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.github/workflows/release_drafter.yml +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.gitmodules +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/.readthedocs.yml +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/CODE_OF_CONDUCT.md +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/LICENSE +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/Makefile +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_ext/typed_returns.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/SCVI_LICENSE +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/css/overwrite.css +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/css/sphinx_gallery.css +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/code-24px.svg +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/computer-24px.svg +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/library_books-24px.svg +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/icons/play_circle_outline-24px.svg +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/placeholder.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/distances.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/distances_tests.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/guide_rna_assignment.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/ontology.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/placeholder.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/sccoda.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/sccoda_extended.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/scgen_perturbation_prediction.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_static/tutorials/tasccoda.png +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/_templates/class_no_inherited.rst +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/code_of_conduct.md +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/contributing.md +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/make.bat +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/references.bib +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/references.md +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/docs/utils.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/preprocessing/__init__.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/py.typed +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_coda/__init__.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_distances/__init__.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_kernel_pca.py +0 -0
- {pertpy-0.6.0/pertpy/tools/_metadata → pertpy-0.7.0/pertpy/tools/_perturbation_space}/__init__.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_perturbation_space/_metrics.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/_scgen/_base_components.py +0 -0
- /pertpy-0.6.0/pertpy/tools/_scgen/_jax_scgenvae.py → /pertpy-0.7.0/pertpy/tools/_scgen/_scgenvae.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/pertpy/tools/transferlearning_MMD_LICENSE +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/preprocessing/test_grna_assignment.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_coda/test_sccoda.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/_perturbation_space/test_simple_cluster_space.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/haber_data.csv +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/r_result.csv +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_augur.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_cinemaot.py +0 -0
- {pertpy-0.6.0 → pertpy-0.7.0}/tests/tools/test_mixscape.py +0 -0
@@ -14,10 +14,10 @@ jobs:
|
|
14
14
|
package:
|
15
15
|
runs-on: ubuntu-latest
|
16
16
|
steps:
|
17
|
-
- uses: actions/checkout@
|
17
|
+
- uses: actions/checkout@v4
|
18
18
|
|
19
19
|
- name: Set up Python 3.11
|
20
|
-
uses: actions/setup-python@
|
20
|
+
uses: actions/setup-python@v5
|
21
21
|
with:
|
22
22
|
python-version: "3.11"
|
23
23
|
cache: "pip"
|
@@ -11,10 +11,10 @@ jobs:
|
|
11
11
|
runs-on: ubuntu-latest
|
12
12
|
steps:
|
13
13
|
- name: Checkout code
|
14
|
-
uses: actions/checkout@
|
14
|
+
uses: actions/checkout@v4
|
15
15
|
|
16
16
|
- name: Set up Python 3.11
|
17
|
-
uses: actions/setup-python@
|
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.
|
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@
|
37
|
+
- uses: actions/checkout@v4
|
38
38
|
- name: Set up Python ${{ matrix.python }}
|
39
|
-
uses: actions/setup-python@
|
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
|
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 --
|
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
|
@@ -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:
|
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.
|
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.
|
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.
|
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
|
+
Metadata-Version: 2.3
|
2
2
|
Name: pertpy
|
3
|
-
Version: 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
|
-
|
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:
|
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
|
[](https://github.com/psf/black)
|
84
97
|
[](https://github.com/theislab/pertpy/actions/workflows/build.yml)
|
85
|
-
[](https://codecov.io/gh/theislab/pertpy)
|
86
99
|
[](https://opensource.org/licenses/Apache2.0)
|
87
100
|
[](https://pypi.org/project/pertpy/)
|
88
101
|
[](https://pypi.org/project/pertpy)
|
@@ -92,7 +105,7 @@ Description-Content-Type: text/markdown
|
|
92
105
|
|
93
106
|
# pertpy
|
94
107
|
|
95
|
-

|
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
|
-
|
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
|
[](https://github.com/psf/black)
|
2
2
|
[](https://github.com/theislab/pertpy/actions/workflows/build.yml)
|
3
|
-
[](https://codecov.io/gh/theislab/pertpy)
|
4
4
|
[](https://opensource.org/licenses/Apache2.0)
|
5
5
|
[](https://pypi.org/project/pertpy/)
|
6
6
|
[](https://pypi.org/project/pertpy)
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
# pertpy
|
12
12
|
|
13
|
-

|
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
|
-
|
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/
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|
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
|
-
|
31
|
-
|
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"
|
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.
|
19
|
-
release = "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
|
-
|
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.
|
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
|
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 [
|
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/
|
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
|