|||
在目前的文章中,基因组共线性分析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图片,而且高清晰
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 03:16
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社