← Latest papers
🧬 genetics

Direct estimation of genotype fitness from time series

This paper introduces a simple, closed-form mathematical method using standard linear algebra to directly estimate the fitness of individual genotypes from noisy time-series data without requiring assumptions about epistasis or iterative optimization, demonstrating its effectiveness across diverse simulation models and real-world datasets ranging from laboratory evolution to global pandemics.

Original authors: Mohanty, V., Shakhnovich, E.

Published 2026-07-20
📖 8 min read🧠 Deep dive

Original authors: Mohanty, V., Shakhnovich, E.

Original paper licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ⚕️ This is an AI-generated explanation of a preprint that has not been peer-reviewed. It is not medical advice. Do not make health decisions based on this content. Read full disclaimer

Imagine a bustling city where millions of tiny, invisible citizens are constantly changing their jobs, moving neighborhoods, and competing for resources. Some citizens are naturally better at surviving and having "offspring" than others; in the world of biology, we call this advantage "fitness." When a population of bacteria, yeast, or viruses evolves, it's like watching a chaotic, high-speed race where the fastest runners pull ahead, but the race is messy. There are sudden traffic jams, random accidents, and new runners joining the track every second. Scientists have long wanted to know exactly how fast each runner is going just by watching the race from the stands. If they could figure out who is truly the fastest, they could predict how a virus might become stronger or how a cancer might outsmart medicine. The challenge is that the race is noisy, crowded, and full of surprises, making it incredibly hard to measure the true speed of every single runner just by looking at the crowd.

This is the puzzle tackled by Vaibhav Mohanty and Eugene I. Shakhnovich in their new paper. They have discovered a surprisingly simple mathematical trick—a "closed-form formula"—that acts like a magic decoder ring for these evolutionary races. Instead of needing complex, slow computer simulations that guess and check their way to an answer, their method uses a straightforward set of matrix operations (think of them as a specific way of organizing numbers in a spreadsheet) to instantly calculate the fitness of every genotype (the unique genetic "ID card" of a runner) just from a time-lapse video of the population. They tested this on computer simulations of four different types of evolutionary races and found it worked with stunning accuracy, even for the rare runners who were almost invisible in the crowd. Then, they applied it to real-world data from yeast experiments, mouse viruses, and the global spread of SARS-CoV-2. The result? Their simple formula could reconstruct the fitness landscape with the same reliability as much more complicated methods, proving that you don't always need a supercomputer to understand the speed of evolution; sometimes, you just need the right equation.

The Race of Life and the Noise in the Crowd

To understand why this is such a big deal, let's look at how evolution usually works. Imagine a population of bacteria as a giant, noisy stadium full of people. Each person has a slightly different ticket (a genotype). Some tickets are "golden tickets" that let the holder run faster and reproduce more; others are "bronze tickets" that make them slower. In a perfect, quiet world, the golden ticket holders would quickly take over the stadium, and we could easily see who was winning. This is like a simple race between two runners where one is clearly faster.

But real life is rarely that simple. In the real world, the stadium is chaotic. New people keep entering with random new tickets (mutations). Sometimes, the crowd gets so packed that the fast runners bump into each other and slow down (clonal interference). Sometimes, a random gust of wind blows a slow runner to the front just by chance (genetic drift). And our view of the stadium is often blurry because we can't count every single person perfectly (sampling noise).

For decades, scientists have tried to figure out how fast each ticket holder is running by looking at how the crowd changes over time. The problem is that the math gets incredibly messy when you have thousands of different runners competing at once. Most existing methods try to solve this by making big assumptions, like "let's pretend the runners only interact in pairs" or "let's pretend the noise isn't too bad." Others use powerful computers to run millions of guesses, trying to find the best fit, which takes a long time and requires a lot of technical know-how.

The Magic Formula

Mohanty and Shakhnovich asked a different question: Is there a way to cut through the noise without making those simplifying guesses? They started with a classic equation from population genetics (the Kimura equation) that describes how frequencies change due to selection, mutation, and random noise. Usually, this equation is a nightmare to solve because of the random noise term.

