dynverse / dyno

Inferring, interpreting and visualising trajectories using a streamlined set of packages 🦕
https://dynverse.github.io/dyno
Other
163 stars 32 forks source link

Question: SCE to H5AD #58

Closed friedue closed 4 years ago

friedue commented 4 years ago

Hi, this is just a question, not really an issue -- I was just wondering whether you could point me to a function that would enable me to convert my SingleCellExperiment objects into scanpy-ready H5AD objects?

Cheers,

Friederike

rcannood commented 4 years ago

Hi Friederike!

I would love to help you, but wouldn't it make more sense to ask this question to the maintainers of SingleCellExperiment or scanpy?

Kind regards, Robrecht

friedue commented 4 years ago

I have asked them :)

I just thought you'd have a solution implemented anyway (or at least some code I could look at) -- maybe I should rephrase: How does dynverse handle the conversion between SCE and AnnData?

rcannood commented 4 years ago

We don't, actually. dyncli has a bit of code to read expression matrices from loom files, cellranger files, and our h5 file formats, but doesn't support SCE or scanpy.

If anybody has a lot of time on their hands, it would be interesting to have a converter between all of these formats, although some aspects of the formats are inherently incompatible between each other.

friedue commented 4 years ago

Ah, I thought you allowed users to run PAGA etc., which I just assumed needed some type of conversion.

rcannood commented 4 years ago

No, not really :) We use dyncli to write the data from an R session to our own custom hdf5 format. It then gets read by dyncli (for R) or dynclipy (for Python) in order to get all of the data inside the R / python script.

If you need to transfer data from R to python, you could use dyncli to do it.

friedue commented 4 years ago

Ah, I see. What are the main differences between your HDF5 format and the "proper" scanpy one?

rcannood commented 4 years ago

A H5 format is basically a directory structure. Scanpy uses a totally different one from what the dynverse packages use.

I'm going to close this issue, as it is not related to any of the dynverse packages :)