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.
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.