theislab / scvelo

RNA Velocity generalized through dynamical modeling
https://scvelo.org
BSD 3-Clause "New" or "Revised" License
410 stars 102 forks source link

Velocity/pseudotime inconsistencies #180

Closed alitinet closed 4 years ago

alitinet commented 4 years ago

Hi Volker,

First, thanks for the package and a lot of interesting discussions here! We are working with a dataset of about 700 cells, after filtering we have about 600 genes, 70 of which are then picked as velocity genes. We calculated diffusion pseudotime for some previous analysis so we compare it to velocity pseudotime and latent time (with the root specified to be the same as in DPT). Also we use diffusion components 1 and 2 for plotting. Both stochastic and dynamical model yield similar results. scvelo_report_custer_skin It seems like based on velocity analysis we have cells in clusters 5 that act as root cells. At the same time, velocity pseudotime and latent time look similar to DPT, apart from the direction in velocity pseudotime which as far as I understand is a known issues and we shouldn't worry about it. My question is then, don't these two analyses contradict each other? Shouldn't pseudo times be consistent with the arrows? Screenshot 2020-04-07 at 13 13 48

VolkerBergen commented 4 years ago

I just found your unsettled issue - many apologies for that!

Could you send me / go through the phase portraits as explained in the tutorials, which help to understand which genes are supporting the inferred directionality.

alitinet commented 4 years ago

Hi Volker, no worries, and thank you for your reply! Here's the phase portraits (113 out of 540 genes are velocity genes): scvelo__report_skin_velogenes scvelo__report_skin_phase_profiles

I noticed that a lot of velocity genes are ribosomal genes. Do you think that might be an issue?

Also I looked at the fraction of unspliced counts as you suggested in #173. scvelo__report_skin_fraction It looks like the difference is not that dramatic but it follows exactly the pattern that the velocity pseudotime picks up.

VolkerBergen commented 4 years ago

Thanks, the gene-wise dynamics support directionality from 0 to 1 (whatever the coloring is referring to?), which seems consistent across genes (except for the ambiguous dynamics in UBC which got falsely picked as up-reg. while it prob. should have been down-reg.).

As I'm reading your comment "after filtering we have about 600 genes, 70 of which are then picked as velocity genes", I am wondering why are there so few genes, since the signal in the above-presented genes is fairly strong.. The histogram of .var['velocity_r2'] and/or .var['fit_likelihood'] must display most genes with very low values then.

The dyn. changing fraction in unspliced counts might have an impact indeed, yet the change doesn't seem to be too dramatic.

alitinet commented 4 years ago

Indeed, here's the histogram of .var['fit_likelihood']. I guess in the end it's not clear whether the directionality of the velocities or the pseudotime is more to telling about the underlying dynamics. But thanks a lot for your comments! I'm closing the question. Screenshot 2020-05-19 at 10 42 29