RCricos绘制简单圈图
程序1:
library(RCircos)
#导入内建人类染色体数据
data(UCSC.HG38.Human.CytoBandIdeogram)
cyto.info RCircos.Set.Core.Components(cyto.info, chr.exclude=NULL,tracks.inside=10, tracks.outside=0 )
#chr.exclude #cyto.info #tracks.inside #tracks.outside #设置外部track 个数
RCircos.Set.Plot.Area()
RCircos.Chromosome.Ideogram.Plot() #绘制染色体表意文字,染色体的默认方法亮点和染色体名称。
程序2:
#导入内建人类染色体数据
data(UCSC.HG19.Human.CytoBandIdeogram);
head(UCSC.HG19.Human.CytoBandIdeogram);
chr.exclude cyto.info tracks.inside tracks.outside
#导入上面四个基本参数
RCircos.Set.Core.Components(cyto.info, chr.exclude, tracks.inside, tracks.outside);
#列出 所有绘图参数
RCircos.List.Parameters()
#Following are an example to change RCircos plot parameters:
#===========================================================
params params$radius.len params$base.per.unit RCircos.Reset.Plot.Parameters(params) #参数重置
#定义要生成的图像文件,pdf,png,tiff 等 ,注意:最后要用dev.off()关闭
out.file pdf(file=out.file, height=8, width=8, compress=TRUE);
RCircos.Set.Plot.Area();
#Plot Chromosome Ideogram
RCircos.Chromosome.Ideogram.Plot();
#Gene Labels and connectors on RCircos Plot
#RCircos.Gene.Connector.Plot 绘制染色体表意文字和基因名称之间的连接
#RCircos.Gene.Name.Plot 在数据轨道上绘制基因名称
data(RCircos.Gene.Label.Data);
name.col side track.num RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data, track.num, side);
track.num RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data, name.col,track.num, side);
#Heatmap, Histogram, Line, Scatter, and Tile Plot
#Heatmap--------------
#RCircos.Heatmap.Plot绘制一个数据轨道的热图
data(RCircos.Heatmap.Data);
data.col track.num side RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col, track.num, side);
#Scatter--------------
#RCircos.Scatter.Plot 一个数据轨迹的扫描图
data(RCircos.Scatter.Data);
data.col track.num side by.fold RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col,track.num, side, by.fold);
#Line-----------------
#RCircos.Line.Plot绘制线为一个数据轨道
data(RCircos.Line.Data);
data.col track.num side RCircos.Line.Plot(RCircos.Line.Data, data.col, track.num, side);
#Histogram------------
#RCircos.Histogram.Plot 绘制一个数据轨迹的直方图
data(RCircos.Histogram.Data);
data.col track.num side RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col, track.num, side);
# Tile-----------------
data(RCircos.Tile.Data);
track.num side RCircos.Tile.Plot(RCircos.Tile.Data, track.num, side);
#Links-----------------
#RCircos.Link.Plot绘制两个或多个基因组位置之间的链接线
data(RCircos.Link.Data);
track.num RCircos.Link.Plot(RCircos.Link.Data, track.num, TRUE);
data(RCircos.Ribbon.Data);
RCircos.Ribbon.Plot(ribbon.data=RCircos.Ribbon.Data, track.num=11, by.chromosome=FALSE, twist=FALSE);