MultiVelo icon indicating copy to clipboard operation
MultiVelo copied to clipboard

Question re: root cells in latent time / velocity streams

Open ishahakm opened this issue 2 years ago • 2 comments

Hello,

I ran the multivelo workflow on 3 combined time points from a stem cell differentiation protocol. However, the calculated latent time and velocity streams originate from the middle time point and diverge to the earlier and later time point. So, while the algorithm does correctly predict the terminal population, there are significant back flow streams to the progenitor population.

Is there an possible explanation for this or a way to set a known root for the velocity_graph and latent_time functions?

Thank you, MultiveloOutput

ishahakm avatar Feb 18 '23 17:02 ishahakm

Hi, seeing that the three time-points separate really well in the UMAP, it may be worth integrating the datasets first to remove the potential differences caused by batch effects. You can take a look at #10 for a brief description of our recommended procedure.

To change the root or terminal cell types, you can manually set the root_cells and/or end_points fields in adata.obs (see https://scvelo.readthedocs.io/en/stable/scvelo.tl.terminal_states/#scvelo.tl.terminal_states). You can set the cells you think are roots to be 1 and others to be 0, for example. However from our previous testing, even if you set the root cells explicitly, the stream may still not start from those cells. But it is worth a try.

danielee0707 avatar Feb 19 '23 18:02 danielee0707

One other suggestion is to look carefully at the selected genes. If there are batch effects, the highly variable genes may be more related to the batch differences than the genes that change during the differentiation process.


Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues

jw156605 avatar Feb 19 '23 19:02 jw156605