Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Future feature idea: support other serialization methods #30

Open
tomsing1 opened this issue Jan 30, 2023 · 2 comments
Open

Future feature idea: support other serialization methods #30

tomsing1 opened this issue Jan 30, 2023 · 2 comments

Comments

@tomsing1
Copy link
Contributor

Right now, SummarizedExperiments are loaded from RDS files with the readRDS function.

object <- readRDS(object_path)

It might be worth considering supporting other file formats, e.g. .qs files generated with the qs. That might speed up loading large objects. Maybe a simple switch based on file extensions (.rds vs .qs) would be sufficient?

@tomsing1
Copy link
Contributor Author

P.S.: Just to spin this thought a little further: When objects get very large, and the assayData is stored in HDF5 files, then we could support reading data with the HDF5Array::loadHDF5SummarizedExperiment() function. Just another example where the hardcoded readRDS() call might not be sufficient.

@federicomarini
Copy link
Contributor

Hey @tomsing1 , probably this is not the only way one could address your idea.

But - have a look at #62, which realizes a first implementation to not just have a path to a file (and then readSCE that, no matter what), but also enables pretty much any call done via R code that would already give you an S(C)E object.

That can also cover your case where you would load an sce object from hdf5 file formats or similar, or can be used to serve full data packages, where each individual dataset can be explored separately.

A possible rework of the whole could be with an additional field in the yaml configuration file. Think of a "type"-like of the resource, and the dispatch of what happens to "load that sce" is done based on that value.

Happy to think more out loud with you if needed, feel free to give the fresh devel branch a spin!

Federico

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants