专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

用这个工具你也能画出CNS级别的共线性图

生信媛  · 公众号  · 生物  · 2019-07-16 10:42

正文

请到「今天看啥」查看全文


在「JCVI教程」编码序列或蛋白序列运行共线性分析流程(上)还是有一个尴尬的事情,就是只用到两个物种,不能展示出JCVI画图的强大之处,因此这里参考https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)的分析,只不过画图部分拓展下思路。

首先要运行如下代码获取目的数据

  1. python -m jcvi.apps.fetch phytozome Vvinifera,Ppersica,Tcacao

  2. python -m jcvi.formats.gff bed --type=mRNA --key=Name Vvinifera_145_gene.gff3.gz -o grape.bed

  3. python -m jcvi.formats.gff bed --type=mRNA --key=Name Ppersica_139_gene.gff3.gz -o peach.bed

  4. python -m jcvi.formats.gff bed --type=mRNA --key=Name Tcacao_233_gene.gff3.gz -o cacao.bed

  5. python -m jcvi. formats.fasta format --sep="|" Vvinifera_145_cds.fa.gz grape.cds

  6. python -m jcvi.formats.fasta format --sep="|" Ppersica_139_cds.fa.gz peach.cds

  7. python -m jcvi.formats.fasta format --sep="|" Tcacao_233_cds.fa.gz cacao.cds

  8. # find ortholog

  9. python -m jcvi.compara.catalog ortholog grape peach --cscore=.99

  10. python -m jcvi.compara.catalog ortholog peach cacao --cscore=.99

  11. # build .simpe

  12. python -m jcvi.compara.synteny screen --minspan=30 --simple grape .peach.anchors grape.peach.anchors.new

  13. python -m jcvi.compara.synteny screen --minspan=30 --simple peach.cacao.anchors peach.cacao.anchors.new

然后按照教程的配置文件进行画图

layout文件内容如下

  1. # y, xstart, xend, rotation, color, label, va, bed

  2. .7, .2, .4, 45, , Grape, top, grape.bed

  3. .5, .2, .8, 0, , Peach, top, peach.bed

  4. .7, .4, .8, -45, , Cacao, bottom, cacao.bed

  5. # edges

  6. e, 0, 1, grape.peach.anchors.simple

  7. e, 1, 2, peach.cacao.anchors.simple

seqids文件内容如下

  1. chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19

  2. scaffold_1,scaffold_2,scaffold_3,scaffold_4,scaffold_5, scaffold_6,scaffold_7,scaffold_8

  3. scaffold_1,scaffold_2,scaffold_3,scaffold_4,scaffold_5,scaffold_6,scaffold_7,scaffold_8,scaffold_9,scaffold_10r

运行 python - m jcvi . graphics . karyotype seqids layout 会得到如下结果

我就在思考一个问题如何让他形成一个三角形。经过一波三角运算和不断尝试,我摸索除了下面的layout

  1. # y, xstart, xend, rotation, color, label, va, bed

  2. .5, 0.025, 0.625, 60, , Grape, top, grape.bed

  3. .2, 0.2, .8, 0, , Peach, top, peach.bed

  4. .5, 0.375, 0.975, -60, , Cacao, top, cacao.bed

  5. # edges

  6. e, 0, 1, grape.peach.anchors.simple

  7. e, 1, 2, peach.cacao.anchors.simple

运行 python - m jcvi . graphics . karyotype seqids layout 会得到如下结果

当然这里只展示了,grape和peach, peach和cacao之间的共线性,我又想着能不能加上grape和caocao呢?我尝试着运行下面的代码,

  1. python -m jcvi.compara.catalog ortholog grape cacao --cscore=.99

  2. python -m jcvi.compara.synteny screen --minspan=30 --simple grape.cacao.anchors grape.cacao.anchors.new

并继续修改了layout

  1. # y, xstart, xend, rotation, color, label, va, bed

  2. .5, 0.025, 0.625, 60, , Grape, top, grape.bed

  3. .2, 0.2, .8, 0, , Peach, top, peach.bed

  4. .5, 0.375, 0.975, -60, , Cacao, top, cacao.bed

  5. # edges

  6. e, 0, 1, grape.peach.anchors.simple

  7. e, 1, 2, peach.cacao.anchors.simple

  8. e, 0, 2, grape.cacao.anchors.simple

运行 python - m jcvi . graphics . karyotype seqids layout 会得到如下结果

我觉得只要你有数据和时间,肯定能用JCVI画出下面的图了,毕竟这个图估计也是唐老师画出来

图片来自于https://science.sciencemag.org/content/345/6199/950








请到「今天看啥」查看全文