AltumAge is a state-of-the-art epigenetic clock that predicts biological age from DNA methylation data across multiple tissue types. Built using deep learning, AltumAge demonstrates superior performance compared to traditional epigenetic clocks.
- Pan-tissue compatibility: Works across multiple tissue types
- Deep learning architecture: Leverages neural networks for improved accuracy
- Multi-platform support: Compatible with Illumina 27k, 450k, and EPIC arrays
- PyTorch compatibility: Available in both TensorFlow and PyTorch formats
- Easy integration: Now available through the pyaging package
- Trained, validated, and tested on 142 datasets
- Outperforms Horvath's 2013 model across multiple metrics
- Robust performance across diverse tissue types and age ranges
The easiest way to use AltumAge is through pyaging:
pip install pyagingThen follow the DNA methylation age prediction tutorial.
pip install tensorflow==2.5.0 numpy pandas scikit-learnimport tensorflow as tf
import numpy as np
import pandas as pd
from sklearn import linear_model, preprocessing
# Load CpG sites
cpgs = np.array(pd.read_pickle('example_dependencies/multi_platform_cpgs.pkl'))
# Load your methylation data
data = pd.read_pickle('example_dependencies/example_data.pkl')
methylation_data = data[cpgs]
# Load scaler and model
scaler = pd.read_pickle('example_dependencies/scaler.pkl')
AltumAge = tf.keras.models.load_model('example_dependencies/AltumAge.h5')
# Scale and predict
methylation_data_scaled = scaler.transform(methylation_data)
predicted_ages = AltumAge.predict(methylation_data_scaled).flatten()AltumAge requires:
- DNA methylation beta values from Illumina arrays (27k, 450k, or EPIC)
- Selection of 20,318 specific CpG sites (provided in
CpGsites.csv)
# For TensorFlow users
AltumAge = tf.keras.models.load_model('example_dependencies/AltumAge.h5')
# For PyTorch users
import torch
AltumAge_pytorch = torch.load('dependencies/AltumAge.pt')- Select the required CpG sites in the correct order
- Scale using the provided RobustScaler
- Fill up missing values with 0 after scaling
- Input to the model for age prediction
AltumAge/
├── example.ipynb # Complete usage example
├── example_dependencies/ # Required files for running AltumAge
│ ├── AltumAge.h5 # TensorFlow model
│ ├── multi_platform_cpgs.pkl # List of CpG sites
│ ├── scaler.pkl # Preprocessing scaler
│ └── example_data.pkl # Example dataset
├── dependencies/
│ └── AltumAge.pt # PyTorch model
├── CpGsites.csv # Required CpG sites
└── supplementary_results/ # Detailed performance metrics
Access our comprehensive dataset collection:
- Raw data from ArrayExpress and GEO
- Organized methylation data (non-normalized)
- Google Drive Repository
If you use AltumAge in your research, please cite:
@article{de_Lima_Camillo_AltumAge,
author = {de Lima Camillo, Lucas Paulo and Lapierre, Louis R and Singh, Ritambhara},
title = {A pan-tissue DNA-methylation epigenetic clock based on deep learning},
journal = {npj Aging},
volume = {8},
pages = {4},
year = {2022},
doi = {10.1038/s41514-022-00085-y},
publisher = {Springer Nature},
URL = {https://doi.org/10.1038/s41514-022-00085-y}
}For questions or collaborations, please contact:
- Lucas Paulo de Lima Camillo: lucas_camillo@alumni.brown.edu
This project is licensed under the MIT License - see the LICENSE file for details.