This skill computes DNA methylation age (DNAm age) and pace of aging by applying frozen, pre-trained epigenetic clocks to a clean beta or M-value matrix. It covers choosing a clock by the question being asked, computing age acceleration (the real endpoint), handling the per-CpG reliability crisis with principal-component (PC) clocks, and dealing with clock-CpG dropout on EPICv2.
The central idea: a clock is a frozen elastic-net predictor, not a mechanism. Its CpGs are prediction features (do not GO-enrich them), the endpoint is age ACCELERATION rather than raw age, and on noisy first-gen clocks the same sample can age several years between technical replicates. This skill applies clocks; it does not train them.
Install the clock packages:
BiocManager::install('methylclock')
# methylclockData is pulled in as a dependency for the coefficient sets
remotes::install_github('yiluyucheng/dnaMethyAge') # author-year clock IDs, EAA in one call
remotes::install_github('MorganLevineLab/methylCIPHER') # PC clocks for longitudinal/trial use
remotes::install_github('danbelsky/DunedinPACE') # pace of aging
Conceptual prerequisites: - A clean beta or M-value matrix with CpGs as rows and samples as columns, already normalized and QC'd (this skill assumes the matrix is ready). - For EPICv2 data, replicate probes (multiple beads per CpG, suffixed names) must be collapsed to one value per CpG before any clock call. - A phenotype table with chronological age (and sex for GrimAge variants) is needed to compute age acceleration. - Clock coefficient sets are fixed and version-pinned; the package version mostly controls which clocks ship and what the clock-name strings are.
Tell your AI agent what you want to do: - "Compute Horvath and Hannum DNAm age for my beta matrix and report age acceleration" - "Estimate DunedinPACE pace of aging for these blood samples" - "Which clock should I use for a mortality endpoint?" - "Check how many clock CpGs survive on my EPICv2 data before estimating ages" - "Use a PC clock so my longitudinal trial estimates are reliable"
"I have an EPIC beta matrix for 200 blood samples with chronological ages. Compute Horvath, Hannum, and PhenoAge DNAm age, then give me the age acceleration (residual on chronological age) for each clock."
"Run DunedinPACE on my blood methylation data and report the pace value per sample. Keep it on its own scale, do not convert it to an age."
"This is a longitudinal intervention study with two timepoints per person. Use PC clocks so the measurement noise does not swamp the intervention effect, and document the reliability."
"Before estimating any clock on my EPICv2 data, tell me what fraction of each clock's CpGs is actually present, and warn me about clocks that lose more than 10% of their CpGs."
"I want a clock that predicts mortality and healthspan, not just chronological age. Recommend one and explain why it differs from Horvath."
checkClocks and report the fraction present per clock, refusing or flagging high-missingness samples.DNAmAge / methyAge / PACEProjector, supplying chronological age so age-acceleration columns are produced.