【2.2】序列拼接-idba-ud
用trimmomatic我们获得了clean reads,然后呢,我们需要对这个reads 进行拼接。拼接的思路大体可以分为两种:一种叫做Overgap,一种是debrujin,前者是根据两条read序列前后部分的重叠来拼接,适用于一代测序的结果,而后者是将reads切割成更小的片段k-mers,k-mers的组合来完成拼接工作,适用于二代高通量测序。现在可以用的软件非常之多,比如说:clc(收费的),SOAPdenovo,velet等等。而我选择的是牛逼哄哄的idba_ud
idba_ud(http://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/)是一个可以针对不同测序深度的短reads的基于交互式De Bruijin作图的从头拼接软件。他从小的k-mer开始到大的的k-mer步步前进,设定阈值,短的和低深度的contigs被删掉,这样来完成低深度和高深度的拼接。
下载地址:http://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/idba_ud.php
$ ./configure
$ make
IDBA-UD - Iterative de Bruijn Graph Assembler for sequencing data with highly uneven depth.
Usage: idba_ud -r read.fa -o output_dir Allowed Options:
-o, --out arg (=out) 生成文件的文件夹
-r, --read arg fasta文件(<=128)
-l, --long_read arg fasta长read文件(>128)
--mink arg (=20) 最小的k值 (<=124)
--maxk arg (=100) 最大的k值 (<=124)
--step arg (=20) 每次增加的k-mer
--inner_mink arg (=10) inner minimum k value
--inner_step arg (=5) inner increment of k-mer
--prefix arg (=3) prefix length used to build sub k-mer table
--min_count arg (=2) minimum multiplicity for filtering k-mer when building the graph
--min_support arg (=1) minimum supoort in each iteration
--num_threads arg (=0) number of threads
--seed_kmer arg (=30) seed kmer size for alignment
--min_contig arg (=200) min size of contig
--similar arg (=0.95) similarity for alignment
--max_mismatch arg (=3) max mismatch of error correction
--min_pairs arg (=3) minimum number of pairs
--no_local do not use local assembly
--no_coverage do not iterate on coverage
--no_correct do not do correction
--pre_correction perform pre-correction before assembly
Comment
IDBA接受fasta格式的reads. Fastq格式可以通过fq2fa程序被转化为fasta文件
$ bin/fq2fa read.fq read.fa
IDBA-SC需要将paired-end reads存在一个FastA文件中,一对reads保存在两行,如果不是,可以用fq2fa来合并两个FastQ为一个。
$ bin/fq2fa --merge --filter read_1.fq read_2.fq read.fa
or convert a FastQ read file to FastA file.
$ bin/fq2fa --paired --filter read.fq read.fa
最后输入如下命令即可:
/sam/idba_ud/bin/idba_ud -r total.read.fa --maxk 90 --step 10 -o output_dir1 --num_threads 12 --min_contig 200
Ps:
- 我的50G的数据,用48G的内存,大概1天就出结果了,对这个结果还是比较满意的
- 上面的很多的参数的设置还不是太明白,一边用一边理解吧。
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn