来源:Higgins-Chen, A.T., Thrush, K.L., Wang, Y. et al. A computational solution for bolstering reliability of epigenetic clocks: Implications for clinical trials and longitudinal tracking. Nat Aging 2, 644–661 (2022).
1. 前言
之前发表的epigenetic clocks的可靠性较差,往往对同一个体两次生物学重复的预测结果差异较大。本文针对该难题提出了一种解决方案:对训练集样本进行主成分分析,提取所有主成分作为模型训练输入,模型所用的目标值为原来epigenetic clocks的预测结果值。作者表明这样获得的模型预测结果可靠性大大提高,大部分生物学重复样本的预测结果差异在1.5年左右。
由于作者提供的是一种可以提高epigenetic clocks预测结果可靠性的模型构建策略。因此对于已发表的六个代表性的clocks,作者分别训练了对应的PC改良版clock,即PCHorvath1, PCHorvath2, PCHannum, PCPhenoAge, PCDNAmTL, PCGrimAge.
2. 构建方法
1)生成训练集
选择6个模型原始文献中用到的样本(有些数据集找不到了,作者找了替换)构建了6个训练集。然后筛选在所有样本集里都出现的CpG位点,共78646个。训练集所用到的样本在附件有详细列出。
2)提取主成分
对6个训练集分别进行主成分分析(centered but not scaled),由于CpG位点个数(78646)远大于各训练集里的样本数量,最终六个训练集里提取的主成分总数等于样本总量-1,即主成分个数分别为:Horvath1 4280个,Horvath2 894个,Hannum 855个,PhenoAge 4504个,DNAmTL 3934个,GrimAge 3934个。
3)训练PC模型
对于每个clock,将上一步提取的各自所有主成分作为模型输入,将原CpG模型的预测结果作为回归目标值(PCPhenoAge 直接采用phenotypic age score),回归算法还是Elastic Net。
PC-clock的相关代码作者已经提交Github,不过我还没有时间去试用。
3. 模型效果
新模型的效果如下,从下面的图中可以看出,PC改良版的模型与原CpG模型一致性还不错。
从下图可以发现,对比原CpG模型,PC模型对生物学重复样本的预测值的一致性有了很大提高:
下面这部分图示结果最能表现出PC模型的稳定性:
4. 评价
作者自己的总结:Compared to the CpG clocks, PC clocks show stronger, directionally identical correlations, consistent with reduced noise.
我的思考:
作者设计PC clocks 的主要目的是提高模型预测结果的稳定性,从这一角度来说PC clocks的效果确实不错。但是PC clocks有什么局限性吗?
Horvath1,Horvath2 和Hannum 三个Clock都是用同一个算法,训练的目标值也都是chronological age,不同的只是训练集不一样。作者显然是把这三个模型的当成了描述三种生物意义的东西在处理。作者有比较过直接将chronological age当做回归目标值进行模型训练吗?
5. 测试
想要在你自己的数据集上测试PC-clocks吗?我已经开发了一个用户友好的R程序包,一条命令即可调用,赶紧来试一试吧。
欢迎对这个模型、文章感兴趣的朋友与我进行学术交流(wangyucheng511艾特gmail.com)