Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Draw lineage curves and check candidate sinks

Fate probabilities say how strongly each cell connects to each endpoint, but not where a lineage runs through the data. This page fits one smooth curve per lineage through the cells’ reduced coordinates, in the spirit of the principal curves of Slingshot, draws the curves over a UMAP, and places points on them. It also builds Slingshot’s cluster tree, which proposes lineages, and shows why its leaves are candidates to check rather than discovered fates.

Open the prepared analysis

Started: 2026-10-24T12:58:38.845803Z | Wall time: 8.089 s

Propose lineages with a cluster tree

A cluster tree joins clusters by a minimum spanning tree. Its edge lengths compare cluster centres relative to the clusters’ spread, and the paths from a root cluster to the leaves propose lineages. We build one over the published cell types, rooted at the Ductal cells.

Ductal > Ngn3 low EP > Ngn3 high EP > Pre-endocrine > Delta
Ductal > Ngn3 low EP > Ngn3 high EP > Pre-endocrine > Beta > Alpha > Epsilon

Started: 2026-10-24T12:58:46.939285Z | Wall time: 0.436 s

The trunk, Ductal to Ngn3 low EP to Ngn3 high EP to Pre-endocrine, follows the known order. The endocrine fates do not: the tree chains Beta, Alpha, and Epsilon one after another. These populations share an endocrine program and lie close together in the reduced space, and a tree must join every cluster, so it runs one lineage through two endpoints. Draw the tree over the saved UMAP:

A cluster tree over the pancreas UMAP joins the median positions of the published cell types. The green Ductal root links through Ngn3 low EP, Ngn3 high EP, and Pre-endocrine, which branches to Delta and to a chain of Beta, Alpha, and Epsilon. Delta and Epsilon are red candidate sinks, and a legend names the root, candidate sink, and cluster colours.

Started: 2026-10-24T12:58:47.379230Z | Wall time: 1.263 s

When the endpoints are known, holding them as ends makes them leaves: the tree first spans the other clusters, then joins each end to its nearest cluster.

Ductal > Ngn3 low EP > Ngn3 high EP > Pre-endocrine > Alpha
Ductal > Ngn3 low EP > Ngn3 high EP > Pre-endocrine > Beta
Ductal > Ngn3 low EP > Ngn3 high EP > Pre-endocrine > Delta
Ductal > Ngn3 low EP > Ngn3 high EP > Pre-endocrine > Epsilon

Started: 2026-10-24T12:58:48.645539Z | Wall time: 0.380 s

The tree also depends on how finely the cells are clustered. Over the saved analysis’s computed clusters, rooted at the cluster that holds most Ductal cells:

2 (Ductal) > 10 (Ngn3 high EP) > 4 (Ngn3 high EP) > 6 (Pre-endocrine) > 5 (Pre-endocrine) > 1 (Beta) > 3 (Alpha) > 9 (Epsilon)
2 (Ductal) > 8 (Ductal) > 7 (Ductal) > 11 (Ductal)
2 (Ductal) > 10 (Ngn3 high EP) > 4 (Ngn3 high EP) > 6 (Pre-endocrine) > 5 (Pre-endocrine) > 12 (Delta)

Started: 2026-10-24T12:58:49.029133Z | Wall time: 0.444 s

With more clusters, the tree can add leaves that end inside a progenitor population, such as the Ductal leaf here, because they follow cluster boundaries rather than fates, and it still chains Beta, Alpha, and Epsilon. Treat leaves as candidate endpoints and check them with markers, as in Annotate cell types and states, before passing them to trajectory.fate.

Fit fate-weighted lineage curves

We map the four endocrine fates as in Resolve gene dynamics by lineage. A lineage curve is then the fate-weighted mean of the cells’ coordinates as a smooth function of their pseudotime rank along the lineage: the share of the lineage’s fate weight carried by cells earlier in pseudotime. Cells near an endpoint weigh most in its curve, and cells of the shared trunk shape every curve, so the curves share the trunk and part where the fate probabilities part.

Four fate-weighted lineage curves over the pancreas UMAP share a trunk that rises from the Ductal cells on the right and arcs across the top, then part on the left into separate ends, marked with dots, for the Alpha, Beta, Delta, and Epsilon lineages.

