库(BiocStyle)
突变签名的概念是由Ludmil Alexandrov等人在一系列论文中介绍的。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)而且(Alexandrov, Nik-Zainal, Wedge, Campbell, et al. 2013).发表了一个计算框架(Alexandrov 2012)目的是检测有限数量的突变过程,然后描述整个snv(单核苷酸变异)的队列癌症样本。的一般方法(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)如下:
NMF
注意,对于给定数量的签名,NMF本身解决了上述问题\ (l \).为了降低复杂度,签名的数量必须小于特征的数量($l < $n),如上图所示。Ludmil Alexandrov等人的框架。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)不仅进行NMF分解本身,而且通过迭代过程确定适当的签名数量。
另一个软件,Bioconductor软件包SomaticSignatures执行突变特征分析,是可用的(Gehring et al. 2015).它允许用NMF或主成分分析(PCA)执行矩阵分解。这两种方法都有共同之处发现,即为新签名的提取.然而,它们只有在分析的数据集具有足够的统计能力时才有效,即有足够数量的样本和每个样本的每个特征有足够数量的计数。
这里介绍的YAPSA软件包是对这些现有软件包的补充。它被设计用于对突变特征的监督分析,即对已知特征的分析\ (W \),对输入数据的统计能力要求较低。
在突变标记的环境中\ (W \)是已知的(因为它们被描述和出版在(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)或者可以在数据库中找到http://cancer.sanger.ac.uk/cosmic/signatures),我们可能只想找出曝光量\ \ (H)突变目录上的已知标记\ \ (V)一个特定群体的。从数学上讲,这是一个不同的、可能更简单的任务。
的YAPSA-package (Yet Another Package for Signature Analysis)提供了此功能液晶显示器
(linearc天然d合成)来执行此任务。这种方法的优点是有没有对队列规模的限制,所以液晶显示器
只需一个样本就可以运行,因此可用于个性化肿瘤学中的特征分析。与NMF相比,液晶显示器
速度非常快,需要的计算资源非常少。YAPSA还有其他一些独特的功能,我们将在下面简要介绍并在单独的小章节中详细介绍。
下面,我们将表示的列\ \ (V)通过\ (V_ {(\ cdot j)} \),对应样本的突变目录\ (j \).的列\ \ (H)通过\ (H_ {(\ cdot j)} \),为样品的曝光向量\ (j \).然后液晶显示器
为解决优化问题而设计:
记住,\ (j \)是样本的指数,\ \(米)是样本的数量,我\ \ ()索引是否超过签名和\ (l \)是签名的数量。液晶显示器
使用非负最小二乘(NNLS)算法(来自R包)
nnls)来解决这个优化问题。注意,优化过程是针对每个\ (V_ {(\ cdot j)} \)的每一列,即\ \ (V)分开。当然\ (W \)是恒定的,即对每个\ (V_ {(\ cdot j)} \).
这个过程是高度敏感的:只要一个签名在队列中至少一个样本中有贡献或暴露,它就会被报告(在操作系统的浮点精度内)。这可能会模糊画面,抵消降低复杂性的最初目的。因此有一个函数LCD_complex_cutoff
.这个函数的第二个参数是截止值(介于0和1之间的值)。在分析中,它将只保留那些累积(超过队列)规范化暴露量大于这一临界值的特征。事实上,它运行了两次lcd -程序:第一次是寻找初始暴露量,对整个队列进行求和,并排除了贡献过低的人,如上文所述,第二次只对剩下的签名进行分析。旁边的曝光\ \ (H)对应于这个约简签名集的函数LCD_complex_cutoff
也返回签名本身的简化集。
另一个R包用于监督分析突变特征:deconstructSigs(Rosenthal et al. 2016).一个区别LCD_complex_cutoff
正如在YAPSA
和相应的函数whichSignatures
在deconstructSigs是,LCD_complex_cutoff
接受不同的截止和特定于签名的截止(考虑到不同签名的潜在不同可检测性),而在whichSignatures
在deconstructSigs一般固定截止设置为0.06。在下面,我们简要地提到软件包YAPSA的其他特性,并参考相应的小章节进行详细描述。
YAPSA的一个特殊特性是,它提供了执行带有签名特定截止的突变签名分析的机会。不同的签名具有不同的可检测性。那些具有高可检测性的呼叫将更频繁地出现为假阳性呼叫。为了解释不同的可检测性,我们引入了特定于签名的截断的概念:导致许多假阳性调用的签名必须比很少导致假阳性调用的签名跨越更高的阈值。这篇短文介绍一般来说,如何使用特定于签名的截止,给出了签名特定的最优截止2.Signature-specific达标.
为了评估计算出的突变特征暴露的置信度,YAPSA提供了95%置信区间(ci)。计算依赖于剖面似然的概念(劳伊等,2009).详情可参阅3.置信区间.
对于某些问题,将队列样本中检测到的snv分配到类别是有用的。我们把考虑到这些地层的突变特征分析称为a分层分析,它有可能揭示富集和消耗模式。值得注意的是,这不同于对不同地层的突变特征进行完全独立的NNLS分析。相反,非分层分析的结果被用作对地层进行约束分析的输入。详情可参阅4.突变特征的分层分析
最近,泛癌症全基因组分析(PCAWG)联盟发表了一组新的和扩展的突变签名(Alexandrov et al. 2018).除了扩展的SNV突变特征集外,该分析首次具有足够的统计能力,基于将Indels分类为83个类别或特征,提取17个Indel特征。YAPSA还提供了对这些Indel签名上的突变签名进行监督分析的功能,详细信息可以在5.Indel特征分析
我们现在将把YAPSA包的一些功能应用于Alexandrov等人发表的全基因组测序数据集。(2013).首先,我们必须加载这些数据并获得一个概述(第一小节).然后,我们将载入已发布签名的数据(第二小节).只有在第三小节我们将开始使用YAPSA函数。
库(YAPSA)库(knitr) opts_chunk$set(echo=TRUE) opts_chunk$set(图show='asis')
在接下来的文章中,我们将加载并概述Alexandrov等人在分析中使用的数据。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)
数据(“lymphoma_Nature2013_raw”)
这将创建一个包含128639行的数据帧。这相当于执行R代码
淋巴瘤nature2013_ftp_path <- paste0("ftp://ftp.sanger.ac。uk/pub/cancer/AlexandrovEtAl/", "somatic_mutation_data/淋巴瘤b细胞/","淋巴瘤b细胞_clean_somatic_mutations_", "for_signature_analysis.txt")淋巴瘤nature2013_raw_df <- read.csv(file=淋巴瘤nature2013_ftp_path, header=FALSE,sep="\t")
该格式的灵感来自于vcf格式,每个被调用的变体都有一行。注意,该URL提供的文件没有头信息,因此我们必须添加一些头信息。我们还将稍微调整数据结构:
names(淋巴瘤nature2013_raw_df) <- c("PID","TYPE","CHROM","START", "STOP","REF","ALT","FLAG")淋巴瘤nature2013_df <-子集(淋巴瘤nature2013_raw_df,TYPE=="subs", select=c(CHROM,START,REF,ALT,PID)) names(淋巴瘤nature2013_df)[2] <- "POS" kable(head(淋巴瘤nature2013_df))
铬 | POS | 裁判 | ALT | PID |
---|---|---|---|---|
1 | 183502381 | G | 一个 | 07 - 35482 |
18 | 60985506 | T | 一个 | 07 - 35482 |
18 | 60985748 | G | T | 07 - 35482 |
18 | 60985799 | T | C | 07 - 35482 |
2 | 242077457 | 一个 | G | 07 - 35482 |
6 | 13470412 | C | T | 07 - 35482 |
在这里,我们只选择了特征为的变量潜艇
(这些是我们对突变特征分析感兴趣的snv,小的索引被这一步过滤掉了),所以我们剩下128212个变体或行。注意,这里有48个不同的样本:
独特(lymphoma_Nature2013_df $ PID)
# [1] 07-35482 1060 1061 1065 1093 ## [6] 1096 1102 4101316 4105105 4108101 ## [11] 4112512 4116738 4119027 4121361 4125240 ## [21] 4133511 4135350 4142267 4158726 4159170 ## [21] 4163639 4175837 4177856 4182393 4189200 ## [21] 4189998 4190495 4193278 4194218 4194891 ## [36] DLBCL-PatientA DLBCL-PatientB DLBCL-PatientB DLBCL-PatientC DLBCL-PatientD ## [41] DLBCL-PatientJ DLBCL-PatientK DLBCL-PatientL DLBCL-PatientM EB2 ##等级:07-35482 1060 1061 1065 1093 1096 1102 4101316 4105105…G1
为了以后的方便,我们将子组信息注释到每个变体(间接地通过它出现的示例)。为了简单起见,我们还将分析限制在全基因组测序(WGS)数据集:
lymphoma_Nature2013_df小组< -“未知”DLBCL_ind < - grep(“^ DLBCL。*”,lymphoma_Nature2013_df $ PID) lymphoma_Nature2013_df美元子群(DLBCL_ind) <——“DLBCL_other”MMML_ind < grep(“^ 41美元[0 - 9]+”,lymphoma_Nature2013_df $ PID) lymphoma_Nature2013_df < - lymphoma_Nature2013_df [MMML_ind,]数据(lymphoma_PID) (my_PID rownames (lymphoma_PID_df)) {PID_ind <——(as.character (lymphoma_Nature2013_df $ PID) = = my_PID) lymphoma_Nature2013_df小组(PID_ind) < -美元@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
级别:WGS_B WGS_D WGS_F WGS_I
雨量图提供了一个样本的突变负荷的快速概述。为此,我们必须计算互变距离。但首先我们还是要重新格式化…
淋巴瘤a_nature2013_df <- translate_to_hg19(淋巴瘤a_nature2013_df,"CHROM")淋巴瘤a_nature2013_df $change <- attribute_nucleotide_exchanges(淋巴瘤a_nature2013_df $PID)淋巴瘤a_nature2013_df <-淋巴瘤a_nature2013_df $POS [order(淋巴瘤a_nature2013_df $PID,淋巴瘤a_nature2013_df $CHROM,淋巴瘤a_nature2013_df $POS),]淋巴瘤a_nature2013_df <- annotate_intermut_dist_cohort(淋巴瘤a_nature2013_df,in_PID.field="PID") data(" exchange_color_vector ")淋巴瘤nature2013_df $col <- exchange_color_vector[淋巴瘤nature2013_df $change]
现在我们可以选择一个样本并制作雨量图。这里使用的plot函数依赖于包gtrellis由Zuguang顾(2015年Zuguang Gu).
PID_df <- sub子集(淋巴瘤nature2013_df,PID==choice_PID) #trellis_rainfall_plot(PID_df,in_point_size=unit(0.5,"mm"))
图示淋巴瘤样本典型的雨点图,如在免疫球蛋白位点处,突变密度聚集增加。
如上所述以上,是YAPSA包中的一个功能(液晶显示器
)用于对已知签名进行突变签名分析。签名数据(至少)有两种可能的来源:i)最初由Alexandrov等人发表的那些。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013),以及ii)由Ludmil Alexandrov维护一组更新和策划的当前突变签名http://cancer.sanger.ac.uk/cosmic/signatures.以下三个小节描述如何从这些资源加载数据。或者,您可以绕过以下三个子部分,因为签名数据集也包含在这个包中:
数据(团体)
我们首先加载Alexandrov等人发表的(较旧的)签名集。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013):
Alex_signatures_path < paste0 (" ftp://ftp.sanger.ac。uk/pub/cancer/", "AlexandrovEtAl/signature .txt") alexinitialarti_sig_df <- read.csv(Alex_signatures_path,header=TRUE,sep="\t") kable(alexinitialarti_sig_df [c(1:9),c(1:4)])
替换。类型 | 三核苷酸 | Somatic.Mutation.Type | Signature.1A |
---|---|---|---|
C > | ACA | [C >] | 0.0112 |
C > | ACC | 一个C (C >) | 0.0092 |
C > | ACG | [C >] G | 0.0015 |
C > | 行为 | 一个C > T | 0.0063 |
C > | CCA | C (C >) | 0.0067 |
C > | CCC | C (C >) C | 0.0074 |
C > | 在20 | C G (C >) | 0.0009 |
C > | 有条件现金转移支付 | C C > T | 0.0073 |
C > | GCA | G (C >) | 0.0083 |
现在我们将重新格式化数据帧:
Alex_rownames <- paste(alexinitialarti_sig_df [,1], alexinitialarti_sig_df [,2],sep=" ") select_ind <- grep("Signature",names(alexinitialarti_sig_df)) alexinitialarti_sig_df <- alexinitialarti_sig_df [,select_ind] number_of_alex_sig_df <- dim(alexinitialarti_sig_df)[2] names(alexinitialarti_sig_df) <- gsub("Signature\\.","A", names(alexinitialarti_sig_df)) rownames(alexinitialarti_sig_df) <- Alex_rownames (alexinitialarti_sig_df) kable(alexinitialarti_sig_df [c(1:9),c(1:6)],标题=“来自最初亚历山德罗夫签名的示例数据。”)
A1A | 达到此 | A2 | A3 | A4 | A5 | |
---|---|---|---|---|---|---|
C > ACA | 0.0112 | 0.0104 | 0.0105 | 0.0240 | 0.0365 | 0.0149 |
C > ACC | 0.0092 | 0.0093 | 0.0061 | 0.0197 | 0.0309 | 0.0089 |
C > ACG | 0.0015 | 0.0016 | 0.0013 | 0.0019 | 0.0183 | 0.0022 |
C >一个行动 | 0.0063 | 0.0067 | 0.0037 | 0.0172 | 0.0243 | 0.0092 |
C > CCA | 0.0067 | 0.0090 | 0.0061 | 0.0194 | 0.0461 | 0.0097 |
C > CCC | 0.0074 | 0.0047 | 0.0012 | 0.0161 | 0.0614 | 0.0050 |
C > 20 | 0.0009 | 0.0013 | 0.0006 | 0.0018 | 0.0088 | 0.0028 |
C >有条件现金转移支付 | 0.0073 | 0.0098 | 0.0011 | 0.0157 | 0.0432 | 0.0111 |
甘氨胆酸C > | 0.0083 | 0.0169 | 0.0093 | 0.0107 | 0.0376 | 0.0119 |
这将产生一个用于签名的数据帧,包含27个签名作为列向量。值得注意的是,在最初的发表中,这27个签名中只有一个子集通过正交测序技术进行了验证。所以我们可以向下过滤:
AlexInitialValid_sig_df <- alexinitialarti_sig_df [,grep("^A[0-9]+", names(alexinitialarti_sig_df))] number_of_Alex_validated_sigs <- dim(AlexInitialValid_sig_df)[2]
我们还剩下22个签名。
一个更新的和策划的突变签名集由Ludmil Alexandrov在http://cancer.sanger.ac.uk/cosmic/signatures.我们将使用这个集合进行以下分析:
Alex_COSMIC_signatures_path < paste0 (" http://cancer.sanger.ac。英国/ cancergenome”、“资产/ signatures_probabilities.txt”)AlexCosmicValid_sig_df < - read.csv (Alex_COSMIC_signatures_path头= TRUE, 9 = \ t) Alex_COSMIC_rownames < -粘贴(AlexCosmicValid_sig_df [1], AlexCosmicValid_sig_df [2], 9 = " ") COSMIC_select_ind < - grep(“签名”,名称(AlexCosmicValid_sig_df)) AlexCosmicValid_sig_df < - AlexCosmicValid_sig_df [, COSMIC_select_ind] number_of_Alex_COSMIC_sigs < -暗(AlexCosmicValid_sig_df)[2]的名字(AlexCosmicValid_sig_df) < - gsub(“签名\ \。”,“交流”,names(AlexCosmicValid_sig_df)) rownames(AlexCosmicValid_sig_df) <- Alex_COSMIC_rownames kable(AlexCosmicValid_sig_df[c(1:9),c(1:6)], caption="来自更新的Alexandrov签名的示例数据。")
AC1 | AC2 | AC3 | AC4 | AC5 | AC6 | |
---|---|---|---|---|---|---|
C > ACA | 0.0110983 | 0.0006827 | 0.0221723 | 0.0365 | 0.0149415 | 0.0017 |
C > ACC | 0.0091493 | 0.0006191 | 0.0178717 | 0.0309 | 0.0089609 | 0.0028 |
C > ACG | 0.0014901 | 0.0000993 | 0.0021383 | 0.0183 | 0.0022078 | 0.0005 |
C >一个行动 | 0.0062339 | 0.0003239 | 0.0162651 | 0.0243 | 0.0092069 | 0.0019 |
C > G ACA | 0.0018011 | 0.0002635 | 0.0240026 | 0.0097 | 0.0116710 | 0.0013 |
C > G ACC | 0.0025809 | 0.0002699 | 0.0121603 | 0.0054 | 0.0072921 | 0.0012 |
C > G ACG | 0.0005925 | 0.0002192 | 0.0052754 | 0.0031 | 0.0023038 | 0.0000 |
C > G行动 | 0.0029640 | 0.0006110 | 0.0232777 | 0.0054 | 0.0116962 | 0.0018 |
C > T ACA | 0.0295145 | 0.0074416 | 0.0178722 | 0.0120 | 0.0218392 | 0.0312 |
这将产生一个包含30个签名作为列向量的数据帧。为了方便和与初始签名的可比性,我们对特征进行了重新排序。为此,我们坚持Alexandrov等人在最初的出版物中选择的惯例。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)用于初始签名。
COSMIC_order_ind <- match(Alex_rownames, alex_cosmicvalid_sig_df <- AlexCosmicValid_sig_df[COSMIC_order_ind,] kable(AlexCosmicValid_sig_df[c(1:9),c(1:6)], caption=paste0("来自更新的Alexandrov的示例数据","签名,行重新排序。"))
AC1 | AC2 | AC3 | AC4 | AC5 | AC6 | |
---|---|---|---|---|---|---|
C > ACA | 0.0110983 | 0.0006827 | 0.0221723 | 0.0365 | 0.0149415 | 0.0017 |
C > ACC | 0.0091493 | 0.0006191 | 0.0178717 | 0.0309 | 0.0089609 | 0.0028 |
C > ACG | 0.0014901 | 0.0000993 | 0.0021383 | 0.0183 | 0.0022078 | 0.0005 |
C >一个行动 | 0.0062339 | 0.0003239 | 0.0162651 | 0.0243 | 0.0092069 | 0.0019 |
C > CCA | 0.0065959 | 0.0006774 | 0.0187817 | 0.0461 | 0.0096749 | 0.0101 |
C > CCC | 0.0073424 | 0.0002137 | 0.0157605 | 0.0614 | 0.0049523 | 0.0241 |
C > 20 | 0.0008928 | 0.0000068 | 0.0019634 | 0.0088 | 0.0028006 | 0.0091 |
C >有条件现金转移支付 | 0.0071866 | 0.0004163 | 0.0147229 | 0.0432 | 0.0110135 | 0.0571 |
甘氨胆酸C > | 0.0082326 | 0.0003520 | 0.0096965 | 0.0376 | 0.0118922 | 0.0024 |
注意,特征的顺序,即核苷酸交换的三核苷酸含量,从第5行开始改变,如行名所示。
对于每一组签名,YAPSA包中的函数都需要一个附加的数据帧,其中包含关于签名的元信息。在该数据帧中,您可以指定标记的绘制顺序和不同标记的颜色。在下一小节中,我们将建立这样一个数据框架。但是,相应的数据帧也存储在包中。如果加载数据(团体)
下面的代码块可以被绕过。
signature_color_vector <- c("深绿色","绿色","粉色","黄花","浅蓝色","橙色","棕色","紫色","红色","深蓝色","品红","褐红色","黄绿色","黄绿色","紫红色","浅绿色","sienna4","深粉色","深兰","海绿","grey10","grey30", "grey50","grey70","grey90") bio_process_vector <- c("自发脱胺","自发脱胺"," APOBEC","BRCA1_2","吸烟","未知","缺陷DNA MMR","紫外线照射","未知",“IG超突变”,“POL E突变”,“替莫唑胺”,“未知”,“APOBEC”,“未知”,“未知”,“未知”,“未知”,“未知”,“未知”,“未知”,“未知”,“未验证”,“未验证”,“未验证”,"nonvalidated","nonvalidated") alexinitialarti_sigind_df <- data.frame(sig=colnames(alexinitialarti_sigind_df)) alexinitialarti_sigind_df $index <- seq_len(dim(alexinitialarti_sigind_df)[1]) alexinitialarti_sigind_df $ color <- signature_colour_vector alexinitialarti_sigind_df $process <- bio_process_vector cosmic_signature_color_vector <- bio_process_vector cosmic_signature_color_vector <- c("绿色","粉色","黄花","浅蓝色","蓝色","橘红色","黄色","橙色","棕色","紫色","红色","深蓝","品红","紫红","紫红","深蓝","紫红","深红","紫红","紫红","“黄绿色”,“紫色”,“浅绿色”,“sienna4”,“深粉色”,“深兰花”,“海绿色”,“灰色”,“深灰色”,“黑色”,“黄色4”,“珊瑚2”,“巧克力2”,“海蓝色”,“梅色”,“春绿”)COSMIC_bio_process_vector <- c(“自发脱胺”,“APOBEC”,“缺陷DNA DSB修复homs。,“烟草诱变原,苯并(a)芘”,“未知”,“MSI肿瘤中发现的缺陷DNA MMR”,“紫外线照射”,“未知”,“POL eta和SHM”,“改变的POL E”,“烷基化剂,替莫唑胺”,“未知”,“APOBEC”,“未知”,“DNA MMR缺陷”,“未知”,“未知”,“未知”,“未知”,“黄曲霉毒素”,“未知”,“DNA MMR缺陷重复”,“未知”,“未知”,“未知”,“黄曲霉毒素”,“未知”,“缺陷DNA MMR”,"未知","未知","烟草口香糖","未知")AlexCosmicValid_sigInd_df <- data.frame(sig=colnames(AlexCosmicValid_sigInd_df)) AlexCosmicValid_sigInd_df$index <- seq_len(dim(AlexCosmicValid_sigInd_df)[1]) AlexCosmicValid_sigInd_df$ color <- cosmic_signature_color_vector AlexCosmicValid_sigInd_df$process <- COSMIC_bio_process_vector
YAPSA还可以基于其他突变特征集进行分析。细节可以在附加的小插图中找到signature-specific达标而且Indel签名.
现在我们可以开始使用YAPSA包中的函数了。我们将从使用已知签名(即我们在上面一段加载的签名)的突变签名分析开始。为此,我们将使用函数液晶显示器
而且LCD_complex_cutoff
.
本节使用的函数在很大程度上是Julian Gehring的包SomaticSignatures中的函数的包装器(Gehring et al. 2015).
库(BSgenome.Hsapiens.UCSC.hg19)
word_length <- 3 elimomanature2013_mutcat_list <- create_mutation_cataloggue_from_df (elimoma_nature2013_df, this_seqnames.)字段= "CHROM", this_start。字段= "POS", this_end。字段= "POS", this_PID。字段= "PID", this_subgroup。field = "SUBGROUP", this_refGenome = BSgenome.Hsapiens.UCSC. field = "SUBGROUP";hg19, this_wordLength = word_length)
这个函数create_mutation_catalogue_from_df
返回一个包含多个条目的列表对象。我们将使用一个叫做矩阵
.
名(lymphomaNature2013_mutCat_list)
## [1] "matrix" "frame"
淋巴瘤ature2013_mutcat_df <- as.data.frame(淋巴瘤ature2013_mutcat_list $matrix) kable(淋巴瘤ature2013_mutcat_df [c(1:9),c(5:10)])
4116738 | 4119027 | 4121361 | 4125240 | 4133511 | 4135350 | |
---|---|---|---|---|---|---|
C > ACA | 127 | 31 | 72 | 34 | 49 | 75 |
C > ACC | 104 | 36 | 39 | 19 | 36 | 80 |
C > ACG | 13 | 2 | 2 | 1 | 6 | 8 |
C >一个行动 | 102 | 33 | 48 | 22 | 47 | 56 |
C > CCA | 139 | 43 | 47 | 29 | 51 | 70 |
C > CCC | 66 | 34 | 35 | 7 | 25 | 42 |
C > 20 | 9 | 7 | 6 | 3. | 7 | 11 |
C >有条件现金转移支付 | 167 | 47 | 50 | 32 | 58 | 84 |
甘氨胆酸C > | 90 | 47 | 66 | 29 | 45 | 66 |
的液晶显示器
函数将一个突变目录分解为一个先验的已知签名和这些签名各自的暴露,如本小插图的第二部分所述。我们用的是(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)浏览COSMIC网站(https://cancer.sanger.ac.uk/cosmic/signatures_v2).
current_sig_df <- AlexCosmicValid_sig_df current_sigInd_df <- AlexCosmicValid_sigInd_df淋巴瘤ature2013_cosmicexposures_df <- LCD(淋巴瘤ature2013_mutcat_df,current_sig_df)
一些适应性(提取和重新格式化样本属于哪个子组的信息):
COSMIC_subgroups_df <- make_subgroups_df(淋巴瘤nature2013_df,淋巴瘤anature2013_cosmicexposures_df)
可以使用自定义绘图函数绘制生成的签名曝光。首先是绝对曝光:
barplot(in_exposures_df =淋巴瘤ature2013_cosmicexposures_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#fig:exposures_barplot_LCD)在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD无截止(线性组合分解)
这里,因为没有给绘图函数颜色信息exposures_barplot
,已识别的签名用彩虹调色板着色。如果希望为签名分配颜色,可以通过类型的数据结构实现sigInd_df
.
exposures_barplot(in_exposures_df =淋巴瘤ature2013_cosmicexposures_df, in_signatures_ind_df = current_sigInd_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#fig:exposures_barplot_LCD_sig_ind)在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD无截止(线性组合分解)
这个数字的颜色编码符合我们的需要,但有一个轻微的不一致:颜色编码分配给所有30个提供的签名,即使其中一些可能在这个队列中没有任何贡献:
rowSums (lymphomaNature2013_COSMICExposures_df)
## ac1 ac2 ac3 ac4 ac5 ac6 ## 7600.27525 6876.09167 7532.32331 0.00000 11400.54366 165.58927 ## ac7 ac8 ac9 ac10 ac11 ac12 ## 1360.82415 10792.42959 40780.48663 750.23833 2330.47326 1416.83092 ## ac13 ac14 ac15 ac16 ac17 ac18 ## 1278.21698 972.57326 1277.88700 1616.06653 10715.25678 1345.94160 ## ac19 ac20 ac21 ac22 ac23 ac24 ## 1269.85447 231.99906 909.70507 48.66667 61.22117 0.00000 ## ac25 ac26 ac27 ac28 ac30 ## 639.24910 258.01427 4768.12968 76.81338 4745.15419
这可以通过使用来克服LCD_complex_cutoff
.它需要一个额外的参数:in_cutoff_vector
;这已经是更一般的框架了,将在下一节中更详细地解释。
<- rep(0,dim(current_sig_df)[2]) CosmicValid_cutoffZero_LCDlist <- LCD_complex_cutoff(in_mutation_catalogue_df = lymphomaNature2013_mutCat_df, in_signatures_df = current_sig_df, in_cutoff_vector = zero_cutoff_vector, in_sig_ind_df = current_sigInd_df)
我们可以重新创建子组信息(即使这与已经确定的相同):
COSMIC_subgroups_df <- make_subgroups_df(cosmoa_nature2013_df, CosmicValid_cutoffZero_LCDlist$exposure)
如果我们把它画出来,我们得到:
exposures_barplot(in_exposures_df = CosmicValid_cutoffZero_LCDlist$exposure, in_signatures_ind_df = CosmicValid_cutoffZero_LCDlist$out_sig_ind_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#fig:exposures_barplot_abs_cutoffZero)在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD(线性组合分解)无截止。
注意,这一次,图例中只显示了对这个队列有实际贡献的28个签名。
当然,相对曝光也可以绘制:
exposures_barplot(in_exposures_df = cosmicvalid_cutoffzero_ldlist $norm_exposure, in_signatures_ind_df = cosmicvalid_cutoffzero_ldlist $out_sig_ind_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#fig:exposures_barplot_rel_cutoffZero)在淋巴瘤突变目录中COSMIC特征的相对暴露,LCD(线性组合分解)无截止。
现在让我们重新运行分析,使用一个截止来丢弃队列范围内贡献不足的签名。
my_cutoff < - 0.06
0.06的临界值意味着,如果一个签名的暴露量至少代表队列中所有snv的6%,则该签名被保留。我们将使用这个函数LCD_complex_cutoff
而不是液晶显示器
.
general_cutoff_vector <- rep(my_cutoff,dim(current_sig_df)[2]) CosmicValid_cutoffGen_LCDlist <- LCD_complex_cutoff(in_mutation_catalogue_df = lymphomaNature2013_mutCat_df, in_signatures_df = current_sig_df, in_cutoff_vector = general_cutoff_vector, in_sig_ind_df = current_sigInd_df)
在选定的截止点0.06处,我们还剩下6个签名。我们可以详细了解这些特征及其相应的生物过程:
kable(CosmicValid_cutoffGen_LCDlist$out_sig_ind_df, row.names=FALSE, caption=paste0("签名与队列范围的曝光> ",my_cutoff))
团体 | 指数 | 颜色 | 过程 |
---|---|---|---|
AC1 | 1 | 绿色 | 自发的脱氨基作用 |
AC3 | 3. | 秋麒麟草属植物 | 缺陷DNA DSB修复家园。recomb。 |
AC5 | 5 | 蓝色的 | 未知的 |
AC8 | 8 | 橙色 | 未知的 |
AC9 | 9 | 棕色(的) | POL eta和SHM |
AC17 | 17 | lightgreen | 未知的 |
我们可以画出绝对曝光量:
exposures_barplot(in_exposures_df = CosmicValid_cutoffGen_LCDlist$exposure, in_signatures_ind_df = CosmicValid_cutoffGen_LCDlist$out_sig_ind_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#图:exposures_barplot_abs_cutoffGen)在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD的截止值为6%(线性组合分解)。
和相对风险:
exposures_barplot(in_exposures_df = CosmicValid_cutoffGen_LCDlist$norm_exposure, in_signatures_ind_df = CosmicValid_cutoffGen_LCDlist$out_sig_ind_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#图:exposures_barplot_rel_cutoffGen)在淋巴瘤突变目录中的COSMIC特征的相对暴露,LCD(线性组合分解)的截止率为6%。
当使用LCD_complex_cutoff
,我们必须提供一个截点向量,它的分量和签名的分量一样多。在上面进行的分析中,这些都是相等的,但这不是一个必要条件。实际上,为不同的签名提供不同的截断可能是有意义的。
Specific_cutoff_vector <- general_cutoff_vector Specific_cutoff_vector [c(1,5)] <- 0 Specific_cutoff_vector
# # [1] 0.00 0.06 0.06 0.06 0.00 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 - 0.06 # # [16] 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06
在本例中,签名AC1和AC5的截止值因此设置为0,而所有其他签名的截止值保持为0.06。运行函数LCD_complex_cutoff
完全是类似的:
CosmicValid_cutoffSpec_LCDlist <- LCD_complex_cutoff(in_mutation_catalogue_df =淋巴瘤ature2013_mutcat_df, in_signatures_df = current_sig_df, in_cutoff_vector = specific_cutoff_vector, in_sig_ind_df = current_sigInd_df)
为可视化绘制绝对曝光量:
exposures_barplot(in_exposures_df = CosmicValid_cutoffSpec_LCDlist$exposure, in_signatures_ind_df = CosmicValid_cutoffSpec_LCDlist$out_sig_ind_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#fig:exposures_barplot_abs_cutoffSpec)在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD的截止值为6%(线性组合分解)。
和相对风险:
barplot(in_exposures_df = CosmicValid_cutoffSpec_LCDlist$norm_exposure, in_signatures_ind_df = CosmicValid_cutoffSpec_LCDlist$out_sig_ind_df, in_subgroups_df = COSMIC_subgroups_df)
##警告:' offset '已弃用,请使用' location '代替。
(#图:exposures_barplot_rel_cutoffSpec)在淋巴瘤突变目录中的COSMIC特征的相对暴露,LCD(线性组合分解)的截止率为6%。
注意,使用特定于签名的截止提取的签名与此处显示的示例相同。根据分析的队列和截断的选择,提取的签名可能有很大的差异。YAPSA的一个独特特性是它还提供了最佳的特定于签名的截止,这个主题在另一篇文章中进行了解释装饰图案.
为了识别暴露于相似突变过程的样品组,可以比较样品的暴露向量。YAPSA包为这个任务提供了一个自定义函数:complex_heatmap_exposures
,使用该软件包ComplexHeatmap由Zuguang顾(2015年Z Gu).它产生如下输出:
complex_heatmap_exposure (CosmicValid_cutoffGen_LCDlist$norm_exposure, COSMIC_subgroups_df, CosmicValid_cutoffGen_LCDlist$out_sig_ind_df, in_data_type="norm exposure ", in_subgroup_color_column ="col", in_method="manhattan", in_subgroup_column="subgroup")
##警告:输入是一个数据帧,将其转换为矩阵。
(#图:apply_heatmap_exposure)基于COSMIC标记在淋巴瘤突变目录中的相对暴露的样本和标记的聚类。
如果您只对群集感兴趣而对热图信息不感兴趣,您还可以使用hclust_exposures
:
hclust_list <- hclust_exposure (CosmicValid_cutoffGen_LCDlist$norm_exposure, COSMIC_subgroups_df, in_method="manhattan", in_subgroup_column="subgroup")
由任一函数产生的树状图complex_heatmap_exposures
或函数hclust_exposures
可以被切割以产生特定于pid子组的特征暴露。
cluster_vector <- cutree(hcluster_list $hclust,k=4) COSMIC_subgroups_df$cluster <- cluster_vector subgroup_color_vector <- rainbow(length(unique(COSMIC_subgroups_df$cluster)) COSMIC_subgroups_df$cluster_col <- subgroup_color_vector [factor(COSMIC_subgroups_df$cluster)] complex_heatmap_exposed (CosmicValid_cutoffGen_LCDlist$ norm_exposed, COSMIC_subgroups_df, CosmicValid_cutoffGen_LCDlist$out_sig_ind_df, in_data_type="norm exposed ", in_subgroup_color_column ="cluster_col",in_method =“曼哈顿”,in_subgroup_column =“集群”)
##警告:输入是一个数据帧,将其转换为矩阵。
(#fig:cluster_PIDs_sig_info)从签名分析中提取的集群标记的pid。
Alexandrov磅。2012。“WTSI突变签名框架。”
Alexandrov, LB, J Kim, NJ Haradhvala, MN Huang, AW Ng, A Boot, KR Covington,等。2018。"人类癌症突变特征的集合"Bioarxiv.bioarxiv。
Alexandrov, LB, S Nik-Zainal, DC Wedge, SA Aparicio, S Behjati, AV Biankin, GR Bignell,等。2013。"癌症突变过程的特征"自然.自然出版集团。
Alexandrov, LB, S Nik-Zainal, DC Wedge, PJ Campbell, MR Stratton. 2013。"破译人类癌症突变过程的信号"细胞的报道.
Gehring, Julian, Bernd Fischer, Michael Lawrence, Wolfgang Huber, 2015。《躯体特征:从单核苷酸变异推断突变特征》生物信息学.牛津期刊。
顾,z . 2015。“ComplexHeatmap:制作复杂的热图。”R包版本1.4.4.
顾,Zuguang。2015。“基因组级网格布局。”R包版本1.0.0.
raaue, Andreas, C. Kreutz, T. Maiwald, J. Bachmann, M. Schilling, U. Klingmüller, J. Timmer. 2009。利用剖面似然分析部分观测动力模型的结构和实用可识别性。利用剖面似然分析部分观测动力模型的结构和实际可识别性生物信息学.
罗森塔尔,瑞秋,尼古拉斯·麦克格拉纳汉,哈维尔·埃雷罗,巴里·s·泰勒,查尔斯·斯旺顿,2016年。解构:描述单个肿瘤的突变过程,区分DNA修复缺陷和癌症进化模式。基因组生物学.生物医学中心。