[比较基因组] 共线性分析(jcvi)

jcvi软件的使用

  1. 官网
  2. 软件下载
apt-get install -y texlive texlive-latex-extra texlive-latex-recommended dvipng
pip install git+git://github.com/tanghaibao/jcvi.git

3 测试数据下载(下载前去Phytozome官网注册账号)

python -m jcvi.apps.fetch Vvinifera,Ppersica
Phytozome Login: xxxxxxxx
Phytozome Password:

4 删除未挂载到染色体的序列 (以葡萄为例)

awk '{print $1}' Vvinifera_145_Genoscope.12X.gene.gff3 | less -S   #查看gff文件的第一列
awk '{print $1}' Vvinifera_145_Genoscope.12X.gene.gff3 | uniq  #查看gff文件的第一列的unique id,发现有除染色体以外的id
grep '^chr' Vvinifera_145_Genoscope.12X.gene.gff3 > apricot.filter.gff3  #删除除了chr以外的序列 
  1. 将gff文件转换成bed文件,输出并且重命名
python -m jcvi.formats.gff bed --type=mRNA --key=Name Vvinifera_145_Genoscope.12X.gene.gff3.gz -o grape.bed
python -m jcvi.formats.gff bed --type=mRNA --key=Name Ppersica_298_v2.1.gene.gff3.gz -o peach.bed
  1. Reformat fatsa文件
python -m jcvi.formats.fasta format Vvinifera_145_Genoscope.12X.cds.fa.gz grape.cds
python -m jcvi.formats.fasta format Ppersica_298_v2.1.cds.fa.gz peach.cds
  1. 共线性模块鉴定
python -m jcvi.compara.catalog ortholog grape peach --no_strip_names
  • 报错
AttributeError: 'module' object has no attribute '__version__'
  • 解决
    ① 降级statsmodels包
  pip install statsmodels==0.10.0

② 指定python3重新下载jcvi

  python3 -m pip install git+git://github.com/tanghaibao/jcvi.git 

以上两种方法均可,建议使用python3来下载jcvi

  1. 画共线性点图
    第7步就可以生成点阵图,如果不放心,可运行代码再次生成
python -m jcvi.graphics.dotplot grape.peach.anchors
  1. 画共线性图
python -m jcvi.compara.synteny screen --minspan=30 --simple grape.peach.anchors grape.peach.anchors.new

准备两个文件

  • seqid
chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19
Pp01,Pp02,Pp03,Pp04,Pp05,Pp06,Pp07,Pp08
  • layout
# y, xstart, xend, rotation, color, label, va,  bed
 .6,     .1,    .8,       0,      , Grape, top, grape.bed
 .4,     .1,    .8,       0,      , Peach, top, peach.bed
# edges
e, 0, 1, grape.peach.anchors.simple
  • 运行结果
python -m jcvi.graphics.karyotype seqid layout

结果图
image.png

你可能感兴趣的:([比较基因组] 共线性分析(jcvi))