Every cell in the body has the same DNA code, but they use different genes to perform their specific roles.
Epigenetic marks on DNA and surrounding proteins control which genes each cell uses. These marks degrade as we age, but they can be rewritten using combinations of transcription factor genes.

There are 1016 plausible combinations of factors – payloads – that we might test. It's intractable to brute force search this space. Until recently, prioritizing which payloads to test was guesswork.
We've built an AI system we call Ambrosia that learns to design payloads based on our reprogramming data corpus. Ambrosia builds atop foundation models of nature's languages and human languages, combining knowledge from the world of protein and DNA sequences with the collective knowledge contained in scientific literature. Each of our screens begins with a proposal from Ambrosia recommending reprogramming payloads that are expected to make an old cell look and act young.
We test the most promising predictions experimentally by writing new epigenetic states into old cells. Historically, researchers could only test a small handful of payloads at a time.
We've built a molecular screening system we call RESTORE-seq that tests thousands of hypotheses in parallel.
The key idea is that is we treat a tissue or cells in culture with a pool of DNA-barcoded transcription factors. Each cell receives a different combination by random chance, so that nearly all combinations in the pool are tested in parallel.
This system allows us to encode the logic of our experiments in basepairs, rather than in physical space.
After reprogramming, we read the effect of each payload on the epigenome.
We start by sequencing every cell to generate millions of individual epigenetic profiles. Our technology allows us to deconvolve each payload in the experiment in silico, pairing each cell’s profile with the payload it received using DNA barcodes.
From these paired profiles and payloads, we can measure the effect of reprogramming on cell age, identity, and function.