一个用python编写的序列比对可视化工具 -- LINKVIEW

简介

LINKVIEW 是一个将序列比对结果(或其它任何适合的数据)进行可视化作图的工具。 本工具设计灵感来源于circos软件,因为在日常工作中需要对blast比对结果进行可视化显示,但是找不到合适的软件(circos仅能作环状的图),所以开发了这款工具。 使用LINKVIEW可以绘制出整体或局部的比对情况,支持自定义高亮、导入gff文件以绘制基因结构、有多种风格供选择。请看效果图:染色体比对图
局部比对图
github仓库传送门

使用方法

注意:以下操作是基于最早版本的LINKVIEW,新版的作图风格已经发生变化。但是基本操作类似,以下内容仍然可供参考!

首先需要准备一个文件link.txt,内容如下(和circos软件的配置文件大致相同呢)

chr1 1 10000 chr2 5000 15000
chr3 10000 1 chr2 1 10000

第一列和第四列分别是染色体(或片段)的名称,第2,3,5,6列是分别是对应的start和end位点,现在直接运行程序:

$ ./LINKVIEW.py link.txt 

在这里插入图片描述
就得到一个共线性的连线图了。图中各个染色体的排列位置和比例尺图例的大小都是自动计算的比较合适的。当然我们可以修改参数作出更复杂的图。
修改link.txt文件内容:

chr1 1 10000 chr2 5000 15000 blue:0.3
chr3 10000 1 chr2 1 10000 :1

我在第一行最后加了一个字段,表示将chr1和chr2的这一个对应关系绘制成蓝色,不透明度为0.3(默认颜色是绿色,不透明度为0.5)
再次运行程序时候,我还把比例尺大小改为4k:

$ ./LINKVIEW.py link.txt  --scale 4k

在这里插入图片描述
可以看到图片发生了变化。

另外highlight功能,能高亮显示染色体上某些区域,比如我们准备一个文件highlight.txt:

chr2 5000 10000 yellow
#表示对chr2上面5000-1000的位置标为黄色(不写最后的颜色,默认为红色)

运行程序的时候加上如下参数:

$ ./LINKVIEW.py link.txt --highlight highlight.txt

在这里插入图片描述

我们如何修改染色体在图上的排布位置呢?默认的排布位置保证了每一个对应关系都能绘制出来,并且不会有染色体排布在连线块中,但染色体在图上的排布位置其实是可以自由调整的,我们创建一个文件karyotype.txt

chr3:1:15000 chr1
chr2:1:20000
#它的意思是将chr3和chr1放在第一行,将chr2放在第二行,并且指定了chr3显示的起始终止位置分别为1和15000,之前只有link.txt的时候,所有显示到图上的区段都是在比对范围内的,不会超出比对范围,这里通过karyotype.txt文件不仅可以指定染色体排布的位置,也能指定其显示的范围。chr2也是将其范围延长了。

运行程序如下:

$ ./LINKVIEW.py link.txt  --karyotype karyotype.txt

看到chr3和chr2的右边都多出来一点

此外,还可以可以直接对blast结果进行作图。
这里有两个片段的blast结果文件:

#Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
contig11 scaffoldC09 99.02 33160 20 212 28090 60946 50962736 50929579 0.0 5.915e+04
contig11 scaffoldC09 99.09 21784 5 128 1 21593 50994773 50972993 0.0 3.895e+04
……

对blast结果进行作图时,记得把–type参数设置为1

$ ./LINKVIEW.py blast.out --type 1 --show_pos_with_label

在这里插入图片描述
默认参数保留的是identity>95、alignment_length>200、evalue<1e-5、bit_score>5000的hits,当然,这些参数都可以修改,比如,我想看长度大于5k的比对:

$ ./LINKVIEW.py blast.out --type 1 --show_pos_with_label --min_alignment_length 5000

在这里插入图片描述
这里显示的都是比对上的区段,那我们试着看一下全长的比对情况,创建文件karyotype1.txt:

contig11:1:81368
scaffoldC09:1:68416614
#表示contig11在上,scaffoldC09在下,并且contig11和scaffoldC09的总长分别为81368 bp 和68416614 bp

创建文件highlight1.txt

scaffoldC09 50905492 50994774
#表示对这个区域进行highlight

$ ./LINKVIEW.py blast.out --type 1 --min_alignment_length 5000 -k karyotype1.txt -hl highlight1.txt

在这里插入图片描述

最新版支持更改作图风格,显示刻度等,功能更强大!欢迎尝试使用和提出宝贵意见~ 传送门

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值