Started: 2026-10-24T12:58:49.476210Z | Wall time: 5.068 s

The curves are fitted in the 15 principal components that built the graph. To draw a curve in the UMAP, the cells’ UMAP positions are averaged along the curve with the lineage’s fate weights and smoothed, so the drawing follows where the weighted cells lie in the UMAP. Distances in a UMAP are distorted, so read the drawing for the order and the parting of the lineages, not for lengths.

Read positions along the curves

Every scored cell is projected onto every curve. Its progress is the position of the nearest curve point, from zero at the start to one at the endpoint, and its distance is how far it lies from the curve.

AlphaBetaDeltaEpsilon
Alpha0.780.790.751.00
Beta0.700.830.750.96
Delta0.700.820.790.94
Ductal0.110.130.120.21
Epsilon0.640.750.720.90
Ngn3 high EP0.330.400.360.58
Ngn3 low EP0.180.220.200.28
Pre-endocrine0.470.570.490.76

Started: 2026-10-24T12:58:54.548054Z | Wall time: 0.253 s

Progress grows from the Ductal cells through the progenitors on every lineage. Because progress counts fate weight, an endpoint population fills the last stretch of its own lineage: the Alpha cells carry the last 45% of the Alpha lineage’s weight, so their median is about 0.8. Cells far from a curve land on its nearest end, which is why Alpha cells reach the end of the Epsilon curve. Read progress together with the distance from each curve:

AlphaBetaDeltaEpsilon
Alpha6.114.817.511.6
Beta14.85.416.719.5
Delta17.717.24.916.7
Ductal7.67.47.57.2
Epsilon13.819.116.97.0
Ngn3 high EP7.66.67.15.5
Ngn3 low EP7.77.77.67.5
Pre-endocrine6.76.18.613.3

Started: 2026-10-24T12:58:54.803271Z | Wall time: 0.013 s

Ductal and Ngn3 low EP cells lie about equally close to every curve, because the curves share the trunk. From the Pre-endocrine cells on, where the lineages part, the distances differ, and endpoint cells lie much closer to their own lineage’s curve than to the others. Distance is geometric evidence of where a cell lies; unlike a fate probability, it says nothing about where the graph’s random walks lead.

Place other points on the curves

project places any coordinates of the same space on the curves, such as new cells projected into these principal components with the same loadings. Here we place the centroid of each cell type.

AlphaBetaDeltaEpsilonclosest curve
Alpha0.970.970.960.97Alpha
Beta0.970.980.960.97Beta
Delta0.970.970.960.97Delta
Ductal0.010.010.010.01Epsilon
Epsilon0.970.960.960.96Epsilon
Ngn3 high EP0.500.500.500.50Alpha
Ngn3 low EP0.050.040.040.04Delta
Pre-endocrine0.890.890.880.84Beta

Started: 2026-10-24T12:58:54.819138Z | Wall time: 0.864 s

Each centroid receives the pseudotime of its nearest point on every curve. The progenitor centroids land in order along the shared trunk. Every endpoint centroid lands late on every curve, because pseudotime levels off near the endpoints, but each lies closest to its own lineage’s curve. Near the start the closest curve means little: the curves share the trunk, so the Ductal centroid lies at nearly the same distance from every curve. Coordinates from another dataset need the same reduction: project them with these principal components’ loadings, centring, and scaling first.

Common mistakes and limitations

  • Treating tree leaves as fates: a tree must join every cluster, so similar endpoints can be chained and extra clusters add leaves. Check leaves with markers before using them as sinks.

  • Reading a curve as the path of individual cells: a curve summarizes where fate-weighted cells lie, and inside a compact cluster it is an average position.

  • Measuring along a UMAP drawing: the curves are fitted in the principal components, and the UMAP distorts distances.

  • Projecting coordinates of another space: points must be reduced the same way as the cells the curves were fitted to.

See Trajectory validation checklist for checks of the endpoints and the graph behind these curves.

References
  1. Street, K., Risso, D., Fletcher, R. B., Das, D., Ngai, J., Yosef, N., Purdom, E., & Dudoit, S. (2018). Slingshot: cell lineage and pseudotime inference for single-cell transcriptomics. BMC Genomics, 19(1), 477. 10.1186/s12864-018-4772-0