基因家族分析(7)种内共线性分析及circos绘图

MCscanX 软件用来做植物基因的共线性分析, 也可以做复制基因的分类分析,查看基因家族成员是否由 segmental 复制产生。

准备MCscanX 输入文件

输入文件准备:蛋白质序列文件和 gff3 文件, 均保留最长转录本。

#blasp比对鉴定物种内部蛋白的同源性

##构建blast数据库
makeblastdb -in Ft.pep.fasta -dbtype prot

## blast比对
blastp -query  Ft.pep.fasta  \ #输入文件
-db  Ft.pep.fasta  \ #指定的数据库
-evalue 1e-10 \ #设置阈值
-max_target_seqs 5 \ #保留前五个比对结果
-outfmt 6 -out Ft.blast

## 过滤gff3文件
awk '$3=="mRNA"' Ft_final.gff3 | awk -F ";" '{print $1}'|awk '{print $1"\t"$9"\t"$4"\t"$5}'|sed 's/ID=//' > Ft.gff
过滤后的gff3文件

第一列是染色体名称,第二列是基因的id,第三列是基因的起始和结束位置
然后我们用MCScanX做基因复制模式分析

种内基因复制模式分析

/home/software/MCScanX/duplicate_gene_classifier \ #你的软件安装的位置
 ./Ft \ #输入文件的前缀
 > Ft.log #输出文件

生成结果文件为 Ft.gene_type
输出结果为 2 列,第一列为基因 ID,第二列为分类数字,具体说明如下:


Ft.gene_type

数字代表不同的分类


Ft.log

种内共线性分析

准备文件:过滤后的gff文件和blast文件(Ft.gff,Ft.blast)

# 种内共线性分析
/home/software/MCScanX/MCScanX \ #软件安装位置
./Ft #输入文件的前缀

生成文件 Ft.collinearity,格式如下:

Ft.collinearity

circos 作图

将共线性分析结果做 circos 图,并标记基因家族成员位置和共线性情况。

数据准备

  1. 基因组 fasta 文件
  2. 共线性结果文件
  3. 共线性分析的 Ft.gff
  4. 基因家族成员 ID 列表文件
# 计算染色体长度
seqkit fx2tab -l -n -i Ft.genome.fasta |grep  "^Ft" |awk '{print $1"\t"$2}' > genome.len

# 生成染色体文件 7列
awk '{print "chr\t-\t"$1"\t"$1"\t0\t"$2"\tchr"NR}' genome.len > Ft.karyotype.circos.txt

# 生成circos作图数据文件
perl ./mcscanx_circos.pl  \ #脚本文件
Ft.gff  \ #输入mcscanx的GFF文件
Ft.collinearity  \ #输入mcscanx共线性结果
Ft.geneID  \ #输入基因家族成员ID
Ft.circos  #输出结果

生成的文件,circos使用
links文件:Ft.circos.geneBlocklinks.txt
基因ID文件:Ft.circos.geneText.txt
links文件:Ft.circos.links.txt
记录共线性基因家族成员:Ft.circos.genepair.txt

核型信息文件

Ft.karyotype.circos.txt 定义染色体长度和颜色等


Ft.karyotype.circos.txt

第一列:为 chr
第二列:- 占位
第三列:染色体 ID
第四列:显示在图中的名称
第五列:起始位点,0
第六列:终止位点,染色体长度
第七列:颜色

详 细 说 明 参 考:http://circos.ca/documentation/tutorials/ideograms/karyotypes/

文本信息文件

Ft.circos.geneText.txt 在图上需要标注的基因名称
第一列:染色体
第二列:起始位置
第三列:结束位置
第四列:基因id


Ft.circos.geneText.txt

染色体连接关系文件

一般做共线性图,可以画成线状或者带状
Ft.circos.geneBlocklinks.txt 和 Ft.circos.links.txt 二者格式一样


Ft.circos.links.txt

1-3 列和 4-6 列是需要连接的基因组位置信息

circos配置文件

ideogram.conf

染色体图形配置文件

<ideogram>

#设定染色体间的空隙大小
<spacing>
default = 0.01r #设置图中染色体之间的空隙大小
</spacing>

radius = 0.5r #设定ideograms的位置,以下设定ideograms在离圆心的90%处
thickness = 40p #设定 ideograms 的厚度为40p
fill = yes #设定ideograms是否填充颜色。
stroke_color = dgrey #设置轮廓颜色
stroke_thickness = 1p #设置轮廓厚度
show_label = yes #设定是否显示label, 对应着karyotype文件的第4列。
label_radius = 1r - 40p #设定 label 的位置
label_font = default #设置字体
label_size = 40p #设定label的字体大小
label_parallel = yes #设定label的文字方向,yes表示平行于染色体。

</ideogram>

ticks.conf

刻度配置信息

<ticks>

radius = 1r #设定 ticks 的位置
color = black # 设定 ticks 的颜色
thickness = 2p # 设定 ticks 的厚度

# 设定ticks label的值的计算。
# 得到圈图上的label 值。
multiplier = 1e-6
orientation = out # 设定ticks向外还是向内 可以设置值为 out 和 in

# label值的格式化方式。%d 表示结果为整数;%f 结果为浮点数;
# %.1f 结果为小数点后保留1位.
format = %d

<tick>
spacing = 10u # 设置每个刻度代表的长度。
size = 15p # 设置 tick 的长度
show_label = yes #设置展示 ticks label。
label_size = 10p #设置 ticks label 的字体大小
label_offset = 5p #设置 ticks label 离 ticks 的距离
format = %d
</tick>

</ticks>

circos.conf

主配置文件,绘制一圈基因 ID,内部 links 部分包括 2 组数据, 一组是全基因组水平共线性,一组是家族基因共线性。

karyotype = Ft.karyotype.circos.txt #指定染色体文件
chromosomes_units = 1000000 #设置长度单位,表示为1M长度的序列代表为1u
chromosomes_display_default = yes #默认是将所有的染色体都展示出来

##载入ideogram配置和刻度线配置
<<include ideogram.conf>>

show_ticks = yes # 显示刻度
show_tick_labels = yes # 显示刻度label
<<include ticks.conf>>

## plots block 绘制折线图、散点图、直方图、热图和文本显示
<plots>
##显示文本
<plot>
type = text #设置绘图类型为文本
file = Ft.circos.geneText.txt # 数据文件路径
color = red #文字颜色
# 显示在图形中的位置
r1 = 1.8r
r0 = 1r
label_font = default # 标签的字体
label_size = 20p # 标签大小
label_snuggle = yes # 避免文字重叠
# 设置是否需要在 label 前加一条线,用来指出 lable 的位置。
show_links = yes
link_dims = 5p,4p,40p,2p,2p
link_thickness = 2p
link_color = green
</plot>
</plots>
#links画连接线
file = Ft.circos.links.txt

# link文件,基因家族成员共线性连接
file = Ft.circos.geneBlocklinks.txt


#以下部分通常不做修改
#设置图片参数
<image>
<<include etc/image.conf>>
#覆盖原来的图片半径参数
#radius* = 500
</image>
#设置颜色,字体,填充模式的配置信息:
<<include etc/colors_fonts_patterns.conf>>
#系统与debug参数:
<<include etc/housekeeping.conf>>

画图

#circos作图
circos -conf circos.conf
#自动识别当前目录下的配置文件

欢迎关注Bioinfor 生信云微信公众号

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容