Docker container for calculating epigenetic clocks from DNA methylation data using methylCIPHER.
docker pull ghcr.io/higginschenlab/beta2clocks:latestPlace your _cleaned.RData file in any local directory, then run:
docker run --rm \
-v /path/to/your/data:/home/data:rw \
ghcr.io/higginschenlab/beta2clocks:latest \
Rscript pipeline/entrypoint.R --input data/YourDataset_cleaned.RDataRemember to set /path/to/your/data to the directory containing your file — that's the only thing to change.
Results are saved alongside the input file in the same directory.
An .RData file containing:
- A variable starting with
DNAm— beta matrix (samples as rows, CpGs as columns) - A variable starting with
pheno— phenotype data with age and sex columns. Expected column names arecAGEandcFEMALE.
Use --batch-size N to control how many samples are processed at once (default: 250, set to 0 to disable batching):
Rscript pipeline/entrypoint.R --input data/YourDataset_cleaned.RData --batch-size 100Use --clocks with a comma-separated list to run only specific clocks:
Rscript pipeline/entrypoint.R --input data/YourDataset_cleaned.RData --clocks Hannum,PhenoAge,DunedinPACEClock names match the calc{Name}() function names from methylCIPHER. WhatSex and Zhang2019 always run as they are dependencies for downstream clocks.
WhatSex, Zhang2019, Hannum, Horvath1, Horvath2, PhenoAge, DNAmTL, CausAge, AdaptAge, DamAge, GrimAgeV1, GrimAgeV2, PCClocks, SystemsAge, DunedinPACE, DunedinPoAm38, StochasticClocks, EpiDish, eFRS, DNAmIC
To-do
To-do