However, the authors realized that if you look at the average behavior of the population over time, and if you treat the data as a giant grid of numbers (a matrix), you can strip away the complexity. They derived a simple formula that looks like this:

Estimated FitnessPseudoinverse(Matrix of Genotype Correlations)×Change in Frequencies \text{Estimated Fitness} \propto \text{Pseudoinverse}(\text{Matrix of Genotype Correlations}) \times \text{Change in Frequencies}

In plain English, their method takes the history of who was where at every moment in time, organizes it into a giant table, and then uses a standard mathematical tool called a "pseudoinverse" (which is like a reverse-engineering calculator) to figure out what the fitness of each genotype must have been to create that specific pattern of movement.

The beauty of this approach is that it doesn't care how complex the interactions are. It doesn't assume that mutations only happen in pairs or that the environment is quiet. It just looks at the data and says, "If the population moved like this, these are the speeds that make sense."

Testing the Decoder Ring

To see if their magic formula actually worked, the authors didn't just guess; they put it through the wringer.

1. The Simulation Lab:
First, they created four different types of virtual evolutionary races in a computer:

  • Wright-Fisher: A classic model where the next generation is a random sample of the current one.
  • Moran: A model where individuals compete one-on-one to replace each other.
  • ProSeD: A simulation of bacteria being diluted and grown in a lab.
  • Fit-Seq2.0: A simulation of cells with barcodes growing in a broth.

In all these simulations, the authors knew the "ground truth"—they knew exactly how fast every single virtual genotype was supposed to be. They then fed the noisy, messy time-series data from these simulations into their formula. The result? The formula reconstructed the fitness landscape with incredible accuracy. Even for genotypes that were incredibly rare (appearing only a few times in a sea of millions), the formula could still guess their speed correctly. The correlation between the true speed and the estimated speed was often above 0.95, which is a very high score in the world of statistics.

2. The Real World Test:
Next, they tried it on real data where the true speeds were unknown. They looked at:

  • Yeast: Two experiments where yeast with different barcodes were grown in different liquids.
  • Murine Norovirus (MNV-1): A virus evolving in mice, with and without an antibody trying to stop it.
  • SARS-CoV-2: Global data on how different variants of the coronavirus were spreading over time.

In these cases, they compared their results to the best estimates other scientists had made using much more complicated methods. Their simple formula matched those complex methods almost perfectly. For the yeast and virus data, the correlation was strong, showing that the formula could extract the same vital information without needing hours of computer processing or making restrictive assumptions about how the mutations interacted.

Why This Matters

The most surprising part of this discovery is that the formula works even though it ignores the "noise" of genetic drift (the random fluctuations that usually make evolution hard to predict). The authors found that by looking at the correlations between different genotypes over time, the signal of natural selection shines through the noise, even in finite populations. It's as if, in a chaotic crowd, you can't see the individual runners clearly, but if you watch how the group moves as a whole, you can mathematically deduce exactly how fast each person is running.

This method is also incredibly practical. While other methods require complex software, iterative optimization (guessing and checking), and deep programming skills, this new formula can be run in a standard spreadsheet like Microsoft Excel or with a few lines of code in Python. It turns a problem that usually requires a supercomputer into something a high school student with a laptop could solve.

The Bottom Line

Mohanty and Shakhnovich haven't just found a new way to measure fitness; they've shown that the math of evolution is simpler than we thought. By using a direct, closed-form equation, they can infer the fitness of genotypes from time-series data without needing to know the exact details of the mutations or the population size, and without making guesses about how complex the interactions are.

They suggest that this tool could be a game-changer for evolutionary biologists, microbiologists, and public health experts. Whether you are tracking a virus in a lab or monitoring a pandemic globally, this formula offers a fast, accurate, and easy way to understand who is winning the race of life and why. It turns the chaotic noise of evolution into a clear, readable map of fitness, proving that sometimes the most powerful tools are the simplest ones.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →