導讀
下載、安裝、使用MCScanX分析NCBI taxonomy上下載的兩個梭菌基因組共線性情況。共線性又稱同線性,是一個物種的基因組中相互連鎖的基因,在另一物種的基因組中也是連鎖關(guān)系, 而且在兩個物種的遺傳圖上的位置也是相同的 。
Clostridium_beijerinckii
一條完整基因組序列
Clostridium_botulinum
一條完整基因組序列,一條質(zhì)粒序列(手動刪除)
官網(wǎng):MCScanx: Multiple Collinearity Scan toolkit
下載:MCScanX.zip
手冊:MCScanX’s manual
一、下載、安裝
wget -c http://chibba.pgml.uga.edu/mcscan2/MCScanX.zip
unzip MCScanX.zip
cd MCScanX
make
正常的安裝過程:

1 報錯:

錯誤的原因是,MCScanX 不支持64位系統(tǒng)。如果要在 64位上運行,需要修改下源代碼
2 解決:
添加#include <unistd.h>到msa.cc開頭
添加#include <unistd.h>到dissect_multiple_alignment.cc開頭
添加#include <unistd.h>到detect_collinear_tandem_arrays.cc開頭
參考:https://github.com/wyp1125/MCScanX/issues/13
3 測試:
./MCScanX -h

二、共線性分析
1 獲取基因核酸蛋白序列
prokka注釋獲取基因核酸蛋白序列
prokka Clostridium_beijerinckii.fna \
--outdir Clostridium_beijerinckii_prokka \
--prefix Clostridium_beijerinckii \
--cpus 2 \
--evalue 1e-5 \
--quiet \
--kingdom Bacteria
prokka Clostridium_botulinum.fna \
--outdir Clostridium_botulinum_prokka \
--prefix Clostridium_botulinum \
--cpus 2 \
--evalue 1e-5 \
--quiet \
--kingdom Bacteria
合并兩個基因組的基因核酸序列
cat Clostridium_beijerinckii_prokka/Clostridium_beijerinckii.ffn Clostridium_botulinum_prokka/Clostridium_botulinum.ffn > merge.fna
2 基因組建庫-核酸
makeblastdb -in merge.fna \
-input_type fasta \
-dbtype nucl -parse_seqids \
-title merge \
-out blastdb/merge

3 核酸序列比對
blastn -db blastdb/merge \
-query merge.fna \
-out merge.blast \
-num_threads 6 \
-outfmt 6 \
-evalue 1e-5 \
-num_alignments 5

4 格式化gff文件
cat Clostridium_beijerinckii_prokka/Clostridium_beijerinckii.gff | grep '^NZ_CP010086.2' | sed 's/=/\t/' | sed 's/;/\t/' | awk 'BEGIN{OFS="\t"}{print $1,$10,$4,$5}' > gff_beijirinckii.txt

cat Clostridium_botulinum_prokka/Clostridium_botulinum.gff | grep '^NC_009495.1' | sed 's/=/\t/' | sed 's/;/\t/' | awk 'BEGIN{OFS="\t"}{print $1,$10,$4,$5}' > gff_botulinum.txt

cat gff* > merge.gff
5 共線性分析
mkdir Result
mv merge.blast Result
mv merge.gff Result
/home/cheng/huty/softwares/MCScanX/./MCScanX Result/merge
過程:

結(jié)果:

merge.collinearity共線性主要結(jié)果文件:

三、可視化
ctl文件有問題報錯,染色體超過20個也報錯
MCScanX Error - Can't plot the graphs (Downstream analysis)
Exception in thread "main" java.lang.NullPointerException
at dot_plotter.paint(dot_plotter.java:189)
at dot_plotter.main(dot_plotter.java:262)
control文件,設(shè)置需要展示的染色體信息(和gff的第一列一致)
vi merge_dot.ctl

1 散點圖
java /home/cheng/huty/softwares/MCScanX/downstream_analyses/dot_plotter.java \
-g Result/merge.gff \
-s Result/merge.collinearity \
-c Result/merge_dot.ctl \
-o Result/merge_dot.PNG

2 雙共線性圖
java /home/cheng/huty/softwares/MCScanX/downstream_analyses/dual_synteny_plotter.java \
-g Result/merge.gff \
-s Result/merge.collinearity \
-c Result/merge_dot.ctl \
-o Result/merge_dual_synteny.PNG


3 circos圖
java /home/cheng/huty/softwares/MCScanX/downstream_analyses/circle_plotter.java \
-g Result/merge.gff \
-s Result/merge.collinearity \
-c Result/merge_circle.ctl \
-o Result/merge_circle.PNG
報錯了

正常安裝下,在.java .class目錄下可以運行:
circ.ctl文件格式

java circle_plotter \
-g $route/merge.gff \
-s $route/merge.collinearity \
-c $route/merge_circ.ctl \
-o $route/merge_circle.PNG

用R可對圈圖重繪

4 條圖
java /home/cheng/huty/softwares/MCScanX/downstream_analyses/bar_plotter.java \
-g Result/merge.gff \
-s Result/merge.collinearity \
-c Result/merge_dot.ctl \
-o Result/merge_bar.PNG


參考:
基因組共線性工具MCScanX使用說明
其實MCScan畫圖也可以很好看
Synteny和collinear的區(qū)別
更多工具:
mauve-viewer:https://github.com/nconrad/mauve-viewer
mauve官網(wǎng):http://darlinglab.org/mauve/mauve.html
如何用WGDI進行共線性分析(上)