使用jcvi基于wgdi的共线性结果(-icl)绘制点图

如何用WGDI进行共线性分析(上), 我们基于blastp的结果绘制了点图,之后用 -icl 模块进行进行共线性分析,得到了 collinearity 结果 。后面就直接基于该文件开始计算ka/ks,然后绘制ks plot.

但是,在那篇教程的时候,我其实还有一个问题,就是能不能直接根据 collinearity 结果绘制点图呢?在WGDI提供的流程示意图中,没有这一分支

流程图

虽然自己写代码实现也不复杂,但是为了避免重复造轮子,我们使用了JCVI的图形模块绘制dotplot

jcvi.graphcis.dotplot 能够使用mcscan的输出(.anchors)绘制点图, 其中anchors格式的定义比较简单,就是3列,分别是两个物种的基因和LAST计算的score。

而 wgdi输出的collinearity也是两个基因对的信息,因此很容易将collinearity的格式转成jcvi定义的anchors格式

awk '{if ($0~/^#/ ) {print $0} else{print $1"\t"$3"\t"$5} }' ath.collinearity.txt  > ath.ath.anchors

接着将wgdi定义的gff转成bed

awk 'BEGIN{OFS="\t"} {print $1,$3,$4,$2,"0",$5}' ath.gff > ath.bed

调用dotplot绘制点图,输出是 ath.ath.pdf

python -m jcvi.graphics.dotplot ath.ath.anchors

之所以要写成ath.ath.anchors格式,是因为jcvi使用点来拆分文件名,得到的ath和ath,加上.bed后缀,就是要加载的bed文件信息。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容