用Amos软件包里面的minimus2合并454和Illumina/Solexa拼接得到的contig

用罗氏454测序得到的序列用newbler拼接的效果最好,而用短序列拼接软件velvet拼接效果很差,所以不能将454的原始reads和Illumina产生的reads合到一起后用velvet进行拼接。在用newbler和velvet分别拼接454和Illumina的reads得到contigs之后,我们就需要将两者的contig再合并起来,得到更好的拼接结果。这里就介绍一个简单易用的软件minimus2。

minimus2是amos拼接软件包里面的一个组件,它的功能就是将两组contig进行合并,延伸contig的长度,减少contig的数量。Amos是A Modular, Open-Source whole genome assembler的缩写,致力于打造成一个拼接软件的基础软件系统。minimus2用的是基于nucmer overlap检测的算法,速度上比Smith-Waterman hash-overlap的算法要快,下面就介绍一下用法。

首先当然是下载amos软件包进行安装,下载地址为:http://sourceforge.net/projects/amos/files/

安装啥的就不说了,根据说明来就行。安装完成之后,minimus2软件位于amos安装文件夹下的bin里面。在运行minimus2之前首先要准备好文件,比如现在有s1.fa和s2.fa两组包含contig的文件,首先要知道里面包含的contig数目,针对fasta格式,用

grep -c "^>" s1.fa s2.fa  命令得到,比如分别为100和200个contig。

然后用cat命令合并到一个文件:

cat s1.fa s2.fa >s1_s2.fa

再用amos里面的另一个软件toAmos转换成Amos格式,这个软件也位于bin文件夹下面

./toAmos -s s1_s2.fa -o s1_s2.afg
这里的-s是指输入的为fasta格式。

然后就可以运行minimus2了

minimus2的运行参数为:

 minimus2 prefix  \
   -D REFCOUNT=n  \  # Number of sequences is the first set
   -D OVERLAP=n   \  # Minimum overlap (Default 40bp)
   -D CONSERR=f   \  # Maximum consensus error (0..1) (Def 0.06)
   -D MINID=n     \  # Minimum overlap %id for align. (Def 94)
   -D MAXTRIM=n      # Maximum sequence trimming length (Def 20bp)
最简单的命令为:
./minimus2 s1_s2 -D REFCOUNT=100

这里只要告诉文件名(不要后缀)和作为参考序列的第一组contig的数目就可以了。会生成一堆以s1_s2开头的文件,其中s1_s2.fasta就是合并之后得到的contig文件。

大功告成!

Join the Conversation

13 Comments

  1. 请问,你知道怎么把solexa的pair-end的fastq格式的数据转换成amos能理解的格式吗?我找了好几天也没找到这方面的资料~

  2. 楼主.您安装完AMOS之后minmus就在bin里面了么?我们安转完之后大多数包都在,但是toAMOS和minmus2怎么没有呢?需要之前安装什么其他的包么?多谢!

  3. 问一下,configure时缺少show-coords在哪里下载,楼主知道不?

  4. 楼主,不知道为什么,现在装amos装不上了,configure的时候没有错误,make的时候出现
    make[3]: *** No rule to make target `../../src/Align/libAlign.a’, needed by `hash-overlap’. Stop.
    make[3]: *** Waiting for unfinished jobs….
    然后就退出编译了,楼主知道为什么么,是不是我少装了什么?网上说No rule to make target是因为makefile里面路径没写对,不知道怎么改,郁闷

  5. 楼主你好!
    我现在有小部分454数据。。用Newbler装成了contigs(大约9.4M contigs)。。然后还有大量Solexa的数据。。用SOAPdenovo也装成了contigs(大约装成了134Mcontig)。。现在我用amos的minimus2合并二者。。结果才得到了17K的合并后fasta。。悲剧。。这是什么情况呢?麻烦楼主有空解答一下。。谢谢:D

    1. @Enhua Xia 你测的是一样的东西吗,为什么454和solexa测出来的大小差那么多呢?minimus2合并不起来说明两者之间能相互覆盖的太少了,没有合并的都被丢弃了

      1. 嗯 是同一个种 当时就只测了一小点454 可是不用吧 又心疼浪费钱

        用吧454又有点少,悲剧
        能给点意见吗
        怎么结合二者用呢?
        谢谢

        1. @Enhua Xia 要不要用454的数据看数据的质量和你后面的处理了。如果对PE的数据有补充的话可以用一下,先把reads相互map一下吧,看看重叠怎么样

Leave a comment

Leave a Reply to mt Cancel reply