查看原文
其他

生物信息百Jia软件(九):Mummer

2018-04-14 王通 基因学苑

通哥点评
mummer具有一定的历史了,应该最早发表于1999年,是最早的全局比对软件,因为之前序列都比较短,以局部比对软件为主。mummer的出现,让我们第一次能够比较到不同物种两个完整基因组之间的差别。mummer里面的小工具比较多,有很多非常好用的小工具,例如dnadiff,但这同时也增加了学习成本。mummer的比对速度比较快,我经常用来比较两个完整的基因组。

一、功能分类:

全局比对软件

二、软件官网:

http://mummer.sourceforge.net/

三、软件介绍:

MUMmer是TRIG在1999年开发的,经历了多个版本的更新,现在最新的版本是3.0,Mummer的一个最大特点就是比对速度非常快,对资源的消耗比较少,官方的给出的数据是两个5M左右的基因组,只用20秒左右的时间就可以比对完成,消耗的内存大约是90M,它是使用一种后缀树的算法。适合台式机水平的计算机来做大型基因组之间的比对。那么在实际使用过程中,Mummer确实比对的比较快,对资源消耗也比较 42 29955 42 12757 0 0 1573 0 0:00:19 0:00:08 0:00:11 2630。
Mummer官网介绍该软件是一个多才多艺的软件包,因为它可以完成生物数据分析中很多的功能。Mummer其实是一个软件包,里面包含了很多工具,这些工具搭配起来使用,可以完成非常多的工作。例如基因组比对,共线性分析,同源序列搜索,重复序列查找,SNP和Indel检测等。

四、下载安装:

tar -zxvf MUMmer3.23.tar.gz
cd MUMmer3.23
make check
make install

五、软件使用:

mumer这个软件不常用,而使用最多的是nucmer这个程序,根据命名我们可以看出,(NUCleotide MUMmer) ,是在核酸水平进行比对的工具,其实nucmer是一个perl脚本,它是调用了mummer程序,首先找到两条序列之间准确匹配区域,然后进行延伸,在使用mgaps进行cluter程序,最终保留那些满足设定阈值的比对结果。找出全局比对的同源序列。
首先介绍一下软件包中的mummer软件,mummer的名字来源于Maximal Unique Matcher ,最大唯一性比对。mummer这个程序主要是找到参考序列和query序列之间准确匹配的区域。query最大可以有32个。mummer是不容错配的,适合用来画共线性图,但是我们通常的比对都是必须容许一定的错配和gap的,mummer比对完了之后可以使用mummerplot这个程序绘制出共线性图。
敲nucmer 后面接-h选项,会输出软件的帮助信息。

nucmer的使用也比较简单,后面接选项参数,然后是参考序列reference,query序列即可。都是fasta格式,注意这里面query只能是一个,并不像mummer软件最大支持32个。nucmer 只适用于DNA比对,有多种比对模式,我们看一下,可以选择比对在参考序列和query上都是唯一的,也就是1对1区域的比对,还可以限定参考序列区域wei1,也就是1对多的比对,还有就是可以对多对的比对。一般选择1对1唯一比对。最终会输出为delta格式文件,这种文件格式非常奇怪,非常的简洁,主要是一堆数字,最开始是程序名,然后是参考序列和query的文件,用于后续程序处理读取文件。对于delta格式的结果,mummer提供了大量工具来进行解析和处理。

首先就可以使用delta-filter工具,看名字就知道这个工具可以对delta格式进行处理。使用起来也比较简单,如果比对过程中没有选择唯一比对,这个时候也可以选用delta-filter工具,选择-1选项,过滤掉重复的比对。
首先就是使用show-snps工具,delta格式文件中记录了序列之间的单碱基错配信息,那么我们只需要使用show-snps工具处理一下即可得到snp结果,而且该工具可以进行多种输出格式的调节,非常方便。

nucmer --mum --maxgap=500 --mincluster=100 --prefix=nucmer ../../../Data/O157.fna ../../../Data/K12.fna
delta-filter -1 -q -r nucmer.delta > nucmer.filter
show-snps -C -H -I -T -r -l nucmer.filter >nucmer.snp

那么这个就是我们最终得到的参考序列与query序列之间的SNP。非常的简单。这样就非常容易的找到两个样品之间的SNP。如果序列本身碱基非常准确的话,那么得到的SNP就可以继续做后续的分析了。
另外还可以使用
show-aligns 用于显示比对,可以单独数据每个序列的比对情况。
show-coords用于显示比对坐标
show-tiling 等工具定位contig的位置,拼接完成图中可以用到。
如果两条序列之间亲缘关系比较远的话,我们可以采用promer比对,(PROtein MUMmer),和nucmer类似,只不过是将两条DNA在氨基酸水平进行比对,promer会将两条序列分别翻译成六种氨基酸模式,正反个三次。然后在氨基酸水平进行比对,这样具有更高的敏感型。注意是DNA在氨基酸水平进行比对,该软件并不支持直接的氨基酸进行比对。使用起来与nucmer类似。但是速度会慢很多,可以用于绘制共线性图,但是不适合来找SNP。
下面我们来演示一下。

promer --mum --maxgap=500 --mincluster=100 --prefix=promer ../Data/O157.fna ../Data/K12.fna

Mummer软件包也提供了更好用的工具show-diff,输入delta格式比对结果,就可以找出两条序列之间的不同,包括gap,重拍,染个题变化,倍增等等信息,非常方便。
show-diff显示大的染色体变化  倍增 重排或者直接使用dnadiff软件一步生成,结果非常详细,
dnadiff可以直接加-d接delta格式的结果,或者更方便直接接两条序列即可,非常方便好用。

六、使用案例:

nucmer --mum --maxgap=500 --mincluster=100 --prefix=nucmer ../../../Data/O157.fna ../../../Data/K12.fna
delta-filter -1 -q -r nucmer.delta > nucmer.filter
show-snps -C -H -I -T -r -l nucmer.filter >nucmer.snp
promer --mum --maxgap=500 --mincluster=100 --prefix=promer ../../../Data/O157.fna ../../../Data/K12.fna

七、注意事项:

1、Mummer的安装需要make、sed、g++,awk等工具;
2、promer只是用于核酸在氨基酸水平比对,并不能直接用于氨基酸比对。

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

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