当从混合的癌症细胞和正常细胞中提取DNA时,每个癌细胞的绝对拷贝数信息会在混合过程中丢失。ABSOLUTE的目的是从混合DNA种群中重新提取这些数据。这一过程首先是生成分段拷贝数数据,这些数据被输入到ABSOLUTE算法,以及复发性癌症核型的预先计算模型和体细胞点突变的等位基因分数值(可选)。ABSOLUTE输出提供关于局部DNA片段的绝对细胞拷贝数的重新提取的信息。
ABSOLUTE方法有三点主要的特点。首先,它从观察到的相对拷贝谱中直接的联合评估肿瘤纯度和倍性(也可以使用点突变)。其次,由于联合估计可能无法完全确定单个样本,因此它使用大量不同的样本集合来帮助解决模糊情况。第三,它可以解释异质性癌症样本中亚克隆拷贝数改变和点突变。
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)
(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提供的
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)结果展示
①肿瘤纯度(fraction of tumor nuclei)和倍性(ploidy)分布图
②不同模型的评估情况
③肿瘤纯度评估结果
1. R包使用方法
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
引用:
(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).