R语言做生信Cook R生物信息学与算法

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

2019-02-16  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读