LINKVIEW2--Blast/minimap2/MUMmer比对结果可视化工具
LINKVIEW2 是一个对 DNA 比对(alignments)进行可视化的工具,包含一个命令行工具和一个图形化界面。有助于生物信息学研究人员快速地将比对结果进行可视化。支持多种比对格式,包括 blast、minimap2、MUMmer 软件的输出结果,以及 LINKVIEW2 专属格式。支持多种绘图风格,自定义比对块颜色、highlight 某段区间、自定义比例尺,自定义绘图布局、绘制基因结构等功能。

转自老铁:https://github.com/YangJianshun/LINKVIEW2
安装
安装 Node.js
LINKVIEW2 基于 Node.js 安装,在安装和使用 LINKVIEW2 前,您需要安装 Node.js。
运行命令
node -v
和npm -v
能看到版本信息,则说明 Node.js 安装成功。在 Mac 上安装 Node.js
在 linux 上安装 Node.js
安装 LINKVIEW2 命令行工具
npm install -g @linkview/linkview-cli
如果卡在安装
sharp
那一步,请稍作等待,也可以尝试使用 cnpm 源:npm i -g @linkview/linkview-cli --registry=http://r.cnpmjs.org/
运行命令
LINKVIEW2 --version
,如果能看到版本信息,则说明安装成功。
LINKVIEW2 教程
本章将带您通过不同的例子,熟悉 LINKVEW2 的用法。
Case1
新建文件
alignments.txt
, 内容如下
运行命令
LINKVIEW2 alignments.txt
, 您将得到如下图片

在LINKVIEW-GUI中尝试
解释:
alignments.txt
文件中存储了要展示的比对信息,每一行一条比对,第一行ctg1 1 100 ctg2 1 100
表示序列 ctg1 的第 1 到 100 bp 比对到了 ctg2 的第 1 到 100 bp。第二行表示 ctg1 的 101 到 120 bp 对应于 ctg2 的 120 到 101 bp,是一个反向互补的比对,最后一列red
表示绘制这个 alignment 的颜色。第三列同理,最后一列yellow:0.2
表示已黄色绘制,透明度为0.2。这种文件格式是 LINKVIEW2 专属的比对格式,可以指定绘制的颜色和透明度,文件格式为:
seq1 start1 end1 seq2 start2 end2 [color:opacity]
Case2
新建文件
alignments.txt
, 内容如下:
新建文件
karyotype.txt
, 内容如下:
运行命令
您将得到如下图片:

在LINKVIEW-GUI中尝试
解释:
通过 -k
参数指定了绘图的布局文件karyotype.txt
,LINKVIEW2 在绘图时,有一个层级的概念,karyotype.txt
文件中的 4 行则对 应了绘图结果中的 4 个层级,第一行ctg1:1:100
指定绘制在第一层级绘制 ctg1 的 1 到 100 bp,第二行 ctg3:1:200 ctg2:1:100
指 定在第二层级绘制 ctg3 的 1 到 200 bp 和 ctg2 的 1 到 100 bp。第三行同理。
Case3
在 Case2 的基础上,我们新建一个文件
highlight.txt
,内容如下:
运行命令 ,您将得到如下图片:

在LINKVIEW-GUI中尝试
解释:
通过
-hl
参数指定了高亮文件highlight.txt
,该文件每一行都代表一处高亮,格式为seq start end [color]
,如果不指定颜色,则默认为红色。通过
--style simple
指定绘图风格为 simple,目前有两种绘图风格,默认是 classic。通过
--bezier
指定 alignments 用贝塞尔曲线的风格绘制。
Case4
使用 blast 软件比对得到文件
blast.out
(tabular格式),如下:
新建文件
highlight.txt
,内容如下:
准备两个 gff 文件
genome1.gff
和genome2.gff
内容分别如下:
genome1.gff
genome2.gff
运行命令 ,
您将得到如下图片:

