Skip to content

ArtifactDB/dolomite-se

Repository files navigation

Project generated with PyScaffold PyPI-Server Unit tests

Save and load SummarizedExperiments in Python

Introduction

The dolomite-se package is the Python counterpart to the alabaster.se R package, providing methods for saving/reading SummarizedExperiment or RangeSummarizedExperiment objects within the dolomite framework. All components of the SummarizedExperiment - assays, row data and column data - are saved to their respective file representations, which can be loaded in a new R/Python environment for cross-language analyses.

Quick start

Let's mock up a SummarizedExperiment:

import summarizedexperiment
import biocframe
import numpy

se = summarizedexperiment.SummarizedExperiment(
    assays={ "counts": numpy.random.rand(1000, 200) },
    row_data=biocframe.BiocFrame(
        { "foo": numpy.random.rand(1000) }, 
        row_names = ["gene" + str(i) for i in range(1000)]
    ),
    column_data=biocframe.BiocFrame(
        { "whee": numpy.random.rand(200) },
        row_names = ["cell" + str(i) for i in range(200)]
    )
)

Now we can save it:

from dolomite_base import save_object
import dolomite_se
import os
from tempfile import mkdtemp

path = os.path.join(mkdtemp(), "test")
save_object(se, path)

And load it again, e,g., in a new session:

from dolomite_base import read_object

roundtrip = read_object(path)
## Class SummarizedExperiment with 1000 features and 200 samples
##   assays: ['counts']
##   row_data: ['foo']
##   column_data: ['whee']

This also works for RangeSummarizedExperiment objects storing row_ranges to the specified path.

About

Save and load SummarizedExperiments in Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages