美文网首页gene family
基因家族分析(7)种内共线性分析及circos绘图

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

作者: Bioinfor生信云 | 来源:发表于2022-08-13 21:02 被阅读0次

    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 生信云微信公众号

    相关文章

      网友评论

        本文标题:基因家族分析(7)种内共线性分析及circos绘图

        本文链接:https://www.haomeiwen.com/subject/rktcgrtx.html