LINKVIEW2--Blast/minimap2/MUMmer比對(duì)結(jié)果可視化工具
LINKVIEW2 是一個(gè)對(duì) DNA 比對(duì)(alignments)進(jìn)行可視化的工具,包含一個(gè)命令行工具和一個(gè)圖形化界面。有助于生物信息學(xué)研究人員快速地將比對(duì)結(jié)果進(jìn)行可視化。支持多種比對(duì)格式,包括 blast、minimap2、MUMmer 軟件的輸出結(jié)果,以及 LINKVIEW2 專(zhuān)屬格式。支持多種繪圖風(fēng)格,自定義比對(duì)塊顏色、highlight 某段區(qū)間、自定義比例尺,自定義繪圖布局、繪制基因結(jié)構(gòu)等功能。

轉(zhuǎn)自老鐵:https://github.com/YangJianshun/LINKVIEW2
安裝
安裝 Node.js
LINKVIEW2 基于 Node.js 安裝,在安裝和使用 LINKVIEW2 前,您需要安裝 Node.js。
運(yùn)行命令
node -v
和npm -v
能看到版本信息,則說(shuō)明 Node.js 安裝成功。在 Mac 上安裝 Node.js
在 linux 上安裝 Node.js
安裝 LINKVIEW2 命令行工具
npm install -g ?@linkview/linkview-cli
如果卡在安裝?
sharp
?那一步,請(qǐng)稍作等待,也可以嘗試使用 cnpm 源:npm i -g @linkview/linkview-cli --registry=http://r.cnpmjs.org/
運(yùn)行命令
LINKVIEW2 --version
,如果能看到版本信息,則說(shuō)明安裝成功。
LINKVIEW2 教程
本章將帶您通過(guò)不同的例子,熟悉 LINKVEW2 的用法。
Case1
新建文件?
alignments.txt
, 內(nèi)容如下
運(yùn)行命令?
LINKVIEW2 alignments.txt
, 您將得到如下圖片?

在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
alignments.txt
文件中存儲(chǔ)了要展示的比對(duì)信息,每一行一條比對(duì),第一行?ctg1 1 100 ctg2 1 100
?表示序列 ctg1 的第 1 到 100 bp 比對(duì)到了 ctg2 的第 1 到 100 bp。第二行表示 ctg1 的 101 到 120 bp 對(duì)應(yīng)于 ctg2 的 120 到 101 bp,是一個(gè)反向互補(bǔ)的比對(duì),最后一列?red
?表示繪制這個(gè) alignment 的顏色。第三列同理,最后一列?yellow:0.2
表示已黃色繪制,透明度為0.2。這種文件格式是 LINKVIEW2 專(zhuān)屬的比對(duì)格式,可以指定繪制的顏色和透明度,文件格式為:
seq1 start1 end1 seq2 start2 end2 [color:opacity]
Case2
新建文件?
alignments.txt
, 內(nèi)容如下:
新建文件?
karyotype.txt
, 內(nèi)容如下:
運(yùn)行命令?
您將得到如下圖片:

在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
通過(guò)?-k
?參數(shù)指定了繪圖的布局文件karyotype.txt
,LINKVIEW2 在繪圖時(shí),有一個(gè)層級(jí)的概念,karyotype.txt
文件中的 4 行則對(duì) 應(yīng)了繪圖結(jié)果中的 4 個(gè)層級(jí),第一行ctg1:1:100
指定繪制在第一層級(jí)繪制 ctg1 的 1 到 100 bp,第二行?ctg3:1:200 ctg2:1:100
指 定在第二層級(jí)繪制 ctg3 的 1 到 200 bp 和 ctg2 的 1 到 100 bp。第三行同理。
Case3
在 Case2 的基礎(chǔ)上,我們新建一個(gè)文件?
highlight.txt
,內(nèi)容如下:
運(yùn)行命令?,您將得到如下圖片:

?在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
通過(guò)?
-hl
?參數(shù)指定了高亮文件highlight.txt
,該文件每一行都代表一處高亮,格式為seq start end [color]
,如果不指定顏色,則默認(rèn)為紅色。通過(guò)?
--style simple
指定繪圖風(fēng)格為 simple,目前有兩種繪圖風(fēng)格,默認(rèn)是 classic。通過(guò)?
--bezier
?指定 alignments 用貝塞爾曲線的風(fēng)格繪制。
Case4
使用 blast 軟件比對(duì)得到文件
blast.out
(tabular格式),如下:
新建文件?
highlight.txt
,內(nèi)容如下:
準(zhǔn)備兩個(gè) gff 文件?
genome1.gff
?和?genome2.gff
內(nèi)容分別如下:
genome1.gff
genome2.gff
運(yùn)行命令?,
您將得到如下圖片:

