genoplotR对基因组比较结果的展示
先运行一段小的代码
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;
同样也可以自己写函数去定义形状)
- 自己画一个图感受一下
image.pngplot_gene_map(dna_segs = dna_segs,gene_type = "arrows")
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是下面的那个对应基因的开始和结束的位置)
- 自己画一个图感受一下
image.pngplot_gene_map(dna_segs = dna_segs,gene_type = "arrows",comparisons = comparisons)
annotation:
x1 x2 text color rot
301 NA feat1 blue 30
800 1345 region1 black 0
注释信息是来对基因进行描述的,x1是描述名称的位置(如果没有x2的话),如果有x2的话就会使用大的括折给括起来
text是描述的名称,color是颜色,rot是旋转的角度,默认是0
- 自己画一个图感受一下
image.pngplot_gene_map(dna_segs = dna_segs,gene_type = "arrows",annotations = annot)
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