用罗氏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文件。

大功告成!
您可能感兴趣的文章:

13 Comments

mt · 03/24/2011 at 8:11 pm

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

    danpi · 05/28/2011 at 4:31 am

    Maybe CLC Genomics can do this transformation

ting · 09/02/2011 at 3:26 pm

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

    丁丁 · 09/02/2011 at 4:08 pm

    @ting 你好,我安装完就都已经在bin里面了,我安装的是amos3.0.0的包,你看看是否一样

      ting · 09/05/2011 at 3:27 pm

      我下的版本更高…我下个低的再试试看吧!多谢啦!

chengg · 11/15/2011 at 10:48 am

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

    丁丁 · 11/15/2011 at 9:35 pm

    @chengg 这个是MUMmer里面的一个软件,可以先安装MUMmer

chengg · 12/22/2011 at 8:01 pm

楼主,不知道为什么,现在装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里面路径没写对,不知道怎么改,郁闷

Enhua Xia · 01/05/2012 at 8:28 pm

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

    丁丁 · 01/05/2012 at 10:21 pm

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

      Enhua Xia · 01/17/2012 at 2:48 pm

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

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

        丁丁 · 01/25/2012 at 9:03 pm

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

Leave a Reply