动动发财的小手,点个赞吧!
4个工作流程
nucmer
由Perl写的流程,用于联配很相近(closely related)核酸序列。它比拟适宜定位和展现高度激进的DNA序列。留神,为了进步nucmer的精确性,最好把输出序列先做遮蔽(mask)防止不感兴趣的序列的联配,或者批改单一性限度升高反复导致的联配数。
promer
以翻译后的氨基酸序列进行联配,工作原理同nucmer
.
rum-mummer1
run-mummer3
两者是基于cshell写的流程,用于两个序列的惯例联配,和promer,nucmer相似,只不过可能自动识别序列类型。它们善于联配类似度高的DNA序列,找到它们的不同,也就是适宜找SNP或者纠错。前者用于1v1无重排,后者1v多有重排
nucmer
参数详解
匹配:
--mum, --mumreference(默认), --maxmatch--minmatch/-l: 单个匹配最小长度--forwoard/-f, --reverse/-r: 只匹配正链或只匹配负链。
聚类:
--mincluster/-c: 用于聚类的匹配最低长度,默认65--maxgap/-g: 两个相邻匹配间的最大gap长度,默认90--diagdiff/-D: 一个聚类中两个邻接匹配,最大对角差分,默认5--diagfactor/-d: 也是和对角差分相干参数,只不过和gap长度无关,默认0.12
内涵:
--breaklen/-b: 在对联配两端拓展式,在终止后持续延长的水平,默认200--[no]extend:是否内涵,默认是--[no]optimize:是否优化,默认是。即在联配分数较低时不会立即终止,而是回顾整条联配,看是否苟延残喘一会。
其余:
--depend: 显示依赖信息后退出--coords: 调用show-coords输入坐标信息--prefix/-p: 输入文件的前缀--[no]delta: 是否输入delta文件,默认是
新增:
# 在第四版新增的参数--threads/-t: 多外围---delta=PATH: 指定地位,而不是以后--sam-short=PATH:保留为SAM短格局--sam-long=PATH: 保留为SAM长格局--save=PREFIX:保留suffix array--load=PREIFX:加载suffix array
实例
比拟常见的用法是把一条间断的序列和另一条间断的序列比。比如说两个细菌的菌株,间接用mummer
两个残缺度高的基因组
mummer -mum -b -c A.fasta B.fasta > out.mums# -mum: 计算在两个序列中惟一的最大匹配数# -b: 计算正向和反向匹配数# -c: 报告反向互补序列绝对于原始申请序列的地位
高度类似序列,不含重排
run-mummer1 ref.fasta qry.fasta ref_qry# 仅报告负链匹配序列run-mummer1 ref.fasta qry.fasta ref_qry -r
高度类似序列,存在重排
run-mummer3 ref.fasta qry.fasta ref_qry
类似度不高
以上的run-mummer*
比拟关注序列的不同之处,那么对于类似度没有那么高的两个序列,就须要用到nucmer
。nucmer
关注序列的相似之处,所以它容许重排,倒置和反复景象。nucmer
容许多对多的比拟形式,当然比拟罕用的是多对一的比拟。
nucmer --maxgap=500 --mincluster=100 --prefix=ref_qry ref.fasta qry.fasta# --maxgap: 两个match间最大gap为500#--minclster: 至多要有100个match能力算做一簇
有点差别
能够用翻译的氨基酸序列进行比拟
promer --prefix=ref_qry ref.fasta qry.fasta
基因草图(scaffold, contig级别)
应用nucmer
或promer
构建序列间的可能联配。
# 首先过滤低于1kb的序列awk -c fastx '{if (length($seq) > 1000) print ">"$name "\n"$seq}' A.fasta > A_1kb.faawk -c fastx '{if (length($seq) > 1000) print ">"$name "\n"$seq}' B.fa > HB_1kb.fa# 解决,工夫会比拟久,因为别离有20109,17877条contignucmer --prefix A_B A_1kb.fa B_1kb.fa &
一个基因草图对一个残缺基因组
nucmer --prefix A_B A.fa B.fa
在第四版中新增了一个dnadiff
,进一步封装nucmer
和其余数据整顿工具,基本上没啥参数,而输入很齐全,十分的人性化。在不知如何开始的时候,能够无脑用这个。
# 已有delta文件dnadiff -d A_B.delta# 未有delta文件dnadiff A_B A.fasta B.fa
delta-filter
过滤
-i
: 最小的类似度 [0,100], 默认0-l
: 最小的匹配长度 默认0.-u
: 最小的联配惟一度 [0,100], 默认0-o
: 最大重叠度,针对-r
和-q
设置。 [0,100], 默认100-g
: 1对1全局匹配,不容许重排-1
: 1对1联配,容许重排,是-r
和-q
的交加-m
: 多对对联配,容许重排,是-r
和-q
的合集。-q
: 仅保留每个query在reference上的最佳地位,容许多条query在reference上重叠-r
: 仅保留每个reference在query上的最佳地位,容许多条reference在query上重叠
show-coord
显示匹配坐标
show-coords -r A_B.delta.filter > A_B.coord# -r:以refID排序,绝对的,还有-q,以queryID排序less IRGSP1_DHX2_i89_l1000_1.coord
理论利用
nucmer
nucmer --maxmatch -c 100 -b 500 -l 50 ref.fasta qur.fasta#--maxmatch 应用所有锚匹配,而不论它们的唯一性#--mincluster/-c: 用于聚类的匹配最低长度,默认65#--breaklen/-b: 在对联配两端拓展式,在终止后持续延长的水平,默认200#--minmatch/-l: 单个匹配最小长度delta-filter -1 -m -i 90 -l 100 out.delta > out.filtered.delta #-1: 1对1联配,容许重排,是-r和-q的交加#-m: 多对对联配,容许重排,是-r和-q的合集#-i: 最小的类似度 [0,100], 默认0#-l: 最小的匹配长度 默认0.show-coords -THrd out.filtered.delta > out.filtered.coords #-T 将输入切换为制表符分隔格局 #-H 不打印输出头#-r 按参考 ID 和坐标对输入行进行排序#-d 在附加中显示对齐方向
sed ':a; N;s/\n/ /; ta' a.txt ## 利用sed的跳转性能
#绘制共线性图谱#须要提前装置gunplot ps2pdf程序(sudo apt-get install xxx)mummerplot --postscript test.delta#将图像转换为pdf文件ps2pdf out.ps out.pdf
本文由mdnice多平台公布