如何使用lumpy进行CNV检测

本篇内容主要讲解“如何使用lumpy进行CNV检测”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用lumpy进行CNV检测”吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名雅安服务器托管、营销软件、网站建设、兰坪网站维护、网站推广。

基于全基因组数据分析CNV, 有以下4种经典策略

  1. read-pair

  2. split-read

  3. read-depth

  4. assembly

每种算法都要其优势和不足之处,综合运用多种策略有助于提高检测的灵敏度,lumpy就是这样一款软件,集合了read-pair,split-read,read-depth, 等多种策略来预测CNV,文章链接如下

https://genomebiology.biomedcentral.com/articles/10.1186/gb-2014-15-6-r84

源代码保存在github上,网址如下

https://github.com/arq5x/lumpy-sv

分析的pipeline示意如下

如何使用lumpy进行CNV检测

如图A所示,对于单个样本,综合了read-pair, split-read, read-depth和已知的CNV位点4种信号来预测CNV;如图B所示,对于多个样本,综合多个样本的信号来预测CNV。

lumpy的框架是非常灵活的,扩展性很高,可以将其他分析软件的结果作为输入,比如将cnvnator的输出作为已知CNV的信号。在文章中,将lumpy和其他软件进行了比较,结果如下所示

如何使用lumpy进行CNV检测

在不同测序深度下,lumpy的灵敏度都高于其他软件,而且假阳性率最低。
使用lumpy进行CNV检测的步骤如下

1. mapping

推荐采用bwa-mem算法将双端序列比对到参考基因组上,为了加快运行速度,这里用samblaster软件进行markduplicate, 用法如下

bwa mem \
-R "@RG\tID:id\tSM:sample\tLB:lib" \
hg19_bwa_index \
sample_R1.fastq.gz sample_R2.fastq.gz \
| samblaster --excludeDups \
--addMateTags  \
--maxSplitCount 2 \
--minNonOverlap 20 \
| samtools view -Sb - > sample.bam

为了节省磁盘空间,最终生成了bam格式的文件。

2. extract discordant paired-end alignments

discordant reads指的是R1和R2端比对之间的距离超过了期望的插入片段长度或者比对到了不同链的reads, 具体可以参考以下链接

https://www.biostars.org/p/278412/

这些reads比对情况可能是由于基因组结构变异引起的,所以很多的结构变异软件都会针对这部分reads来进行分析,提取的代码如下

samtools view -b -F 1294 \
sample.bam \
> sample.discordants.unsorted.bam

相当于提取了原始bam文件的一个子集。

3. extract split-reads alignments

split-reads指的是覆盖了断裂点的单端reads,这些reads根据断裂点拆分成subreads后可以正确的比多到参考基因组上。在软件的安装目录,自带了一个名为extractSplitReads_BwaMem的脚本,用于提取split-reads, 用法如下

samtools view -h sample.bam \
| scripts/extractSplitReads_BwaMem -i stdin \
| samtools view -Sb - \
> sample.splitters.unsorted.bam
4. sort bams

软件要求输入的bam文件必须是排序之后的文件,所以对提取的两个子bam进行排序,用法如下

samtools sort \
sample.discordants.unsorted.bam \
sample.discordants
samtools sort \
sample.splitters.unsorted.bam \
sample.splitters
5. run  lumpy

lumpyexpress是lumpy的一个封装脚本,使用起来更加方便,基本用法如下

lumpyexpress \
-B sample.bam \
-S sample.splitters.bam \
-D sample.discordants.bam \
-o sample.vcf
6. genotype

检测到的CNV, 可以用svtyper这个软件预测在样本中的分型结果,用法如下

svtyper \
-B sample.bam \
-S sample.splitters.bam \
-i sample.vcf
> sample.gt.vcf

lumpy软件灵敏度很高,对于低深度的全基因组数据,也能有很好的表现,这里只是展示了基本用法,更多用法请参考官方文档。

到此,相信大家对“如何使用lumpy进行CNV检测”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章名称:如何使用lumpy进行CNV检测
文章链接:http://hbruida.cn/article/joigdd.html