目前用于新一代的测序的主要仪器有Illumina/Solexa的Genome Analyzer、ABI的Solid和Roche的454,它们都能高通量的测序,产生大量的测序结果,接下来就要对序列进行拼接,用于拼接的软件也有 很多,比如velvet、soap、abyss、maq等,454的还有专门的newbler。平时用velvet比较多,就简单介绍一下。
velvet对短序列的拼接效果比较好,所以多用于对Illumina等产生的短序列片段进行组装拼接。下面以Illumina的GAII产生的结果为例进行说明。
一、单端测序
单端测序可以直接对fastq格式的原始文件进行处理,首先是用velveth命令建立hash表子集
输入./velveth会出来使用帮助:
Usage:
./velveth directory hash_length {[-file_format][-read_type] filename} [options]
directory : directory name for output files
hash_length : odd integer (if even, it will be decremented) <= 75 (if above, will be reduced)
filename : path to sequence file or – for standard input
File format options:
-fasta
-fastq
-fasta.gz
-fastq.gz
-eland
-gerald
Read type options:
-short
-shortPaired
-short2
-shortPaired2
-long
-longPaired
Options:
-strand_specific : for strand specific transcriptome sequencing data (default: off)
Output:
directory/Roadmaps
directory/Sequences
这一步主要是要确定使用的hash值,hash值必须为奇数,且小于MAXKMERLENGTH,这个值默认为31,但是在安装的时候可以调整。具体的命令可以是:
velveth result 29 -fastq -short sequence.fastq
建立hash子集后用velvetg命令进行组装,输入./velvetg也会出来帮助:
Usage:
./velvetg directory [options]directory : working directory name
Standard options:
-cov_cutoff <floating-point|auto> : removal of low coverage nodes AFTER tour bus or allow the system to infer it
(default: no removal)
-ins_length <integer> : expected distance between two paired end reads (default: no read pairing)
-read_trkg <yes|no> : tracking of short read positions in assembly (default: no tracking)
-min_contig_lgth <integer> : minimum contig length exported to contigs.fa file (default: hash length * 2)
-amos_file <yes|no> : export assembly to AMOS file (default: no export)
-exp_cov <floating point|auto> : expected coverage of unique regions or allow the system to infer it
(default: no long or paired-end read resolution)Advanced options:
-ins_length2 <integer> : expected distance between two paired-end reads in the second short-read dataset (default: no read pairing)
-ins_length_long <integer> : expected distance between two long paired-end reads (default: no read pairing)
-ins_length*_sd <integer> : est. standard deviation of respective dataset (default: 10% of corresponding length)
[replace '*' by nothing, '2' or '_long' as necessary]
-scaffolding <yes|no> : scaffolding of contigs used paired end information (default: on)
-max_branch_length <integer> : maximum length in base pair of bubble (default: 100)
-max_divergence <floating-point>: maximum divergence rate between two branches in a bubble (default: 0.2)
-max_gap_count <integer> : maximum number of gaps allowed in the alignment of the two branches of a bubble (default: 3)
-min_pair_count <integer> : minimum number of paired end connections to justify the scaffolding of two long contigs (default: 10)
-max_coverage <floating point> : removal of high coverage nodes AFTER tour bus (default: no removal)
-long_mult_cutoff <int> : minimum number of long reads required to merge contigs (default: 2)
-unused_reads <yes|no> : export unused reads in UnusedReads.fa file (default: no)Output:
directory/contigs.fa : fasta file of contigs longer than twice hash length
directory/stats.txt : stats file (tab-spaced) useful for determining appropriate coverage cutoff
directory/LastGraph : special formatted file with all the information on the final graph
directory/velvet_asm.afg : (if requested) AMOS compatible assembly file
这里主要用到的参数是-cov_cutoff(覆盖度)这个参数,其他都可不加,其实覆盖度参数也可以省略,但是最好还是加上,增加可靠性。还有 -exp_cov这个参数加上后会对重复区域进行处理,也最好加上,后面的数值用auto就可以了。其他的一些参数就根据你自己的喜好来设置。具体的命令 可以是:
velvetg result -cov_cutoff 30 -exp_cov auto -min_contig_lgth 100
最后根据出来的n50和max contig长度来判断拼接的效果,为了达到最好的拼接效果,一般要对hash值和覆盖度进行一系列的设置来进行比较。
二、双端测序
双端测序与单端测序相比在运行velveth时将-short参数改为-shortPaired,其他一样。
在运行velvetg时可加入-ins_length 和-ins_length_sd 参数提高拼接的准确性。具体命令可以是:
velvetg result -cov_cutoff 30 -ins_length 300 -ins_length_sd 100 -exp_cov auto -min_contig_lgth 100
其实运行这几个命令很简单,最重要的还是根据你的测序数据选择合适的参数。
评论