Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/theislab/anndata2ri
Convert between AnnData and SingleCellExperiment
https://github.com/theislab/anndata2ri
bioconductor jupyter rpy2 scanpy single-cell
Last synced: 29 days ago
JSON representation
Convert between AnnData and SingleCellExperiment
- Host: GitHub
- URL: https://github.com/theislab/anndata2ri
- Owner: theislab
- License: gpl-3.0
- Created: 2019-02-20T17:03:16.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-01T07:47:43.000Z (about 1 month ago)
- Last Synced: 2024-10-02T04:41:34.619Z (about 1 month ago)
- Topics: bioconductor, jupyter, rpy2, scanpy, single-cell
- Language: Python
- Homepage: https://icb-anndata2ri.readthedocs-hosted.com/
- Size: 206 KB
- Stars: 125
- Watchers: 7
- Forks: 16
- Open Issues: 13
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
|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 DOIAnnData ↭ 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.ipynbInstallation
------------.. code-block:: bash
pip install anndata2ri
# or
conda install -c bioconda anndata2riTroubleshooting
---------------If you have problems installing or importing anndata2ri,
please make sure you first:1. 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.
2. Search the issues_.
At the time of writing 17 of the 29 bugs (60%) are invalid or rpy2 bugs / install problems.
3. 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/issuesUsage from Python
-----------------Either use the converter manually …
.. code-block:: python
import anndata2ri
from rpy2.robjects import r
from rpy2.robjects.conversion import localconverterwith localconverter(anndata2ri.converter):
adata = r('as(some_data, "SingleCellExperiment")')… or activate it globally:
.. code-block:: python
import anndata2ri
from rpy2.robjects import r
anndata2ri.activate()adata = r('as(some_data, "SingleCellExperiment")')
Usage from Jupyter
------------------
Activate the conversion before you load the extension:.. code-block:: python
import anndata2ri
anndata2ri.activate()
%load_ext rpy2.ipythonNow 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 ...