1. Mummer详细介绍转至参考:
https://www.jianshu.com/p/2e184e5c15b7
https://www.jianshu.com/p/c12f2a117892
https://wenku.baidu.com/view/ba1f0dd452d380eb63946d3e.html?fr=search-1-wk_es_paddle-income1-psrec1&fixfr=JLOnLdSq1hacvZk313XCkA%3D%3D
2.Mummer下载地址
最新版本2020:Mummer 4.0.0 release candidate 1 Latest
github地址:https://github.com/mummer4/mummer
sourceforge下载: http://mummer.sourceforge.net/
3.什么是共线性?
移步至:https://www.jianshu.com/p/da5922df19d1
4.共线性有什么用?
此处只展示基因组共线性常用的需求:
我们做项目一般是做基因组共线性,根据近缘物种的染色体编号调整我们正在做的基因组r染色体编号。如果没有已发表的物种,则从大到小排列。
基因共线性则是作cicos图,jcvi等作图,物种内或者物种中间进行比较。
继续整理中:
5.基因组共线性怎么做?
5.1 Mummer软件安装
$ wget -c -t 0 https://github.com/mummer4/mummer/releases/download/v4.0.0rc1/mummer-4.0.0rc1.tar.gz
$ tar -xvzf mummer-4.0.0rc1.tar.gz
$ current_path='pwd'
$ cd mummer-4.0.0rc1
$ ./configure --prefix=`pwd`
$ make
# Add MUMmer tools to your PATH
$ export PATH=$current_path/mummer-4.0.0rc1:$PATH
5.2 Mummer比对画图:
5.2.1.比对:nucmer关注序列的相似之处,所以它允许重排,倒置和重复现象
export PATH=/share/nas1/pengzw/software/mummer-4.0.0rc1:$PATH
nucmer -t 50 --mum --prefix=ref_qry A.genome.fa B.genome.fa >ref_qry.delta
# A为ref基因组
delta-filter -i 90 -l 10000 -q ref_qry.delta >ref_qry.delta.filter
#-l 表示过滤
# -i 表示相似度,可以根据情况调整,让图片看起来不那么乱
mummerplot --png -p 10k ref_qry.delta.filter
# -p 输出文件前缀
可以生成pdf图片
convert -quality 200 -density 400 10k.png 10k.pdf #方法1:直接 convert转换
mummerplot -p 10k ref_qry.delta.filter -t postscript
ps2pdf 10k.ps 10k.pdf #方法2,但是图片效果会跟png有出入
参数详解
nucmer 默认是ref是唯一,加上 --mum ref和query都是唯一的。
delta-filter
-l 表示过滤
-i 表示相似度,可以根据情况调整,让图片看起来不那么乱
5.2.3 Mummer的mummerplot功能画图,参数详解:
参考命令
nucmer -t 50 --mum --prefix=ref_qry A.genome.fa B.genome.fa >ref_qry.delta
# a为ref基因组,A.genome.fa为基因组所有序列,A中fa序排列顺序指定了图片上的输出顺序,可以根据需求更改。
delta-filter -i 90 -l 10000 -q ref_qry.delta >ref_qry.delta.filter
mummerplot --png -p test ref_qry.delta.filter -R A.genome.Chr.fa -Q B.genome.Chr.fa
#A.genome.Chr.fa 只有染色体序列 (我最近学习的展示方式)
mummerplot --png -p test ref_qry.delta.filter -R r.rfile -Q q.qfile
mummerplot 参数说明:
-p 输出文件前缀
--filter 保留最佳比对,1对1,见下图更好辨别
--small 默认输出参数
--large 图片上字体和点更小
--png 参数里面没看见,但是不用这需要调用X11。。。。迷惑中
-x|xrange 指定范围
-y|yrange
-R ref画图顺序文件,可以给r.file或者调整好想要顺序的fa
-Q query画图顺序文件,可以给q.file或者调整好想要顺序的fa
我经常忘记只保留染色体部分进行比对,最后图片很丑,可以再比对后过滤保留染色体,再画图。
一般基因组开头几个都是染色体序列,按照顺序排列,但是也有个别不是这个套路。。。图中最终的染色体编号顺序跟输入fa里面的排列顺序是一样的。
5.2.4 调整画图顺序
如果比对完,画图顺序很乱,想抢救一下,有两种方法:
1.下面**mummerplot那里-R -Q 给一个VS.txt文件,r.file,q.file **(包含序列id,长度和方向)(推荐方法)。
2.下面mummerplot那里-R -Q 里面格式化排列输出fa就可以。
1. -R -Q :比对后调整fa里面的顺序,类似于这种提取格式化序列。
grep Chr Lachesis_assembly_changed.fa.fai|cut -f1 >id
cat Chr.id |perl -lane ' print "echo ${_} >${_}.id"'|sh
cat Chr.id | perl -lane ' print " perl /share/nas1/pengzw/script/tools/abstract_fasta_seq_by_id.v1.1.pl -i ${_}.id -fa Lachesis_assembly_changed.fa -o ${_}.fa "'|sh
2. -R -Q VS文件写法(推荐方法):
#如果ref和query的不确定方向直接都写+,即原始文件中的方向。
grep A.fa.fai |cut -f1,2 |awk '{print $1"\t"$2"\t+"}' >r.file
cat r.file
Chr01 1000000 +
Chr02 2000000 +
#如果确定ref和query的某些染色体的对应方向,可以写-,此时再画图,图片上回显示-的id有一个*号。
grep B.fa.fai |cut -f1,2 |awk '{print $1"\t"$2"\t+"}' >q.file
cat q.file ##手动修改-的染色体
LG01 1000000 +
LG02 2000000 -
:
一般而言横坐标放的是ref,纵坐标是query,不要给反了。
最后图片呈现“/”表示与参考染色体方向一致,“\”表示方向相反。
不同参数的画图效果:
--small 默认画图
--large 画图,字体和点线都变小了
--filter画图效果
ps2pdf 画图效果
mummerplot --png -p test out.delta.filter -R A.genome.Chr.fa -Q B.genome.Chr.fa
--small 默认画图
--large 画图,字体和点线都变小了
--filter画图效果:
ps2pdf 画图效果:
6.以人类可读方式具体的比对信息:
show-coords -r out.delta.filter> out.delta.filter.coord
-r 以refID排序
-q 以queryID排序
-l Include the sequence length information in the output
-c Include percent coverage information in the output