From 5593c0f257366d7d6a822bff98aa2021e0b1d561 Mon Sep 17 00:00:00 2001 From: Stefan Peidli Date: Fri, 7 Feb 2025 13:32:27 +0100 Subject: [PATCH] Merge main into branch (#705) * Set legend anchor as parameter (#660) * Fix missing space * Remove explicit anndata in dependencies (#666) * Incorporate use case tutorials (#665) * Fixed DEG layer retrieval * Use-case tutorial icons * Restructure tutorial page * Subgroup tutorials * Improve KNN label_transfer in PerturbationSpace (#658) * Add uncertainty score in KNN label_transfer in PerturbationSpace Certainty is quantified as the fraction of nearest neighbors belonging to the classified (i.e. the most abundant) label compared to the total number of nearest neighbors. * Update pre-commit-config.yaml Replaces yanked dependency of mypy "types-pkg-resources" with "types-setuptools" as recommended: https://pypi.org/project/types-pkg-resources/ * Improve label imputation in PerturbationSpace class Key changes: - Now uses KNN graph in adata: saves cost and increases consistency - Vectorized operations instead of expensive for loop - Distance weighting for KNN imputation - Quantifies uncertainty as local KNN label entropy * Fixed plotting for mixscape.plot_barplot and sccoda.plot_effects_barplot (#667) * Augur scsim warnings (#670) * Augur scsim warnings Signed-off-by: zethson * Submodules Signed-off-by: zethson --------- Signed-off-by: zethson * Add PerturbationDataValidator (#672) * Augur scsim warnings Signed-off-by: zethson * Submodules Signed-off-by: zethson * Add super draft of pertpy validator Signed-off-by: zethson * Polish Signed-off-by: zethson * Polish Signed-off-by: zethson * Nested try Signed-off-by: zethson * validator in test Signed-off-by: zethson * try uv for rtd Signed-off-by: zethson * rtd uv Signed-off-by: zethson * rtd uv Signed-off-by: zethson * rtd uv fix Signed-off-by: zethson * mb sphinx fix for validator Signed-off-by: zethson * docs Signed-off-by: zethson * remove PerturbationValidator from docs Signed-off-by: zethson * remove PerturbationValidator from docs Signed-off-by: zethson --------- Signed-off-by: zethson * Latest OS for RTD * Remove curator again Signed-off-by: zethson * Fix jax random array (#686) * Fix jax random array Signed-off-by: zethson * Fix further jax warnings Signed-off-by: zethson * Fix edger Signed-off-by: zethson * Fix choice Signed-off-by: zethson --------- Signed-off-by: zethson * Switch to formulaic-contrasts (#682) * Switch to formulaic-contrasts * Cleanup * removing design matrix workaround (#691) Co-authored-by: Emma Dann * Fix PyDESeq2 * Update tests * fix typo in gitignore * Remove contrast dataclass, which isnt used anywhere * Fix edgeR rpy2 tests (#692) * fix broken rpy2 edger tests * updated edger tests * Fix tests (scipy) Signed-off-by: zethson * submodule Signed-off-by: zethson * Remove unused code Signed-off-by: zethson * type hints Signed-off-by: zethson --------- Signed-off-by: zethson Co-authored-by: Emma Dann <32264060+emdann@users.noreply.github.com> Co-authored-by: Emma Dann Co-authored-by: zethson * Release 0.9.5 Signed-off-by: zethson * Prepare 0.10.0 Signed-off-by: zethson * Added Mixscape seeds and test (#683) Co-authored-by: Lukas Heumos * Fix probability data type (#696) Signed-off-by: Lukas Heumos * Optimize MeanVarDistributionDistance (#697) * Fix probability data type Signed-off-by: Lukas Heumos * Optimize mean_var distance Signed-off-by: Lukas Heumos --------- Signed-off-by: Lukas Heumos * Optimize test speed (#699) * Try buildjet Signed-off-by: Lukas Heumos * Try buildjet large Signed-off-by: Lukas Heumos * speed up predict_differential_prioritization Signed-off-by: Lukas Heumos * speed up tests Signed-off-by: Lukas Heumos --------- Signed-off-by: Lukas Heumos * Lower bound for scikit-learn (#701) Signed-off-by: Lukas Heumos * Fix type annotation Signed-off-by: Lukas Heumos * Fix empty figure returns when show=True in plotting functions (#703) * Removed show parameter * Adapt plotting API for Augur, Coda, Dialogue * Adapted plotting API for Milo, Mixscape, scgen * Add joblib * Remove joblib --------- Co-authored-by: Lukas Heumos * Fix scikit-learn intendation Signed-off-by: Lukas Heumos --------- Signed-off-by: zethson Signed-off-by: Lukas Heumos Co-authored-by: Lilly May <93096564+Lilly-May@users.noreply.github.com> Co-authored-by: Lukas Heumos Co-authored-by: Gregor Sturm Co-authored-by: Emma Dann <32264060+emdann@users.noreply.github.com> Co-authored-by: Emma Dann --- .github/pull_request_template.md | 6 +- .github/release-drafter.yml | 4 +- .github/workflows/build.yml | 4 +- .github/workflows/release.yml | 4 +- .github/workflows/test.yml | 7 +- .gitignore | 11 + .pre-commit-config.yaml | 8 +- .readthedocs.yml | 23 +- CODE_OF_CONDUCT.md | 28 +-- docs/_static/tutorials/mcfarland.png | Bin 0 -> 164969 bytes docs/_static/tutorials/norman.png | Bin 0 -> 230106 bytes docs/_static/tutorials/zhang.png | Bin 0 -> 119661 bytes docs/conf.py | 3 + docs/contributing.md | 18 +- docs/index.md | 10 +- docs/tutorials/index.md | 33 ++- docs/tutorials/notebooks | 2 +- docs/usage/usage.md | 12 +- pertpy/__init__.py | 2 +- pertpy/_doc.py | 3 +- pertpy/data/_datasets.py | 2 +- pertpy/metadata/_cell_line.py | 17 +- pertpy/metadata/_compound.py | 7 +- pertpy/metadata/_metadata.py | 2 +- pertpy/preprocessing/_guide_rna.py | 4 +- pertpy/tools/_augur.py | 80 +++---- pertpy/tools/_cinemaot.py | 14 +- pertpy/tools/_coda/_base_coda.py | 55 ++--- pertpy/tools/_dialogue.py | 8 +- .../_differential_gene_expression/__init__.py | 3 +- .../_differential_gene_expression/_base.py | 146 ++++-------- .../_differential_gene_expression/_edger.py | 43 ++-- .../_formulaic.py | 189 ---------------- .../_pydeseq2.py | 44 ++-- .../_statsmodels.py | 11 - pertpy/tools/_distances/_distances.py | 127 ++++++----- pertpy/tools/_enrichment.py | 4 +- pertpy/tools/_milo.py | 22 +- pertpy/tools/_mixscape.py | 98 +++++---- .../_perturbation_space.py | 69 +++--- pertpy/tools/_perturbation_space/_simple.py | 4 +- pertpy/tools/_scgen/_scgen.py | 4 +- pyproject.toml | 31 ++- .../test_edger.py | 35 ++- .../test_formulaic.py | 208 ------------------ .../test_pydeseq2.py | 40 +++- tests/tools/_distances/test_distances.py | 2 + .../test_simple_perturbation_space.py | 12 +- tests/tools/test_augur.py | 5 +- tests/tools/test_mixscape.py | 47 ++++ 50 files changed, 585 insertions(+), 926 deletions(-) create mode 100644 docs/_static/tutorials/mcfarland.png create mode 100644 docs/_static/tutorials/norman.png create mode 100644 docs/_static/tutorials/zhang.png delete mode 100644 pertpy/tools/_differential_gene_expression/_formulaic.py delete mode 100644 tests/tools/_differential_gene_expression/test_formulaic.py diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 64f3d850..acd153b0 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -4,9 +4,9 @@ -- [ ] Referenced issue is linked -- [ ] If you've fixed a bug or added code that should be tested, add tests! -- [ ] Documentation in `docs` is updated +- [ ] Referenced issue is linked +- [ ] If you've fixed a bug or added code that should be tested, add tests! +- [ ] Documentation in `docs` is updated **Description of changes** diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 195772f1..c747f190 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,5 +1,5 @@ -name-template: "0.9.4 🌈" -tag-template: 0.9.4 +name-template: "0.10.0 🌈" +tag-template: 0.10.0 exclude-labels: - "skip-changelog" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0cf991d3..aee8b45b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,10 +16,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python 3.11 + - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" cache: "pip" cache-dependency-path: "**/pyproject.toml" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5cf8398..acd37f72 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,10 +13,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Python 3.11 + - name: Set up Python 3.12 uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install hatch run: pip install hatch diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e03399e5..5da57618 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,14 +22,11 @@ jobs: matrix: include: - os: ubuntu-latest - python: "3.10" + python: "3.12" run_mode: "slow" - os: ubuntu-latest python: "3.12" - run_mode: "slow" - # - os: ubuntu-latest - # python: "3.12" - # run_mode: "fast" + run_mode: "fast" # - os: ubuntu-latest # python: "3.12" # run_mode: slow diff --git a/.gitignore b/.gitignore index 51eae12d..d02681ff 100644 --- a/.gitignore +++ b/.gitignore @@ -137,6 +137,9 @@ dmypy.json # Jetbrains IDE .idea/ +# VSCode +.vscode + # Coala *.orig @@ -155,3 +158,11 @@ lightning_logs/* */lightning_logs/* node_modules + +# lamindb +test.ipynb +test-perturbation +test-bug + +# uv +uv.lock diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 65184420..b1a5264b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,8 +2,8 @@ fail_fast: false default_language_version: python: python3 default_stages: - - commit - - push + - pre-commit + - pre-push minimum_pre_commit_version: 2.16.0 repos: - repo: https://github.com/pre-commit/mirrors-prettier @@ -11,7 +11,7 @@ repos: hooks: - id: prettier - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.4.7 + rev: v0.8.6 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --unsafe-fixes] @@ -27,7 +27,7 @@ repos: - id: trailing-whitespace - id: check-case-conflict - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.10.0 + rev: v1.14.1 hooks: - id: mypy args: [--no-strict-optional, --ignore-missing-imports] diff --git a/.readthedocs.yml b/.readthedocs.yml index 3ce7437e..da4771c0 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,23 +1,18 @@ version: 2 build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.11" - jobs: - pre_build: - - python -c "import pertpy" - - pip freeze + python: "3.12" + commands: + - asdf plugin add uv + - asdf install uv latest + - asdf global uv latest + - uv venv + - uv pip install .[doc,coda,de] + - .venv/bin/python -m sphinx -T -b html -d docs/_build/doctrees -D language=en docs $READTHEDOCS_OUTPUT/html sphinx: configuration: docs/conf.py fail_on_warning: false -python: - install: - - method: pip - path: . - extra_requirements: - - doc - - coda - - de submodules: include: all diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index d6209cca..39816a93 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,23 +14,23 @@ religion, or sexual identity and orientation. Examples of behavior that contributes to creating a positive environment include: -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -- The use of sexualized language or imagery and unwelcome sexual - attention or advances -- Trolling, insulting/derogatory comments, and personal or political - attacks -- Public or private harassment -- Publishing others’ private information, such as a physical or - electronic address, without explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery and unwelcome sexual + attention or advances +- Trolling, insulting/derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others’ private information, such as a physical or + electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting ## Our Responsibilities diff --git a/docs/_static/tutorials/mcfarland.png b/docs/_static/tutorials/mcfarland.png new file mode 100644 index 0000000000000000000000000000000000000000..38d8f57535072668826399c20bf3a60f38f96e26 GIT binary patch literal 164969 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 z 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 HtH1vbr%FD^ literal 0 HcmV?d00001 diff --git a/docs/_static/tutorials/zhang.png b/docs/_static/tutorials/zhang.png new file mode 100644 index 0000000000000000000000000000000000000000..aa598d1c366030428fe8dac7a9750caf11186752 GIT binary patch literal 119661 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

)eQ5(0e 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 bP&%_cKI*wpMA7kG;B#KfP&5B`yF32@&eU<@ literal 0 HcmV?d00001 diff --git a/docs/conf.py b/docs/conf.py index 878b31f6..9e22f8f3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -195,4 +195,7 @@ "tutorials/notebooks/differential_gene_expression": "_static/tutorials/dge.png", "tutorials/notebooks/metadata_annotation": "_static/tutorials/metadata.png", "tutorials/notebooks/ontology_mapping": "_static/tutorials/ontology.png", + "tutorials/notebooks/norman_use_case": "_static/tutorials/norman.png", + "tutorials/notebooks/mcfarland_use_case": "_static/tutorials/mcfarland.png", + "tutorials/notebooks/zhang_use_case": "_static/tutorials/zhang.png", } diff --git a/docs/contributing.md b/docs/contributing.md index f3c5dcd2..f6b6db8c 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -132,11 +132,11 @@ in the cookiecutter-scverse template. Please write documentation for new or changed features and use-cases. This project uses [sphinx][] with the following features: -- the [myst][] extension allows to write documentation in markdown/Markedly Structured Text -- Google-style docstrings -- Jupyter notebooks as tutorials through [myst-nb][] (See [Tutorials with myst-nb](#tutorials-with-myst-nb-and-jupyter-notebooks)) -- [Sphinx autodoc typehints][], to automatically reference annotated input and output types -- Citations (like {cite:p}`Virshup_2023`) can be included with [sphinxcontrib-bibtex](https://sphinxcontrib-bibtex.readthedocs.io/) +- the [myst][] extension allows to write documentation in markdown/Markedly Structured Text +- Google-style docstrings +- Jupyter notebooks as tutorials through [myst-nb][] (See [Tutorials with myst-nb](#tutorials-with-myst-nb-and-jupyter-notebooks)) +- [Sphinx autodoc typehints][], to automatically reference annotated input and output types +- Citations (like {cite:p}`Virshup_2023`) can be included with [sphinxcontrib-bibtex](https://sphinxcontrib-bibtex.readthedocs.io/) See the [scanpy developer docs](https://scanpy.readthedocs.io/en/latest/dev/documentation.html) for more information on how to write documentation. @@ -150,10 +150,10 @@ These notebooks come from [pert-tutorials](https://github.com/scverse/pertpy-tut #### Hints -- If you refer to objects from other packages, please add an entry to `intersphinx_mapping` in `docs/conf.py`. Only - if you do so can sphinx automatically create a link to the external documentation. -- If building the documentation fails because of a missing link that is outside your control, you can add an entry to - the `nitpick_ignore` list in `docs/conf.py` +- If you refer to objects from other packages, please add an entry to `intersphinx_mapping` in `docs/conf.py`. Only + if you do so can sphinx automatically create a link to the external documentation. +- If building the documentation fails because of a missing link that is outside your control, you can add an entry to + the `nitpick_ignore` list in `docs/conf.py` #### Building the docs locally diff --git a/docs/index.md b/docs/index.md index 2d1133f8..6f530605 100644 --- a/docs/index.md +++ b/docs/index.md @@ -54,13 +54,13 @@ Discussions references ``` -- Consider citing [scanpy Genome Biology (2018)] along with original {doc}`references `. -- A paper for pertpy is in the works. +- Consider citing [scanpy Genome Biology (2018)] along with original {doc}`references `. +- A paper for pertpy is in the works. # Indices and tables -- {ref}`genindex` -- {ref}`modindex` -- {ref}`search` +- {ref}`genindex` +- {ref}`modindex` +- {ref}`search` [scanpy genome biology (2018)]: https://doi.org/10.1186/s13059-017-1382-0 diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index 22c4b24f..13e4f0b0 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -11,13 +11,25 @@ Many are also designed to work seamlessly in Google colab. For questions about the usage of pertpy use the [scverse discourse](https://discourse.scverse.org/). ::: -## Quick start +## Quick start: Tool specific tutorials + +### Data transformation ```{eval-rst} .. nbgallery:: notebooks/guide_rna_assignment notebooks/mixscape + notebooks/perturbation_space + notebooks/metadata_annotation + notebooks/ontology_mapping +``` + +### Knowledge inference + +```{eval-rst} +.. nbgallery:: + notebooks/augur notebooks/sccoda notebooks/sccoda_extended @@ -29,13 +41,24 @@ For questions about the usage of pertpy use the [scverse discourse](https://disc notebooks/distance_tests notebooks/cinemaot notebooks/scgen_perturbation_prediction - notebooks/perturbation_space notebooks/differential_gene_expression - notebooks/metadata_annotation - notebooks/ontology_mapping ``` -### Glossary +## Use cases + +Our use cases showcase a variety of pertpy tools applied to one dataset. +They are designed to give you a sense of how to use pertpy in a real-world scenario. +The use cases featured here are those we present in the pertpy [preprint](https://www.biorxiv.org/content/10.1101/2024.08.04.606516v1). + +```{eval-rst} +.. nbgallery:: + + notebooks/norman_use_case + notebooks/mcfarland_use_case + notebooks/zhang_use_case +``` + +## Glossary ```{eval-rst} .. tab-set:: diff --git a/docs/tutorials/notebooks b/docs/tutorials/notebooks index 55d33929..bd5237a5 160000 --- a/docs/tutorials/notebooks +++ b/docs/tutorials/notebooks @@ -1 +1 @@ -Subproject commit 55d33929ce3ab5d4d38d5ae8b7684c822f720124 +Subproject commit bd5237a5d46bdff2983cc3bb27b3a3413656f74b diff --git a/docs/usage/usage.md b/docs/usage/usage.md index cc8b3420..58a30c03 100644 --- a/docs/usage/usage.md +++ b/docs/usage/usage.md @@ -563,9 +563,9 @@ including cell line annotation, bulk RNA and protein expression data. Available databases for cell line metadata: -- [The Cancer Dependency Map Project at Broad](https://depmap.org/portal/) -- [The Cancer Dependency Map Project at Sanger](https://depmap.sanger.ac.uk/) -- [Genomics of Drug Sensitivity in Cancer (GDSC)](https://www.cancerrxgene.org/) +- [The Cancer Dependency Map Project at Broad](https://depmap.org/portal/) +- [The Cancer Dependency Map Project at Sanger](https://depmap.sanger.ac.uk/) +- [Genomics of Drug Sensitivity in Cancer (GDSC)](https://www.cancerrxgene.org/) ### Compound @@ -573,7 +573,7 @@ The Compound module enables the retrieval of various types of information relate Available databases for compound metadata: -- [PubChem](https://pubchem.ncbi.nlm.nih.gov/) +- [PubChem](https://pubchem.ncbi.nlm.nih.gov/) ### Mechanism of Action @@ -581,7 +581,7 @@ This module aims to retrieve metadata of mechanism of action studies related to Available databases for mechanism of action metadata: -- [CLUE](https://clue.io/) +- [CLUE](https://clue.io/) ### Drug @@ -589,7 +589,7 @@ This module allows for the retrieval of Drug target information. Available databases for drug metadata: -- [chembl](https://www.ebi.ac.uk/chembl/) +- [chembl](https://www.ebi.ac.uk/chembl/) ```{eval-rst} .. autosummary:: diff --git a/pertpy/__init__.py b/pertpy/__init__.py index f3dd1ebb..469e33d2 100644 --- a/pertpy/__init__.py +++ b/pertpy/__init__.py @@ -2,7 +2,7 @@ __author__ = "Lukas Heumos" __email__ = "lukas.heumos@posteo.net" -__version__ = "0.9.4" +__version__ = "0.10.0" import warnings diff --git a/pertpy/_doc.py b/pertpy/_doc.py index 14c7fb31..4ff5398b 100644 --- a/pertpy/_doc.py +++ b/pertpy/_doc.py @@ -15,6 +15,5 @@ def dec(obj): doc_common_plot_args = """\ -show: if `True`, shows the plot. - return_fig: if `True`, returns figure of the plot.\ +return_fig: if `True`, returns figure of the plot, that can be used for saving.\ """ diff --git a/pertpy/data/_datasets.py b/pertpy/data/_datasets.py index ddd6d0bb..4fe7904d 100644 --- a/pertpy/data/_datasets.py +++ b/pertpy/data/_datasets.py @@ -66,7 +66,7 @@ def sc_sim_augur() -> AnnData: # pragma: no cover output_file_path = settings.datasetdir / output_file_name if not Path(output_file_path).exists(): _download( - url="https://figshare.com/ndownloader/files/31645886", + url="https://figshare.com/ndownloader/files/49828902", output_file_name=output_file_name, output_path=settings.datasetdir, is_zip=False, diff --git a/pertpy/metadata/_cell_line.py b/pertpy/metadata/_cell_line.py index ac89ae59..a1e12507 100644 --- a/pertpy/metadata/_cell_line.py +++ b/pertpy/metadata/_cell_line.py @@ -341,8 +341,8 @@ def annotate_bulk_rna( # then we can compare these keys and fetch the corresponding metadata. if query_id not in adata.obs.columns: raise ValueError( - f"The specified `query_id` {query_id} can't be found in the `adata.obs`.\n" - "Ensure that you are using one of the available query IDs present in the adata.obs for the annotation.\n" + f"The specified `query_id` {query_id} can't be found in the `adata.obs`. \n" + "Ensure that you are using one of the available query IDs present in the adata.obs for the annotation." "If the desired query ID is not available, you can fetch the cell line metadata " "using the `annotate()` function before calling 'annotate_bulk_rna()'. " "This ensures that the required query ID is included in your data, e.g. stripped_cell_line_name, DepMap ID." @@ -359,9 +359,8 @@ def annotate_bulk_rna( else: reference_id = "DepMap_ID" logger.warning( - "To annotate bulk RNA data from Broad Institue, `DepMap_ID` is used as default reference and query identifier if no `reference_id` is given.\n" - "Ensure that `DepMap_ID` is available in 'adata.obs'.\n" - "Alternatively, use `annotate()` to annotate the cell line first " + "To annotate bulk RNA data from Broad Institue, `DepMap_ID` is used as default reference and query identifier if no `reference_id` is given." + "If `DepMap_ID` isn't available in 'adata.obs', use `annotate()` to annotate the cell line first." ) if self.bulk_rna_broad is None: self._download_bulk_rna(cell_line_source="broad") @@ -704,7 +703,6 @@ def plot_correlation( metadata_key: str = "bulk_rna_broad", category: str = "cell line", subset_identifier: str | int | Iterable[str] | Iterable[int] | None = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Visualise the correlation of cell lines with annotated metadata. @@ -748,7 +746,7 @@ def plot_correlation( if all(isinstance(id, str) for id in subset_identifier_list): if set(subset_identifier_list).issubset(adata.obs[identifier].unique()): subset_identifier_list = np.where( - np.in1d(adata.obs[identifier].values, subset_identifier_list) + np.isin(adata.obs[identifier].values, subset_identifier_list) )[0] else: raise ValueError("`Subset_identifier` must be found in adata.obs.`identifier`.") @@ -799,10 +797,9 @@ def plot_correlation( }, ) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None else: - raise NotImplementedError + raise NotImplementedError("Only 'cell line' category is supported for correlation comparison.") diff --git a/pertpy/metadata/_compound.py b/pertpy/metadata/_compound.py index 2649070e..289a6067 100644 --- a/pertpy/metadata/_compound.py +++ b/pertpy/metadata/_compound.py @@ -42,7 +42,7 @@ def annotate_compounds( adata = adata.copy() if query_id not in adata.obs.columns: - raise ValueError(f"The requested query_id {query_id} is not in `adata.obs`.\n" f"Please check again. ") + raise ValueError(f"The requested query_id {query_id} is not in `adata.obs`.\n Please check again.") query_dict = {} not_matched_identifiers = [] @@ -84,7 +84,7 @@ def annotate_compounds( query_df = pd.DataFrame.from_dict(query_dict, orient="index", columns=["pubchem_name", "pubchem_ID", "smiles"]) # Merge and remove duplicate columns # Column is converted to float after merging due to unmatches - # Convert back to integers + # Convert back to integers afterwards if query_id_type == "cid": query_df.pubchem_ID = query_df.pubchem_ID.astype("Int64") adata.obs = ( @@ -119,8 +119,7 @@ def lookup(self) -> LookUp: The LookUp object provides an overview of the metadata to annotate. Each annotate_{metadata} function has a corresponding lookup function in the LookUp object, - where users can search the reference_id in the metadata and - compare with the query_id in their own data. + where users can search the reference_id in the metadata and compare with the query_id in their own data. Returns: Returns a LookUp object specific for compound annotation. diff --git a/pertpy/metadata/_metadata.py b/pertpy/metadata/_metadata.py index 3d92417c..4484d4ac 100644 --- a/pertpy/metadata/_metadata.py +++ b/pertpy/metadata/_metadata.py @@ -62,7 +62,7 @@ def _warn_unmatch( if verbosity > 0: logger.info( f"There are {total_identifiers} identifiers in `adata.obs`." - f"However, {len(unmatched_identifiers)} identifiers can't be found in the {metadata_type} annotation," + f"However, {len(unmatched_identifiers)} identifiers can't be found in the {metadata_type} annotation, " "leading to the presence of NA values for their respective metadata.\n" f"Please check again: *unmatched_identifiers[:verbosity]..." ) diff --git a/pertpy/preprocessing/_guide_rna.py b/pertpy/preprocessing/_guide_rna.py index 0734c1ad..78d7d292 100644 --- a/pertpy/preprocessing/_guide_rna.py +++ b/pertpy/preprocessing/_guide_rna.py @@ -164,7 +164,6 @@ def plot_heatmap( layer: str | None = None, order_by: np.ndarray | str | None = None, key_to_save_order: str = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Figure | None: @@ -241,8 +240,7 @@ def plot_heatmap( finally: del adata.obs[temp_col_name] - if show: - plt.show() if return_fig: return fig + plt.show() return None diff --git a/pertpy/tools/_augur.py b/pertpy/tools/_augur.py index bd226f6f..6e374cea 100644 --- a/pertpy/tools/_augur.py +++ b/pertpy/tools/_augur.py @@ -25,11 +25,11 @@ explained_variance_score, f1_score, make_scorer, - mean_squared_error, precision_score, r2_score, recall_score, roc_auc_score, + root_mean_squared_error, ) from sklearn.model_selection import StratifiedKFold, cross_validate from sklearn.preprocessing import LabelEncoder @@ -440,7 +440,7 @@ def set_scorer( "augur_score": make_scorer(self.ccc_score), "r2": make_scorer(r2_score), "ccc": make_scorer(self.ccc_score), - "neg_mean_squared_error": make_scorer(mean_squared_error), + "neg_mean_squared_error": make_scorer(root_mean_squared_error), "explained_variance": make_scorer(explained_variance_score), } ) @@ -685,7 +685,7 @@ def predict( span: float = 0.75, filter_negative_residuals: bool = False, n_threads: int = 4, - augur_mode: Literal["permute"] | Literal["default"] | Literal["velocity"] = "default", + augur_mode: Literal["default", "permute", "velocity"] = "default", select_variance_features: bool = True, key_added: str = "augurpy_results", random_state: int | None = None, @@ -908,41 +908,39 @@ def predict_differential_prioritization( .mean() ) - sampled_permuted_cv_augur1 = [] - sampled_permuted_cv_augur2 = [] + rng = np.random.default_rng() + sampled_data = [] # draw mean aucs for permute1 and permute2 for celltype in permuted_cv_augur1["cell_type"].unique(): df1 = permuted_cv_augur1[permuted_cv_augur1["cell_type"] == celltype] df2 = permuted_cv_augur2[permuted_cv_augur2["cell_type"] == celltype] - for permutation_idx in range(n_permutations): - # subsample - sample1 = df1.sample(n=n_subsamples, random_state=permutation_idx, axis="index") - sampled_permuted_cv_augur1.append( - pd.DataFrame( - { - "cell_type": [celltype], - "permutation_idx": [permutation_idx], - "mean": [sample1["augur_score"].mean(axis=0)], - "std": [sample1["augur_score"].std(axis=0)], - } - ) - ) - sample2 = df2.sample(n=n_subsamples, random_state=permutation_idx, axis="index") - sampled_permuted_cv_augur2.append( - pd.DataFrame( - { - "cell_type": [celltype], - "permutation_idx": [permutation_idx], - "mean": [sample2["augur_score"].mean(axis=0)], - "std": [sample2["augur_score"].std(axis=0)], - } - ) + indices1 = rng.choice(len(df1), size=(n_permutations, n_subsamples), replace=True) + indices2 = rng.choice(len(df2), size=(n_permutations, n_subsamples), replace=True) + + scores1 = df1["augur_score"].values[indices1] + scores2 = df2["augur_score"].values[indices2] + + means1 = scores1.mean(axis=1) + means2 = scores2.mean(axis=1) + stds1 = scores1.std(axis=1) + stds2 = scores2.std(axis=1) + + sampled_data.append( + pd.DataFrame( + { + "cell_type": np.repeat(celltype, n_permutations), + "permutation_idx": np.arange(n_permutations), + "mean1": means1, + "mean2": means2, + "std1": stds1, + "std2": stds2, + } ) + ) - permuted_samples1 = pd.concat(sampled_permuted_cv_augur1) - permuted_samples2 = pd.concat(sampled_permuted_cv_augur2) + sampled_df = pd.concat(sampled_data) # delta between augur scores delta = augur_score1.merge(augur_score2, on=["cell_type"], suffixes=("1", "2")).assign( @@ -950,9 +948,7 @@ def predict_differential_prioritization( ) # delta between permutation scores - delta_rnd = permuted_samples1.merge( - permuted_samples2, on=["cell_type", "permutation_idx"], suffixes=("1", "2") - ).assign(delta_rnd=lambda x: x.mean2 - x.mean1) + delta_rnd = sampled_df.assign(delta_rnd=lambda x: x.mean2 - x.mean1) # number of values where permutations are larger than test statistic delta["b"] = ( @@ -967,7 +963,7 @@ def predict_differential_prioritization( delta["z"] = ( delta["delta_augur"] - delta_rnd.groupby("cell_type", as_index=False).mean()["delta_rnd"] ) / delta_rnd.groupby("cell_type", as_index=False).std()["delta_rnd"] - # calculate pvalues + delta["pval"] = np.minimum( 2 * (delta["b"] + 1) / (delta["m"] + 1), 2 * (delta["m"] - delta["b"] + 1) / (delta["m"] + 1) ) @@ -982,7 +978,6 @@ def plot_dp_scatter( *, top_n: int = None, ax: Axes = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plot scatterplot of differential prioritization. @@ -1041,10 +1036,9 @@ def plot_dp_scatter( legend1 = ax.legend(*scatter.legend_elements(), loc="center left", title="z-scores", bbox_to_anchor=(1, 0.5)) ax.add_artist(legend1) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1055,7 +1049,6 @@ def plot_important_features( key: str = "augurpy_results", top_n: int = 10, ax: Axes = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plot a lollipop plot of the n features with largest feature importances. @@ -1109,10 +1102,9 @@ def plot_important_features( plt.ylabel("Gene") plt.yticks(y_axes_range, n_features["genes"]) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1122,7 +1114,6 @@ def plot_lollipop( *, key: str = "augurpy_results", ax: Axes = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plot a lollipop plot of the mean augur values. @@ -1172,10 +1163,9 @@ def plot_lollipop( plt.ylabel("Cell Type") plt.yticks(y_axes_range, results["summary_metrics"].sort_values("mean_augur_score", axis=1).columns) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1185,7 +1175,6 @@ def plot_scatterplot( results2: dict[str, Any], *, top_n: int = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Create scatterplot with two augur results. @@ -1243,8 +1232,7 @@ def plot_scatterplot( plt.xlabel("Augur scores 1") plt.ylabel("Augur scores 2") - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None diff --git a/pertpy/tools/_cinemaot.py b/pertpy/tools/_cinemaot.py index f79ea951..d34bd666 100644 --- a/pertpy/tools/_cinemaot.py +++ b/pertpy/tools/_cinemaot.py @@ -91,7 +91,7 @@ def causaleffect( dim = self.get_dim(adata, use_rep=use_rep) transformer = FastICA(n_components=dim, random_state=0, whiten="arbitrary-variance") - X_transformed = transformer.fit_transform(adata.obsm[use_rep][:, :dim]) + X_transformed = np.array(transformer.fit_transform(adata.obsm[use_rep][:, :dim]), dtype=np.float64) groupvec = (adata.obs[pert_key] == control * 1).values # control xi = np.zeros(dim) j = 0 @@ -100,9 +100,9 @@ def causaleffect( xi[j] = xi_obj.correlation j = j + 1 - cf = X_transformed[:, xi < thres] - cf1 = cf[adata.obs[pert_key] == control, :] - cf2 = cf[adata.obs[pert_key] != control, :] + cf = np.array(X_transformed[:, xi < thres], np.float64) + cf1 = np.array(cf[adata.obs[pert_key] == control, :], np.float64) + cf2 = np.array(cf[adata.obs[pert_key] != control, :], np.float64) if sum(xi < thres) == 1: sklearn.metrics.pairwise_distances(cf1.reshape(-1, 1), cf2.reshape(-1, 1)) elif sum(xi < thres) == 0: @@ -170,7 +170,7 @@ def causaleffect( else: _solver = sinkhorn.Sinkhorn(threshold=eps) ot_sink = _solver(ot_prob) - ot_matrix = ot_sink.matrix.T + ot_matrix = np.array(ot_sink.matrix.T, dtype=np.float64) embedding = X_transformed[adata.obs[pert_key] != control, :] - np.matmul( ot_matrix / np.sum(ot_matrix, axis=1)[:, None], X_transformed[adata.obs[pert_key] == control, :] ) @@ -658,7 +658,6 @@ def plot_vis_matching( title: str = "CINEMA-OT matching matrix", min_val: float = 0.01, ax: Axes | None = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Figure | None: @@ -717,10 +716,9 @@ def plot_vis_matching( g = sns.heatmap(df, annot=True, ax=ax, **kwargs) plt.title(title) - if show: - plt.show() if return_fig: return g + plt.show() return None diff --git a/pertpy/tools/_coda/_base_coda.py b/pertpy/tools/_coda/_base_coda.py index 65110586..f372b467 100644 --- a/pertpy/tools/_coda/_base_coda.py +++ b/pertpy/tools/_coda/_base_coda.py @@ -2,7 +2,7 @@ from abc import ABC, abstractmethod from pathlib import Path -from typing import TYPE_CHECKING, Literal, Optional, Union +from typing import TYPE_CHECKING, Literal import arviz as az import jax.numpy as jnp @@ -309,7 +309,7 @@ def run_nuts( if copy: sample_adata = sample_adata.copy() - rng_key_array = random.key(rng_key) + rng_key_array = random.key_data(random.key(rng_key)) sample_adata.uns["scCODA_params"]["mcmc"]["rng_key"] = np.array(rng_key_array) # Set up NUTS kernel @@ -850,7 +850,7 @@ def summary(self, data: AnnData | MuData, extended: bool = False, modality_key: table = Table(title="Compositional Analysis summary", box=box.SQUARE, expand=True, highlight=True) table.add_column("Name", justify="left", style="cyan") table.add_column("Value", justify="left") - table.add_row("Data", "Data: %d samples, %d cell types" % data_dims) + table.add_row("Data", f"Data: {data_dims[0]} samples, {data_dims[1]} cell types") table.add_row("Reference cell type", "{}".format(str(sample_adata.uns["scCODA_params"]["reference_cell_type"]))) table.add_row("Formula", "{}".format(sample_adata.uns["scCODA_params"]["formula"])) if extended: @@ -1199,7 +1199,6 @@ def plot_stacked_barplot( # pragma: no cover level_order: list[str] = None, figsize: tuple[float, float] | None = None, dpi: int | None = 100, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plots a stacked barplot for all levels of a covariate or all samples (if feature_name=="samples"). @@ -1278,10 +1277,9 @@ def plot_stacked_barplot( # pragma: no cover show_legend=show_legend, ) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1300,7 +1298,6 @@ def plot_effects_barplot( # pragma: no cover args_barplot: dict | None = None, figsize: tuple[float, float] | None = None, dpi: int | None = 100, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Barplot visualization for effects. @@ -1378,7 +1375,6 @@ def plot_effects_barplot( # pragma: no cover if len(covariate_names_zero) != 0: if plot_facets: if plot_zero_covariate and not plot_zero_cell_type: - plot_df = plot_df[plot_df["value"] != 0] for covariate_name_zero in covariate_names_zero: new_row = { "Covariate": covariate_name_zero, @@ -1466,10 +1462,11 @@ def plot_effects_barplot( # pragma: no cover cell_types = pd.unique(plot_df["Cell Type"]) ax.set_xticklabels(cell_types, rotation=90) - if show: - plt.show() - if return_fig: + if return_fig and plot_facets: + return g + if return_fig and not plot_facets: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1490,7 +1487,6 @@ def plot_boxplots( # pragma: no cover level_order: list[str] = None, figsize: tuple[float, float] | None = None, dpi: int | None = 100, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Grouped boxplot visualization. @@ -1698,10 +1694,11 @@ def plot_boxplots( # pragma: no cover title=feature_name, ) - if show: - plt.show() - if return_fig: + if return_fig and plot_facets: + return g + if return_fig and not plot_facets: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1717,7 +1714,6 @@ def plot_rel_abundance_dispersion_plot( # pragma: no cover figsize: tuple[float, float] | None = None, dpi: int | None = 100, ax: plt.Axes | None = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plots total variance of relative abundance versus minimum relative abundance of all cell types for determination of a reference cell type. @@ -1821,10 +1817,9 @@ def label_point(x, y, val, ax): ax.legend(loc="upper left", bbox_to_anchor=(1, 1), ncol=1, title="Is abundant") - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1840,7 +1835,6 @@ def plot_draw_tree( # pragma: no cover figsize: tuple[float, float] | None = (None, None), dpi: int | None = 100, save: str | bool = False, - show: bool = True, return_fig: bool = False, ) -> Tree | None: """Plot a tree using input ete3 tree object. @@ -1904,10 +1898,9 @@ def my_layout(node): if save is not None: tree.render(save, tree_style=tree_style, units=units, w=figsize[0], h=figsize[1], dpi=dpi) # type: ignore - if show: - return tree.render("%%inline", tree_style=tree_style, units=units, w=figsize[0], h=figsize[1], dpi=dpi) # type: ignore if return_fig: return tree, tree_style + return tree.render("%%inline", tree_style=tree_style, units=units, w=figsize[0], h=figsize[1], dpi=dpi) # type: ignore return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1926,7 +1919,6 @@ def plot_draw_effects( # pragma: no cover figsize: tuple[float, float] | None = (None, None), dpi: int | None = 100, save: str | bool = False, - show: bool = True, return_fig: bool = False, ) -> Tree | None: """Plot a tree with colored circles on the nodes indicating significant effects with bar plots which indicate leave-level significant effects. @@ -2093,15 +2085,16 @@ def my_layout(node): if save: plt.savefig(save) + if return_fig: + return plt.gcf() - if save and not show_leaf_effects: - tree2.render(save, tree_style=tree_style, units=units) - if show: - if not show_leaf_effects: - return tree2.render("%%inline", tree_style=tree_style, units=units, w=figsize[0], h=figsize[1], dpi=dpi) - if return_fig: - if not show_leaf_effects: + else: + if save: + tree2.render(save, tree_style=tree_style, units=units) + if return_fig: return tree2, tree_style + return tree2.render("%%inline", tree_style=tree_style, units=units, w=figsize[0], h=figsize[1], dpi=dpi) + return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -2116,7 +2109,6 @@ def plot_effects_umap( # pragma: no cover color_map: Colormap | str | None = None, palette: str | Sequence[str] | None = None, ax: Axes = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Figure | None: @@ -2210,10 +2202,9 @@ def plot_effects_umap( # pragma: no cover **kwargs, ) - if show: - plt.show() if return_fig: return fig + plt.show() return None diff --git a/pertpy/tools/_dialogue.py b/pertpy/tools/_dialogue.py index 9eaf349e..3194ecae 100644 --- a/pertpy/tools/_dialogue.py +++ b/pertpy/tools/_dialogue.py @@ -1070,7 +1070,6 @@ def plot_split_violins( *, split_which: tuple[str, str] = None, mcp: str = "mcp_0", - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plots split violin plots for a given MCP and split variable. @@ -1110,10 +1109,9 @@ def plot_split_violins( ax = sns.violinplot(data=df, x=celltype_key, y=mcp, hue=split_key, split=True) ax.set_xticklabels(ax.get_xticklabels(), rotation=90) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1125,7 +1123,6 @@ def plot_pairplot( sample_id: str, *, mcp: str = "mcp_0", - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Generate a pairplot visualization for multi-cell perturbation (MCP) data. @@ -1167,8 +1164,7 @@ def plot_pairplot( mcp_pivot = pd.concat([mcp_pivot, aggstats[color]], axis=1) sns.pairplot(mcp_pivot, hue=color, corner=True) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None diff --git a/pertpy/tools/_differential_gene_expression/__init__.py b/pertpy/tools/_differential_gene_expression/__init__.py index 35ccef51..6cc925dd 100644 --- a/pertpy/tools/_differential_gene_expression/__init__.py +++ b/pertpy/tools/_differential_gene_expression/__init__.py @@ -1,4 +1,4 @@ -from ._base import ContrastType, LinearModelBase, MethodBase +from ._base import LinearModelBase, MethodBase from ._dge_comparison import DGEEVAL from ._edger import EdgeR from ._pydeseq2 import PyDESeq2 @@ -14,7 +14,6 @@ "SimpleComparisonBase", "WilcoxonTest", "TTest", - "ContrastType", ] AVAILABLE_METHODS = [Statsmodels, EdgeR, PyDESeq2, WilcoxonTest, TTest] diff --git a/pertpy/tools/_differential_gene_expression/_base.py b/pertpy/tools/_differential_gene_expression/_base.py index c6c30293..4c14b711 100644 --- a/pertpy/tools/_differential_gene_expression/_base.py +++ b/pertpy/tools/_differential_gene_expression/_base.py @@ -1,9 +1,7 @@ import math -import os from abc import ABC, abstractmethod -from collections.abc import Sequence -from dataclasses import dataclass -from itertools import chain, zip_longest +from collections.abc import Iterable, Mapping, Sequence +from itertools import zip_longest from types import MappingProxyType import adjustText @@ -12,9 +10,8 @@ import matplotlib.pyplot as plt import numpy as np import pandas as pd -import scipy import seaborn as sns -import statsmodels +from formulaic_contrasts import FormulaicContrasts from lamin_utils import logger from matplotlib.pyplot import Figure from matplotlib.ticker import MaxNLocator @@ -22,24 +19,6 @@ from pertpy._doc import _doc_params, doc_common_plot_args from pertpy.tools import PseudobulkSpace from pertpy.tools._differential_gene_expression._checks import check_is_numeric_matrix -from pertpy.tools._differential_gene_expression._formulaic import ( - AmbiguousAttributeError, - Factor, - get_factor_storage_and_materializer, - resolve_ambiguous, -) - - -@dataclass -class Contrast: - """Simple contrast for comparison between groups""" - - column: str - baseline: str - group_to_compare: str - - -ContrastType = Contrast | tuple[str, str, str] class MethodBase(ABC): @@ -66,7 +45,7 @@ def data(self): if self.layer is None: return self.adata.X else: - return self.adata.layer[self.layer] + return self.adata.layers[self.layer] @classmethod @abstractmethod @@ -146,7 +125,6 @@ def plot_volcano( shape_order: list[str] | None = None, x_label: str | None = None, y_label: str | None = None, - show: bool = True, return_fig: bool = False, **kwargs: int, ) -> Figure | None: @@ -505,10 +483,9 @@ def _map_genes_categories_highlight( plt.legend(loc=1, bbox_to_anchor=legend_pos, frameon=False) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -532,7 +509,6 @@ def plot_paired( pvalue_template=lambda x: f"p={x:.2e}", boxplot_properties=None, palette=None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Creates a pairwise expression plot from a Pandas DataFrame or Anndata. @@ -700,10 +676,9 @@ def plot_paired( ) plt.tight_layout() - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -717,7 +692,6 @@ def plot_fold_change( symbol_col: str = "variable", y_label: str = "Log2 fold change", figsize: tuple[int, int] = (10, 5), - show: bool = True, return_fig: bool = False, **barplot_kwargs, ) -> Figure | None: @@ -783,10 +757,9 @@ def plot_fold_change( plt.xlabel("") plt.ylabel(y_label) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -803,7 +776,6 @@ def plot_multicomparison_fc( figsize: tuple[int, int] = (10, 2), x_label: str = "Contrast", y_label: str = "Gene", - show: bool = True, return_fig: bool = False, **heatmap_kwargs, ) -> Figure | None: @@ -901,17 +873,15 @@ def _get_significance(p_val): plt.xlabel(x_label) plt.ylabel(y_label) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None class LinearModelBase(MethodBase): def __init__(self, adata, design, *, mask=None, layer=None, **kwargs): - """ - Initialize the method. + """Initialize the method. Args: adata: AnnData object, usually pseudobulked. @@ -923,26 +893,24 @@ def __init__(self, adata, design, *, mask=None, layer=None, **kwargs): super().__init__(adata, mask=mask, layer=layer) self._check_counts() - self.factor_storage = None - self.variable_to_factors = None - + self.formulaic_contrasts = None if isinstance(design, str): - self.factor_storage, self.variable_to_factors, materializer_class = get_factor_storage_and_materializer() - self.design = materializer_class(adata.obs, record_factor_metadata=True).get_model_matrix(design) + self.formulaic_contrasts = FormulaicContrasts(adata.obs, design) + self.design = self.formulaic_contrasts.design_matrix else: self.design = design @classmethod def compare_groups( cls, - adata, - column, - baseline, - groups_to_compare, + adata: ad.AnnData, + column: str, + baseline: str, + groups_to_compare: str | Iterable[str], *, - paired_by=None, - mask=None, - layer=None, + paired_by: str | None = None, + mask: pd.Series | None = None, + layer: str | None = None, fit_kwargs=MappingProxyType({}), test_kwargs=MappingProxyType({}), ): @@ -968,17 +936,16 @@ def compare_groups( @property def variables(self): """Get the names of the variables used in the model definition.""" - try: - return self.design.model_spec.variables_by_source["data"] - except AttributeError: + if self.formulaic_contrasts is None: raise ValueError( "Retrieving variables is only possible if the model was initialized using a formula." ) from None + else: + return self.formulaic_contrasts.variables @abstractmethod def _check_counts(self): - """ - Check that counts are valid for the specific method. + """Check that counts are valid for the specific method. Raises: ValueError: if the data matrix does not comply with the expectations. @@ -987,8 +954,7 @@ def _check_counts(self): @abstractmethod def fit(self, **kwargs): - """ - Fit the model. + """Fit the model. Args: **kwargs: Additional arguments for fitting the specific method. @@ -998,9 +964,8 @@ def fit(self, **kwargs): @abstractmethod def _test_single_contrast(self, contrast, **kwargs): ... - def test_contrasts(self, contrasts, **kwargs): - """ - Perform a comparison as specified in a contrast vector. + def test_contrasts(self, contrasts: np.ndarray | Mapping[str | None, np.ndarray], **kwargs): + """Perform a comparison as specified in a contrast vector. Args: contrasts: Either a numeric contrast vector, or a dictionary of numeric contrast vectors. @@ -1016,11 +981,11 @@ def test_contrasts(self, contrasts, **kwargs): results.append(self._test_single_contrast(contrast, **kwargs).assign(contrast=name)) results_df = pd.concat(results) + return results_df def test_reduced(self, modelB): - """ - Test against a reduced model. + """Test against a reduced model. Args: modelB: the reduced model against which to test. @@ -1034,8 +999,7 @@ def test_reduced(self, modelB): raise NotImplementedError def cond(self, **kwargs): - """ - Get a contrast vector representing a specific condition. + """Get a contrast vector representing a specific condition. Args: **kwargs: column/value pairs. @@ -1043,52 +1007,14 @@ def cond(self, **kwargs): Returns: A contrast vector that aligns to the columns of the design matrix. """ - if self.factor_storage is None: + if self.formulaic_contrasts is None: raise RuntimeError( "Building contrasts with `cond` only works if you specified the model using a formulaic formula. Please manually provide a contrast vector." ) - cond_dict = kwargs - if not set(cond_dict.keys()).issubset(self.variables): - raise ValueError( - "You specified a variable that is not part of the model. Available variables: " - + ",".join(self.variables) - ) - for var in self.variables: - if var in cond_dict: - self._check_category(var, cond_dict[var]) - else: - cond_dict[var] = self._get_default_value(var) - df = pd.DataFrame([kwargs]) - return self.design.model_spec.get_model_matrix(df).iloc[0] - - def _get_factor_metadata_for_variable(self, var): - factors = self.variable_to_factors[var] - return list(chain.from_iterable(self.factor_storage[f] for f in factors)) - - def _get_default_value(self, var): - factor_metadata = self._get_factor_metadata_for_variable(var) - if resolve_ambiguous(factor_metadata, "kind") == Factor.Kind.CATEGORICAL: - try: - tmp_base = resolve_ambiguous(factor_metadata, "base") - except AmbiguousAttributeError as e: - raise ValueError( - f"Could not automatically resolve base category for variable {var}. Please specify it explicity in `model.cond`." - ) from e - return tmp_base if tmp_base is not None else "\0" - else: - return 0 + return self.formulaic_contrasts.cond(**kwargs) - def _check_category(self, var, value): - factor_metadata = self._get_factor_metadata_for_variable(var) - tmp_categories = resolve_ambiguous(factor_metadata, "categories") - if resolve_ambiguous(factor_metadata, "kind") == Factor.Kind.CATEGORICAL and value not in tmp_categories: - raise ValueError( - f"You specified a non-existant category for {var}. Possible categories: {', '.join(tmp_categories)}" - ) - - def contrast(self, column, baseline, group_to_compare): - """ - Build a simple contrast for pairwise comparisons. + def contrast(self, *args, **kwargs): + """Build a simple contrast for pairwise comparisons. Args: column: column in adata.obs to test on. @@ -1098,4 +1024,8 @@ def contrast(self, column, baseline, group_to_compare): Returns: Numeric contrast vector. """ - return self.cond(**{column: group_to_compare}) - self.cond(**{column: baseline}) + if self.formulaic_contrasts is None: + raise RuntimeError( + "Building contrasts with `cond` only works if you specified the model using a formulaic formula. Please manually provide a contrast vector." + ) + return self.formulaic_contrasts.contrast(*args, **kwargs) diff --git a/pertpy/tools/_differential_gene_expression/_edger.py b/pertpy/tools/_differential_gene_expression/_edger.py index 98849476..15afab6a 100644 --- a/pertpy/tools/_differential_gene_expression/_edger.py +++ b/pertpy/tools/_differential_gene_expression/_edger.py @@ -27,16 +27,11 @@ def fit(self, **kwargs): # adata, design, mask, layer # pandas2ri.activate() # rpy2.robjects.numpy2ri.activate() try: - import rpy2.robjects.numpy2ri - import rpy2.robjects.pandas2ri from rpy2 import robjects as ro from rpy2.robjects import numpy2ri, pandas2ri - from rpy2.robjects.conversion import localconverter + from rpy2.robjects.conversion import get_conversion, localconverter from rpy2.robjects.packages import importr - pandas2ri.activate() - rpy2.robjects.numpy2ri.activate() - except ImportError: raise ImportError("edger requires rpy2 to be installed.") from None @@ -49,25 +44,30 @@ def fit(self, **kwargs): # adata, design, mask, layer ) from e # Convert dataframe - with localconverter(ro.default_converter + numpy2ri.converter): + with localconverter(get_conversion() + numpy2ri.converter): expr = self.adata.X if self.layer is None else self.adata.layers[self.layer] if issparse(expr): expr = expr.T.toarray() else: expr = expr.T - expr_r = ro.conversion.py2rpy(pd.DataFrame(expr, index=self.adata.var_names, columns=self.adata.obs_names)) + with localconverter(get_conversion() + pandas2ri.converter): + expr_r = ro.conversion.py2rpy(pd.DataFrame(expr, index=self.adata.var_names, columns=self.adata.obs_names)) + samples_r = ro.conversion.py2rpy(self.adata.obs) - dge = edger.DGEList(counts=expr_r, samples=self.adata.obs) + dge = edger.DGEList(counts=expr_r, samples=samples_r) logger.info("Calculating NormFactors") dge = edger.calcNormFactors(dge) + with localconverter(get_conversion() + numpy2ri.converter): + design_r = ro.conversion.py2rpy(self.design.values) + logger.info("Estimating Dispersions") - dge = edger.estimateDisp(dge, design=self.design) + dge = edger.estimateDisp(dge, design=design_r) logger.info("Fitting linear model") - fit = edger.glmQLFit(dge, design=self.design, **kwargs) + fit = edger.glmQLFit(dge, design=design_r, **kwargs) ro.globalenv["fit"] = fit self.fit = fit @@ -88,11 +88,9 @@ def _test_single_contrast(self, contrast: Sequence[float], **kwargs) -> pd.DataF # Fix mask for .fit() try: - import rpy2.robjects.numpy2ri - import rpy2.robjects.pandas2ri from rpy2 import robjects as ro from rpy2.robjects import numpy2ri, pandas2ri - from rpy2.robjects.conversion import localconverter + from rpy2.robjects.conversion import get_conversion, localconverter from rpy2.robjects.packages import importr except ImportError: @@ -106,7 +104,8 @@ def _test_single_contrast(self, contrast: Sequence[float], **kwargs) -> pd.DataF ) from None # Convert vector to R, which drops a category like `self.design_matrix` to use the intercept for the left out. - contrast_vec_r = ro.conversion.py2rpy(np.asarray(contrast)) + with localconverter(get_conversion() + numpy2ri.converter): + contrast_vec_r = ro.conversion.py2rpy(np.asarray(contrast)) ro.globalenv["contrast_vec"] = contrast_vec_r # Test contrast with R @@ -117,8 +116,18 @@ def _test_single_contrast(self, contrast: Sequence[float], **kwargs) -> pd.DataF """ ) - # Convert results to pandas - de_res = ro.conversion.rpy2py(ro.globalenv["de_res"]) + # Retrieve the `de_res` object + de_res = ro.globalenv["de_res"] + + # If already a Pandas DataFrame, return it directly + if isinstance(de_res, pd.DataFrame): + de_res.index.name = "variable" + return de_res.reset_index().rename(columns={"PValue": "p_value", "logFC": "log_fc", "FDR": "adj_p_value"}) + + # Convert to Pandas DataFrame if still an R object + with localconverter(get_conversion() + pandas2ri.converter): + de_res = ro.conversion.rpy2py(de_res) + de_res.index.name = "variable" de_res = de_res.reset_index() diff --git a/pertpy/tools/_differential_gene_expression/_formulaic.py b/pertpy/tools/_differential_gene_expression/_formulaic.py deleted file mode 100644 index b6647491..00000000 --- a/pertpy/tools/_differential_gene_expression/_formulaic.py +++ /dev/null @@ -1,189 +0,0 @@ -"""Helpers to interact with Formulaic Formulas - -Some helpful definitions for working with formulaic formulas (e.g. `~ 0 + C(donor):treatment + np.log1p(continuous)`): - * A *term* refers to an expression in the formula, separated by `+`, e.g. `C(donor):treatment`, or `np.log1p(continuous)`. - * A *variable* refers to a column of the data frame passed to formulaic, e.g. `donor`. - * A *factor* is the specification of how a certain variable is represented in the design matrix, e.g. treatment coding with base level "A" and reduced rank. -""" - -from collections import defaultdict -from collections.abc import Mapping, Sequence -from dataclasses import dataclass -from typing import Any - -from formulaic import FactorValues, ModelSpec -from formulaic.materializers import PandasMaterializer -from formulaic.materializers.types import EvaluatedFactor -from formulaic.parser.types import Factor -from interface_meta import override - - -@dataclass -class FactorMetadata: - """Store (relevant) metadata for a factor of a formula.""" - - name: str - """The unambiguous factor name as specified in the formula. E.g. `donor`, or `C(donor, contr.treatment(base="A"))`""" - - reduced_rank: bool - """Whether a column will be dropped because it is redundant""" - - custom_encoder: bool - """Whether or not a custom encoder (e.g. `C(...)`) was used.""" - - categories: Sequence[str] - """The unique categories in this factor (after applying `drop_rows`)""" - - kind: Factor.Kind - """Type of the factor""" - - drop_field: str = None - """The category that is dropped. - - Note that - * this may also be populated if `reduced_rank = False` - * this is only populated when no encoder was used (e.g. `~ donor` but NOT `~ C(donor)`. - """ - - column_names: Sequence[str] = None - """The column names for this factor included in the design matrix. - - This may be the same as `categories` if the default encoder is used, or - categories without the base level if a custom encoder (e.g. `C(...)`) is used. - """ - - colname_format: str = None - """A formattable string that can be used to generate the column name in the design matrix, e.g. `{name}[T.{field}]`""" - - @property - def base(self) -> str | None: - """ - The base category for this categorical factor. - - This is derived from `drop_field` (for default encoding) or by comparing the column names in - the design matrix with all categories (for custom encoding, e.g. `C(...)`). - """ - if not self.reduced_rank: - return None - else: - if self.custom_encoder: - tmp_base = set(self.categories) - set(self.column_names) - assert len(tmp_base) == 1 - return tmp_base.pop() - else: - assert self.drop_field is not None - return self.drop_field - - -def get_factor_storage_and_materializer() -> tuple[dict[str, list[FactorMetadata]], dict[str, set[str]], type]: - """Keeps track of categorical factors used in a model specification by generating a custom materializer. - - This materializer reports back metadata upon materialization of the model matrix. - - Returns: - - A dictionary storing metadata for each factor processed by the custom materializer, named `factor_storage`. - - A dictionary mapping variables to factor names, which works similarly to model_spec.variable_terms - but maps to factors rather than terms, named `variable_to_factors`. - - A materializer class tied to the specific instance of `factor_storage`. - """ - # There can be multiple FactorMetadata entries per sample, for instance when formulaic generates an interaction - # term, it generates the factor with both full rank and reduced rank. - factor_storage: dict[str, list[FactorMetadata]] = defaultdict(list) - variable_to_factors: dict[str, set[str]] = defaultdict(set) - - class CustomPandasMaterializer(PandasMaterializer): - """An extension of the PandasMaterializer that records all categorical variables and their (base) categories.""" - - REGISTER_NAME = "custom_pandas" - REGISTER_INPUTS = ("pandas.core.frame.DataFrame",) - REGISTER_OUTPUTS = ("pandas", "numpy", "sparse") - - def __init__( - self, - data: Any, - context: Mapping[str, Any] | None = None, - record_factor_metadata: bool = False, - **params: Any, - ): - """Initialize the Materializer. - - Args: - data: Passed to PandasMaterializer. - context: Passed to PandasMaterializer - record_factor_metadata: Flag that tells whether this particular instance of the custom materializer class - is supposed to record factor metadata. Only the instance that is used for building the design - matrix should record the metadata. All other instances (e.g. used to generate contrast vectors) - should not record metadata to not overwrite the specifications from the design matrix. - **params: Passed to PandasMaterializer - """ - self.factor_metadata_storage = factor_storage if record_factor_metadata else None - self.variable_to_factors = variable_to_factors if record_factor_metadata else None - # temporary pointer to metadata of factor that is currently evaluated - self._current_factor: FactorMetadata = None - super().__init__(data, context, **params) - - @override - def _encode_evaled_factor( - self, factor: EvaluatedFactor, spec: ModelSpec, drop_rows: Sequence[int], reduced_rank: bool = False - ) -> dict[str, Any]: - """Function is called just before the factor is evaluated. - - We can record some metadata, before we call the original function. - """ - assert ( - self._current_factor is None - ), "_current_factor should always be None when we start recording metadata" - if self.factor_metadata_storage is not None: - # Don't store if the factor is cached (then we should already have recorded it) - if factor.expr in self.encoded_cache or (factor.expr, reduced_rank) in self.encoded_cache: - assert factor.expr in self.factor_metadata_storage, "Factor should be there since it's cached" - else: - for var in factor.variables: - self.variable_to_factors[var].add(factor.expr) - self._current_factor = FactorMetadata( - name=factor.expr, - reduced_rank=reduced_rank, - categories=tuple(sorted(factor.values.drop(index=factor.values.index[drop_rows]).unique())), - custom_encoder=factor.metadata.encoder is not None, - kind=factor.metadata.kind, - ) - return super()._encode_evaled_factor(factor, spec, drop_rows, reduced_rank) - - @override - def _flatten_encoded_evaled_factor(self, name: str, values: FactorValues[dict]) -> dict[str, Any]: - """ - Function is called at the end, before the design matrix gets materialized. - - Here we have access to additional metadata, such as `drop_field`. - """ - if self._current_factor is not None: - assert self._current_factor.name == name - self._current_factor.drop_field = values.__formulaic_metadata__.drop_field - self._current_factor.column_names = values.__formulaic_metadata__.column_names - self._current_factor.colname_format = values.__formulaic_metadata__.format - self.factor_metadata_storage[name].append(self._current_factor) - self._current_factor = None - - return super()._flatten_encoded_evaled_factor(name, values) - - return factor_storage, variable_to_factors, CustomPandasMaterializer - - -class AmbiguousAttributeError(ValueError): - pass - - -def resolve_ambiguous(objs: Sequence[Any], attr: str) -> Any: - """Given a list of objects, return an attribute if it is the same between all object. Otherwise, raise an error.""" - if not objs: - raise ValueError("Collection is empty") - - first_obj_attr = getattr(objs[0], attr) - - # Check if the attribute is the same for all objects - for obj in objs[1:]: - if getattr(obj, attr) != first_obj_attr: - raise AmbiguousAttributeError(f"Ambiguous attribute '{attr}': values differ between objects") - - # If attribute is the same for all objects, return it - return first_obj_attr diff --git a/pertpy/tools/_differential_gene_expression/_pydeseq2.py b/pertpy/tools/_differential_gene_expression/_pydeseq2.py index c82b6a49..d4360e28 100644 --- a/pertpy/tools/_differential_gene_expression/_pydeseq2.py +++ b/pertpy/tools/_differential_gene_expression/_pydeseq2.py @@ -2,6 +2,7 @@ import re import warnings +import numpy as np import pandas as pd from anndata import AnnData from numpy import ndarray @@ -40,33 +41,25 @@ def fit(self, **kwargs) -> pd.DataFrame: Args: **kwargs: Keyword arguments specific to DeseqDataSet(), except for `n_cpus` which will use all available CPUs minus one if the argument is not passed. """ - inference = DefaultInference(n_cpus=kwargs.pop("n_cpus", os.cpu_count() - 1)) - covars = self.design.columns.tolist() - if "Intercept" not in covars: - warnings.warn( - "Warning: Pydeseq is hard-coded to use Intercept, please include intercept into the model", stacklevel=2 - ) - processed_covars = list({re.sub(r"\[T\.(.*)\]", "", col) for col in covars if col != "Intercept"}) + try: + usable_cpus = len(os.sched_getaffinity(0)) + except AttributeError: + usable_cpus = os.cpu_count() + + inference = DefaultInference(n_cpus=kwargs.pop("n_cpus", usable_cpus)) + dds = DeseqDataSet( - adata=self.adata, design_factors=processed_covars, refit_cooks=True, inference=inference, **kwargs + adata=self.adata, + design=self.design, # initialize using design matrix, not formula + refit_cooks=True, + inference=inference, + **kwargs, ) - # workaround code to insert design array - des_mtx_cols = dds.obsm["design_matrix"].columns - dds.obsm["design_matrix"] = self.design - if dds.obsm["design_matrix"].shape[1] == len(des_mtx_cols): - dds.obsm["design_matrix"].columns = des_mtx_cols.copy() dds.deseq2() self.dds = dds - # TODO: PyDeseq2 doesn't support arbitrary designs and contrasts yet - # see https://github.com/owkin/PyDESeq2/issues/213 - - # Therefore these functions are overridden in a way to make it work with PyDESeq2, - # ingoring the inconsistency of function signatures. Once arbitrary design - # matrices and contrasts are supported by PyDEseq2, we can fully support the - # Linear model interface. - def _test_single_contrast(self, contrast: list[str], alpha=0.05, **kwargs) -> pd.DataFrame: # type: ignore + def _test_single_contrast(self, contrast, alpha=0.05, **kwargs) -> pd.DataFrame: """Conduct a specific test and returns a Pandas DataFrame. Args: @@ -74,6 +67,7 @@ def _test_single_contrast(self, contrast: list[str], alpha=0.05, **kwargs) -> pd alpha: p value threshold used for controlling fdr with independent hypothesis weighting **kwargs: extra arguments to pass to DeseqStats() """ + contrast = np.array(contrast) stat_res = DeseqStats(self.dds, contrast=contrast, alpha=alpha, **kwargs) # Calling `.summary()` is required to fill the `results_df` data frame stat_res.summary() @@ -85,11 +79,3 @@ def _test_single_contrast(self, contrast: list[str], alpha=0.05, **kwargs) -> pd res_df.index.name = "variable" res_df = res_df.reset_index() return res_df - - def cond(self, **kwargs) -> ndarray: - raise NotImplementedError( - "PyDESeq2 currently doesn't support arbitrary contrasts, see https://github.com/owkin/PyDESeq2/issues/213" - ) - - def contrast(self, column: str, baseline: str, group_to_compare: str) -> tuple[str, str, str]: # type: ignore - return (column, group_to_compare, baseline) diff --git a/pertpy/tools/_differential_gene_expression/_statsmodels.py b/pertpy/tools/_differential_gene_expression/_statsmodels.py index 02bfad98..cd8bc5fa 100644 --- a/pertpy/tools/_differential_gene_expression/_statsmodels.py +++ b/pertpy/tools/_differential_gene_expression/_statsmodels.py @@ -59,14 +59,3 @@ def _test_single_contrast(self, contrast, **kwargs) -> pd.DataFrame: } ) return pd.DataFrame(res).sort_values("p_value") - - def contrast(self, column: str, baseline: str, group_to_compare: str) -> np.ndarray: - """Build a simple contrast for pairwise comparisons. - - This is equivalent to - - ``` - model.cond( = baseline) - model.cond( = group_to_compare) - ``` - """ - return self.cond(**{column: baseline}) - self.cond(**{column: group_to_compare}) diff --git a/pertpy/tools/_distances/_distances.py b/pertpy/tools/_distances/_distances.py index 1ff7fe7b..b0b56a61 100644 --- a/pertpy/tools/_distances/_distances.py +++ b/pertpy/tools/_distances/_distances.py @@ -344,9 +344,9 @@ def pairwise( else: embedding = adata.obsm[self.obsm_key].copy() for index_x, group_x in enumerate(fct(groups)): - cells_x = embedding[grouping == group_x].copy() + cells_x = embedding[np.asarray(grouping == group_x)].copy() for group_y in groups[index_x:]: # type: ignore - cells_y = embedding[grouping == group_y].copy() + cells_y = embedding[np.asarray(grouping == group_y)].copy() if not bootstrap: # By distance axiom, the distance between a group and itself is 0 dist = 0.0 if group_x == group_y else self(cells_x, cells_y, **kwargs) @@ -478,9 +478,9 @@ def onesided_distances( else: embedding = adata.obsm[self.obsm_key].copy() for group_x in fct(groups): - cells_x = embedding[grouping == group_x].copy() + cells_x = embedding[np.asarray(grouping == group_x)].copy() group_y = selected_group - cells_y = embedding[grouping == group_y].copy() + cells_y = embedding[np.asarray(grouping == group_y)].copy() if not bootstrap: # By distance axiom, the distance between a group and itself is 0 dist = 0.0 if group_x == group_y else self(cells_x, cells_y, **kwargs) @@ -691,17 +691,18 @@ def from_precomputed(self, P: np.ndarray, idx: np.ndarray, **kwargs) -> float: class WassersteinDistance(AbstractDistance): - """Wasserstein distance metric (solved with entropy regularized Sinkhorn).""" - def __init__(self) -> None: super().__init__() self.accepts_precomputed = False def __call__(self, X: np.ndarray, Y: np.ndarray, **kwargs) -> float: + X = np.asarray(X, dtype=np.float64) + Y = np.asarray(Y, dtype=np.float64) geom = PointCloud(X, Y) return self.solve_ot_problem(geom, **kwargs) def from_precomputed(self, P: np.ndarray, idx: np.ndarray, **kwargs) -> float: + P = np.asarray(P, dtype=np.float64) geom = Geometry(cost_matrix=P[idx, :][:, ~idx]) return self.solve_ot_problem(geom, **kwargs) @@ -709,7 +710,13 @@ def solve_ot_problem(self, geom: Geometry, **kwargs): ot_prob = LinearProblem(geom) solver = Sinkhorn() ot = solver(ot_prob, **kwargs) - return ot.reg_ot_cost.item() + cost = float(ot.reg_ot_cost) + + # Check for NaN or invalid cost + if not np.isfinite(cost): + return 1.0 + else: + return cost class EuclideanDistance(AbstractDistance): @@ -981,7 +988,7 @@ def _process_gene(x: np.ndarray, y: np.ndarray, epsilon: float) -> float: try: nb_params = NegativeBinomialP(x, np.ones_like(x)).fit(disp=False).params return _compute_nll(y, nb_params, epsilon) - except np.linalg.linalg.LinAlgError: + except np.linalg.LinAlgError: if x.mean() < 10 and y.mean() < 10: return 0.0 else: @@ -1110,67 +1117,75 @@ def __init__(self) -> None: super().__init__() self.accepts_precomputed = False + @staticmethod + def _mean_var(x, log: bool = False): + mean = np.mean(x, axis=0) + var = np.var(x, axis=0) + positive = mean > 0 + mean = mean[positive] + var = var[positive] + if log: + mean = np.log(mean) + var = np.log(var) + return mean, var + + @staticmethod + def _prep_kde_data(x, y): + return np.concatenate([x.reshape(-1, 1), y.reshape(-1, 1)], axis=1) + + @staticmethod + def _grid_points(d, n_points=100): + # Make grid, add 1 bin on lower/upper end to get final n_points + d_min = d.min() + d_max = d.max() + # Compute bin size + d_bin = (d_max - d_min) / (n_points - 2) + d_min = d_min - d_bin + d_max = d_max + d_bin + return np.arange(start=d_min + 0.5 * d_bin, stop=d_max, step=d_bin) + + @staticmethod + def _kde_eval_both(x_kde, y_kde, grid): + n_points = len(grid) + chunk_size = 10000 + + result_x = np.zeros(n_points) + result_y = np.zeros(n_points) + + # Process same chunks for both KDEs + for start in range(0, n_points, chunk_size): + end = min(start + chunk_size, n_points) + chunk = grid[start:end] + result_x[start:end] = x_kde.score_samples(chunk) + result_y[start:end] = y_kde.score_samples(chunk) + + return result_x, result_y + def __call__(self, X: np.ndarray, Y: np.ndarray, **kwargs) -> float: """Difference of mean-var distributions in 2 matrices. - Args: X: Normalized and log transformed cells x genes count matrix. Y: Normalized and log transformed cells x genes count matrix. """ + mean_x, var_x = self._mean_var(X, log=True) + mean_y, var_y = self._mean_var(Y, log=True) - def _mean_var(x, log: bool = False): - mean = np.mean(x, axis=0) - var = np.var(x, axis=0) - positive = mean > 0 - mean = mean[positive] - var = var[positive] - if log: - mean = np.log(mean) - var = np.log(var) - return mean, var - - def _prep_kde_data(x, y): - return np.concatenate([x.reshape(-1, 1), y.reshape(-1, 1)], axis=1) - - def _grid_points(d, n_points=100): - # Make grid, add 1 bin on lower/upper end to get final n_points - d_min = d.min() - d_max = d.max() - # Compute bin size - d_bin = (d_max - d_min) / (n_points - 2) - d_min = d_min - d_bin - d_max = d_max + d_bin - return np.arange(start=d_min + 0.5 * d_bin, stop=d_max, step=d_bin) - - def _parallel_score_samples(kde, samples, thread_count=int(0.875 * multiprocessing.cpu_count())): - # the thread_count is determined using the factor 0.875 as recommended here: - # https://stackoverflow.com/questions/32625094/scipy-parallel-computing-in-ipython-notebook - with multiprocessing.Pool(thread_count) as p: - return np.concatenate(p.map(kde.score_samples, np.array_split(samples, thread_count))) - - def _kde_eval(d, grid): - # Kernel choice: Gaussian is too smoothing and cosine or other kernels that do not stretch out - # can not be compared well on regions further away from the data as they are -inf - kde = KernelDensity(bandwidth="silverman", kernel="exponential").fit(d) - return _parallel_score_samples(kde, grid) - - mean_x, var_x = _mean_var(X, log=True) - mean_y, var_y = _mean_var(Y, log=True) - - x = _prep_kde_data(mean_x, var_x) - y = _prep_kde_data(mean_y, var_y) + x = self._prep_kde_data(mean_x, var_x) + y = self._prep_kde_data(mean_y, var_y) # Gridpoints to eval KDE on - mean_grid = _grid_points(np.concatenate([mean_x, mean_y])) - var_grid = _grid_points(np.concatenate([var_x, var_y])) + mean_grid = self._grid_points(np.concatenate([mean_x, mean_y])) + var_grid = self._grid_points(np.concatenate([var_x, var_y])) grid = np.array(np.meshgrid(mean_grid, var_grid)).T.reshape(-1, 2) - kde_x = _kde_eval(x, grid) - kde_y = _kde_eval(y, grid) + # Fit both KDEs first + x_kde = KernelDensity(bandwidth="silverman", kernel="exponential").fit(x) + y_kde = KernelDensity(bandwidth="silverman", kernel="exponential").fit(y) - kde_diff = ((kde_x - kde_y) ** 2).mean() + # Evaluate both KDEs on same grid chunks + kde_x, kde_y = self._kde_eval_both(x_kde, y_kde, grid) - return kde_diff + return ((np.exp(kde_x) - np.exp(kde_y)) ** 2).mean() def from_precomputed(self, P: np.ndarray, idx: np.ndarray, **kwargs) -> float: raise NotImplementedError("MeanVarDistributionDistance cannot be called on a pairwise distance matrix.") diff --git a/pertpy/tools/_enrichment.py b/pertpy/tools/_enrichment.py index 8c6b6bc5..23b55d27 100644 --- a/pertpy/tools/_enrichment.py +++ b/pertpy/tools/_enrichment.py @@ -304,7 +304,6 @@ def plot_dotplot( groupby: str = None, key: str = "pertpy_enrichment", ax: Axes | None = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> DotPlot | None: @@ -417,10 +416,9 @@ def plot_dotplot( **kwargs, ) - if show: - plt.show() if return_fig: return fig + plt.show() return None def plot_gsea( diff --git a/pertpy/tools/_milo.py b/pertpy/tools/_milo.py index 53bda6b9..021dfaf3 100644 --- a/pertpy/tools/_milo.py +++ b/pertpy/tools/_milo.py @@ -183,7 +183,7 @@ def make_nhoods( knn_dists = adata.obsp[neighbors_key + "_distances"] nhood_ixs = adata.obs["nhood_ixs_refined"] == 1 - dist_mat = knn_dists[nhood_ixs, :] + dist_mat = knn_dists[np.asarray(nhood_ixs), :] k_distances = dist_mat.max(1).toarray().ravel() adata.obs["nhood_kth_distance"] = 0 adata.obs["nhood_kth_distance"] = adata.obs["nhood_kth_distance"].astype(float) @@ -704,8 +704,8 @@ def _graph_spatial_fdr( pvalues = sample_adata.var["PValue"] keep_nhoods = ~pvalues.isna() # Filtering in case of test on subset of nhoods o = pvalues[keep_nhoods].argsort() - pvalues = pvalues[keep_nhoods][o] - w = w[keep_nhoods][o] + pvalues = pvalues.loc[keep_nhoods].iloc[o] + w = w.loc[keep_nhoods].iloc[o] adjp = np.zeros(shape=len(o)) adjp[o] = (sum(w) * pvalues / np.cumsum(w))[::-1].cummin()[::-1] @@ -727,7 +727,6 @@ def plot_nhood_graph( color_map: Colormap | str | None = None, palette: str | Sequence[str] | None = None, ax: Axes | None = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Figure | None: @@ -803,10 +802,9 @@ def plot_nhood_graph( **kwargs, ) - if show: - plt.show() if return_fig: return fig + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -820,7 +818,6 @@ def plot_nhood( color_map: Colormap | str | None = None, palette: str | Sequence[str] | None = None, ax: Axes | None = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Figure | None: @@ -866,10 +863,9 @@ def plot_nhood( **kwargs, ) - if show: - plt.show() if return_fig: return fig + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -882,7 +878,6 @@ def plot_da_beeswarm( alpha: float = 0.1, subset_nhoods: list[str] = None, palette: str | Sequence[str] | dict[str, str] | None = None, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plot beeswarm plot of logFC against nhood labels @@ -994,10 +989,9 @@ def plot_da_beeswarm( plt.legend(loc="upper left", title=f"< {int(alpha * 100)}% SpatialFDR", bbox_to_anchor=(1, 1), frameon=False) plt.axvline(x=0, ymin=0, ymax=1, color="black", linestyle="--") - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1008,7 +1002,6 @@ def plot_nhood_counts_by_cond( *, subset_nhoods: list[str] = None, log_counts: bool = False, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plot boxplot of cell numbers vs condition of interest. @@ -1050,8 +1043,7 @@ def plot_nhood_counts_by_cond( plt.xticks(rotation=90) plt.xlabel(test_var) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None diff --git a/pertpy/tools/_mixscape.py b/pertpy/tools/_mixscape.py index ade7ea49..e906a034 100644 --- a/pertpy/tools/_mixscape.py +++ b/pertpy/tools/_mixscape.py @@ -44,6 +44,7 @@ def perturbation_signature( split_by: str | None = None, n_neighbors: int = 20, use_rep: str | None = None, + n_dims: int | None = 15, n_pcs: int | None = None, batch_size: int | None = None, copy: bool = False, @@ -66,7 +67,10 @@ def perturbation_signature( If `None`, the representation is chosen automatically: For `.n_vars` < 50, `.X` is used, otherwise 'X_pca' is used. If 'X_pca' is not present, it’s computed with default parameters. - n_pcs: Use this many PCs. If `n_pcs==0` use `.X` if `use_rep is None`. + n_dims: Number of dimensions to use from the representation to calculate the perturbation signature. + If `None`, use all dimensions. + n_pcs: If PCA representation is used, the number of principal components to compute. + If `n_pcs==0` use `.X` if `use_rep is None`. batch_size: Size of batch to calculate the perturbation signature. If 'None', the perturbation signature is calcuated in the full mode, requiring more memory. The batched mode is very inefficient for sparse data. @@ -99,12 +103,14 @@ def perturbation_signature( split_masks = [split_obs == cat for cat in split_obs.unique()] representation = _choose_representation(adata, use_rep=use_rep, n_pcs=n_pcs) + if n_dims is not None and n_dims < representation.shape[1]: + representation = representation[:, :n_dims] for split_mask in split_masks: control_mask_split = control_mask & split_mask R_split = representation[split_mask] - R_control = representation[control_mask_split] + R_control = representation[np.asarray(control_mask_split)] from pynndescent import NNDescent @@ -112,7 +118,7 @@ def perturbation_signature( nn_index = NNDescent(R_control, **kwargs) indices, _ = nn_index.query(R_split, k=n_neighbors, epsilon=eps) - X_control = np.expm1(adata.X[control_mask_split]) + X_control = np.expm1(adata.X[np.asarray(control_mask_split)]) n_split = split_mask.sum() n_control = X_control.shape[0] @@ -126,7 +132,9 @@ def perturbation_signature( shape=(n_split, n_control), ) neigh_matrix /= n_neighbors - adata.layers["X_pert"][split_mask] -= np.log1p(neigh_matrix @ X_control) + adata.layers["X_pert"][split_mask] = ( + np.log1p(neigh_matrix @ X_control) - adata.layers["X_pert"][split_mask] + ) else: is_sparse = issparse(X_control) split_indices = np.where(split_mask)[0] @@ -144,7 +152,7 @@ def perturbation_signature( means_batch = means_batch.toarray() if is_sparse else means_batch means_batch = means_batch.reshape(size, n_neighbors, -1).mean(1) - adata.layers["X_pert"][split_batch] -= np.log1p(means_batch) + adata.layers["X_pert"][split_batch] = np.log1p(means_batch) - adata.layers["X_pert"][split_batch] if copy: return adata @@ -162,11 +170,13 @@ def mixscape( split_by: str | None = None, pval_cutoff: float | None = 5e-2, perturbation_type: str | None = "KO", + random_state: int | None = 0, copy: bool | None = False, ): """Identify perturbed and non-perturbed gRNA expressing cells that accounts for multiple treatments/conditions/chemical perturbations. - The implementation resembles https://satijalab.org/seurat/reference/runmixscape + The implementation resembles https://satijalab.org/seurat/reference/runmixscape. Note that in the original implementation, the + perturbation signature is calculated on unscaled data by default and we therefore recommend to do the same. Args: adata: The annotated data object. @@ -181,6 +191,7 @@ def mixscape( the perturbation signature for every replicate separately. pval_cutoff: P-value cut-off for selection of significantly DE genes. perturbation_type: specify type of CRISPR perturbation expected for labeling mixscape classifications. + random_state: Random seed for the GaussianMixture model. copy: Determines whether a copy of the `adata` is returned. Returns: @@ -231,6 +242,7 @@ def mixscape( raise KeyError( "No 'X_pert' found in .layers! Please run perturbation_signature first to calculate perturbation signature!" ) from None + # initialize return variables adata.obs[f"{new_class_name}_p_{perturbation_type.lower()}"] = 0 adata.obs[new_class_name] = adata.obs[labels].astype(str) @@ -241,6 +253,8 @@ def mixscape( dtype=np.object_, ) gv_list: dict[str, dict] = {} + + adata.obs[f"{new_class_name}_p_{perturbation_type.lower()}"] = 0.0 for split, split_mask in enumerate(split_masks): category = categories[split] genes = list(set(adata[split_mask].obs[labels]).difference([control])) @@ -256,7 +270,7 @@ def mixscape( else: de_genes = perturbation_markers[(category, gene)] de_genes_indices = self._get_column_indices(adata, list(de_genes)) - dat = X[all_cells][:, de_genes_indices] + dat = X[np.asarray(all_cells)][:, de_genes_indices] converged = False n_iter = 0 old_classes = adata.obs[labels][all_cells] @@ -266,8 +280,8 @@ def mixscape( # get average value for each gene over all selected cells # all cells in current split&Gene minus all NT cells in current split # Each row is for each cell, each column is for each gene, get mean for each column - vec = np.mean(X[guide_cells][:, de_genes_indices], axis=0) - np.mean( - X[nt_cells][:, de_genes_indices], axis=0 + vec = np.mean(X[np.asarray(guide_cells)][:, de_genes_indices], axis=0) - np.mean( + X[np.asarray(nt_cells)][:, de_genes_indices], axis=0 ) # project cells onto the perturbation vector if isinstance(dat, spmatrix): @@ -293,6 +307,7 @@ def mixscape( covariance_type="spherical", means_init=means_init, precisions_init=precisions_init, + random_state=random_state, ).fit(np.asarray(pvec).reshape(-1, 1)) probabilities = mm.predict_proba(np.array(pvec[orig_guide_cells_index]).reshape(-1, 1)) lik_ratio = probabilities[:, 0] / probabilities[:, 1] @@ -317,9 +332,7 @@ def mixscape( ) adata.obs[f"{new_class_name}_global"] = [a.split(" ")[-1] for a in adata.obs[new_class_name]] - adata.obs.loc[orig_guide_cells_index, f"{new_class_name}_p_{perturbation_type.lower()}"] = np.round( - post_prob - ).astype("int64") + adata.obs.loc[orig_guide_cells_index, f"{new_class_name}_p_{perturbation_type.lower()}"] = post_prob adata.uns["mixscape"] = gv_list if copy: @@ -520,7 +533,8 @@ def plot_barplot( # pragma: no cover axis_title_size: int = 8, legend_title_size: int = 8, legend_text_size: int = 8, - show: bool = True, + legend_bbox_to_anchor: tuple[float, float] = None, + figsize: tuple[float, float] = (25, 25), return_fig: bool = False, ) -> Figure | None: """Barplot to visualize perturbation scores calculated by the `mixscape` function. @@ -530,6 +544,13 @@ def plot_barplot( # pragma: no cover guide_rna_column: The column of `.obs` with guide RNA labels. The target gene labels. The format must be g<#>. Examples are 'STAT2g1' and 'ATF2g1'. mixscape_class_global: The column of `.obs` with mixscape global classification result (perturbed, NP or NT). + axis_text_x_size: Size of the x-axis text. + axis_text_y_size: Size of the y-axis text. + axis_title_size: Size of the axis title. + legend_title_size: Size of the legend title. + legend_text_size: Size of the legend text. + legend_bbox_to_anchor: The bbox that the legend will be anchored. + figsize: The size of the figure. {common_plot_args} Returns: @@ -567,7 +588,7 @@ def plot_barplot( # pragma: no cover color_mapping = {"KO": "salmon", "NP": "lightgray", "NT": "grey"} unique_genes = NP_KO_cells["gene"].unique() - fig, axs = plt.subplots(int(len(unique_genes) / 5), 5, figsize=(25, 25), sharey=True) + fig, axs = plt.subplots(int(len(unique_genes) / 5), 5, figsize=figsize, sharey=True) for i, gene in enumerate(unique_genes): ax = axs[int(i / 5), i % 5] grouped_df = ( @@ -587,24 +608,24 @@ def plot_barplot( # pragma: no cover ax.set_title(gene, bbox={"facecolor": "white", "edgecolor": "black", "pad": 1}, fontsize=axis_title_size) ax.set(xlabel="sgRNA", ylabel="% of cells") sns.despine(ax=ax, top=True, right=True, left=False, bottom=False) - ax.set_xticklabels(ax.get_xticklabels(), rotation=0, ha="right", fontsize=axis_text_x_size) - ax.set_yticklabels(ax.get_yticklabels(), rotation=0, fontsize=axis_text_y_size) - - fig.subplots_adjust(right=0.8) - fig.subplots_adjust(hspace=0.5, wspace=0.5) + ax.set_xticks(ax.get_xticks(), ax.get_xticklabels(), rotation=0, ha="right", fontsize=axis_text_x_size) + ax.set_yticks(ax.get_yticks(), ax.get_yticklabels(), rotation=0, fontsize=axis_text_y_size) ax.legend( - title="mixscape_class_global", + title="Mixscape Class", loc="center right", - bbox_to_anchor=(2.2, 3.5), + bbox_to_anchor=legend_bbox_to_anchor, frameon=True, fontsize=legend_text_size, title_fontsize=legend_title_size, ) - if show: - plt.show() + fig.subplots_adjust(right=0.8) + fig.subplots_adjust(hspace=0.5, wspace=0.5) + plt.tight_layout() + if return_fig: - return plt.gcf() + return fig + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -620,7 +641,6 @@ def plot_heatmap( # pragma: no cover subsample_number: int | None = 900, vmin: float | None = -2, vmax: float | None = 2, - show: bool = True, return_fig: bool = False, **kwds, ) -> Figure | None: @@ -673,10 +693,9 @@ def plot_heatmap( # pragma: no cover **kwds, ) - if show: - plt.show() if return_fig: return fig + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -692,7 +711,6 @@ def plot_perturbscore( # pragma: no cover split_by: str = None, before_mixscape: bool = False, perturbation_type: str = "KO", - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Density plots to visualize perturbation scores calculated by the `pt.tl.mixscape` function. @@ -785,12 +803,6 @@ def plot_perturbscore( # pragma: no cover plt.legend(title="gene_target", title_fontsize=14, fontsize=12) sns.despine() - if show: - plt.show() - if return_fig: - return plt.gcf() - return None - # If before_mixscape is False, split densities based on mixscape classifications else: if palette is None: @@ -847,11 +859,10 @@ def plot_perturbscore( # pragma: no cover plt.legend(title="mixscape class", title_fontsize=14, fontsize=12) sns.despine() - if show: - plt.show() - if return_fig: - return plt.gcf() - return None + if return_fig: + return plt.gcf() + plt.show() + return None @_doc_params(common_plot_args=doc_common_plot_args) def plot_violin( # pragma: no cover @@ -875,7 +886,6 @@ def plot_violin( # pragma: no cover ylabel: str | Sequence[str] | None = None, rotation: float | None = None, ax: Axes | None = None, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Axes | Figure | None: @@ -1043,12 +1053,9 @@ def plot_violin( # pragma: no cover if rotation is not None: ax.tick_params(axis="x", labelrotation=rotation) - show = settings.autoshow if show is None else show if hue is not None and stripplot is True: plt.legend(handles, labels) - if show: - plt.show() if return_fig: if multi_panel and groupby is None and len(ys) == 1: return g @@ -1056,6 +1063,7 @@ def plot_violin( # pragma: no cover return axs[0] else: return axs + plt.show() return None @_doc_params(common_plot_args=doc_common_plot_args) @@ -1072,7 +1080,6 @@ def plot_lda( # pragma: no cover color_map: Colormap | str | None = None, palette: str | Sequence[str] | None = None, ax: Axes | None = None, - show: bool = True, return_fig: bool = False, **kwds, ) -> Figure | None: @@ -1125,8 +1132,7 @@ def plot_lda( # pragma: no cover **kwds, ) - if show: - plt.show() if return_fig: return fig + plt.show() return None diff --git a/pertpy/tools/_perturbation_space/_perturbation_space.py b/pertpy/tools/_perturbation_space/_perturbation_space.py index 9a5a475c..04f58d6b 100644 --- a/pertpy/tools/_perturbation_space/_perturbation_space.py +++ b/pertpy/tools/_perturbation_space/_perturbation_space.py @@ -7,6 +7,7 @@ from anndata import AnnData from lamin_utils import logger from rich import print +from scipy.stats import entropy if TYPE_CHECKING: from collections.abc import Iterable @@ -364,50 +365,58 @@ def label_transfer( self, adata: AnnData, column: str = "perturbation", + column_uncertainty_score_key: str = "perturbation_transfer_uncertainty", target_val: str = "unknown", - n_neighbors: int = 5, - use_rep: str = "X_umap", + neighbors_key: str = "neighbors", ) -> None: """Impute missing values in the specified column using KNN imputation in the space defined by `use_rep`. + Uncertainty is calculated as the entropy of the label distribution in the neighborhood of the target cell. + In other words, a cell where all neighbors have the same set of labels will have an uncertainty of 0, whereas a cell + where all neighbors have many different labels will have high uncertainty. + Args: adata: The AnnData object containing single-cell data. - column: The column name in AnnData object to perform imputation on. + column: The column name in adata.obs to perform imputation on. + column_uncertainty_score_key: The column name in adata.obs to store the uncertainty score of the label transfer. target_val: The target value to impute. - n_neighbors: Number of neighbors to use for imputation. - use_rep: The key in `adata.obsm` where the embedding (UMAP, PCA, etc.) is stored. + neighbors_key: The key in adata.uns where the neighbors are stored. Examples: >>> import pertpy as pt >>> import scanpy as sc >>> import numpy as np >>> adata = sc.datasets.pbmc68k_reduced() - >>> rng = np.random.default_rng() - >>> adata.obs["perturbation"] = rng.choice( - ... ["A", "B", "C", "unknown"], size=adata.n_obs, p=[0.33, 0.33, 0.33, 0.01] - ... ) + >>> # randomly dropout 10% of the data annotations + >>> adata.obs["perturbation"] = adata.obs["louvain"].astype(str).copy() + >>> random_cells = np.random.choice(adata.obs.index, int(adata.obs.shape[0] * 0.1), replace=False) + >>> adata.obs.loc[random_cells, "perturbation"] = "unknown" >>> sc.pp.neighbors(adata) >>> sc.tl.umap(adata) >>> ps = pt.tl.PseudobulkSpace() - >>> ps.label_transfer(adata, n_neighbors=5, use_rep="X_umap") + >>> ps.label_transfer(adata) """ - if use_rep not in adata.obsm: - raise ValueError(f"Representation {use_rep} not found in the AnnData object.") - - embedding = adata.obsm[use_rep] - - from pynndescent import NNDescent - - nnd = NNDescent(embedding, n_neighbors=n_neighbors) - indices, _ = nnd.query(embedding, k=n_neighbors) - - perturbations = np.array(adata.obs[column]) - missing_mask = perturbations == target_val - - for idx in np.where(missing_mask)[0]: - neighbor_indices = indices[idx] - neighbor_categories = perturbations[neighbor_indices] - most_common = pd.Series(neighbor_categories).mode()[0] - perturbations[idx] = most_common - - adata.obs[column] = perturbations + if neighbors_key not in adata.uns: + raise ValueError(f"Key {neighbors_key} not found in adata.uns. Please run `sc.pp.neighbors` first.") + + labels = adata.obs[column].astype(str) + target_cells = labels == target_val + + connectivities = adata.obsp[adata.uns[neighbors_key]["connectivities_key"]] + # convert labels to an incidence matrix + one_hot_encoded_labels = adata.obs[column].astype(str).str.get_dummies() + # convert to distance-weighted neighborhood incidence matrix + weighted_label_occurence = pd.DataFrame( + (one_hot_encoded_labels.values.T * connectivities).T, + index=adata.obs_names, + columns=one_hot_encoded_labels.columns, + ) + # choose best label for each target cell + best_labels = weighted_label_occurence.drop(target_val, axis=1)[target_cells].idxmax(axis=1) + adata.obs[column] = labels + adata.obs.loc[target_cells, column] = best_labels + + # calculate uncertainty + uncertainty = np.zeros(adata.n_obs) + uncertainty[target_cells] = entropy(weighted_label_occurence.drop(target_val, axis=1)[target_cells], axis=1) + adata.obs[column_uncertainty_score_key] = uncertainty diff --git a/pertpy/tools/_perturbation_space/_simple.py b/pertpy/tools/_perturbation_space/_simple.py index a3cd954d..cab9d350 100644 --- a/pertpy/tools/_perturbation_space/_simple.py +++ b/pertpy/tools/_perturbation_space/_simple.py @@ -181,7 +181,6 @@ def plot_psbulk_samples( adata: AnnData, groupby: str, *, - show: bool = True, return_fig: bool = False, **kwargs, ) -> Figure | None: @@ -212,10 +211,9 @@ def plot_psbulk_samples( """ fig = dc.plot_psbulk_samples(adata, groupby, return_fig=True, **kwargs) - if show: - plt.show() if return_fig: return fig + plt.show() return None diff --git a/pertpy/tools/_scgen/_scgen.py b/pertpy/tools/_scgen/_scgen.py index eca887ee..fd70db3a 100644 --- a/pertpy/tools/_scgen/_scgen.py +++ b/pertpy/tools/_scgen/_scgen.py @@ -654,7 +654,6 @@ def plot_binary_classifier( stim_key: str, *, fontsize: float = 14, - show: bool = True, return_fig: bool = False, ) -> Figure | None: """Plots the dot product between delta and latent representation of a linear classifier. @@ -705,10 +704,9 @@ def plot_binary_classifier( ax = plt.gca() ax.grid(False) - if show: - plt.show() if return_fig: return plt.gcf() + plt.show() return None diff --git a/pyproject.toml b/pyproject.toml index 134542cb..e7da1b7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,10 +4,10 @@ requires = ["hatchling"] [project] name = "pertpy" -version = "0.9.4" +version = "0.10.0" description = "Perturbation Analysis in the scverse ecosystem." readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.10,<3.13" license = {file = "LICENSE"} authors = [ {name = "Lukas Heumos"}, @@ -54,7 +54,6 @@ dependencies = [ "muon", "requests", "scikit-misc", - "scipy", "scvi-tools", "adjusttext", "decoupler", @@ -64,8 +63,8 @@ dependencies = [ "pubchempy", "pyarrow", "blitzgsea", + "scikit-learn>=1.4", # https://github.com/scverse/pertpy/issues/700 "lamin_utils", - "anndata", ] [project.optional-dependencies] @@ -76,8 +75,9 @@ coda = [ "pyqt5" # remove this after ete4 got released ] de = [ + "formulaic-contrasts>=0.2.0", "formulaic", - "pydeseq2", + "pydeseq2>=v0.5.0pre1", ] dev = [ "pre-commit", @@ -126,15 +126,30 @@ addopts = [ ] markers = [ "conda: marks a subset of tests to be ran on the Bioconda CI.", - "extra: marks tests that require extra dependencies." + "extra: marks tests that require extra dependencies.", + "slow: mark test as slow to run" ] minversion = 6.0 norecursedirs = [ '.*', 'build', 'dist', '*.egg', 'data', '__pycache__'] filterwarnings = [ - "ignore::Warning:statsmodels.*" + "ignore::Warning:statsmodels.*", + "ignore:Jupyter is migrating its paths to use standard platformdirs:DeprecationWarning", + "ignore:lbfgs failed to converge", + "ignore:Mean of empty slice:RuntimeWarning", + "ignore:invalid value encountered in divide", + "ignore:Importing read_csv from `anndata` is deprecated:FutureWarning", + "ignore:Importing read_loom from `anndata` is deprecated:FutureWarning", + "ignore:Importing read_text from `anndata` is deprecated:FutureWarning", + "ignore:Importing CSCDataset from `anndata.experimental` is deprecated:FutureWarning", + "ignore:Importing CSRDataset from `anndata.experimental` is deprecated:FutureWarning", + "ignore:Importing read_elem from `anndata.experimental` is deprecated:FutureWarning", + "ignore:ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead:DeprecationWarning", + "ignore:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning", + "ignore:In the future, the default backend for leiden will be igraph instead of leidenalg:FutureWarning", + "ignore:Transforming to str index:anndata.ImplicitModificationWarning", + "ignore:Failed to correctly find n_neighbors for some samples:UserWarning" ] - [tool.ruff] src = ["src"] line-length = 120 diff --git a/tests/tools/_differential_gene_expression/test_edger.py b/tests/tools/_differential_gene_expression/test_edger.py index 27b4584a..96cbe132 100644 --- a/tests/tools/_differential_gene_expression/test_edger.py +++ b/tests/tools/_differential_gene_expression/test_edger.py @@ -1,4 +1,5 @@ -from pertpy.tools._differential_gene_expression import EdgeR +import numpy.testing as npt +from pertpy.tools._differential_gene_expression import EdgeR, PyDESeq2 def test_edger_simple(test_adata): @@ -13,6 +14,28 @@ def test_edger_simple(test_adata): res_df = method.test_contrasts(method.contrast("condition", "A", "B")) assert len(res_df) == test_adata.n_vars + # Compare against snapshot + npt.assert_almost_equal( + res_df.p_value.values, + [ + 8.0000e-05, + 1.8000e-04, + 5.3000e-04, + 1.1800e-03, + 3.3800e-02, + 3.3820e-02, + 7.7980e-02, + 1.3715e-01, + 2.5052e-01, + 9.2485e-01, + ], + decimal=4, + ) + npt.assert_almost_equal( + res_df.log_fc.values, + [0.61208, -0.39374, 0.57944, 0.7343, -0.58675, 0.42575, -0.23951, -0.20761, 0.17489, 0.0247], + decimal=4, + ) def test_edger_complex(test_adata): @@ -28,6 +51,12 @@ def test_edger_complex(test_adata): # Check that the index of the result matches the var_names of the AnnData object assert set(test_adata.var_names) == set(res_df["variable"]) + # Compare ranking of genes from a different method (without design matrix handling) + down_gene = res_df.set_index("variable").loc["gene3", "log_fc"] + up_gene = res_df.set_index("variable").loc["gene1", "log_fc"] + assert down_gene < up_gene -# TODO: there should be a test checking if, for a concrete example, the output p-values and effect sizes are what -# we expect (-> frozen snapshot, that way we also get a heads-up if something changes upstream) + method = PyDESeq2(adata=test_adata, design="~condition1+group") + method.fit() + deseq_res_df = method.test_contrasts(method.contrast("condition1", "A", "B")) + assert all(res_df.sort_values("log_fc")["variable"].values == deseq_res_df.sort_values("log_fc")["variable"].values) diff --git a/tests/tools/_differential_gene_expression/test_formulaic.py b/tests/tools/_differential_gene_expression/test_formulaic.py deleted file mode 100644 index f5305c5a..00000000 --- a/tests/tools/_differential_gene_expression/test_formulaic.py +++ /dev/null @@ -1,208 +0,0 @@ -import pandas as pd -import pytest -from formulaic.parser.types import Factor -from pertpy.tools._differential_gene_expression._formulaic import ( - AmbiguousAttributeError, - FactorMetadata, - get_factor_storage_and_materializer, - resolve_ambiguous, -) - - -@pytest.mark.parametrize( - "formula,reorder_categorical,expected_factor_metadata", - [ - [ - "~ donor", - None, - {"donor": {"reduced_rank": True, "custom_encoder": False, "base": "D0"}}, - ], - [ - "~ donor", - {"donor": ["D2", "D1", "D0", "D3"]}, - {"donor": {"reduced_rank": True, "custom_encoder": False, "base": "D2"}}, - ], - [ - "~ C(donor)", - None, - {"C(donor)": {"reduced_rank": True, "custom_encoder": True, "base": "D0"}}, - ], - [ - "~ C(donor, contr.treatment(base='D2'))", - None, - {"C(donor, contr.treatment(base='D2'))": {"reduced_rank": True, "custom_encoder": True, "base": "D2"}}, - ], - [ - "~ C(donor, contr.sum)", - None, - {"C(donor, contr.sum)": {"reduced_rank": True, "custom_encoder": True, "base": "D3"}}, - ], - [ - "~ C(donor, contr.sum)", - {"donor": ["D1", "D0", "D3", "D2"]}, - {"C(donor, contr.sum)": {"reduced_rank": True, "custom_encoder": True, "base": "D2"}}, - ], - [ - "~ condition", - None, - {"condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}}, - ], - [ - "~ C(condition)", - None, - {"C(condition)": {"reduced_rank": True, "custom_encoder": True, "base": "A"}}, - ], - [ - "~ C(condition, contr.treatment(base='B'))", - None, - {"C(condition, contr.treatment(base='B'))": {"reduced_rank": True, "custom_encoder": True, "base": "B"}}, - ], - [ - "~ C(condition, contr.sum)", - None, - {"C(condition, contr.sum)": {"reduced_rank": True, "custom_encoder": True, "base": "B"}}, - ], - [ - "~ 0 + condition", - None, - {"condition": {"reduced_rank": False, "custom_encoder": False, "base": None}}, - ], - [ - "~ condition + donor", - None, - { - "condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}, - "donor": {"reduced_rank": True, "custom_encoder": False, "base": "D0"}, - }, - ], - [ - "~ 0 + condition + donor", - None, - { - "condition": {"reduced_rank": False, "custom_encoder": False, "base": None}, - "donor": {"reduced_rank": True, "custom_encoder": False, "base": "D0"}, - }, - ], - [ - "~ condition * donor", - None, - { - "condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}, - "donor": {"reduced_rank": True, "custom_encoder": False, "base": "D0"}, - }, - ], - [ - "~ condition * C(donor, contr.treatment(base='D2'))", - None, - { - "condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}, - "C(donor, contr.treatment(base='D2'))": {"reduced_rank": True, "custom_encoder": True, "base": "D2"}, - }, - ], - [ - "~ condition + C(condition) + C(condition, contr.treatment(base='B'))", - None, - { - "condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}, - "C(condition)": {"reduced_rank": True, "custom_encoder": True, "base": "A"}, - "C(condition, contr.treatment(base='B'))": {"reduced_rank": True, "custom_encoder": True, "base": "B"}, - }, - ], - [ - "~ condition + continuous + np.log(continuous)", - None, - { - "condition": { - "reduced_rank": True, - "custom_encoder": False, - "base": "A", - "kind": Factor.Kind.CATEGORICAL, - }, - "continuous": { - "reduced_rank": False, - "custom_encoder": False, - "base": None, - "kind": Factor.Kind.NUMERICAL, - }, - "np.log(continuous)": { - "reduced_rank": False, - "custom_encoder": False, - "base": None, - "kind": Factor.Kind.NUMERICAL, - }, - }, - ], - [ - "~ condition * donor + continuous", - None, - { - "condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}, - "donor": {"reduced_rank": True, "custom_encoder": False, "base": "D0"}, - "continuous": { - "reduced_rank": False, - "custom_encoder": False, - "base": None, - "kind": Factor.Kind.NUMERICAL, - }, - }, - ], - [ - "~ condition:donor", - None, - { - "condition": {"reduced_rank": True, "custom_encoder": False, "base": "A"}, - "donor": { - "custom_encoder": False, - "drop_field": "D0", - }, # `reduced_rank` and `base` will be ambigous here because Formulaic generates both version of the factor internally - }, - ], - ], -) -def test_custom_materializer(test_adata_minimal, formula, reorder_categorical, expected_factor_metadata): - """Test that the custom materializer correctly stores the baseline category. - - Parameters - ---------- - test_adata_minimal - adata fixture - formula - Formula to test - reorder_categorical - Create a pandas categorical for a given column with a certain order of categories - expected_factor_metadata - dict with expected values for each factor - """ - if reorder_categorical is not None: - for col, order in reorder_categorical.items(): - test_adata_minimal.obs[col] = pd.Categorical(test_adata_minimal.obs[col], categories=order) - factor_storage, _, materializer = get_factor_storage_and_materializer() - materializer(test_adata_minimal.obs, record_factor_metadata=True).get_model_matrix(formula) - for factor, expected_metadata in expected_factor_metadata.items(): - actual_metadata = factor_storage[factor] - for k in expected_metadata: - assert resolve_ambiguous(actual_metadata, k) == expected_metadata[k] - - -def test_resolve_ambiguous(): - obj1 = FactorMetadata("F1", True, True, ["A", "B"], Factor.Kind.CATEGORICAL) - obj2 = FactorMetadata("F2", True, False, ["A", "B"], Factor.Kind.CATEGORICAL) - obj3 = FactorMetadata("F3", True, False, None, Factor.Kind.NUMERICAL) - - with pytest.raises(ValueError): - resolve_ambiguous([], "foo") - - with pytest.raises(AttributeError): - resolve_ambiguous([obj1, obj2], "doesntexist") - - with pytest.raises(AmbiguousAttributeError): - assert resolve_ambiguous([obj1, obj2], "name") - - assert resolve_ambiguous([obj1, obj2, obj3], "reduced_rank") is True - assert resolve_ambiguous([obj1, obj2], "categories") == ["A", "B"] - - with pytest.raises(AmbiguousAttributeError): - assert resolve_ambiguous([obj1, obj2, obj3], "categories") - - with pytest.raises(AmbiguousAttributeError): - assert resolve_ambiguous([obj1, obj3], "kind") diff --git a/tests/tools/_differential_gene_expression/test_pydeseq2.py b/tests/tools/_differential_gene_expression/test_pydeseq2.py index aab7e3d1..438dcf75 100644 --- a/tests/tools/_differential_gene_expression/test_pydeseq2.py +++ b/tests/tools/_differential_gene_expression/test_pydeseq2.py @@ -1,3 +1,4 @@ +import numpy.testing as npt from pertpy.tools._differential_gene_expression import PyDESeq2 @@ -10,9 +11,20 @@ def test_pydeseq2_simple(test_adata): """ method = PyDESeq2(adata=test_adata, design="~condition") method.fit() - res_df = method.test_contrasts(["condition", "A", "B"]) + res_df = method.test_contrasts(method.contrast("condition", "A", "B")) assert len(res_df) == test_adata.n_vars + # Compare against snapshot + npt.assert_almost_equal( + res_df.p_value.values, + [0.00017, 0.00033, 0.00051, 0.0286, 0.03207, 0.04723, 0.11039, 0.11452, 0.3703, 0.99625], + decimal=4, + ) + npt.assert_almost_equal( + res_df.log_fc.values, + [0.58207, 0.53855, -0.4121, 0.63281, -0.63283, -0.27066, -0.21271, 0.38601, 0.13434, 0.00146], + decimal=4, + ) def test_pydeseq2_complex(test_adata): @@ -22,12 +34,32 @@ def test_pydeseq2_complex(test_adata): test_adata.obs["condition1"] = test_adata.obs["condition"].copy() method = PyDESeq2(adata=test_adata, design="~condition1+group") method.fit() - res_df = method.test_contrasts(["condition1", "A", "B"]) + res_df = method.test_contrasts(method.contrast("condition1", "A", "B")) assert len(res_df) == test_adata.n_vars # Check that the index of the result matches the var_names of the AnnData object assert set(test_adata.var_names) == set(res_df["variable"]) + # Compare against snapshot + npt.assert_almost_equal( + res_df.p_value.values, + [7e-05, 0.00012, 0.00035, 0.01062, 0.01906, 0.03892, 0.10755, 0.11175, 0.36631, 0.94952], + decimal=4, + ) + npt.assert_almost_equal( + res_df.log_fc.values, + [-0.42347, 0.58802, 0.53528, 0.73147, -0.67374, -0.27158, -0.21402, 0.38953, 0.13511, -0.01949], + decimal=4, + ) -# TODO: there should be a test checking if, for a concrete example, the output p-values and effect sizes are what -# we expect (-> frozen snapshot, that way we also get a heads-up if something changes upstream) +def test_pydeseq2_formula(test_adata): + """Check that the pyDESeq2 method gives consistent results when specifying contrasts, regardless of the order of covariates""" + model1 = PyDESeq2(adata=test_adata, design="~condition+group") + model1.fit() + res_1 = model1.test_contrasts(model1.contrast("condition", "A", "B")) + + model2 = PyDESeq2(adata=test_adata, design="~group+condition") + model2.fit() + res_2 = model2.test_contrasts(model2.contrast("condition", "A", "B")) + + npt.assert_almost_equal(res_2.log_fc.values, res_1.log_fc.values) diff --git a/tests/tools/_distances/test_distances.py b/tests/tools/_distances/test_distances.py index aec3e874..67a6f538 100644 --- a/tests/tools/_distances/test_distances.py +++ b/tests/tools/_distances/test_distances.py @@ -55,6 +55,8 @@ def adata(request): else: adata = sc.pp.subsample(adata, 0.001, copy=True) + adata = adata[:, np.random.default_rng().choice(adata.n_vars, 100, replace=False)].copy() + adata.layers["lognorm"] = adata.X.copy() adata.layers["counts"] = np.round(adata.X.toarray()).astype(int) if "X_pca" not in adata.obsm.keys(): diff --git a/tests/tools/_perturbation_space/test_simple_perturbation_space.py b/tests/tools/_perturbation_space/test_simple_perturbation_space.py index 8fd04aeb..bc2559f8 100644 --- a/tests/tools/_perturbation_space/test_simple_perturbation_space.py +++ b/tests/tools/_perturbation_space/test_simple_perturbation_space.py @@ -240,9 +240,17 @@ def test_label_transfer(): adata = AnnData(X) perturbations = np.array(["A", "B", "C"] * 22 + ["unknown"] * 3) adata.obs["perturbation"] = perturbations + + with pytest.raises(ValueError): + ps = pt.tl.PseudobulkSpace() + ps.label_transfer(adata) + sc.pp.neighbors(adata, use_rep="X") sc.tl.umap(adata) - ps = pt.tl.PseudobulkSpace() - ps.label_transfer(adata, n_neighbors=5, use_rep="X_umap") + ps.label_transfer(adata) assert "unknown" not in adata.obs["perturbation"] + assert all(adata.obs["perturbation_transfer_uncertainty"] >= 0) + assert not all(adata.obs["perturbation_transfer_uncertainty"] == 0) + is_known = perturbations != "unknown" + assert all(adata.obs.loc[is_known, "perturbation_transfer_uncertainty"] == 0) diff --git a/tests/tools/test_augur.py b/tests/tools/test_augur.py index 55fda674..57df8813 100644 --- a/tests/tools/test_augur.py +++ b/tests/tools/test_augur.py @@ -6,7 +6,6 @@ import pytest import scanpy as sc from pertpy.tools._augur import Params -from sklearn.ensemble import RandomForestRegressor CWD = Path(__file__).parent.resolve() @@ -145,7 +144,7 @@ def test_select_variance(adata): """Test select variance implementation.""" adata = ag_rfc.load(adata) sc.pp.highly_variable_genes(adata) - adata_cell_type = adata[adata.obs["cell_type"] == "CellTypeA"] + adata_cell_type = adata[adata.obs["cell_type"] == "CellTypeA"].copy() ad = ag_rfc.select_variance(adata_cell_type, var_quantile=0.5, span=0.3, filter_negative_residuals=False) assert 3672 == len(ad.var.index[ad.var["highly_variable"]]) @@ -169,7 +168,7 @@ def test_differential_prioritization(): # Requires the full dataset or it fails because of a lack of statistical power adata = pt.dt.sc_sim_augur() adata = sc.pp.subsample(adata, n_obs=500, copy=True, random_state=10) - ag = pt.tl.Augur("random_forest_classifier", Params(random_state=42)) + ag = pt.tl.Augur("logistic_regression_classifier", Params(random_state=42)) ag.load(adata) adata, results1 = ag.predict(adata, n_threads=4, n_subsamples=3, random_state=2) diff --git a/tests/tools/test_mixscape.py b/tests/tools/test_mixscape.py index ec9387c1..83616729 100644 --- a/tests/tools/test_mixscape.py +++ b/tests/tools/test_mixscape.py @@ -98,3 +98,50 @@ def test_lda(adata): mixscape_identifier.lda(adata=adata, labels="gene_target", control="NT") assert "mixscape_lda" in adata.uns + + +def test_deterministic_perturbation_signature(): + n_genes = 5 + n_cells_per_class = 50 + cell_classes = ["NT", "KO", "NP"] + groups = ["Group1", "Group2"] + + cell_classes_array = np.repeat(cell_classes, n_cells_per_class) + groups_array = np.tile(np.repeat(groups, n_cells_per_class // 2), len(cell_classes)) + obs = pd.DataFrame( + { + "cell_class": cell_classes_array, + "group": groups_array, + "perturbation": ["control" if cell_class == "NT" else "pert1" for cell_class in cell_classes_array], + } + ) + + data = np.zeros((len(obs), n_genes)) + pert_effect = np.random.default_rng().uniform(-1, 1, size=(n_cells_per_class // len(groups), n_genes)) + for _, group in enumerate(groups): + baseline_expr = 2 if group == "Group1" else 10 + group_mask = obs["group"] == group + + nt_mask = (obs["cell_class"] == "NT") & group_mask + data[nt_mask] = baseline_expr + + ko_mask = (obs["cell_class"] == "KO") & group_mask + data[ko_mask] = baseline_expr + pert_effect + + np_mask = (obs["cell_class"] == "NP") & group_mask + data[np_mask] = baseline_expr + + var = pd.DataFrame(index=[f"Gene{i + 1}" for i in range(n_genes)]) + adata = anndata.AnnData(X=data, obs=obs, var=var) + + mixscape_identifier = pt.tl.Mixscape() + mixscape_identifier.perturbation_signature( + adata, pert_key="perturbation", control="control", n_neighbors=5, split_by="group" + ) + + assert "X_pert" in adata.layers + assert np.allclose(adata.layers["X_pert"][obs["cell_class"] == "NT"], 0) + assert np.allclose(adata.layers["X_pert"][obs["cell_class"] == "NP"], 0) + assert np.allclose( + adata.layers["X_pert"][obs["cell_class"] == "KO"], -np.concatenate([pert_effect] * len(groups), axis=0) + )