导语
GUIDE ╲
我们在对肿瘤样本进行研究的时候,为了保证研究质量,通常会选择肿瘤纯度高的样本,那么一般在分析前这样就需要评估样本纯度,接下来我们会介绍一些评估样本纯度的方法。
我们前期介绍的相关方法有:
(一)基于甲基化评估肿瘤纯度的R包InfiniumPurify
(二)基于单个苷酸变异评估肿瘤纯度的R包 TPES
背景介绍
一般的我们在计算样本的绝对拷贝数(拷贝数的实际数量)是比较困难的,有以下几个原因:(1)癌细胞几乎总是与未知比例的正常细胞混合(肿瘤纯度)。(2)癌细胞的实际DNA含量(倍性)是由染色体的数量和结构异常引起的,是未知的。(3)癌细胞群可能是异质性的,这可能是由于持续的亚克隆进化所致。原则上,对于一个样本可以通过根据细胞学测量每个癌细胞的DNA质量或单细胞测序来重新计算相对数据,从而推断出绝对拷贝数,但这种方法不适合用于全面描述癌症基因组特征的大规模工作。
当从混合的癌症细胞和正常细胞中提取DNA时,每个癌细胞的绝对拷贝数信息会在混合过程中丢失。ABSOLUTE的目的是从混合DNA种群中重新提取这些数据。这一过程首先是生成分段拷贝数数据,这些数据被输入到ABSOLUTE算法,以及复发性癌症核型的预先计算模型和体细胞点突变的等位基因分数值(可选)。ABSOLUTE输出提供关于局部DNA片段的绝对细胞拷贝数的重新提取的信息。
ABSOLUTE方法有三点主要的特点。首先,它从观察到的相对拷贝谱中直接的联合评估肿瘤纯度和倍性(也可以使用点突变)。其次,由于联合估计可能无法完全确定单个样本,因此它使用大量不同的样本集合来帮助解决模糊情况。第三,它可以解释异质性癌症样本中亚克隆拷贝数改变和点突变。
ABSOLUTE包介绍
首先需要去官网(https://software.broadinstitute.org/cancer/cga/absolute)注册一个CGA(Cancer Genome Analysis)账号。登陆后下载安装R包,这里HAPSEG是一种解释癌症样本中双等位基因标记数据的概率方法。
代码语言:javascript复制install.packages("numDeriv") #安装其依赖包
download.file("https://software.broadinstitute.org/cancer/cga/sites/default/files/data/tools/absolute/ABSOLUTE_1.0.6.tar.gz",
"ABSOLUTE_1.0.6.tar.gz") #把ABSOLUTE包下载到本地
install.packages("ABSOLUTE_1.0.6.tar.gz",repos = NULL) #安装
library(numDeriv)
library(ABSOLUTE)
1. 输入文件
(1) HAPSEG文件(需要下载HAPSEG包)
(2) 制表符分隔的segmentation文件
比如CGH阵列(阵列比较基因组杂交,是用于检测基因拷贝数变异的)数据或大规模测序实验数据,该文件必须包括"Chromosome", "Start", "End", "Num_Probes" 和 "Segment_Mean"这几列数据。输入的文件可能包含除这些列之外的其他列,但至少必须指定这些列。要在此模式下运行,还必须将copy_num_type参数指定为“total”。
2. 使用语句
RunAbsolute(seg.dat.fn,
#输入的文件,可以是一个HAPSEG文件,也可以是一个segmentation文件
sigma.p,
#用于模式搜索的多余样本水平variance的临时值
max.sigma.h,
#过量样本水平variance的最大值
min.ploidy,
#需要考虑的最小倍性值,即低于该值的解将被丢弃
max.ploidy,
#需要考虑的最大倍性值,即高于该值的解将被丢弃
primary.disease,
#样本的原发疾病
platform,
#使用的芯片类型,当前的支持的值是'SNP_250K_STY','SNP_6.0'和'Illumina_WES'
sample.name,
#示例的名称,包含在输出图中
results.dir,
#放置结果的目录路径。如果目录不存在,就会创建一个
max.as.seg.count,
#等位基因片段的最大数目。具有较高段计数的样本将被标记为“失败”
max.non.clonal,
#被模拟为非克隆的最大基因组分数,复制比低于克隆纯合缺失。大于该值的解将被丢弃。
max.neg.genome,
#可作为非克隆(亚克隆SCNA)模型的最大基因组片段,即高于该值的解将被丢弃
copy_num_type,
#要评估的拷贝数类型,可以是 'allelic'或'total',
#目前, allelic 必须用于基于HAPSEG的输入, total用segmentation文件输入。
maf.fn=NULL,
#如果可用,指向突变注释格式(MAF)文件的文件名,即ABSOLUTE使用的体细胞点突变数据
min.mut.af=NULL,
#如果指定,一个最小的突变等位基因片段。具有较低等位基因片段的突变将在分析之前被过滤掉。
#注意maf.fn有指定,min.mut.af也必须指定
output.fn.base=NULL,
#如果指定,则为所有输出文件提供一个基本文件名。
verbose=FALSE)
#verbose是否获得详细的输出
3. 示例
首先我们使用一个从https://www.genepattern.org/modules/docs/ABSOLUTE/2 下载示例文件,数据集样本来自一个单独的人类膀胱癌患者。
(1)文件格式
①分割的拷贝比率数据,即seg文件
例SNP6_blood_normal. seg.txt文件:
②体细胞突变数据,即mutation annotation format (MAF)文件
例solid_tumor.maf.txt文件:
(2)用拷贝数评估SNP6_blood_normal样本纯度
实例使用参数根据GenePattern提供的
代码语言:javascript复制RunAbsolute(
seg.dat.fn = "E:/SNP6_blood_normal.seg.txt",
min.ploidy = 0.5,
max.ploidy = 8,
max.sigma.h = 0.2,
platform = "SNP_6.0",
copy_num_type = "total",
sigma.p = 0,
results.dir = "E:/test",
primary.disease = "BLCA",
sample.name = "cancer",
max.as.seg.count = 1500,
max.non.clonal = 1,
max.neg.genome = 0.005
)
(3)结果展示
下面是结果输出,主要的图形结果在pdf文件中展示
①肿瘤纯度(fraction of tumor nuclei)和倍性(ploidy)分布图
在对一个样本分析的时候,对于使用不同的位点的拷贝数构建算法公式会有不同的解释(candidate interpretations of copy profile),这些“解释”就代表不同颜色的点,即不同的预测分值。
②不同模型的评估情况
SCNAs的条形代表体细胞CNV数据评估的。karyotype是指根据复发核型预先建立的模型,目的是为了帮助解决模糊的样本。combined是结合了SCNAs和karyotype的评估(建议使用combined)。ABSOLUTE会根据这三种模型分别对肿瘤纯度评估的结果进行排序。log-likelihood scores 是候选肿瘤纯度值。
③肿瘤纯度评估结果
展示combined的多个评估的结果(分布是按照combined的打分进行排序,建议使用排序靠前的进行后续分析,靠前的推断的纯度较可靠)。
DoAbsolute包
ABSOLUTE包在使用的时候一次是评估一个样本的,要想一次分析多个还需我们自己编程。DoAbsolute包就帮助我们解决了这个问题,它可以使用ABSOLUTE方法一次分析多个样本。
1. R包使用方法
代码语言:javascript复制devtools::install_github("ShixiangWang/DoAbsolute") ##从GitHub安装包
library(DoAbsolute)
example_path = system.file("extdata", package = "DoAbsolute", mustWork = T)
library(data.table)
#segmentation文件
seg_normal = file.path(example_path, "SNP6_blood_normal.seg.txt")
seg_solid = file.path(example_path, "SNP6_solid_tumor.seg.txt")
seg_metastatic = file.path(example_path, "SNP6_metastatic_tumor.seg.txt")
#MAF文件
maf_solid = file.path(example_path, "solid_tumor.maf.txt")
maf_metastatic = file.path(example_path, "metastatic_tumor.maf.txt")
#fread读取文件
seg_normal = fread(seg_normal)
seg_solid = fread(seg_solid)
seg_metastatic = fread(seg_metastatic)
maf_solid = fread(maf_solid)
maf_metastatic = fread(maf_metastatic)
#Reduce(rbind, list())将多个文件合并
Seg = Reduce(rbind, list(seg_normal, seg_solid, seg_metastatic))
Maf = Reduce(rbind, list(maf_solid, maf_metastatic))
Seg$Sample = substr(Seg$Sample, 1, 15)
Maf$Tumor_Sample_Barcode = substr(Maf$Tumor_Sample_Barcode, 1, 15)
#运行
DoAbsolute(Seg = Seg, Maf = Maf,
platform = "SNP_6.0",
copy.num.type = "total",
results.dir = "E:/test2",
nThread = 2,
#nThread用于计算的核数cores,默认值为1
keepAllResult = TRUE,
#keepAllResult为TRUE(默认)是清除所有结果,否则清除结果目录并保留最重要的结果
verbose = TRUE)
2. 输出结果
DoAbsolute.wsx.ABSOLUTE.table.txt
DoAbsolute.called.ABSOLUTE.plots.pdf
小编总结
ABSOLUTE可以说是最常用的评估肿瘤纯度的方法了,它是基于拷贝数变异数据来评估纯度和倍性(也可结合突变数据),它还能使用大量不同的样本集合来帮助解决模糊情况,还可对样本中的亚克隆拷贝数改变和点突变做出解释。同时DoAbsolute又可以解决我们批量样本分析的问题。
引用:
(1)Carter SL, Cibulskis K, Helman E, et al. Absolute quantification of somatic DNA alterations in human cancer. Nat Biotechnol. 2012;30(5):413–421. doi:10.1038/nbt.2203.
(2)Wang, Shixiang, et al. "The predictive power of tumor mutational burden in lung cancer immunotherapy response is influenced by patients' sex." International journal of cancer (2019).
END