美文网首页R语言做生信Cook R生物信息学与算法
genoplotR对基因组比较结果的展示

genoplotR对基因组比较结果的展示

作者: 灵动的小猪 | 来源:发表于2019-02-16 14:09 被阅读45次

    先运行一段小的代码

    install.package("genoPlotR")
    library(genoPlotR)
    data(three_genes)
    comparisons[[1]]$col <- apply_color_scheme(c(0.6, 0.4, 0.5), "grey")
    names <- c("Huey", "Dewey", "Louie")
    names(dna_segs) <- names
    tree <- newick2phylog("(((Huey:4.2,Dewey:3.9):3.1,Louie:7.3):1);")
    mid_pos <- middle(dna_segs[[1]])
    xlims <- list(c(Inf, -Inf), c(-Inf, Inf), c(1850, 2800))
    annot <- annotation(x1=c(mid_pos[1], dna_segs[[1]]$end[2]),
                        x2=c(NA, dna_segs[[1]]$end[3]),
                        text=c(dna_segs[[1]]$name[1], "region1"),
                        rot=c(30, 0), col=c("blue", "black"))
    
    运行结果

    一些数据格式的说明

    dna_segs

    name start  end strand  col lty lwd pch cex gene_type
    feat1     2  600     -1 blue   1   1   8   1    arrows
    feat2  1000  800     -1 grey   1   1   8   1    arrows
    feat3  1050 1345      1  red   1   1   8   1    arrows
    

    (name,start,end,strand这四项是必须要的
    col,lty,lwd,pch,cex,gene_type在画图时会用到,但是在读取数据时已经默认有参数了)
    start是基因的开始,end是基因的结束的位置,
    strand是链的方向,正常情况下是向右为正方向(即:1),
    col是gene_type的颜色,
    gene_type是基因的形状,已经定义好的有
    (箭头:arrows,headless_arrows,blocks,bars,points,text,lines,
    side_blocks,side_bars,side_points,side_text,side_lines,introns,exons,side_exons;
    同样也可以自己写函数去定义形状)

    • 自己画一个图感受一下

    plot_gene_map(dna_segs = dna_segs,gene_type = "arrows")

    image.png

    comparisons

    start1 end1 start2 end2 direction       col
         2  600     50  900         1 #40404080
      1000  800    800 1100        -1 #BFBFBF80
      1050 1345   1200 1322         1 #80808080
    

    (start1,end1,start2,end2,direction,col都是必须的)
    start1,end1是前两个比较时上面的那个基因的开始和结束的位置,start2,end2是下面的那个对应基因的开始和结束的位置)

    • 自己画一个图感受一下

    plot_gene_map(dna_segs = dna_segs,gene_type = "arrows",comparisons = comparisons)

    image.png

    annotation

    x1   x2    text color rot
    301   NA   feat1  blue  30
    800 1345 region1 black   0
    

    注释信息是来对基因进行描述的,x1是描述名称的位置(如果没有x2的话),如果有x2的话就会使用大的括折给括起来
    text是描述的名称,color是颜色,rot是旋转的角度,默认是0

    • 自己画一个图感受一下

    plot_gene_map(dna_segs = dna_segs,gene_type = "arrows",annotations = annot)

    image.png

    plot_gene_map函数参数的说明

    plot_gene_map(dna_segs, #
                  comparisons = NULL,   #基因组之间的比较
                  tree = NULL,  #基因组之间的进化树
                  tree_width = NULL,    #进化树总的宽度
                  tree_branch_labels_cex = NULL,    #
                  tree_scale = FALSE,   #进化树的标尺
                  legend = NULL,    #图例
                  annotations = NULL,   #基因的注释
                  annotation_height = 1,    #注释的高度
                  annotation_cex = 0.8,     #注释的大小
                  seg_plots=NULL,    # user-defined plots
                  seg_plot_height=3, # height of plots (in lines)
                  seg_plot_height_unit="lines", # unit of preceding
                  seg_plot_yaxis=3, # if non-null or non false, ticks
                  seg_plot_yaxis_cex=scale_cex,
                  xlims = NULL, #x轴的边界
                  offsets = NULL,   #过滤阈值
                  minimum_gap_size = 0.05,  #最小的gap大小
                  fixed_gap_length = FALSE,
                  limit_to_longest_dna_seg = TRUE,
                  main = NULL,  #主标题
                  main_pos = "centre",  #主标题的位置
                  dna_seg_labels = NULL, #每个dna_seg的名称
                  dna_seg_label_cex=1,  #dna_seg名称的大小
                  dna_seg_label_col="black",    #dna_seg名称的颜色
                  gene_type = NULL, #gene的表示符号
                  arrow_head_len = 200,
                  dna_seg_line = TRUE,  #dna_seg中间的那条线
                  scale = TRUE, #比例尺
                  dna_seg_scale = !scale,   #刻度
                  n_scale_ticks=7,  #在最长的seg上大约多少个刻度,他会自动适当调整
                  scale_cex=0.6,    #刻度的大小
                  global_color_scheme = c("auto", "auto", "blue_red", 0.5), #当override_color_schemes是TRUE是起作用
                  override_color_schemes = FALSE,   #是否重新编写表示序列之间关系color
                  plot_new=TRUE,    #画一张新图
                  debug = 0,
                  ...)
    

    它可以画出来各种各样的图


    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    参考

    genoplotR

    相关文章

      网友评论

        本文标题:genoplotR对基因组比较结果的展示

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