查看原文
其他

生物信息百Jia软件(二十):lumpy

王通 基因学苑 2022-03-29

通哥点评

基因组结构变异SV的检测一直都是当前基因组研究中非常困难的课题,由于二代测序多长过短,因此无论在优化算法,也很难解决根本性的问题。因此,很多用于SV检测的工具都没有太理想的效果,lumpy也只是在前面软件的基础上进行优化,其实并没有根本性的解决问题,不过算是多了一种新的解决方法了。

一、功能分类:

SV检测

二、软件官网:

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

三、软件介绍:

SV检测一直是基因组研究领域的国际性难题,目前常用的方法包括四种:
第一种,利用pairend关系的reads,简称PEM的方法;
第二种,利用切割reads的方法,split read简称SR;
第三种,利用reads丰度信息,read depth简称RD;
第四种,利用序列拼接的方法;
lumpy是目前比较流行的一款SV检测工具,它同时支持PEM与SR和RD三种模式。在biostar上很多用户推荐,在lumpy所发的文章中,与Pindel,delly,gasvpro等软件比较,也有不错的效果。软件使用也非常容易,不仅支持gemrline样品,也支持somatic样品。

四、下载安装:

conda install -y lumpy

五、软件使用:

lumpy支持快速和传统两种运行方式,如果想快速使用软件默认功能,直接使用lumpyexpress软件即可。 首先我们来介绍一下lumpy软件的输入文件,只需要短序列比对之后的bam文件即可,可以是bwa比对,也可以novoalign,yaha等,最好支持split reads比对的工具。比对完成之后需要用samblaster处理一下,主要对bam文件不正常的比对结果进行标记,以便接下里进行处理。

bwa mem -R "@RG\tID:id\tSM:sample\tLB:lib" human_g1k_v37.fasta sample.1.fq sample.2.fq
   | samblaster --excludeDups --addMateTags --maxSplitCount 2 --minNonOverlap 20
   |
samtools view -S -b -
   > sample.bam

bwa mem -R "@RG\tID:id\tSM:sample\tLB:lib" human_g1k_v37.fasta sample.1.fq sample.2.fq
   | samblaster --excludeDups --addMateTags --maxSplitCount 2 --minNonOverlap 20
   | samtools view -S -b -
   > sample.bam
接下来,从samblaster处理的bam文件中,将split比对和discordant比对的分别提取出来。 首先利用samtools view工具,设置-F 为1294,将discordant的比对提取出来,这里我们同时利用samtools sort进行排序,

samtools view -b -F 1294 sample.bam | samtools sort - > sample.discordants.sorted.bam

接下来,利用软件只带的extractSplitReads_BwaMem将splitreads提取出来,同样直接输出排序后的结果。

samtools view -h sample.bam | scripts/extractSplitReads_BwaMem -i stdin | samtools view -Sb - | samtools sort -   > sample.splitters.sorted.bam

利用lumpyexpress进行SV检测

lumpyexpress -B sample.bam -S sample.splitters.sort.bam -D sample.discordants.sort.bam  -o output.vcf

六、使用案例:

tumor-normal样品

lumpyexpress -B tumor.bam,normal.bam -S tumor.splitters.bam,normal.splitters.bam -D   tumor.discordants.bam,normal.discordants.bam -o tumor_normal.vcf

七、注意事项:

1、如果一次处理多个样品,可以添加多个pe和sr的选项,只不过每个单独设置id,bam_file等选项即可;
2、bwa比对之后的bam文件处理samtools处理之外,还需要进行一些处理,不能直接输入给程序。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存