pertpy 1.0.2__tar.gz → 1.0.3__tar.gz
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-1.0.2 → pertpy-1.0.3}/.github/release-drafter.yml +2 -2
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/workflows/test.yml +1 -1
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/workflows/test_tutorials.yml +3 -3
- {pertpy-1.0.2 → pertpy-1.0.3}/.gitignore +4 -3
- {pertpy-1.0.2 → pertpy-1.0.3}/.pre-commit-config.yaml +3 -3
- {pertpy-1.0.2 → pertpy-1.0.3}/.readthedocs.yml +1 -1
- {pertpy-1.0.2 → pertpy-1.0.3}/PKG-INFO +84 -51
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/changelog.md +10 -2
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/conf.py +1 -1
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/__init__.py +1 -1
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/data/_dataloader.py +2 -2
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/data/_datasets.py +62 -62
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/_drug.py +4 -2
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/preprocessing/_guide_rna.py +17 -10
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/preprocessing/_guide_rna_mixture.py +9 -3
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/__init__.py +12 -2
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_augur.py +37 -14
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_coda/_sccoda.py +0 -19
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_coda/_tasccoda.py +12 -24
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_mixscape.py +48 -39
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_perturbation_space/_comparison.py +3 -3
- pertpy-1.0.3/pertpy/tools/_perturbation_space/_discriminator_classifiers.py +474 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_perturbation_space/_perturbation_space.py +22 -14
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_perturbation_space/_simple.py +12 -6
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_scgen/_scgenvae.py +2 -1
- pertpy-1.0.3/pertpy/tools/core.py +18 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pyproject.toml +9 -3
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/preprocessing/test_grna_assignment.py +1 -1
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_distances/test_distances.py +1 -2
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_augur.py +1 -1
- pertpy-1.0.3/tests/tools/test_core.py +58 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_mixscape.py +3 -3
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_scgen.py +9 -1
- pertpy-1.0.2/docs/tutorials/notebooks/.gitignore +0 -149
- pertpy-1.0.2/docs/tutorials/notebooks/.pre-commit-config.yaml +0 -37
- pertpy-1.0.2/docs/tutorials/notebooks/LICENSE +0 -203
- pertpy-1.0.2/docs/tutorials/notebooks/README.md +0 -23
- pertpy-1.0.2/docs/tutorials/notebooks/augur.ipynb +0 -1063
- pertpy-1.0.2/docs/tutorials/notebooks/cinemaot.ipynb +0 -696
- pertpy-1.0.2/docs/tutorials/notebooks/dialogue.ipynb +0 -840
- pertpy-1.0.2/docs/tutorials/notebooks/differential_gene_expression.ipynb +0 -2187
- pertpy-1.0.2/docs/tutorials/notebooks/distance_tests.ipynb +0 -349
- pertpy-1.0.2/docs/tutorials/notebooks/distances.ipynb +0 -725
- pertpy-1.0.2/docs/tutorials/notebooks/enrichment.ipynb +0 -736
- pertpy-1.0.2/docs/tutorials/notebooks/expression_prediction_evaluation.ipynb +0 -482
- pertpy-1.0.2/docs/tutorials/notebooks/guide_rna_assignment.ipynb +0 -809
- pertpy-1.0.2/docs/tutorials/notebooks/mcfarland_use_case.ipynb +0 -1985
- pertpy-1.0.2/docs/tutorials/notebooks/metadata_annotation.ipynb +0 -2480
- pertpy-1.0.2/docs/tutorials/notebooks/milo.ipynb +0 -2080
- pertpy-1.0.2/docs/tutorials/notebooks/mixscape.ipynb +0 -811
- pertpy-1.0.2/docs/tutorials/notebooks/norman_use_case.ipynb +0 -1089
- pertpy-1.0.2/docs/tutorials/notebooks/ontology_mapping.ipynb +0 -1893
- pertpy-1.0.2/docs/tutorials/notebooks/perturbation_space.ipynb +0 -1921
- pertpy-1.0.2/docs/tutorials/notebooks/pyproject.toml +0 -73
- pertpy-1.0.2/docs/tutorials/notebooks/sccoda.ipynb +0 -1376
- pertpy-1.0.2/docs/tutorials/notebooks/sccoda_extended.ipynb +0 -1205
- pertpy-1.0.2/docs/tutorials/notebooks/sccoda_tasccoda_case_study.ipynb +0 -2191
- pertpy-1.0.2/docs/tutorials/notebooks/scgen_perturbation_prediction.ipynb +0 -678
- pertpy-1.0.2/docs/tutorials/notebooks/tasccoda.ipynb +0 -1364
- pertpy-1.0.2/docs/tutorials/notebooks/zhang_use_case.ipynb +0 -1049
- pertpy-1.0.2/pertpy/tools/_perturbation_space/_discriminator_classifiers.py +0 -566
- {pertpy-1.0.2 → pertpy-1.0.3}/.editorconfig +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.gitattributes +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/labels.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/pull_request_template.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/workflows/build.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/workflows/labeler.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/workflows/release.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.github/workflows/release_drafter.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/.gitmodules +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/LICENSE +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/README.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/biome.jsonc +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/codecov.yml +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/Makefile +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_ext/edit_on_github.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_ext/typed_returns.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/SCVI_LICENSE +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/css/overwrite.css +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/css/sphinx_gallery.css +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/augur_dp_scatter.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/augur_important_features.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/augur_lollipop.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/augur_scatterplot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/de_fold_change.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/de_multicomparison_fc.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/de_paired_expression.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/de_volcano.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/dialogue_pairplot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/dialogue_violin.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/enrichment_dotplot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/enrichment_gsea.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/milo_da_beeswarm.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/milo_nhood.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/milo_nhood_graph.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/mixscape_barplot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/mixscape_heatmap.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/mixscape_lda.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/mixscape_perturbscore.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/mixscape_violin.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/pseudobulk_samples.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/sccoda_boxplots.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/sccoda_effects_barplot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/sccoda_rel_abundance_dispersion_plot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/sccoda_stacked_barplot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/scgen_reg_mean.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/tasccoda_draw_effects.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/tasccoda_draw_tree.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/docstring_previews/tasccoda_effects_umap.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/icons/code-24px.svg +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/icons/computer-24px.svg +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/icons/library_books-24px.svg +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/icons/play_circle_outline-24px.svg +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/pertpy_logo.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/pertpy_logo.svg +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/placeholder.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/augur.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/cinemaot.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/dge.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/dialogue.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/distances.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/distances_tests.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/enrichment.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/guide_rna_assignment.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/mcfarland.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/metadata.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/milo.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/mixscape.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/norman.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/ontology.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/perturbation_space.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/placeholder.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/sccoda.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/sccoda_extended.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/scgen_perturbation_prediction.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/tasccoda.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_static/tutorials/zhang.png +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/_templates/autosummary/class.rst +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/about/background.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/about/cite.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/api/datasets_index.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/api/metadata_index.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/api/preprocessing_index.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/api/tools_index.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/api.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/contributing.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/index.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/installation.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/make.bat +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/references.bib +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/references.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/tutorials/metadata.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/tutorials/preprocessing.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/tutorials/tools.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/tutorials.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/usecases.md +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/docs/utils.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/_doc.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/_types.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/data/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/_cell_line.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/_compound.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/_look_up.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/_metadata.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/metadata/_moa.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/plot/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/preprocessing/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/py.typed +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_cinemaot.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_coda/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_coda/_base_coda.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_dialogue.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_base.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_checks.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_dge_comparison.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_edger.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_pydeseq2.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_simple_tests.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_differential_gene_expression/_statsmodels.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_distances/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_distances/_distance_tests.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_distances/_distances.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_enrichment.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_milo.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_perturbation_space/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_perturbation_space/_clustering.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_perturbation_space/_metrics.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_scgen/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_scgen/_base_components.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_scgen/_scgen.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/_scgen/_utils.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/decoupler_LICENSE +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/pertpy/tools/transferlearning_MMD_LICENSE +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/conftest.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/metadata/test_cell_line.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/metadata/test_compound.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/metadata/test_drug.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/metadata/test_moa.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_coda/test_sccoda.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_coda/test_tasccoda.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/__init__.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/conftest.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_base.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_compare_groups.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_dge.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_edger.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_input_checks.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_pydeseq2.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_simple_tests.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_differential_gene_expression/test_statsmodels.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_distances/test_distance_tests.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_perturbation_space/test_comparison.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_perturbation_space/test_discriminator_classifiers.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_perturbation_space/test_simple_cluster_space.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/_perturbation_space/test_simple_perturbation_space.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_cinemaot.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_dialogue.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_enrichment.py +0 -0
- {pertpy-1.0.2 → pertpy-1.0.3}/tests/tools/test_milo.py +0 -0
@@ -34,8 +34,8 @@ jobs:
|
|
34
34
|
"guide_rna_assignment.ipynb",
|
35
35
|
"milo.ipynb",
|
36
36
|
"mixscape.ipynb",
|
37
|
-
"perturbation_space.ipynb",
|
38
37
|
"sccoda.ipynb",
|
38
|
+
# "perturbation_space.ipynb", seems to run OOM as of Jax implementation
|
39
39
|
# "dialogue.ipynb", takes too long
|
40
40
|
# "tasccoda.ipynb", a pain to get running because of the required QT dependency. The QT action leads to a dead kernel
|
41
41
|
# also no use cases yet
|
@@ -48,7 +48,7 @@ jobs:
|
|
48
48
|
fetch-depth: 0
|
49
49
|
submodules: "true"
|
50
50
|
|
51
|
-
- name: Cache
|
51
|
+
- name: Cache pertpy's cache folder
|
52
52
|
uses: actions/cache@v4
|
53
53
|
with:
|
54
54
|
path: cache
|
@@ -87,7 +87,7 @@ jobs:
|
|
87
87
|
- name: Install dependencies
|
88
88
|
run: |
|
89
89
|
uv pip install --system rpy2 decoupler muon
|
90
|
-
uv pip install --system
|
90
|
+
uv pip install --system ".[dev,test,all]"
|
91
91
|
uv pip install --system nbconvert ipykernel
|
92
92
|
|
93
93
|
- name: Run ${{ matrix.notebook }} Notebook
|
@@ -148,7 +148,6 @@ dmypy.json
|
|
148
148
|
|
149
149
|
# Datasets
|
150
150
|
*.h5ad
|
151
|
-
*.h5md
|
152
151
|
*.h5mu
|
153
152
|
|
154
153
|
# Test cache
|
@@ -157,8 +156,7 @@ cache
|
|
157
156
|
# Apple stuff
|
158
157
|
.DS_Store
|
159
158
|
|
160
|
-
lightning_logs
|
161
|
-
*/lightning_logs/*
|
159
|
+
lightning_logs/
|
162
160
|
|
163
161
|
node_modules
|
164
162
|
|
@@ -169,3 +167,6 @@ test-bug
|
|
169
167
|
|
170
168
|
# uv
|
171
169
|
uv.lock
|
170
|
+
|
171
|
+
# Ruff
|
172
|
+
.ruff_cache
|
@@ -7,11 +7,11 @@ default_stages:
|
|
7
7
|
minimum_pre_commit_version: 2.16.0
|
8
8
|
repos:
|
9
9
|
- repo: https://github.com/biomejs/pre-commit
|
10
|
-
rev: v2.
|
10
|
+
rev: v2.2.4
|
11
11
|
hooks:
|
12
12
|
- id: biome-format
|
13
13
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
14
|
-
rev: v0.
|
14
|
+
rev: v0.13.1
|
15
15
|
hooks:
|
16
16
|
- id: ruff-check
|
17
17
|
args: [--fix, --exit-non-zero-on-fix, --unsafe-fixes]
|
@@ -33,7 +33,7 @@ repos:
|
|
33
33
|
- id: no-commit-to-branch
|
34
34
|
args: ["--branch=main"]
|
35
35
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
36
|
-
rev: v1.
|
36
|
+
rev: v1.18.2
|
37
37
|
hooks:
|
38
38
|
- id: mypy
|
39
39
|
args: [--no-strict-optional, --ignore-missing-imports]
|
@@ -1,17 +1,41 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: pertpy
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.3
|
4
4
|
Summary: Perturbation Analysis in the scverse ecosystem.
|
5
|
+
Project-URL: Documentation, https://pertpy.readthedocs.io
|
6
|
+
Project-URL: Source, https://github.com/scverse/pertpy
|
7
|
+
Project-URL: Home-page, https://github.com/scverse/pertpy
|
5
8
|
Author: Lukas Heumos, Lilly May, Stefan Peidli, Johannes Ostner, Gregor Sturm, Emma Dann, Yuge Ji, Xinyue Zhang, Xichen Wu, Tessa Green, Antonia Schumacher
|
6
9
|
Maintainer-email: Lukas Heumos <lukas.heumos@posteo.net>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
+
License: MIT License
|
11
|
+
|
12
|
+
Copyright (c) 2021, Lukas Heumos
|
13
|
+
Copyright (c) 2025, scverse®
|
14
|
+
|
15
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
16
|
+
of this software and associated documentation files (the "Software"), to deal
|
17
|
+
in the Software without restriction, including without limitation the rights
|
18
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
19
|
+
copies of the Software, and to permit persons to whom the Software is
|
20
|
+
furnished to do so, subject to the following conditions:
|
21
|
+
|
22
|
+
The above copyright notice and this permission notice shall be included in all
|
23
|
+
copies or substantial portions of the Software.
|
24
|
+
|
25
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
26
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
27
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
28
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
29
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
30
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
31
|
+
SOFTWARE.
|
32
|
+
License-File: LICENSE
|
10
33
|
Classifier: Development Status :: 5 - Production/Stable
|
11
34
|
Classifier: Environment :: Console
|
12
35
|
Classifier: Framework :: Jupyter
|
13
36
|
Classifier: Intended Audience :: Developers
|
14
37
|
Classifier: Intended Audience :: Science/Research
|
38
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
15
39
|
Classifier: Natural Language :: English
|
16
40
|
Classifier: Operating System :: MacOS :: MacOS X
|
17
41
|
Classifier: Operating System :: POSIX :: Linux
|
@@ -21,62 +45,72 @@ Classifier: Programming Language :: Python :: 3.12
|
|
21
45
|
Classifier: Programming Language :: Python :: 3.13
|
22
46
|
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
23
47
|
Classifier: Topic :: Scientific/Engineering :: Visualization
|
24
|
-
|
25
|
-
Requires-Dist: rich
|
26
|
-
Requires-Dist: scanpy
|
27
|
-
Requires-Dist: mudata
|
28
|
-
Requires-Dist: requests
|
29
|
-
Requires-Dist: scikit-misc
|
30
|
-
Requires-Dist: scvi-tools
|
48
|
+
Requires-Python: <3.14,>=3.11
|
31
49
|
Requires-Dist: adjusttext
|
32
|
-
Requires-Dist:
|
33
|
-
Requires-Dist:
|
50
|
+
Requires-Dist: arviz
|
51
|
+
Requires-Dist: blitzgsea
|
52
|
+
Requires-Dist: fast-array-utils[accel,sparse]
|
53
|
+
Requires-Dist: flax
|
54
|
+
Requires-Dist: funsor
|
55
|
+
Requires-Dist: lamin-utils
|
56
|
+
Requires-Dist: mudata
|
57
|
+
Requires-Dist: numpyro
|
34
58
|
Requires-Dist: openpyxl
|
59
|
+
Requires-Dist: ott-jax
|
35
60
|
Requires-Dist: pubchempy
|
36
61
|
Requires-Dist: pyarrow
|
37
|
-
Requires-Dist:
|
62
|
+
Requires-Dist: requests
|
63
|
+
Requires-Dist: rich
|
64
|
+
Requires-Dist: scanpy
|
38
65
|
Requires-Dist: scikit-learn>=1.4
|
39
|
-
Requires-Dist:
|
40
|
-
Requires-Dist:
|
41
|
-
|
42
|
-
Requires-Dist:
|
43
|
-
Requires-Dist: formulaic
|
44
|
-
Requires-Dist:
|
45
|
-
Requires-Dist:
|
46
|
-
Requires-Dist:
|
47
|
-
Requires-Dist:
|
48
|
-
Requires-Dist:
|
49
|
-
Requires-Dist: sphinx-book-theme ; extra == "doc"
|
50
|
-
Requires-Dist: myst-nb ; extra == "doc"
|
51
|
-
Requires-Dist: sphinxcontrib-bibtex>=1.0.0 ; extra == "doc"
|
52
|
-
Requires-Dist: sphinx-issues ; extra == "doc"
|
53
|
-
Requires-Dist: sphinx-gallery ; extra == "doc"
|
54
|
-
Requires-Dist: sphinx-autodoc-typehints ; extra == "doc"
|
55
|
-
Requires-Dist: sphinx-copybutton ; extra == "doc"
|
56
|
-
Requires-Dist: sphinx-remove-toctrees ; extra == "doc"
|
57
|
-
Requires-Dist: sphinx-design ; extra == "doc"
|
58
|
-
Requires-Dist: sphinx-last-updated-by-git ; extra == "doc"
|
59
|
-
Requires-Dist: sphinx-automodapi ; extra == "doc"
|
60
|
-
Requires-Dist: sphinxext-opengraph ; extra == "doc"
|
61
|
-
Requires-Dist: pygments ; extra == "doc"
|
62
|
-
Requires-Dist: nbsphinx ; extra == "doc"
|
63
|
-
Requires-Dist: nbsphinx-link ; extra == "doc"
|
64
|
-
Requires-Dist: ipykernel ; extra == "doc"
|
65
|
-
Requires-Dist: ipython ; extra == "doc"
|
66
|
-
Requires-Dist: toytree>=3.0 ; extra == "tcoda"
|
67
|
-
Requires-Dist: ete4 ; extra == "tcoda"
|
68
|
-
Requires-Dist: pyqt6 ; extra == "tcoda"
|
69
|
-
Requires-Dist: pytest ; extra == "test"
|
70
|
-
Requires-Dist: coverage ; extra == "test"
|
71
|
-
Requires-Dist: leidenalg ; extra == "test"
|
72
|
-
Project-URL: Documentation, https://pertpy.readthedocs.io
|
73
|
-
Project-URL: Home-page, https://github.com/scverse/pertpy
|
74
|
-
Project-URL: Source, https://github.com/scverse/pertpy
|
66
|
+
Requires-Dist: scikit-misc
|
67
|
+
Requires-Dist: sparsecca
|
68
|
+
Provides-Extra: all
|
69
|
+
Requires-Dist: ete4; extra == 'all'
|
70
|
+
Requires-Dist: formulaic; extra == 'all'
|
71
|
+
Requires-Dist: formulaic-contrasts>=0.2.0; extra == 'all'
|
72
|
+
Requires-Dist: pydeseq2>=v0.5.0; extra == 'all'
|
73
|
+
Requires-Dist: pyqt6; extra == 'all'
|
74
|
+
Requires-Dist: scvi-tools[jax]; extra == 'all'
|
75
|
+
Requires-Dist: toytree>=3.0; extra == 'all'
|
75
76
|
Provides-Extra: de
|
77
|
+
Requires-Dist: formulaic; extra == 'de'
|
78
|
+
Requires-Dist: formulaic-contrasts>=0.2.0; extra == 'de'
|
79
|
+
Requires-Dist: pydeseq2>=v0.5.0; extra == 'de'
|
76
80
|
Provides-Extra: dev
|
81
|
+
Requires-Dist: pre-commit; extra == 'dev'
|
77
82
|
Provides-Extra: doc
|
83
|
+
Requires-Dist: docutils>=0.8; extra == 'doc'
|
84
|
+
Requires-Dist: ipykernel; extra == 'doc'
|
85
|
+
Requires-Dist: ipython; extra == 'doc'
|
86
|
+
Requires-Dist: myst-nb; extra == 'doc'
|
87
|
+
Requires-Dist: nbsphinx; extra == 'doc'
|
88
|
+
Requires-Dist: nbsphinx-link; extra == 'doc'
|
89
|
+
Requires-Dist: pygments; extra == 'doc'
|
90
|
+
Requires-Dist: scanpydoc; extra == 'doc'
|
91
|
+
Requires-Dist: sphinx-autodoc-typehints; extra == 'doc'
|
92
|
+
Requires-Dist: sphinx-automodapi; extra == 'doc'
|
93
|
+
Requires-Dist: sphinx-book-theme; extra == 'doc'
|
94
|
+
Requires-Dist: sphinx-copybutton; extra == 'doc'
|
95
|
+
Requires-Dist: sphinx-design; extra == 'doc'
|
96
|
+
Requires-Dist: sphinx-gallery; extra == 'doc'
|
97
|
+
Requires-Dist: sphinx-issues; extra == 'doc'
|
98
|
+
Requires-Dist: sphinx-last-updated-by-git; extra == 'doc'
|
99
|
+
Requires-Dist: sphinx-remove-toctrees; extra == 'doc'
|
100
|
+
Requires-Dist: sphinx>=8.1; extra == 'doc'
|
101
|
+
Requires-Dist: sphinxcontrib-bibtex>=1.0.0; extra == 'doc'
|
102
|
+
Requires-Dist: sphinxext-opengraph; extra == 'doc'
|
103
|
+
Provides-Extra: scgen
|
104
|
+
Requires-Dist: scvi-tools[jax]; extra == 'scgen'
|
78
105
|
Provides-Extra: tcoda
|
106
|
+
Requires-Dist: ete4; extra == 'tcoda'
|
107
|
+
Requires-Dist: pyqt6; extra == 'tcoda'
|
108
|
+
Requires-Dist: toytree>=3.0; extra == 'tcoda'
|
79
109
|
Provides-Extra: test
|
110
|
+
Requires-Dist: coverage; extra == 'test'
|
111
|
+
Requires-Dist: leidenalg; extra == 'test'
|
112
|
+
Requires-Dist: pytest; extra == 'test'
|
113
|
+
Description-Content-Type: text/markdown
|
80
114
|
|
81
115
|
[](https://github.com/scverse/pertpy/actions/workflows/build.yml)
|
82
116
|
[](https://codecov.io/gh/scverse/pertpy)
|
@@ -183,4 +217,3 @@ If you like scverse® and want to support our mission, please consider making a
|
|
183
217
|
>
|
184
218
|
</a>
|
185
219
|
</div>
|
186
|
-
|
@@ -5,14 +5,22 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## v1.0.3
|
9
|
+
|
10
|
+
### 🚀 Features
|
11
|
+
|
12
|
+
* Move from figshare to scverse AWS S3 ([#848](https://github.com/scverse/pertpy/pull/848)) @Zethson
|
13
|
+
* Rename `label_transfer` `column` parameter to `target_column` ([#848](https://github.com/scverse/pertpy/pull/848)) @Zethson
|
14
|
+
* Rename `mixscape` `labels` parameter to `pert_key` ([#848](https://github.com/scverse/pertpy/pull/848)) @Zethson
|
15
|
+
|
8
16
|
## v1.0.2
|
9
17
|
|
10
18
|
### 🐛 Bug Fixes
|
11
19
|
|
12
|
-
* Fix
|
20
|
+
* Fix Validate 'type' parameter in Tasccoda.load ([#839](https://github.com/scverse/pertpy/pull/839)) @JuanTejedor
|
13
21
|
* Partial fixes for make_arviz ([#834](https://github.com/scverse/pertpy/pull/834)) @jpintar
|
14
22
|
* Fix setting of `rng_key` in `make_arviz` ([#831](https://github.com/scverse/pertpy/pull/831)) @jpintar
|
15
|
-
*
|
23
|
+
* Fix GDSC and PRISM annotation warnings ([#835](https://github.com/scverse/pertpy/pull/835)) @Lilly-May
|
16
24
|
|
17
25
|
## v1.0.1
|
18
26
|
|
@@ -14,7 +14,7 @@ needs_sphinx = "4.3"
|
|
14
14
|
info = metadata("pertpy")
|
15
15
|
project_name = info["Name"]
|
16
16
|
author = info["Author"]
|
17
|
-
copyright = f"{datetime.now():%Y}, {author}
|
17
|
+
copyright = f"{datetime.now():%Y}, {author}"
|
18
18
|
version = info["Version"]
|
19
19
|
urls = dict(pu.split(", ") for pu in info.get_all("Project-URL"))
|
20
20
|
repository_url = urls["Source"]
|
@@ -17,7 +17,7 @@ def _download( # pragma: no cover
|
|
17
17
|
url: str,
|
18
18
|
output_file_name: str | None = None,
|
19
19
|
output_path: str | Path | None = None,
|
20
|
-
block_size: int =
|
20
|
+
block_size: int = 8192,
|
21
21
|
overwrite: bool = False,
|
22
22
|
is_zip: bool = False,
|
23
23
|
timeout: int = 30,
|
@@ -74,7 +74,7 @@ def _download( # pragma: no cover
|
|
74
74
|
response.raise_for_status()
|
75
75
|
total = int(response.headers.get("content-length", 0))
|
76
76
|
|
77
|
-
with Progress(refresh_per_second=
|
77
|
+
with Progress(refresh_per_second=3) as progress:
|
78
78
|
task = progress.add_task("[red]Downloading...", total=total)
|
79
79
|
with Path(temp_file_name).open("wb") as file:
|
80
80
|
for data in response.iter_content(block_size):
|