Anndata2ri
Convert between AnnData and SingleCellExperiment
Install / Use
/learn @theislab/Anndata2riREADME
|pypi| |conda| |rtd| |tests| |doi|
.. |pypi| image:: https://img.shields.io/pypi/v/anndata2ri :target: https://pypi.org/project/anndata2ri/ :alt: PyPI Version
.. |conda| image:: https://img.shields.io/conda/vn/bioconda/anndata2ri :target: https://anaconda.org/bioconda/anndata2ri :alt: Bioconda Version
.. |rtd| image:: https://readthedocs.com/projects/icb-anndata2ri/badge/?version=latest&token=ee358f7efe36cbbd7d04db1b708fa81cefc44634ae7f3f8e0afcd03a1f0b1158 :target: docs_ :alt: Documentation Status
.. |tests| image:: https://github.com/theislab/anndata2ri/actions/workflows/run_tests.yml/badge.svg :target: https://github.com/theislab/anndata2ri/actions/workflows/run_tests.yml :alt: Unit Tests
.. |doi| image:: https://zenodo.org/badge/171714778.svg :target: https://zenodo.org/badge/latestdoi/171714778 :alt: Publication DOI
AnnData ↭ SingleCellExperiment
RPy2 converter from AnnData_ to SingleCellExperiment_ and back. (For details about conversion see the docs_)
You can for example use it to process your data using both Scanpy_ and Seurat_, as described in this example notebook_
.. _AnnData: https://anndata.readthedocs.io/en/latest/
.. _SingleCellExperiment: http://bioconductor.org/packages/release/bioc/vignettes/SingleCellExperiment/inst/doc/intro.html
.. _docs: https://icb-anndata2ri.readthedocs-hosted.com/en/latest/
.. _Scanpy: https://scanpy.readthedocs.io/en/stable/
.. _Seurat: https://satijalab.org/seurat/
.. _example notebook: https://github.com/LuckyMD/Code_snippets/blob/master/Seurat_to_anndata.ipynb
Installation
.. code-block:: bash
pip install anndata2ri
or
conda install -c bioconda anndata2ri
Troubleshooting
If you have problems installing or importing anndata2ri, please make sure you first:
- Check the stack trace: If the error happens while installing or importing a dependency such as rpy2_, report your problem in that project’s bug tracker.
- Search the issues_. At the time of writing 17 of the 29 bugs (60%) are invalid or rpy2 bugs / install problems.
- Make sure you have a compatible R version: rpy2 requires R ≥ 3.6.
.. _rpy2: https://github.com/rpy2/rpy2#readme .. _issues: https://github.com/theislab/anndata2ri/issues
Usage from Python
Use the converter as a context manager:
.. code-block:: python
import anndata2ri from rpy2.robjects import r from rpy2.robjects.conversion import localconverter
with localconverter(anndata2ri.converter): adata = r('as(some_data, "SingleCellExperiment")')
Usage from Jupyter
Override the R magic option_:
.. _R magic option: https://rpy2.github.io/doc/latest/html/generated_rst/notebooks.html#options
.. code-block:: python
import anndata2ri %load_ext rpy2.ipython anndata2ri.set_ipython_converter()
Now you can move objects from Python to R …
.. code-block:: python
import scanpy.datasets as scd adata_paul = scd.paul15()
.. code-block:: r
%%R -i adata_paul adata_paul # class: SingleCellExperiment ...
… and back:
.. code-block:: r
%%R -o adata_allen data(allen, package = 'scRNAseq') adata_allen <- as(allen, 'SingleCellExperiment')
.. code-block:: python
print(adata_allen) # AnnData object with ...
Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.7kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