在LINKVIEW-GUI中尝试
解释:
可通过 参数
-g
或--gff
指定1个或多个 gff 文件,多个 gff 文件以英文逗号分隔。指定 gff 文件后,LINKVIEW 会绘制出基因结构。
Case5
1. 新建一个文件 karyotype.txt
,内容如下:
2. 新建一个文件 karyotype.txt
,内容如下:
3.运行命令
您将得到图片如下:

在LINKVIEW-GUI中尝试
解释:
ctg1 的 1bp 到 10Mb 比对到了 ctg2 的 1bp 到 10 Mb,
karyotype.txt
文件中指定了仅绘制 ctg1 的 1bp 到 5Mb 和 ctg2 的 3 Mb 到 10Mb,此时 LINKVIEW2 经过计算得知,应该展示的比对是 ctg1 的 3Mb 到 5Mb 对应于 ctg2 点 3Mb 到 5Mb。参数 --chro_axis 说明需要绘制坐标轴。
Case6
新建一个文件
alignments.txt
,内容如下:
新建一个文件
karyotype.txt
,内容如下:
运行命令
会有如下提示信息输出:
warn: ctg2 lacks start and end information. It automatically calculates that start is 3000001 and end is 7000000. warn: 'ctg3' is missing start and end information and will be ignored!
您会得到图片如下:

在LINKVIEW-GUI中尝试
解释:
在
karyotype.txt
文件中,没有指定 ctg2 和 ctg3 的绘制的起始和终止位置,LINKVIEW2 通过 alignments 推断出 ctg2 应该展示的是 3Mb 到 7Mb,而 ctg3 无法推断出应该展示哪部分区间,所以被省略了。如果确实需要展示 ctg3,请在karyotype.txt
文件中指定起始和终止位置。
Case7
新建一个文件
alignments.txt
,内容如下:
新建一个文件
karyotype.txt
,内容如下:
运行命令
您将得到图片如下:

在LINKVIEW-GUI中尝试
解释:
在
karyotype.txt
文件中ctg2:10000000:1
指定在第 2 层级展示 ctg2,并且展示的起始位置是 10Mb,终止位置是 1bp,这样会将 ctg2 反向地绘制出来。通过参数
--align
指定为 left,图中的绘制的序列都是左对齐地排列(默认是居中对齐),还可以设置为 right,即为右对齐参数
--chro_axis_unit
表示绘制的坐标轴的最小刻度单元,此处设置为了 200kb,这个参数可以指定为数字,也可以是能被解析为“碱基数”的字符串,比如200kb
、1Mb
、500bp
等。
Case8
在上述 Case7 的基础上,如果您想要实现如下效果:
把 ctg1 的标签向上调整一下位置,字体大小设置为25px,标签的角度设为0
ctg1的刻度想要绘制在上面
ctg4的标签在左边展示
ctg1 和 ctg5 想要居中对齐
ctg5的坐标轴最小刻度单元设置为0.5Mb
那么您需要新建一个文件
parameter.txt
,内容如下:
运行命令
您将得到图片如下:

在LINKVIEW-GUI中尝试
解释:
LINKVIEW2 提供了一组 Drawing options,这一组参数既可以在命令行中全局指定,也可以在通过
-p
指定一个 parameter 文件,在这个文件中对绘图的每一个层级分别指定不同的作图参数在
parameter.txt
文件中,因为我们不需要对绘图的第三层级做出额外修改,所以第三行为空
其他
上述 8 个 case,涵盖了 LINKVIEW2 这个简单做图工具的大部分功能,当然还有一些小功能,限于篇幅,不再举例说明。
LINKVIEW2 会自动判断 alignments 的类型
相同的序列可以在绘图中出现多次,只需要在 karyotype 文件中多次写到即可
可以通过
--scale
设定比例尺,通过--show_scale
控制是否展示比例尺等Drawing options 中的 --gap_length 可用于调整绘制序列之间的间隔
提供了一组 Filter options,可用于对 alignments 进行过滤
提供了一组 Svg options,可调节 svg 图片对宽高等