查看原文
其他

生物信息百Jia软件(十四):velvet

王通 基因学苑 2022-03-29

通哥点评

velvet是最早的用于二代测序的序列拼接工具,拼接效果还可以,不过我觉得不如SOAPdenovo效果好。其实也不只是觉得,也测试过很多数据,SOAPdenovo可以构建更多的scaffold序列,也就是序列的完整性更好,velvet局部准确性更高,其实也很难具体说谁更好,经常是多个工具都试一遍,然后看结果之间的差别,如果所有软件结果都可以,那么拼接的准确性就很不错。

一、功能分类:

序列拼接软件

二、软件官网:

http://www.ebi.ac.uk/~zerbino/velvet/

三、软件介绍:

velvet是比较早也比较有名的短序列拼接软件,最早发布的版本是在2007年,由欧洲分子生物学中心EBI发布。对后面的序列拼接软件产生了很大的影响。例如illumina的basespace系统,集成的就是velvet软件。它的原理和其他短序列拼接软件如SOAPdenovo和Abyss都差不多,都是基于kmer的序列拼接工具。velvet使用起来也并不难。

四、下载安装:

wget https://www.ebi.ac.uk/~zerbino/velvet/velvet_1.2.10.tgz
tar -zxvf velvet_1.2.10.tgz
cd velvet_1.2.10
make

五、软件使用:

velvet的使用分为两步,第一步是velveth利用数据构建一个hash表,第二步是velvetg进行序列拼接。
1、velveth选项参数
output_directory:输出文件夹的路径
hash_length: 设置Kmer的大小,kmer大小对于组装的结果影响比较大,
下面是文件格式,file_format: 支持的格式有fasta(默认)、fastq、bam等。
reads_type选项: short(默认)、shortpaired、short2、shortpaired2 … short10、shortpaired10、long、longPaired。

2、velvetg选项参数
首先是工作的目录,即为上一步骤velveth中的输出文件夹。
-cov_cutoff选项  default: no removal
设置最低kmer覆盖度的值。
-exp_cov 选项, default: no long or paired-end read resolution。
期望的kmer覆盖度。如果设置了auto,则该值为所有nodes的kmer覆盖度值的median值; 该值设置为auto,则同时自动设置-cov_cutoff为auto。如果对杂合基因组进行组装时,设置auto,却很难进行预测,组装结果肯定不好。auto适用于标准的基因组测序。
-long_cov_cutoff  default: no removal
移除低long-read覆盖度的nodes。
-ins_length
成对的short reads间的distance的期望值,即插入片段的平均长度。
-ins_length*
代表第组shortPaired reads, 和 velveth 中的参数相对应。
-ins_length_long
和前两个参数一样,代表longPaired reads的插入片段长度。
-ins_length_sd 此时’'代表’nothing、2、3…、long’等,和上面的3个参数相匹配;该值设置插入片段长度的标准差。有关插入片段长度和sd的如果不设置,velvet则会自动计算。velvet是将成对的reads比对到组装出来的nodes上,最后计算出一个insert size 和sd。这样做的话,可能估算的不准确,需要看velvet的运行输出信息,检测其预算是否准确。
-scaffolding  defautl: yes
是否要使用paired end信息进行scaffolds组装
-max_branch_length  default: 100
处理气泡(bubble)的参数。默认下,如果两条序列超过了100bp的位点处的kmer不一致,则将这两条序列分开成单独的contigs。
-max_divergence  default: 0.2
在一个bubble内两条branches最大的差异率(分母为较长的branch的长度)。
-max_gap_count  default: 3
在一个bubble内两条branches比对结果中,运行的最大gap数。该参数和上两个参数为重要的参数,能很大程度上影响组装结果。如果设置得松点,可分别将值设为200,0.33,5。
-min_pair_count  default: 5
默认,将两个contigs连成scaffold最少需要5对paired reads的验证。如果测序深度较大,则可以提高该值;测序深度低,则降低该值。
-long_mult_cutoff  default: 2
默认下,融合两个contigs需要最少有2个long reads验证。
-max_coverage  default: no removal
最高的覆盖度,高于此覆盖度的nodes将被删除。
-coverage_mask  default: 1
contigs最小的置信覆盖度,低于此覆盖度的contigs被maksed。
-shortMatePaired*  default: no
如果哪一个shortPaired为mate-pair library测序的结果,则需要指定该参数为yes。
-conserveLong  default: no
是否保留含有long reads的序列
-unused_reads  default: no
是否输出unused reads, 保存到 UnusedReads.fa 中。
-alignments  default: no
是否输出contig比对到参考序列的summary.
-exportFiltered  default: no
是否输出由于覆盖度的原因被过滤掉的long nodes。
-clean  default: no
是否删除所有的不能用于重新计算的中间文件
-very_clean  default: no
是否删除所有的中间文件(删除后不能重新计算)
-min_contig_lgth  default: hash length * 2
输出结果中最小的contigs长度
-amos_file  default: no

六、使用案例:

velveth output 31 -shortPaired -fastq fragment1.reads.fastq   -shortPaired2 -fastq fragment2.reads.fastq
velvetg output -exp_cov auto -cov_cutoff auto -shortMatePaired3 yes -shortMatePaired4 yes -clean yes -scaffolding yes -amos_file yes

七、结果解析:

contigs.fa 即为我们最终需要的拼接结果文件,长度2倍长于kmer的contigs。参数-scaffolding决定生成的该fasta文件是否包含scaffold序列。
stats.txt 用于决定覆盖度cutoff的统计表
PreGraph 初始的de vruijin图
Graph2 最终的de bruijin图 关于该文件中内容的解释,请见velvet PDF manual。
velvet_asm.afg AMOS兼容的组装文件,能用于AMOS基因组组装软件包
Log velvet的运行记录。

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

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