maximilianh / cellBrowser

main repo: https://github.com/ucscGenomeBrowser/cellBrowser/ - Python pipeline and Javascript scatter plot library for single-cell datasets, http://cellbrowser.rtfd.org
https://github.com/ucscGenomeBrowser/cellBrowser/
GNU General Public License v3.0
104 stars 40 forks source link

Support for reading data from Loom files #46

Closed pcm32 closed 5 years ago

pcm32 commented 5 years ago

It would be great if in the near future cellBrowser could read loom files (https://linnarssonlab.org/loompy/format/index.html) as input, either expecting t-SNE coordinates in a particular slot of loom or allowing the user to choose the slot where the coordinates are.

We are working towards interoperability of tools and this would great simplify things!

maximilianh commented 5 years ago

Hi Pablo, interesting idea! Is there a converter that comes with loom that does a loom -> .tsv.gz conversion? If not, would it be sufficient to convert to that format? Otherwise, is there a sample piece of code that shows how to get the expression vector for a gene ? I looked in their cookbook, but can't find anything, here: https://linnarssonlab.org/loompy/cookbook/index.html

On Tue, Nov 27, 2018 at 1:08 PM Pablo Moreno notifications@github.com wrote:

It would be great if in the near future cellBrowser could read loom files ( https://linnarssonlab.org/loompy/format/index.html) as input, either expecting t-SNE coordinates in a particular slot of loom or allowing the user to choose the slot where the coordinates are.

We are working towards interoperability of tools and this would great simplify things!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/maximilianh/cellBrowser/issues/46, or mute the thread https://github.com/notifications/unsubscribe-auth/AAS-TW8py4wmDviBhFWGP-MOgxmP-2UKks5uzStAgaJpZM4Y1Wve .

pcm32 commented 5 years ago

The central object in loom is the expression matrix (genes vs samples/cells), I presume that scan and map methods, part of LoomConnect, should give you access to a gene by gene slicing of the matrix, producing an expression vector for each gene.

Outputting loom I'm sure it would be very useful for some use cases, although I was more thinking on visualising the output of clustering tools that are produced in loom, so more of a Loom reading feature.

maximilianh commented 5 years ago

Yes, I understand that we're mostly interested in reading loom files, not writing them. So there is no loom -> text converter available anywhere that you know of?

I've never seen a loom file in the wild. Do you have an example?

Given that it's a format for genes and cells, it's surprising that the loom documentation does not give an example on how to get a the cell-vector for a gene. The documentation talks about indices, in x and y, but not genes or cells. I can't even figure out if this is a gene x cell or cell x gene matrix. I am happy to add the option of reading other formats to the cellbrowser, but it would be nice if you could provide a few lines of code that can yield the expression vectors for all genes...

On Tue, Nov 27, 2018 at 2:15 PM Pablo Moreno notifications@github.com wrote:

The central object in loom is the expression matrix (genes vs samples/cells), I presume that scan and map methods, part of LoomConnect, should give you access to a gene by gene slicing of the matrix, producing an expression vector for each gene.

Outputting loom I'm sure it would be very useful for some use cases, although I was more thinking on visualising the output of clustering tools that are produced in loom, so more of a Loom reading feature.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/maximilianh/cellBrowser/issues/46#issuecomment-442054030, or mute the thread https://github.com/notifications/unsubscribe-auth/AAS-TRuP5NZq14pjTaG3uf1HpX8vxRQ0ks5uzTr5gaJpZM4Y1Wve .

maximilianh commented 5 years ago

Closing this for now, until the loom format issue comes up again.