共线性 | WGDI 一键搞定 - ColinearScan 改进版!
作为王希胤老师课题组的学生,共线性一直没有更方便或深刻的方法拿出来,有点儿惭愧。王老师是共线性分析软件ColinearScan
第一作者和MCscan
的重要作者。但我们共线性常常使用Colinearscan
,二者在提取共线性上有细微差别,各有优劣。两个软件都是基于动态规划来实现的提取共线性。主要区别来源于对同源基因对的判别。
Colinearscan 的判定规则是:是一个基因相对另一个基因组同源基因的数量限制,即repeat_number的参数。
MCscan 的判定规则是:任意两条染色体间(即点图中的一个小方块内部),一个基因相对另外一套染色体上的基因个数(默认为5)。
体现在结果上:ColinearScan 提取的是前面点图中看到的片段,古老加倍的片段常常不如 MCscan 的完整。MCscan 能够提取到更古老的片段,但会有较多不准确的片段被提取。
比较一下点图,同源的点判定的个数为 5*19(有的方块中同源点不够5个,事实上没那么多)但一般情况下也远远大于 20 。之所以都用黑色点表示,因为两个软件在提取的时候都把判定为同源的点一视同仁了。
MCscan之所以这个策略,是为了往多重序列比对上发展,如果有提前画点图的方式,就不能做到多个物种同时来比较了。
接下来就是我的改进部分了。即对同源点像点图中那样,分级别。在有多个重复基因时候,优选最好匹配的结果。
ColinearScan 的运行方式,需要安装 ColinearScan 软件,输入 blockscan 有返回值即可
wgdi -cl >> total.conf
[colinearscan]
gff1 = gff1 file
gff2 = gff2 file
lens1 = lens1 file
lens2 = lens2 file
blast = blast file
blast_reverse = False
dir = output folder 生成一个目录,任意两条染色体比较
evalue = 1e-5
score = 100
mg = 25,25 两个基因对被认为能连起来的最大距离(罚分)
repeat_number = 20
positon = order 目前只支持orde
输出文件以dir+block.txt 命名
我的改进后的程序,python编写,不需要c环境,有些慢。
wgdi -icl >> total.conf
[collinearity]
gff1 = gff1 file
gff2 = gff2 file
lens1 = lens1 file
lens2 = lens2 file
blast = blast file
blast_reverse = false
dir = output folder
evalue = 1e-5
score = 100 和点图保持一直
grading = 50,40,25 红,蓝,灰的不同分值
mg = 25,25
repeat_number = 20 和点图保持一直
positon = order
savefile = collinearity file 输出文件
赞 (0)