Dynamical model returned unexpected results and missing lots of key DEGs? #1047
Unanswered
denvercal1234GitHub
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi there,
Thanks for the tools.
My workflow to merge Seurat object (with computed UMAP and clustering) and loom objects in Python as below; unfortunately, the results don't look right (high unspliced counts, phase portraits look unexpected, lots of key genes were not fitted).
Q1. Does my workflow make sense? In #215 & #192, @VolkerBergen suggested instead to subset the concatenated loom object via
adata = adata[list_of_barcodes].copy()
and read the cluster annotations viaclusters = scv.load('filename')
, which can stored underadata.obs['clusters']
Q2. Of 10K+ genes, only 40+ genes fitted to dynamical? When I checked
adata.var['fit_alpha']
, there were 1,000+ rows but only 40 or so had some values forfit_alpha
(most are quite low). Indeed,adata.var["fit_likelihood"].sort_values(ascending=False).index[:1000]
would only return 40 genes with values. Many of the key genes that were identified in Seurat as DEGs for given clusters (were not hittable?) can not be plotted inscv.pl.velocity(adata_obj, var_names=['gene_of_interest'])
.In #309, @WeilerP kindly advised and so I included
retain_genes
argument inscv.pp.filter_and_normalize
. Should I also setvar_names = 'all'
(#858) or keepvar_names='velocity_genes'
inscv.tl.recover_dynamics()
?Q3. The velocity fields and the phase portraits don't look as expected. Can I gain any insights from RNA Velocity for this dataset, or I need to use
CellRank
?Thank you so much for your help!
My workflow:
scv.read()
as adata.obs.index
of these loom adata to match the cell barcode naming of my Seurat object.var_names_make_unique()
to the loom objects.concatenate
to concatenate all the loom object adatasc.read_h5ad
.obs_names
for the concatenated loom match with the.obs_names
of the Seurat objectscv.utils.merge
to merge the Seurat object and the concatenated loomscv.pp.filter_and_normalize(min_shared_counts=30, n_top_genes=3000, retain_genes = clusteringFineTune_genes_list)
scv.pp.moments(n_pcs=30, n_neighbors=30)
scv.tl.recover_dynamics
andscv.tl.velocity( mode='dynamical')
with default parameters as in the tutorialThis is my Seurat object:
This is my loom object:
This is my merged object of the Seurat and concatenated loom:
Some QC plots:
Result of
scv.pl.velocity_embedding_stream
:Result of
scv.pl.velocity_graph
default parameters don't match?Result of scv.pl.scatter of top genes do not have almond shape (top_genes = adata.var['fit_likelihood'].sort_values(ascending=False).index)):
Beta Was this translation helpful? Give feedback.
All reactions