This is a test version of Biostars. For the public version, visit https://www.biostars.org.
scvelo vs velocyto

Hi, I have a question that may be pretty elementary but I am confused about what's the difference between scvelo and velocyto as packages that analyze RNA velocity? I've looked at some of the questions posted in github and it seems that the workflow is something like:

1) Generate loom file from velocyto

2) Get embeddings from Seurat

3) Merge them together in scvelo

If this is the case, then is velocyto a dependency of scvelo? Or are they separate packages doing different things? Any guidance would be appreciated, thanks!

velocyto python scvelo

1 answer

velocyto was the original package (there is a python- and an R version) that implemented the idea of RNA velocity by La Manno et al.

scvelo is an independent tool/framework from the Theis lab that implemented new ideas and further developed the method based on the concepts of RNA velocity.

Neither tool depends on each other from an operational standpoint, afaik.

The input files are the matrices of spliced- and unspliced counts per gene and cell. One can project the velocity estimates onto an embedding, that is true.

Does that make sense to you?

Yes, that makes sense. I'm still a bit confused about the input files required for running the scvelo analysis workflow though. I've been trying to go through the tutorial and know that both the adata and ldata should be loom files but what exactly is the difference between the two and how/where they can be generated? (The ultimate objective is to run the RNA velocity analysis but with the UMAP embedding and clustering I've processed in the Seurat object.)

If you are still looking for an answer: the adata should be count matrix, the ldata is the loom file containing spliced/unspliced counts.

Essentially, the original velocyto package is mostly used to obtain the 2 matrices needed for more contemporary velocity calculations. The workflow is broken down very well by Sam Morales in his post here:

  1. Get input matrices (unspliced counts, spliced counts) with velocyto
  2. Get your clusters/reducedDimensions etc. either from your favorite R or Python workflow
  3. Merge the information for scVelo or dynamo or other packages that calculate RNA velocity these days

Log in to answer this question.