内容

库(BiocStyle)

1简介

突变签名的概念是由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)如下:

  1. snv是根据它们的核苷酸交换来分类的。总的来说\(4 \乘以3 = 12\)不同的核苷酸交换,但如果只对反向补体求和\(12 / 2 = 6\)剩下不同的类别。对于每一个检测到的SNV,提取SNV位置周围的motif上下文。如果在SNV位置的上游和下游分别取一个碱基,这可能是一个三核苷酸上下文,但也可以取更大的基序(如五聚体)。考虑到基序上下文增加了组合的复杂性:在三核苷酸上下文的情况下,有\(4 \乘6\乘4 = 96\)类别不同的变体。这些分类被称为特性在下面的文本中。将调用的功能的数量\ (n \)
  2. 一个队列由不同的样本组成,样本的数量表示为\ \(米).对于每个样本,我们可以计算每个特征的出现次数,得到一个\ (n \)维向量(\ (n \)每个样本的特征个数)。对于一个队列,我们得到一个\ (n \乘以m \)-维矩阵,称为突变目录\ \ (V).它可以理解为一个摘要,说明了哪个样本有多少个哪一类的变异,但省略了变异的基因组坐标信息。
  3. 突变目录\ \ (V)是相当大的,仍然有很多复杂性。对许多分析来说,降低复杂性是可取的。实现这种复杂性降低的一种方法是矩阵分解:我们想找到两个较小的矩阵\ (W \)而且\ \ (H)如果相乘,会跨越大矩阵复杂度的很大一部分\ \ (V)(突变目录)。记住,\ \ (V)是一个\ (n \乘以m \)维矩阵,\ (n \)就是特征的数量\ \(米)就是样本的个数。\ (W \)在这个设置中是l \ \ (n \倍)维矩阵和\ \ (H)是一个\ (l \乘以m \)维矩阵。根据定义的命名术语(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)的列\ (W \)被称为“突变的签名和列\ \ (H)被称为曝光\ (l \)表示突变签名的数量。因此签名是\ (n \)维向量(\ (n \)是特征的数量),而曝光是\ (l \)维向量(\ (l \)就是签名的数量)。注意,由于我们处理的是计数数据,所以我们希望只有正的条目\ (W \)而且\ \ (H).一种能够进行这种分解的数学方法是NMF非负矩阵分解).它基本上解决了如下图所示的问题(图片取自https://en.wikipedia.org/wiki/Non-negative_matrix_factorization):
NMF

NMF

注意,对于给定数量的签名,NMF本身解决了上述问题\ (l \).为了降低复杂度,签名的数量必须小于特征的数量($l < $n),如上图所示。Ludmil Alexandrov等人的框架。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)不仅进行NMF分解本身,而且通过迭代过程确定适当的签名数量。

另一个软件,Bioconductor软件包SomaticSignatures执行突变特征分析,是可用的(Gehring et al. 2015).它允许用NMF或主成分分析(PCA)执行矩阵分解。这两种方法都有共同之处发现,即为新签名的提取.然而,它们只有在分析的数据集具有足够的统计能力时才有效,即有足够数量的样本和每个样本的每个特征有足够数量的计数。

这里介绍的YAPSA软件包是对这些现有软件包的补充。它被设计用于对突变特征的监督分析,即对已知特征的分析\ (W \),对输入数据的统计能力要求较低。

2YAPSA包

在突变标记的环境中\ (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还有其他一些独特的功能,我们将在下面简要介绍并在单独的小章节中详细介绍。

2.1线性组合分解(LCD)

下面,我们将表示的列\ \ (V)通过\ (V_ {(\ cdot j)} \),对应样本的突变目录\ (j \).的列\ \ (H)通过\ (H_ {(\ cdot j)} \),为样品的曝光向量\ (j \).然后液晶显示器为解决优化问题而设计:

  1. \[开始\{对齐}\ min_ {H_ {(\ cdot j)} \中\ mathbb {R} ^ l} | | W \ cdot H_ {(\ cdot j)} - V_ {(\ cdot j)} | |给所有j \ \四\ \{1…m\} \\ \textrm{在非负性约束下:}\quad H_{(ij)} >= 0 \quad \forall i \in \{1…L \} \quad \forall j \in \{1…m \} \{对齐}结束\]

记住,\ (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和相应的函数whichSignaturesdeconstructSigs是,LCD_complex_cutoff接受不同的截止和特定于签名的截止(考虑到不同签名的潜在不同可检测性),而在whichSignaturesdeconstructSigs一般固定截止设置为0.06。在下面,我们简要地提到软件包YAPSA的其他特性,并参考相应的小章节进行详细描述。

2.2Signature-specific达标

YAPSA的一个特殊特性是,它提供了执行带有签名特定截止的突变签名分析的机会。不同的签名具有不同的可检测性。那些具有高可检测性的呼叫将更频繁地出现为假阳性呼叫。为了解释不同的可检测性,我们引入了特定于签名的截断的概念:导致许多假阳性调用的签名必须比很少导致假阳性调用的签名跨越更高的阈值。这篇短文介绍一般来说,如何使用特定于签名的截止,给出了签名特定的最优截止2.Signature-specific达标

2.3突变特征暴露的置信区间

为了评估计算出的突变特征暴露的置信度,YAPSA提供了95%置信区间(ci)。计算依赖于剖面似然的概念(劳伊等,2009).详情可参阅3.置信区间

2.4突变目录(SMC)的分层

对于某些问题,将队列样本中检测到的snv分配到类别是有用的。我们把考虑到这些地层的突变特征分析称为a分层分析,它有可能揭示富集和消耗模式。值得注意的是,这不同于对不同地层的突变特征进行完全独立的NNLS分析。相反,非分层分析的结果被用作对地层进行约束分析的输入。详情可参阅4.突变特征的分层分析

2.5Indel签名

最近,泛癌症全基因组分析(PCAWG)联盟发表了一组新的和扩展的突变签名(Alexandrov et al. 2018).除了扩展的SNV突变特征集外,该分析首次具有足够的统计能力,基于将Indels分类为83个类别或特征,提取17个Indel特征。YAPSA还提供了对这些Indel签名上的突变签名进行监督分析的功能,详细信息可以在5.Indel特征分析

3.例如:b细胞淋巴瘤队列

我们现在将把YAPSA包的一些功能应用于Alexandrov等人发表的全基因组测序数据集。(2013).首先,我们必须加载这些数据并获得一个概述(第一小节).然后,我们将载入已发布签名的数据(第二小节).只有在第三小节我们将开始使用YAPSA函数。

库(YAPSA)库(knitr) opts_chunk$set(echo=TRUE) opts_chunk$set(图show='asis')

3.1示例数据

在接下来的文章中,我们将加载并概述Alexandrov等人在分析中使用的数据。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013)

3.1.1加载示例数据

数据(“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

3.1.2显示示例数据

雨量图提供了一个样本的突变负荷的快速概述。为此,我们必须计算互变距离。但首先我们还是要重新格式化…

淋巴瘤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"))

图示淋巴瘤样本典型的雨点图,如在免疫球蛋白位点处,突变密度聚集增加。

3.2加载签名信息

如上所述以上,是YAPSA包中的一个功能(液晶显示器)用于对已知签名进行突变签名分析。签名数据(至少)有两种可能的来源:i)最初由Alexandrov等人发表的那些。(Alexandrov, Nik-Zainal, Wedge, Aparicio等,2013),以及ii)由Ludmil Alexandrov维护一组更新和策划的当前突变签名http://cancer.sanger.ac.uk/cosmic/signatures.以下三个小节描述如何从这些资源加载数据。或者,您可以绕过以下三个子部分,因为签名数据集也包含在这个包中:

