luria的个人博客分享 http://blog.sciencenet.cn/u/luria

博文

MUMmer4的安装与使用

已有 1816 次阅读 2019-4-22 19:49 |个人分类:Genome|系统分类:科研笔记| synteny, mummer, dotplot, last, colinearity, mummer, dotplot, last, mummer, dotplot, last

在目前的文章中,基因组共线性分析dotplot图几乎全部是用MUMmer或者LAST做的。相比对LAST,MUMmer生成的图似乎更加美观,特别是当fasta id比较长时,last-plot会省略一些id,而mummerplot会全部写出来。但是老实,说我一直用的LAST做共线性,因为MUMmer真心不好安装,坑太多了。不过今天花了大半天时间终于安装成功,记录下来分享。

1. MUMmer4的安装

1.1 安装MUMmer4主程序前,需要先安装gnuplot:

从gnuplot的官网http://www.gnuplot.info/ 链接到其sourceforge下载页。

注意:最新版的gnuplot v5.2.6在后续运行时与MUMmer4可能不太兼容,会报如下错误:

"sample.gp" line 45: warning: this copy of gnuplot has no mouse support

set mouse format "%.0f"          ^

"sample.gp" line 45: unexpected or unrecognized token

WARNING: Unable to run '/path/to/gnuplot-5.2.6/bin/gnuplot sample.gp', Inappropriate ioctl for device


这里下载的稳定的老版本gnuplot v4.6.2,读者也可以尝试其它更高一些的老版本,欢迎将测试结果分享到讨论区。

mkdir gnuplot && cd gnuplot

wget https://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.2/gnuplot-4.6.2.tar.gz

tar -zxvf gnuplot-4.6.2.tar.gz

./configure --prefix=$PWD

make

make install

注意:如果有报错,可以尝试升级gcc版本

完成后,需要将生成的bin目录加到环境变量中

export PATH=/path/to/gnuplot/gnuplot-4.6.2/bin:$PATH

 

1.2 再来安装mummer4:

mkdir MUMmer4.00b2 && cd MUMmer4.00b2

# MUMmer4.00b2是其安装目录

 

从MUMmer GitHub下载最新版mummer-4.0.0beta2,并安装:

wget https://github.com/mummer4/mummer/releases/download/v4.0.0beta2/mummer-4.0.0beta2.tar.gz

tar -zxvf mummer-4.0.0beta2.tar.gz

cd mummer-4.0.0beta2

 

如果gcc版本过底,运行如下代码,可能会出现下面的报错

./configure --prefix=$PWD

 

checking if std::thread::sleep_for is supported... no

configure: error: in `/path/to/MUMmer4.00b2/mummer-4.0.0beta2':

configure: error: Compiler does not support std::this_thread::sleep_for

 

查看我的gcc版本,是4.8.5版的

需要重新安装一个新版的gcc,gcc的安装可参见我的另一篇博文(http://blog.sciencenet.cn/blog-2970729-1126523.html )。

我这边已经安装了一个7.2.0版本的,需先将路径加到环境变量中:

export PATH=/path/to/gcc-v7.2.0/bin:$PATH

再次运行

./configure --prefix=$PWD

make

make install

mummer套件中其它程序还好,如果最难搞的mummerplot安装完成,就明表明安装OK。可以通过以下结果来验证是否安装完整。

 

2. MUMmer的运行

建议将MUMmer的路径写到运行时的shell脚本中,当然也可以一次性写到$HOME/.bashrc中

export PATH=/path/to/MUMmer4.00b2/mummer-4.0.0beta2/bin:$PATH

 

# step1: run nucmer for alignment

nucmer --threads 32 --mum -D 5 -p <outpfix> <subject> <query>

# outpfix是输出文件前缀

# subject和query是想要比较的两个序列文件,fasta格式

 

# step2: filter alignment result

delta-filter -i 85 -l 8000 -o 85 <outpfix>.delta -1 > <outpfix>.best_delta

# 其中-i指定最小的alignment相似性阈值

# -l,注意,这里是字母小写的L,指定最小的alignment长度

# -o 和-r,-q相关,可以理解为alignment coverage

# -1注意,这里是数字1,指定是否进行一对一的比对,一个位置(subject或query上)只找一个最佳的比对。特别是对大的基因组一定要加这个选项,否则会异常慢

具体的参数可以通过delta-filter -h参看到

 

# step3: generate figure using mummerplot

mummerplot -p <outpfix> <outpfix>.best_delta -t postscript

# 采用上一步过滤后的结果<outpfix>.best_delta画图,这里生成的是ps格式的图,虽然-t可以指定png图,但是结果显示生成的png图分辨率太低。

 

# step4: convert ps format to png

/usr/bin/ps2pdf <outpfix>.ps <outpfix>.pdf

convert -density 300 <outpfix>.pdf <outpfix>.png

# ps2pdf可以将ps格式的文件转pdf

# convert是imagemagick包中的一个子程序,可以将pdf转为png图片,而且高清晰




http://blog.sciencenet.cn/blog-2970729-1174911.html

上一篇:HiCUP的使用以及结果解读
下一篇:Hi-C分型绝招之HapCUT

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-10-21 17:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部