jcvi网址:MCscan (Python version) · tanghaibao/jcvi Wiki · GitHub
jcvi的安装方式请参考网络上的教程
数据准备:
1.cds序列(1.cds、2.cds、3.cds)
2.gff3文件(1.gff3、2.gff3、3.gff3)
参考脚本
#将gff文件转为bed文件
python3 -m jcvi.formats.gff bed --type=mRNA --key=Name 1.gff3 -o 1.bed
python3 -m jcvi.formats.gff bed --type=mRNA --key=Name 2.gff3 -o 2.bed
python3 -m jcvi.formats.gff bed --type=mRNA --key=Name 3.gff3 -o 3.bed
#共线性模块鉴定
python3 -m jcvi.compara.catalog ortholog 1 2 --no_strip_names #1和2
python3 -m jcvi.compara.catalog ortholog 3 2 --no_strip_names #3和2
可视化
#点图
python3 -m jcvi.graphics.dotplot -o 1.2.anchors.pdf 1.2.anchors
python3 -m jcvi.graphics.dotplot -o 3.2.anchors.pdf 3.2.anchors
共线性图
除了我们已经拥有的 BED 文件和synteny文件之外,我们还需要准备两个额外的文件
首先是seqids文件,它告诉软件要包含哪组染色体。
#seqids
LG1,LG2,LG3,LG4,LG5,LG6,LG7,LG8,LG9,LG10,LG11,LG12,LG13,LG14,LG15,LG16
chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19
其次是layout文件,它告诉软件怎么绘制图形。整个画布在 x 轴上为 0-1,在 y 轴上为 0-1。首先,前三列指定轨道的位置,然后是否旋转,指定颜色,标签,垂直对齐,基因组BED文件。
# y, xstart, xend, rotation, color, label, va, bed
.6, .1, .8, 0, ,1, top, 1.bed
.4, .1, .8, 0, ,2, top, 2.bed
# edges
e, 0, 1, 1.2.anchors.simple
最后,此命令生成一个更简洁的文件
python3 -m jcvi.compara.synteny screen --minspan=30 --simple 1.2.anchors 1.2.anchors.new
python3 -m jcvi.compara.synteny screen --minspan=30 --simple 3.2.anchors 3.2.anchors.new
两个物种绘图
python3 -m jcvi.graphics.karyotype seqids layout
三个物种绘图
首先修改seqids3和layout3文件
#seqids3
LG1,LG2,LG3,LG4,LG5,LG6,LG7,LG8,LG9,LG10,LG11,LG12,LG13,LG14,LG15,LG16
chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19
ch00,ch01,ch02,ch03,ch04,ch05,ch06,ch07,ch08,ch09,ch10,ch11,ch12
#layout3
# y, xstart, xend, rotation, color, label, va, bed
.7, .1, .8, 0, , Sesame, top, 1.bed
.5, .1, .8, 0, , Grape, top, 2.bed
.3, .1, .8, 0, , Tomato, bottom, 3.bed
# edges
e, 0, 1, 1.2.anchors.simple
e, 1, 2, 3.2.anchors.simple
python3 -m jcvi.graphics.karyotype seqids3 layout3
网友评论