在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
可通過(guò) 參數(shù)?
-g
?或?--gff
?指定1個(gè)或多個(gè) gff 文件,多個(gè) gff 文件以英文逗號(hào)分隔。指定 gff 文件后,LINKVIEW 會(huì)繪制出基因結(jié)構(gòu)。
Case5
1. 新建一個(gè)文件?karyotype.txt
,內(nèi)容如下:
2. 新建一個(gè)文件?karyotype.txt
,內(nèi)容如下:
3.運(yùn)行命令
您將得到圖片如下:

?在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
ctg1 的 1bp 到 10Mb 比對(duì)到了 ctg2 的 1bp 到 10 Mb,?
karyotype.txt
文件中指定了僅繪制 ctg1 的 1bp 到 5Mb 和 ctg2 的 3 Mb 到 10Mb,此時(shí) LINKVIEW2 經(jīng)過(guò)計(jì)算得知,應(yīng)該展示的比對(duì)是 ctg1 的 3Mb 到 5Mb 對(duì)應(yīng)于 ctg2 點(diǎn) 3Mb 到 5Mb。參數(shù) --chro_axis 說(shuō)明需要繪制坐標(biāo)軸。
Case6
新建一個(gè)文件?
alignments.txt
,內(nèi)容如下:
新建一個(gè)文件?
karyotype.txt
,內(nèi)容如下:
運(yùn)行命令
會(huì)有如下提示信息輸出:
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!
您會(huì)得到圖片如下:

?在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
在?
karyotype.txt
文件中,沒(méi)有指定 ctg2 和 ctg3 的繪制的起始和終止位置,LINKVIEW2 通過(guò) alignments 推斷出 ctg2 應(yīng)該展示的是 3Mb 到 7Mb,而 ctg3 無(wú)法推斷出應(yīng)該展示哪部分區(qū)間,所以被省略了。如果確實(shí)需要展示 ctg3,請(qǐng)?jiān)?karyotype.txt
文件中指定起始和終止位置。
Case7
新建一個(gè)文件?
alignments.txt
,內(nèi)容如下:
新建一個(gè)文件?
karyotype.txt
,內(nèi)容如下:
運(yùn)行命令
您將得到圖片如下:

?在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
在?
karyotype.txt
?文件中?ctg2:10000000:1
?指定在第 2 層級(jí)展示 ctg2,并且展示的起始位置是 10Mb,終止位置是 1bp,這樣會(huì)將 ctg2 反向地繪制出來(lái)。通過(guò)參數(shù)?
--align
指定為 left,圖中的繪制的序列都是左對(duì)齊地排列(默認(rèn)是居中對(duì)齊),還可以設(shè)置為 right,即為右對(duì)齊參數(shù)?
--chro_axis_unit
?表示繪制的坐標(biāo)軸的最小刻度單元,此處設(shè)置為了 200kb,這個(gè)參數(shù)可以指定為數(shù)字,也可以是能被解析為“堿基數(shù)”的字符串,比如200kb
、1Mb
、500bp
等。
Case8
在上述 Case7 的基礎(chǔ)上,如果您想要實(shí)現(xiàn)如下效果:
把 ctg1 的標(biāo)簽向上調(diào)整一下位置,字體大小設(shè)置為25px,標(biāo)簽的角度設(shè)為0
ctg1的刻度想要繪制在上面
ctg4的標(biāo)簽在左邊展示
ctg1 和 ctg5 想要居中對(duì)齊
ctg5的坐標(biāo)軸最小刻度單元設(shè)置為0.5Mb
那么您需要新建一個(gè)文件?
parameter.txt
,內(nèi)容如下:
運(yùn)行命令
您將得到圖片如下:?

?在LINKVIEW-GUI中嘗試
解釋?zhuān)?/p>
LINKVIEW2 提供了一組 Drawing options,這一組參數(shù)既可以在命令行中全局指定,也可以在通過(guò)?
-p
?指定一個(gè) parameter 文件,在這個(gè)文件中對(duì)繪圖的每一個(gè)層級(jí)分別指定不同的作圖參數(shù)在?
parameter.txt
文件中,因?yàn)槲覀儾恍枰獙?duì)繪圖的第三層級(jí)做出額外修改,所以第三行為空
其他
上述 8 個(gè) case,涵蓋了 LINKVIEW2 這個(gè)簡(jiǎn)單做圖工具的大部分功能,當(dāng)然還有一些小功能,限于篇幅,不再舉例說(shuō)明。
LINKVIEW2 會(huì)自動(dòng)判斷 alignments 的類(lèi)型
相同的序列可以在繪圖中出現(xiàn)多次,只需要在 karyotype 文件中多次寫(xiě)到即可
可以通過(guò)?
--scale
?設(shè)定比例尺,通過(guò)--show_scale
?控制是否展示比例尺等Drawing options 中的 --gap_length 可用于調(diào)整繪制序列之間的間隔
提供了一組 Filter options,可用于對(duì) alignments 進(jìn)行過(guò)濾
提供了一組 Svg options,可調(diào)節(jié) svg 圖片對(duì)寬高等