/anndata2ri

Convert between AnnData and SingleCellExperiment

Primary LanguagePython

travis

AnnData ↭ SingleCellExperiment

RPy2 converter from AnnData to SingleCellExperiment and back.

You can for example use it to process your data using both Scanpy and Seurat, as described in this example notebook

Installation

Install it directly from GitHub via pip (version 19.0 or higher).

pip install git+https://github.com/flying-sheep/anndata2ri.git

You can install a locally checked out version with pip or flit:

cd anndata2ri
pip install .
# or
flit install

Usage from Python

Either use the converter manually …

import anndata2ri
from rpy2.robjects import r
from rpy2.robjects.conversion import localconverter

with localconverter(anndata2ri.create_converter()):
    adata = r('as(some_data, "SingleCellExperiment")')

… or activate it globally:

import anndata2ri
from rpy2.robjects import r
anndata2ri.activate()

adata = r('as(some_data, "SingleCellExperiment")')

Usage from IPython

Activate the conversion before you load the extension:

import anndata2ri
anndata2ri.activate()
%load_ext rpy2.ipython

Now you can move objects from Python to R …

import scanpy.datasets as scd
adata_paul = scd.paul15()
%%R -i adata_paul
adata_paul  # class: SingleCellExperiment ...

… and back:

%%R -o adata_allen
data(allen, package = 'scRNAseq')
adata_allen <- as(allen, 'SingleCellExperiment')
print(adata_allen)  # AnnData object with ...