数据(团体)

3.2.1之上加载初始签名集

我们首先加载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)],标题=“来自最初亚历山德罗夫签名的示例数据。”)
(#tab:reformat_old_sigs)初始Alexandrov签名的示例数据。
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个签名。

3.2.2加载更新的突变签名集

一个更新的和策划的突变签名集由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签名的示例数据。")
(#tab:load_sigs)来自更新的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的示例数据","签名,行重新排序。"))
(#tab:reorder_features)更新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行开始改变,如行名所示。

3.2.3为以后的分析做准备

对于每一组签名,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签名

3.3执行LCD分析

现在我们可以开始使用YAPSA包中的函数了。我们将从使用已知签名(即我们在上面一段加载的签名)的突变签名分析开始。为此,我们将使用函数液晶显示器而且LCD_complex_cutoff

3.3.1建立突变目录

本节使用的函数在很大程度上是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

3.3.2液晶分析无任何截止

液晶显示器函数将一个突变目录分解为一个先验的已知签名和这些签名各自的暴露,如本小插图的第二部分所述。我们用的是(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 '代替。
淋巴瘤突变目录中的COSMIC特征绝对暴露,液晶显示无截止(线性组合分解)

(#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 '代替。
淋巴瘤突变目录中的COSMIC特征绝对暴露,液晶显示无截止(线性组合分解)

(#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 '代替。
淋巴瘤突变目录中的COSMIC特征绝对暴露,LCD(线性组合分解)无截止。

(#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 '代替。
淋巴瘤突变目录中COSMIC特征的相对暴露,LCD(线性组合分解)无截止。

(#fig:exposures_barplot_rel_cutoffZero)在淋巴瘤突变目录中COSMIC特征的相对暴露,LCD(线性组合分解)无截止。

3.3.3具有广义截止的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))

表1: 全队列暴露的签名> 0.06
团体 指数 颜色 过程
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 '代替。
在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD(线性组合分解)的截止值为6%。

(#图: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 '代替。
在淋巴瘤突变目录中COSMIC特征的相对暴露,LCD(线性组合分解)的截止值为6%。

(#图:exposures_barplot_rel_cutoffGen)在淋巴瘤突变目录中的COSMIC特征的相对暴露,LCD(线性组合分解)的截止率为6%。

3.3.4带有特定信号截止的LCD分析

当使用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 '代替。
在淋巴瘤突变目录中COSMIC特征的绝对暴露,LCD(线性组合分解)的截止值为6%。

(#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 '代替。
在淋巴瘤突变目录中COSMIC特征的相对暴露,LCD(线性组合分解)的截止值为6%。

(#图:exposures_barplot_rel_cutoffSpec)在淋巴瘤突变目录中的COSMIC特征的相对暴露,LCD(线性组合分解)的截止率为6%。

注意,使用特定于签名的截止提取的签名与此处显示的示例相同。根据分析的队列和截断的选择,提取的签名可能有很大的差异。YAPSA的一个独特特性是它还提供了最佳的特定于签名的截止,这个主题在另一篇文章中进行了解释装饰图案

3.4根据它们的特征曝光将样本聚类

为了识别暴露于相似突变过程的样品组,可以比较样品的暴露向量。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")
##警告:输入是一个数据帧,将其转换为矩阵。
基于COSMIC标记在淋巴瘤突变目录中的相对暴露的样本和标记的聚类。

(#图: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 =“集群”)
##警告:输入是一个数据帧,将其转换为矩阵。
由从签名分析中提取的簇标记的pid。

(#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修复缺陷和癌症进化模式。基因组生物学.生物医学中心。