表观年龄预测工具dnaMethyAge

关键词:表观年龄, 表观时钟,甲基化时钟,甲基化年龄,epigenetic clocks, Horvath clock

该博文主要介绍我们开发的一个基于甲基化芯片数据预测各种表观年龄的R包: dnaMethyAge

1. 如何安装

最新的版本在Github,直接一条命令即可完成安装。

## 需要预先安装 'devetools'
# install.packages("devtools")
devtools::install_github("yiluyucheng/dnaMethyAge")

2. 支持多种常用clock

目前该R包支持以下常用clocks,该包将持续更新,关注新发表的年龄预测模型。

Name Published Name First Author (Published Year) Trained Phenotype Num. of CpGs Tissues Derived
HannumG2013 Gregory Hannum (2013) Chronological age 71 Whole blood
HorvathS2013 Multi-tissue age estimator Steve Horvath (2013) Chronological age 353 27 tissues/cells
YangZ2016 epiTOC Zhen Yang (2016) Mitotic divisions 385 Whole blood
ZhangY2017 Yan Zhang (2017) Mortality risk 10 Whole blood
HorvathS2018 Skin & Blood Clock Steve Horvath (2018) Chronological age 391 Skin, blood, buccal cells and 5 other tissues
LevineM2018 PhenoAge Morgan E. Levine (2018) Mortality risk 513 Whole blood
McEwenL2019 PedBE Lisa M. McEwen (2019) Chronological age 94 Buccal epithelial cells
ZhangQ2019 Qian Zhang (2019) Chronological age 514 Whole blood
LuA2019 DNAmTL Ake T. Lu (2019) Leukocyte telomere length 140 Whole blood
epiTOC2 epiTOC2 Andrew E. Teschendorff (2020) Mitotic divisions 163 Whole blood
ShirebyG2020 Cortical clock Gemma L Shireby (2020) Chronological age 347 Brain cortex
DunedinPACE DunedinPACE Daniel W Belsky (2022) Pace of ageing 173 Blood
PCGrimAge PCGrimAge Albert T. Higgins-Chen (2022) GrimAge estimated from DNAm data 78464 Blood
BernabeuE2023c cAge Elena Bernabeu (2023) Chronological age 3225 Blood

3. 如何使用

3.1 预测表观年龄

最重要的其实就是一条命令,用到‘methyAge’这个方法。
具体就是:

  • 打开R(Windows或Linux都行);
  • 载入dnaMethyAge包;
  • 载入你的甲基化数据,rownames是芯片探针名字, colnames是样本名字。(如果不确定格式,可以参考我们提供的一个示例数据集)
  • 定义你想用的表观年龄模型;
  • methyAge预测
library('dnaMethyAge')

## prepare betas dataframe
data('subGSE174422') ## load example betas

print(dim(betas)) ## probes in row and samples in column
# 485577 8

availableClock() ## List all supported clocks
# "HannumG2013"  "HorvathS2013" "LevineM2018"  "ZhangQ2019"   "ShirebyG2020"  "YangZ2016"    "ZhangY2017"

clock_name <- 'HorvathS2013'  # Select one of the supported clocks.
## Use Horvath's clock with adjusted-BMIQ normalisation (same as Horvath's paper)
horvath_age <- methyAge(betas, clock=clock_name)

print(horvath_age)
#                         Sample     mAge
# 1 GSM5310260_3999979009_R02C02 74.88139
# 2 GSM5310261_3999979017_R05C01 62.36400
# 3 GSM5310262_3999979018_R02C02 68.04759
# 4 GSM5310263_3999979022_R02C01 61.62691
# 5 GSM5310264_3999979027_R02C01 59.65161
# 6 GSM5310265_3999979028_R01C01 60.95991
# 7 GSM5310266_3999979029_R04C02 52.48954
# 8 GSM5310267_3999979031_R06C02 64.29711

3.1 预测表观年龄加速(age acceleration)

如果你不仅想预测表观年龄,还想计算age acceleration,我们也提供了一个好用的function。计算age acceleration需要提供每个样本的实际年龄,格式可以参考我们提供的info这个变量。

(2) Predict epigenetic age and calculate age acceleration

library('dnaMethyAge')

## prepare betas dataframe
data('subGSE174422') ## load example betas and info

print(dim(betas)) ## probes in row and samples in column
# 485577 8
print(info) ##  info should be a dataframe which includes at least two columns: Sample, Age.
#                         Sample  Age    Sex
# 1 GSM5310260_3999979009_R02C02 68.8 Female
# 2 GSM5310261_3999979017_R05C01 45.6 Female
# 3 GSM5310262_3999979018_R02C02 67.4 Female
# 4 GSM5310263_3999979022_R02C01 45.6 Female
# 5 GSM5310264_3999979027_R02C01 62.5 Female
# 6 GSM5310265_3999979028_R01C01 45.1 Female
# 7 GSM5310266_3999979029_R04C02 53.2 Female
# 8 GSM5310267_3999979031_R06C02 63.8 Female


clock_name <- 'HorvathS2013'  # Select one of the supported clocks, try: availableClock()
## Apply Horvath's clock and calculate age acceleration
## Use Horvath's clock with adjusted-BMIQ normalisation (same as Horvath's paper)

pdf('savename.pdf', width=4.3, height=6)
horvath_age <- methyAge(betas, clock=clock_name, age_info=info, fit_method='Linear', do_plot=TRUE)
dev.off()

print(horvath_age)
#                         Sample  Age    Sex     mAge Age_Acceleration
# 1 GSM5310260_3999979009_R02C02 68.8 Female 74.88139         7.334461
# 2 GSM5310261_3999979017_R05C01 45.6 Female 62.36400         3.318402
# 3 GSM5310262_3999979018_R02C02 67.4 Female 68.04759         1.013670
# 4 GSM5310263_3999979022_R02C01 45.6 Female 61.62691         2.581311
# 5 GSM5310264_3999979027_R02C01 62.5 Female 59.65161        -5.586763
# 6 GSM5310265_3999979028_R01C01 45.1 Female 60.95991         2.097534
# 7 GSM5310266_3999979029_R04C02 53.2 Female 52.48954        -9.340977
# 8 GSM5310267_3999979031_R06C02 63.8 Female 64.29711        -1.417638

这是我们上一步生成的图片savename.pdf。


subGSE174422

上面的分析我们用到了HorvathS2013这个引用最多的模型,使用其它模型只要改变代码里模型的名字就行。
下面的结果是我们用四种模型预测了 GSE147221这个数据集。

GSE147221的表观年龄预测

4. 引用我们

如果你在做研究时用到了我们的方法,欢迎引用我们:Wang et al., 2023

@article{Wang2023,
  title={Insights into ageing rates comparison across tissues from recalibrating cerebellum DNA methylation clock},
  author={Wang, Yucheng and Grant, Olivia A and Zhai, Xiaojun and McDonald-Maier, Klaus D and Schalkwyk, Leonard C},
  journal={GeroScience},
  pages={1--18},
  year={2023},
  publisher={Springer}
}

5. 联系我们

wangyucheng511爱 特gmail.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容