kstreet13 / slingshot

Functions for identifying and characterizing continuous developmental trajectories in single-cell data.
259 stars 42 forks source link

How to use times parameter to inform about real time while not using clusterLabels #226

Closed rosshandler closed 7 months ago

rosshandler commented 12 months ago

Hello,

I am trying to get a pseudotime order for all cells in a time course experiment of differentiation. I don't want to use clusterLabels because it skips some clusters depending on the specific lineage of interest. I am trying to inform the algorithm using real time information with 'times' parameter. However, the pseudotime calculation does not seem to change whether I use or not this information, such that the latest time point is assigned the lowest pseudotime values. I am basically trying to fix a set of root cells rather than root clusters. Am I missing something with this parameter?

Thank you,

All the best, Ivan

kstreet13 commented 12 months ago

I'm not sure I understand the issue with using clusters. If multiple lineages are present, then I wouldn't expect all clusters to be represented along all lineages. If you just want a single vector of pseudotimes for downstream analysis, you could try slingAvgPseudotime.

Anyway, the times argument is from TrajectoryUtils::defineMSTPaths, so you can read the documentation there for more information. But it looks like this information can only be used jointly with the cluster labels to find a root node (not as a replacement for cluster labels). The timepoint data will be summarized as cluster-level averages and that will be used to inform the selection of a root node.

Hope this helps! Kelly

rosshandler commented 12 months ago

Thank you, Kelly. My issue is having NAs on the pseudotime vectors instead of a single vector ordering cells. I guess the solution you provide is what I was looking for (slingAvgPseudotime).

It is not that straightforward to follow the documentation of TrajectoryUtils::defineMSTPaths to be used with slingshot. However, since I can pre-defined the root cluster I guess this parameter is not useful in my case.

Appreciate your answer, Ivan