概念来源
肿瘤纯度(tumor purity)指的是样本中肿瘤细胞占所有细胞的比例。原始文献
Systematic pan-cancer analysis of tumour purity
为什么要用这个概念:因为取样过程很难保证取到的所有细胞都是肿瘤细胞,并且混杂的正常体细胞会对后续的分析产生影响(比如基因的表达水平),因此在生物信息学分析中最好计算肿瘤纯度并做相应的校正。
InfiniumPurify
基本情况
InfiniumPurify是一个完整的用于评估和计算肿瘤纯度的R包,其特点为基于DNA甲基化数据(DNA methylation Infinium 450 k array)对肿瘤的纯度进行计算和评估。(Infinium 450K是由Illumina公司推出的检测DNA甲基化的芯片平台。)
InfiniumPurify有三个主要的功能:getPurity,InfiniumDMC和 InfiniumClust,可以推断肿瘤纯度、差异甲基化分析和肿瘤样本聚类。
大致计算过程
-
如果有正常样本的数据,并且肿瘤和正常样本的数量都足够大(≥20),该函数首先通过比较肿瘤样本和正常样本之间的甲基化差异以及肿瘤样品中的变异,来识别大量的有效的差异甲基化CpG位点(iDMCs)。
-
然后用所选定的iDMCs甲基化来对每个样本评估肿瘤纯度,通过用高斯核函数评估密度的方法。
-
当正常样本不可用或肿瘤/正常样本太少而无法获得可靠的iDMCs时,getPurity将加载从公共TCGA数据中识别的预先选择的iDMCs来推断肿瘤纯度。在这种情况下,需要用户指定肿瘤类型。
使用示例
大致使用流程
install.packages("InfiniumPurify") #安装包
library(InfiniumPurify)
使用getPurity函数
data(beta.emp)
#beta.emp是一个62例肿瘤和正常样本的甲基化beta值的数据框
#评估一个肿瘤样本的纯度(无正常样本)
purity <- getPurity(tumor.data = tumor.data[,1],normal.data = NULL,tumor.type= "LUAD")
#评估10个肿瘤样本(小于20个样本)的纯度(无正常样本)
purity <- getPurity(tumor.data = tumor.data[,1:10],normal.data = NULL,tumor.type= "LUAD")
# 评估40个肿瘤样本(大于20个样本)的纯度,正常样本数为20个
purity <- getPurity(tumor.data = tumor.data[,1:40],normal.data = normal.data)
根据甲基化计算TCGA肿瘤纯度的结果
这个算法也已经将TCGA相关的纯度结果全部计算,可以从TCGA tumor purity | Zenodo获取。
参考文章
基于甲基化评估肿瘤纯度R包-InfiniumPurify
VAF,MAF,肿瘤纯度,MCF,CCF的概念和计算方法
网友评论