Dealing with multiple root nodes
Dazcam opened this issue · 1 comments
Hi there,
I'm looking to run some within trajectory differential expression tests using tradeSeq as outlined in your tradeSeq paper and vignette, but I've hit a snag as my lineage graph (I only have a single trajectory) has more than one root node (3 in total).
I've tried manually setting a single root node and turning looping on (I'm using Monocle3 to generate the pseudotime data), but the most biologically meaningful representation of the pseudotime plot occurs when I have 3 root nodes.
What is happening is I have 3 developmental progenitor population branches that converge into a single branch, which then diverges into 3 post-mitotic populations, so it appears that I have a progenitor population for each post-mitotic population, but rather than there being 3 distinct lineages for each population there is a convergence in the middle. It's unclear whether this is because too few transitioning cells were captured to achieve lineage separation in the middle, this is an algorithmic issue or these cells, in terms of pseudotime, are too similar to meaningfully distinguish.
As mentioned in #67 #40, having multiple roots leads to the following issue as there are 0s in the CellWeights
df:
Error in .assignCells(cellWeights) :
Some cells have no positive cell weights.
My question is, is there a work around to deal with multiple root nodes in tradeSeq?
Many Thanks,
Darren
We do not have an existing workaround to this; it is unclear how one should estimate the gene expression smoothers when three lineages merge into one and after that diverge into three lineages again.
One option would be to construct the cellWeights
and pseudotime
variables yourself, e.g., based on fitting three lineages until the branching point in one trajectory, then fitting the three lineages diverging lineages after that, and combining the pseudotime and cell-level weights in a reasonable way.
However, we do not have existing infrastructure to perform this for you.