基因家族等Genomics生物信息学

基因组共线用MCScanX

2020-09-15  本文已影响0人  胡童远

导读

下载、安装、使用MCScanX分析NCBI taxonomy上下载的两个梭菌基因组共线性情况。共线性又称同线性,是一个物种的基因组中相互连锁的基因,在另一物种的基因组中也是连锁关系, 而且在两个物种的遗传图上的位置也是相同的 。

Clostridium_beijerinckii
一条完整基因组序列
Clostridium_botulinum
一条完整基因组序列,一条质粒序列(手动删除)

官网: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位系统。如果要在 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

过程:

结果:

merge.collinearity共线性主要结果文件:

三、可视化

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文件,设置需要展示的染色体信息(和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的区别

更多工具:
mauve-viewer:https://github.com/nconrad/mauve-viewer
mauve官网:http://darlinglab.org/mauve/mauve.html
如何用WGDI进行共线性分析(上)

聊聊“基因组共线性”

Whole-Genome Alignment

上一篇 下一篇

猜你喜欢

热点阅读