CNV变异分析软件介绍之DECoN

CNV软件的介绍

最近在学习CNV检测软件,在查阅的时候发现有个软件比较测试的文章,大力推荐了DECoN,那我就去学习一下这个软件吧。
先说说这个软件的优点:

  • 基于经典软件ExomeDepth,采用的是Read-Depth(RD)主流检测策略。
  • 青出于蓝而胜于蓝,在ExomeDepth的基础上新增加了亮点,检测染色体上第一个外显子区域的变异
    和在隐马可夫模型中考虑了exon之间的距离这一因素。
  • 基于NGS检测CNV,基于成本的因素,DECoN可以适用于exon-based的panel测序。
  • 运行速度和存储消耗也有极大的优势,对于周期很短的临床检测样本,无疑是个很不错的选择。

文章链接:http://europepmc.org/backend/ptpmcrender.fcgi?accid=PMC5409526&blobtype=pdf

在准确性上,结果也很诱人,通过模拟数据和真实数据对软件的性能进行评估,在模拟数据集中,DECoN效果惊人,100%的灵敏度和99%的特异性。真实数据采用了illumina TruSight Cancer Panel测序的结果,最终鉴定出来24个exon CNV,用MLPA技术进行验证,有23个可以检测到,假阳性率4%。这个结果确实能压倒一大批的检测软件。

原理大家可以参考我前面写的,链接为https://www.jianshu.com/p/6301d9592d50。

CNV软件的安装。

接下来进行实际操作吧。哈哈,踩坑之后,才深感好看的玫瑰都是带刺的。

软件下载路径为:https://github.com/RahmanTeam/DECoN

docker安装方法见链接:
https://github.com/RahmanTeam/DECoN/pull/4/commits/74eec4176a48e0b1daded5e08e8292bf003137c7

我这边采用的是常规的git 安装。

git clone https://github.com/RahmanTeam/DECoN.git

官网上表示,R依赖包为3.1.2,对于其他的R,确实存在很多冲突,所以老老实实地安装3.1.2的包吧。报错信息如下。

image.png

R安装包下载路径为:https://cran.r-project.org/src/base/R-3/R-3.2.1.tar.gz。

接下来开始漫长的填坑环节了。
下载好后,目录如下,我安装的是Linux版本,因此进入该目录进行安装:


image.png

R安装好后,需要安装DECoN的依赖包,如果没有添加该版本R的环境变量的话,需要将下面的Rscript换成R-3.2.1版本的全路径Rscript。


image.png

安装包:
./setup.sh

你会发现,没有运行过久,就会缺包而运行程序退出。报错查看文件为:


image.png

其他包安装方法可以为:

source("https://bioconductor.org/biocLite.R")
biocLite("Biostrings")
biocLite("IRanges")
biocLite("Rsamtools")
biocLite("GenomicRanges")
biocLite("GenomicAlignments")
install.packages("reshape")

缺什么包补什么包吧。

CNV软件的运行及测试。

安装好后,再进行分析。分析步骤比较简单。

  • 第一步:读入并获得count矩阵。
    从原始数据得到比对后的bam文件之后,读入bam,注意文件夹里除了bam文件外还需要bai索引。这里的bam文件是bam文件集,包括实验样本和对照样本。
    脚本为:
/data/pipe_panel/software/R/R-3.1.2/bin/Rscript --default-packages=methods,datasets,utils,grDevices,graphics,stats ReadInBams.R --bams bam.list --bed target.bed --fasta ucsc.hg19.fasta -out results

bed文件的整理如下,该文件不需要表头。name表示基因名。


image.png

bam.list文件如下:


image.png

这个步骤是与参考基因组对比,将bed区域的深度从bam中提取出来,采用的函数为getBamCounts。并将结果存储为.RData格式。

在做第一步的时候发现,你只能在packrat包所在的目录下运行,无法在其他地方导入packrat包。这个是因为packrat并没有安装在R-3.1.2的library下,因此无法导入。为解决这个问题,可以在脚本中首行处将包的lib文件进行加载。另外,packrat::on需要加上全路径。
添加脚本如下:

.libPaths(c("/software/CNV/DECoN/Linux/packrat/lib/x86_64-unknown-linux-gnu/3.1.2", "/software/CNV/DECoN/Linux/packrat/lib-ext"))
packrat::on('/software/CNV/DECoN/Linux')
  • 第二步:质检
    进行质量控制,检测coverage过度的exon区域,相关性较差的样本等,用法如下:
Rscript --default-packages=methods,datasets,utils,grDevices,graphics,stats \
    IdentifyFailures.R --Rdata results.Rdata \
    --mincorr 0.98 --mincov 100 --exons hg19.BRCA.exons.bed \
    --custom TRUE --out results.corr

这一步的bed需要表头,有5列,分别是Chr、Start、End、Gene、Custom.Exon,有标题。实际上就是可以自己定义哪个位置是哪个外显子。

  • 第三步:检测CNV区域
    这里的hg19.BRCA.exons.bed和第二步的为同一个。
/data/pipe_panel/software/R/R-3.1.2/bin/Rscript --default-packages=methods,datasets,utils,grDevices,graphics,stats makeCNVcalls.R --Rdata results.RData --transProb 0.01  --custom TRUE --out result.call.cnv --plot All --plotFolder DECoNPlots --exons hg19.BRCA.exons.bed

但是也会出现报错,需要调整的地方为:
colnames(ExomeCount)[1:length(sample.names)+6]=sample.names
替换成:sample.names <- colnames(ExomeCount)[1:length(sample.names)+6]

  • 第四步:结果解读
    xxx_all.txt和xxx_custom.txt文件都是汇总结果,但是custom文件是有我们自己定义的外显子信息,另外可查看图形结果,出来图的即为阳性CNV结果。结果如下所示:
image.png

上面的折线图展示的是基因上coverage的分布,灰色代表对照样本,蓝色代表实验样本;中间展示的是基因的名称,最下方的散点图代表观测值和期望值之间的比值,灰色区域代表95%置信区间,当比值显著偏离置信区间时,认为该区域存在拷贝数变异。上图所示的红点区域代表实际观测值小于期望值,说明发生了deletion。高于观察值则为insertion。

参考:
1:https://pzweuj.github.io/2019/05/21/DECoN.html
2:https://cloud.tencent.com/developer/article/1556107

你可能感兴趣的:(CNV变异分析软件介绍之DECoN)