What rebuilding five aging papers from scratch actually proves
A reproducible, cloud-scale reanalysis of five peer-reviewed studies on cellular aging, reprogramming, and rejuvenation, and an honest account of what survived contact with a shared pipeline.
unified Nextflow pipeline reanalyzes five published datasets on cellular aging and reprogramming, running each through a single containerized environment, shared statistical conventions, and one aging-axis definition. The goal is not new biological discovery but a reproducible substrate for comparing claims across studies that were never designed to be compared.
Four of five modules replicate their source findings or extend them with additional quantification. Module 3, projecting in vivo partial-reprogramming data onto an independent cell atlas, shows the expected directional shift across all six tissues but no individual tissue clears statistical significance at the available sample size, a distinction the post presents explicitly rather than omitting.
Open sourcing “Cell Rejuvenation Atlas”: Field Notes
A reproducible, cloud-scale reanalysis of five peer-reviewed studies on cellular aging, reprogramming, and rejuvenation, and an honest account of what survived contact with a shared pipeline.
The problem this is a response to
Aging and cellular-reprogramming research is having a moment. Partial reprogramming, briefly expressing Yamanaka factors to erase epigenetic age without erasing cell identity, has gone from a single 2016 mouse paper to a small industry (Altos Labs, Retro Biosciences, and a growing academic literature) in under a decade.
That’s exciting. It’s also a reproducibility minefield: every lab publishes on a different cell type, a different species, a different omics layer, processed with a different bespoke script that usually isn’t public, and validated against a different, also usually bespoke, aging clock.
The result is a literature full of headline claims, “epigenetic age reversed,” “partial reprogramming rejuvenates aged tissue,” that are individually plausible and collectively hard to compare. Two papers can both be right and still not tell you whether they’re describing the same phenomenon.
The Cell Rejuvenation Atlas is my answer to a narrower question: if you take five of the field’s landmark public datasets and run them through one pipeline, with one set of statistical conventions, one containerized environment, and one aging-axis definition, what survives?
What it actually is
Five independent modules, one Nextflow DSL2 pipeline, each rebuilding a published result from public data and then extending it:
| Module | Study reproduced | Data | Added beyond the paper |
|---|---|---|---|
| 1 | Gill et al. 2022, eLife: MPTR reverses DNAm age | EPIC methylation arrays, GSE165179 | Independent elastic-net clock refit, paired bootstrap CI |
| 2 | Schiebinger et al. 2019, Cell: reprogramming trajectories | ~250k-cell scRNA-seq, GSE122662 | Fate probability as a continuous per-cell quantity (optimal transport) |
| 3 | Browder et al. 2022, Nat Aging: in vivo partial reprogramming | Bulk RNA-seq, GSE190983 | Projection onto an independently built aging axis (Tabula Muris Senis) |
| 4 | Allen et al. 2023, Cell: spatial brain aging | MERFISH, ~379k cells, GSE207848 | Neighborhood enrichment and Moran’s I across three age cohorts |
| 5 | Basisty et al. 2020, PLoS Biology: SASP Atlas | DIA-MS proteomics, PXD013721 | Cross-inducer core-SASP set via per-inducer differential expression |
Every dataset is public and cited (see DATASETS.md); every number below came out of the pipeline itself, not a supplementary table.
What it proves
1. The epigenetic-age reversal replicates outside the original lab’s code. Refitting an elastic-net clock independently and re-running the MPTR time course gives Δage = −20.6 years (transient vs. control, day 13; 95% CI [−30.1, −7.8], Cohen’s d = −1.84, n=91 samples). The interval excludes zero by a wide margin. That’s not a new finding, it’s Gill et al.’s finding, standing up to an independent re-implementation. In a field this young, that’s worth more than it sounds like.
2. Optimal transport turns “which cells reprogram” from a cluster label into a number. Rebuilding Schiebinger et al.’s Waddington-OT analysis over 38 sequential couplings (39 time points, half-day resolution) gives every day-0 cell a continuous P(reach iPSC fate) rather than a discrete cluster assignment: mean ≈ 0.40 at day 0, with the full terminal-fate breakdown (795 iPSC / 496 stromal / 709 other, of 2,000 tracked cells) recovering the paper’s qualitative picture while making “how confident are we about this particular cell” an answerable question instead of an implicit one.
4. Spatial aging has a signature you can watch sharpen. Moran’s I, spatial autocorrelation, for classic neuroinflammation markers rises with age across the three MERFISH cohorts: Gfap (astrogliosis) goes 0.28 → 0.23 → 0.35, C4b (complement, microglial activation) goes 0.06 → 0.10 → 0.31 from 4 weeks to 90 weeks. Aging brain tissue doesn’t just express these genes more, the expression becomes more spatially clustered, consistent with localized neuroinflammatory niches rather than uniform tissue-wide change. That’s a statement about tissue architecture the original single-cell literature couldn’t make.
5. The SASP has a reproducible molecular core. Across 8 senescence-induction experiments (761 to 1,346 differentially expressed proteins each), 352 proteins recur across independent inducers (IR, RAS, ATV), including five markers already established in the literature (CXCL8, GDF15, MMP1, SERPINE1, STC1). Recovering known markers from an independent reanalysis is a sanity check baked into the pipeline, not an afterthought: the kind of validation that’s easy to skip and expensive to skip badly.
Module 3, cross-study integration, is where it gets honest, and where it belongs on its own.
Module 3 · the number I didn’t bury
All six tissues shift in the young direction on average. At n = 5 per group, zero individual tissues clear significance after correction.
Projecting Browder et al.’s mouse partial-reprogramming data onto Tabula Muris Senis’s aging axis, a different atlas, built by a different consortium, shows the right direction everywhere and statistical proof nowhere at this sample size. tissues_4f_significantly_younger: [] is the actual field output. I could have led with the direction. I’m leading with the honest reading instead, because “replicates directionally across an independent aging axis” and “is statistically established at this sample size” are different claims, and the field routinely elides them. A reproducibility pipeline that only reports the numbers that look good isn’t a reproducibility pipeline.
None of these five results is a novel biological discovery. That’s deliberate. The contribution isn’t new biology, it’s a shared, inspectable substrate that lets you ask whether five separately published claims are consistent with each other, using one methodology instead of five.
Why that matters more than it sounds like
The interesting failure mode in a fast-moving field isn’t a wrong paper, peer review mostly catches those. It’s five individually reasonable papers that quietly can’t be compared, because each used its own clock, its own normalization, its own definition of “young state.” You end up with a body of work that feels convergent, everyone’s finding rejuvenation effects, without anyone having checked whether they’re pointing at the same underlying axis.
Module 3 is the clearest illustration: putting a mouse in vivo bulk RNA-seq experiment on the same aging axis as an independently built cell atlas is a question the original Browder et al. paper never had to answer, because they weren’t trying to compare against Tabula Muris Senis specifically. Once you build the machinery to ask it, it becomes a template: the same machinery can check the next partial-reprogramming paper against the same axis in an afternoon instead of a new grad student’s first year.
Engineering rigor, containers, digest-pinned images, checksummed downloads, CI running the full pipeline on every push, isn’t polish layered on top of the science here. It’s what makes “reproduced” mean something stronger than “I looked at the figure and it seemed right.”
Δ epigenetic age, MPTR vs. control (day 13): −20.6 y
95% CI [−30.1, −7.8] · Cohen’s d −1.84Module 1, the one result in this project that is both directionally consistent and statistically decisive at its sample size (n = 91). Contrast with module 3, above.
Where the processing power actually goes next
The pipeline is built on Nextflow DSL2 with AWS Batch profiles already wired in, which means the ceiling isn’t five modules, it’s however many modules fit the same interface.
A cross-modality aging-clock ensemble. Right now each modality, methylation, transcriptome, spatial, proteome, has its own aging signal. Nothing structural stops combining them into one multi-omic clock and asking whether an intervention that moves the methylation clock also moves the proteomic one, the harder, more informative question papers rarely ask because it requires exactly this kind of shared infrastructure.
In-silico screening before the wet lab. The optimal-transport fate model and the scVI integration are both generative, they can be queried, not just fit. That opens the door to predicting the effect of an untested reprogramming factor combination or dosing schedule on the aging axis before committing bench time to it, then using the result to prioritize which experiment to actually run.
A living atlas, not a snapshot. GEO and PRIDE accumulate new aging and reprogramming datasets constantly. Because ingestion is already scripted and checksummed, adding a sixth, seventh, eighth study means writing one new module against the existing aging-axis interface, not rebuilding the comparison framework from scratch. AWS Batch means re-placing new data against every prior module doesn’t require touching what’s already validated.
Opening the interface to other people’s modules. The hardest part of cross-lab comparison isn’t compute, it’s agreeing on an interface. A pipeline that already enforces “public data in, checksums, containerized environment, one aging axis, one statistics convention” is most of the way to a spec other groups could target, turning a single-author reanalysis project into a shared benchmark.
None of that requires new biology insight from me, it requires the plumbing to already exist, which is the part that’s actually built. The project’s two explorer front ends exist for exactly this reason: the moment this stops being a solo reanalysis exercise, someone else needs to be able to look at the results without reading the code.
Code, data provenance, and full statistics: github.com/lynchaos/cell-rejuvenation-atlas. Every figure and number in this post was regenerated from the pipeline’s own output, nothing here was pasted from a paper. Dataset citations in full: DATASETS.md.
Did you enjoy this article?
Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.