如何使用lumpy进行CNV检测

发布时间:2021-07-24 09:54:40 作者:chen
来源:亿速云 阅读:415

本篇内容主要讲解“如何使用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检测”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 如何检测tensorflow是否使用gpu进行计算
  2. 基于SNP芯片进行CNV分析中的基本知识点是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

cnv

上一篇:ThreadLocal的原理是什么

下一篇:怎么使用CNVnator进行CNV检测

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》