Scientist Stories: Fabian Theis, ML in Single-Cell Genomics

The talk provides a comprehensive survey of pseudo‑temporal ordering methods used to infer developmental dynamics from static single‑cell RNA‑seq data. It begins by framing the problem of extracting dynamic trajectories from snapshot measurements, then reviews a wide array of algorithms—ranging from early minimum‑spanning‑tree approaches (e.g., SPADE, Wanderlust, Wishbone, DDRTree) to clustering‑based methods (SLICE, StemID, T‑SCAN, mPath), topological data analysis, Bayesian/GP models, and pure dimensionality‑reduction techniques (PCA, diffusion maps, Moon’s recent visualization). The speaker illustrates the fundamental limitation that only the deterministic component of a stochastic process can be recovered, using a Gillespie simulation of mutually repressing transcription factors to define “universal time”. Evaluation strategies are discussed, including visual inspection, correlation with known time labels, robustness checks, and emerging lineage‑tracing benchmarks (ScarTrace, GESTALT). The talk highlights the potential of integrating additional modalities such as single‑cell ATAC‑seq and CRISPR‑based lineage barcodes to link transcriptional dynamics with underlying molecular decisions. The presentation concludes with future directions: non‑tree structures, uncertainty modeling, incorporation of bulk or real‑time data, improved differential expression along branches, and driver‑gene identification. A brief Q&A follows, where Fabian asks about coupling sequence information to lineage decisions, and the speaker suggests combining genome‑editing lineage reporters with ATAC‑seq or transcriptional readouts.
Questions this video answers
Yes. The speaker mentions two avenues: (1) using genome‑editing lineage reporters (e.g., CRISPR barcodes) combined with transcriptional readouts, which is mechanistically informative but less scalable; (2) integrating single‑cell ATAC‑seq data, as demonstrated by Jason Buenrostro’s hematopoiesis dataset, where chromatin accessibility captures developmental decisions and can be combined with transcriptomics to infer lineage decisions.
Chapters
So you heard already about pseudo-temporal ordering. Essentially, we want to take static data and want to see what type of dynamics are in there. So let me start very simple. I think this should be working. Maybe do it like this. This is our human, and we want to make an atlas out of that. So let's take a few cells from different positions. Take them, do single-cell RNA sequencing, and then hopefully embed them in this high-dimensional space and learn something about transitions. And these type of transitions could not be learned from a few cells, but if you have many, they might be forming up a big blob or maybe some subclusters, then we do all of our cell type analysis, but if we see some developmental process or something similar, we might see this type of transitions, and these transitory cells indicate a potential dynamic underlying process that we have maybe sampled in due to asynchronicity, and thereby we can estimate some type of dynamics. And these things could be, for example, done by doing a shortest path or random walk on this thing, and essentially we boil down the big question of learning these dynamics to some type of similarity measure, and I think we heard that quite a few times before. Essentially, we want to start at some point. Let's say we know that this should be some type of stem cell-like set of cells, and then we just want to determine some type of distance away from these things, and that's how we would initially start ordering. To give you a bit more details, I tried to look into literature and sort of combine different aspects of various algorithms and briefly review these for you, as was given the task by Dana and John to me. So I know that a lot of these algorithms have been developed by you guys, so I'm really looking forward to see how you like my simplified classification. So I guess originally first put up was this idea on bulk data for microarrays. Just here on a toy example, we have this Swiss roll of development statically observed. You just fit a min-span tree in Euclidean distance. You can see now that you sort of unrolled this thing, and there were some more fancy versions based on this algorithm, but I think the first impact in the single-cell field have been made on site of data with SPADE, where you have been doing some type of clustering and then arranging these clusters again in a cell-type hierarchy, and then in particular here by Wanderlust, where you do take a nearest neighbor graph and consider constrained shortest paths along this walk and thereby learn a first pseudo-temporal order. And single-cell RNA-seq, again based on nearest neighbor graphs, I think Koji Chappnell and colleagues was first putting this forward in a dimension-reduced version, again going back to min-span trees and trying then to unfold this type of process. He has recently followed this up with a version that doesn't need this dimension reduction, but sort of learns this dimension reduction initially at the same time with the tree, with a thing called DDRTree. Dana again came up with this fantastic name. I don't know how you pick up these names, Wanderlust and Wishbone, which is really nice. Where she extends on Wanderlust and essentially has sort of a follow-up, a way of determining these branching points. And we have been doing a related approach, but not based on shortest walks, but on average of random walks. And all of these, I guess you could summarize about under the theme of working on a subgraph structure and doing manifold dimension reduction. Related, yeah, and I guess I should also mention SLICE, another method along these lines. Maybe more simple, but nicer to understand, are things that are purely based on dimension reduction and first going to the cell types. So these were really just doing first clustering and then trying to jump between close-by clusters, so estimate some tree based on that. We heard about Dominic's work, StemID, I think is a follow-up of that in Alex's lab where they have been determining the clusters and sort of connecting adjacent clusters and learning about transitions. T-SCAN, similar method, as well as mPath, and I won't go into details with that. Quite recent work which you might not have seen, this is some topological type of data analysis which again has sort of a more fancy way of collecting clusters and also learning at the same time the particular embedding. There have been a series of early probabilistic models to work this out. I think we started with some type of GBVM, just visualization. There's a 1D version from Wright and Varnish, and I think you just saw this GPFADES from Sarah already in the morning. I kind of like these Bayesian approaches because you could also at the same time quantify already the uncertainty of the estimation, which I think for all kinds of downstream analysis would be really nice, sort of in at least a more complete pipeline to take into account. Astonishingly successful are ideas that just do dimension reduction based on PCA or diffusion maps and then find already one of the components or sort of a linear combination of components to already giving you a very nice unfolding of your pseudo-temporal or in parts also spatial process. You saw this work here from Aviv's lab where I think in this case was just a set of PCs taken from first and second direction and you saw already this very nice split by informed selection of PCs. Similarly in this case, a pseudo-spatial coordinate was trained by, again, going in dimension reduction and then choosing a direction by informed selection of a set of genes that were changing, and you aligned and projected along this way. And quite recently, a paper from Moon and I just in BioArchive where this visualization was learned as a dimension reduction, and you can then build this on top of your tree branching identification method. Then just a bunch of additional ideas. SCUBA was just trying to learn with extra time points some type of bifurcation structure. Similarly, this idea of clear minimum patterns, which I think would be quite nice for also working on image tracing data where cells were compared by the number of patterns or of particular specific phenotypes that we're acquiring, and a recent work based on an extension of k-means to projective space to identify branching regions with k-branch clustering, as well as many others, which I guess don't say much in detail except for the fact that here you can actually have additional prior information put into that. So we have a whole bunch of algorithms that are out there, and I think for human cell atlas, it would be a good idea to see which features we want to take from which one. Before that, though, let me just briefly say that there's, of course, many possible applications. I think over the morning, you saw already a few. Let me just point out that once you have visualized these type of dynamics, you can project even just in this type of process already localization of various markers, in this case, for fetal neocortex development, here for developmental hierarchy of tumors across different individuals where you see the differences between the individual tumors, or, and that's maybe quite interesting not only for single-cell sequencing data but also for other type of data, let it be CITEF as I mentioned in the beginning, but in this case also an extension of Wanderlust from Dana together with the Pac-Man lab, I believe, to morphometry, where you could also unfold then from a static picture dynamics of cell cycle. I think whenever we come up with a method, it would be a good idea to see and to ask ourselves what we can actually learn. And it turns out, obviously, if our process is in some type of steady state, you might not be able to learn something about growth or something like that. So I think it's clear that if we have cells without any dynamics going on, our particular ordering method should not try to find some type of arbitrary direction in this basin, but ideally should sort of collapse that to the same pseudotime. So I guess as a possible definition, whenever we have these stochastic situations, a good way what a pseudotime should determine is this average stochastic— so the stochastic of the dynamics averaged out deterministic part of that particular transition. Let me maybe visualize this within just one simulation a bit more detail. For this, we made a simulation, Gillespie type, of two transcription factors that are mutually repressing each other, very common motif in development, and once this factor G2 won, then a downstream cascade was turned on where again this battle is raging. And I just show you those set of cells where first G2 and then G6 won. So you see first G2 goes up, then G6 goes up, and the other ones go down. And you see, because of this battle here being purely stochastic, we cannot tell a priori at what time point actually this battle exits and starts going. So this time, this actual real time, we will never be able to estimate from a snapshot like this. Instead, we have to average out this stochasticity and only learn this deterministic part rolling down. And mathematically, what you would do is you normalize out by the density of staying in this particular state. We call this universal time, and if you apply to this universal time some type of pseudo— so this was universal time applied to real time, and if you apply pseudo-temporal estimation to just snapshot data, you get exactly that picture. So this is the only thing we can estimate. We can never estimate stochastic exiting except for us having additional information such as real-time. So that's sort of the minimal thing we can do. I think, I'm sure most of you counted the number of algorithms I showed. 25 or so? I guess, I hope I did it correctly. So obviously there's a lot of things that— each of these algorithms has a set of own parameters, so how do we actually choose one to do and how do we evaluate those? And I think very common is just visual inspection, and I think that's also a very good start. But of course, as follow-up, you could try— if you really have time labels, you could try to correlate your pseudo-time with time labels and see if there's some structure as sort of a means and potentially as a benchmark or for the hackathon to give some type of really way to evaluate different methods. You could look at robustness of the reconstruction, or, and I think this is very promising, and there's some very nice ideas coming along this line, we could also take real genetic information, for example here, a method by Jan Philipp Juncker, at the time from Alison Udenhagen's lab, which he calls ScarTrace, where they have genetic scars and you can actually learn about cells that are downstream from others, and you want to have them then, if you can combine the two transcriptomics also be on the downstream side. Similar, this again very nicely named Gestalt Genome Editing of Synthetic Target Arrays for Lineage Tracing, an approach recently published where you want to, where you essentially have some type of barcode added to your particular cell, roughly 10 or so CRISPR targets, where you then end up with roughly 1,000 or so different states that over time can actually accumulate also deletion and insertions, and by those deletion and insertions that happen more or less randomly, you can actually then do some type of reconstruction of lineages, where of course each of these dots might not only be a single cell, but a whole bunch of cells, and you only see then these steps when you actually acquire these things. And then, in this way, you can actually then reconstruct whole zebrafish embryo average traces. And I think an interesting point is how these then actually relate to our pseudo-temporal ordering. And I think you've seen this plot quite a few times before. I don't want to go into detail for that. I just want to link to the question that whenever you want to unfold continuous phenotypes from all of these other directions that were mentioned before by Aviv, I think these type of factor models might be a very good way to go along this line. So let me wrap up and just finish with two points for discussion, maybe later for today. I think interesting directions where these methods could be heading would be non-tree structures, uncertainty modeling, I mentioned that before. I think inclusion of additional information, potential bulk, but also real-time, or also lineage tracing information. I think noise models haven't been tackled as well as they have, for example, for differential expression. And I think also just differential expression along branches in contrast to differential expression for clusters is not yet as developed as it could be. Particular identification of driver genes at points should be more than just plotting the sort of the most expressed gene, and I think a combination with lineage tracing is the way to go. Last slide for that. I think this is a general idea of how these algorithms set up: subset selection, dimension reduction, measure distance, and potentially detect branches. And we could sort of juggle one feature from one method, put it into another. And I think some type of evaluation would be excellent for the atlas. Then have some tuning. We should determine what type of output we need. Link this to tracing. And in the end, of course, apply this to the data in the HCA portal. Thanks very much. Thank you for the talk. This time we have time for one question. Who's the lucky question asker?
Yeah, please go ahead. [Speaker:FABIAN] Yeah, hi. Over here, Fabian. So my question is outside of maybe what you really talked about, but I'm curious about your opinion. Are there attempts— are you thinking about ways to couple sequence information to lineages and lineage decisions? I mean, you— in the very end, you mentioned identifying genes, which I think is actually a key issue to find the molecular decisions which are underpinning the bifurcations that you observe to understand really mechanisms which are making functional decisions. But then also there should be a sequence, it should be linked to sequence which read out transcription factor concentrations, et cetera. So how is, are there attempts to do this?
So I think there are two answers, in particular model organisms where we can actually do genome editing. Of course, we could combine this, such as Philip is starting to do this, with some type of, let's say, these CARs and transcriptional readouts. Of course, this wouldn't scale as much, but for mechanistic analysis, that would be interesting. I think more promising is, or sort of similarly promising, is a combination with additional sequence readers such as single-cell ATAC-seq, where actually a lot of these type of particular decisions in development might be more nicely reflected on accessibility of chromatin. So, I think, for example, Jason Buenrostro, who we just saw before co-developed this first single-cell ATAC-seq assay, has now a dataset where he applies this to hematopoiesis in a rather large-scale fashion. And very beautifully recovers a lot of these transitions just in the first 2 PCs. And I think a combination of these approaches, although it might not maybe be as scalable, could be very promising. Thank you very much to Fabian.
More from Joshua

Scientist Stories: Hans Waterham, The value of phenotypic assays in peroxisomal disorders

Scientist Stories: Joel Zlotogora, Genetic carrier screening programs for reproductive purposes








