欢迎光临散文网 会员登陆 & 注册

LINKVIEW2--Blast/minimap2/MUMmer比对结果可视化工具

2021-11-30 19:48 作者:越努力越高级  | 我要投稿

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

转自老铁:https://github.com/YangJianshun/LINKVIEW2

安装

  1. 安装 Node.js

    LINKVIEW2 基于 Node.js 安装,在安装和使用 LINKVIEW2 前,您需要安装 Node.js。

    运行命令node -vnpm -v能看到版本信息,则说明 Node.js 安装成功。

    • 在 Mac 上安装 Node.js


    在 linux 上安装 Node.js


  1. 安装 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

  1. 新建文件 alignments.txt, 内容如下


  1. 运行命令 LINKVIEW2 alignments.txt, 您将得到如下图片 

  1. 在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

  1. 新建文件 alignments.txt, 内容如下:


  1. 新建文件 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

  1. 在 Case2 的基础上,我们新建一个文件 highlight.txt,内容如下:


  1. 运行命令 ,您将得到如下图片:

  1.  在LINKVIEW-GUI中尝试

    解释:

    通过 -hl 参数指定了高亮文件highlight.txt,该文件每一行都代表一处高亮,格式为seq start end [color],如果不指定颜色,则默认为红色。

    通过 --style simple指定绘图风格为 simple,目前有两种绘图风格,默认是 classic。

    通过 --bezier 指定 alignments 用贝塞尔曲线的风格绘制。


Case4

  1. 使用 blast 软件比对得到文件blast.out(tabular格式),如下:


  1. 新建文件 highlight.txt,内容如下:

  1. 准备两个 gff 文件 genome1.gff 和 genome2.gff

内容分别如下:

genome1.gff

genome2.gff

  1. 运行命令 ,


您将得到如下图片:

  1. 在LINKVIEW-GUI中尝试

    解释:

    可通过 参数 -g 或 --gff 指定1个或多个 gff 文件,多个 gff 文件以英文逗号分隔。指定 gff 文件后,LINKVIEW 会绘制出基因结构。

Case5

1. 新建一个文件 karyotype.txt,内容如下:

2. 新建一个文件 karyotype.txt,内容如下:

3.运行命令

您将得到图片如下:


  1.  在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

  1. 新建一个文件 alignments.txt,内容如下:


  1. 新建一个文件 karyotype.txt,内容如下:


  1. 运行命令

会有如下提示信息输出:

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!

您会得到图片如下:

  1.  在LINKVIEW-GUI中尝试

    解释:

    在 karyotype.txt文件中,没有指定 ctg2 和 ctg3 的绘制的起始和终止位置,LINKVIEW2 通过 alignments 推断出 ctg2 应该展示的是 3Mb 到 7Mb,而 ctg3 无法推断出应该展示哪部分区间,所以被省略了。如果确实需要展示 ctg3,请在 karyotype.txt文件中指定起始和终止位置。

Case7

  1. 新建一个文件 alignments.txt,内容如下:


  1. 新建一个文件 karyotype.txt,内容如下:


  1. 运行命令


您将得到图片如下:

  1.  在LINKVIEW-GUI中尝试

    解释:

    • 在 karyotype.txt 文件中 ctg2:10000000:1 指定在第 2 层级展示 ctg2,并且展示的起始位置是 10Mb,终止位置是 1bp,这样会将 ctg2 反向地绘制出来。

    • 通过参数 --align指定为 left,图中的绘制的序列都是左对齐地排列(默认是居中对齐),还可以设置为 right,即为右对齐

    • 参数 --chro_axis_unit 表示绘制的坐标轴的最小刻度单元,此处设置为了 200kb,这个参数可以指定为数字,也可以是能被解析为“碱基数”的字符串,比如200kb1Mb500bp等。

Case8

在上述 Case7 的基础上,如果您想要实现如下效果:

  • 把 ctg1 的标签向上调整一下位置,字体大小设置为25px,标签的角度设为0

  • ctg1的刻度想要绘制在上面

  • ctg4的标签在左边展示

  • ctg1 和 ctg5 想要居中对齐

  • ctg5的坐标轴最小刻度单元设置为0.5Mb

  1. 那么您需要新建一个文件 parameter.txt,内容如下:

运行命令

您将得到图片如下: 

  1.  在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 图片对宽高等


LINKVIEW2--Blast/minimap2/MUMmer比对结果可视化工具的评论 (共 条)

分享到微博请遵守国家法律