This is a test version of Biostars. For the public version, visit https://www.biostars.org.
(scRNAseq) Fitting RNA splicing dynamics with scvelo gives wrong results

This is a rather specific question about the package scvelo, which uses RNA velocity to infer pseudotime dynamics in scRNAseq data sets.

Basically, I'm unable to fit the splicing dynamics to my data using their standard approaches.

The basic pipeline I'm running is:

import scvelo as scv
adata = scanpy.read("filename") # adata is a pre-processed AnnData object
scv.pp.filter_and_normalize(adata, min_shared_counts=20, n_top_genes=2000)
scv.tl.recover_dynamics(adata, max_iter=20, n_jobs=4) 
scv.tl.velocity(adata, mode='dynamical', filter_genes= False)

When I then look at the top likelihood genes, the fitted model is clearly very far off. Top likelihood genes

Now I'm wondering if this is a problem with the fitting procedure (which seems likely to me), or with the data itself. scvelo uses a custom fitting procedure based on the Expectation maximization algorithm, which is an iterative maximum likelihood approach. However, it could get stuck in local maxima that do not correspond to the global maximum.

Any ideas what could be done to solve this? I've already addressed this question to the scvelo developers [link], but they have not responded to me.

rna-seq single-cell scvelo splicing

0 answers

No answers yet.

Log in to answer this question.