|
发表于 2022-12-29 08:48:25
|
查看: 2903 |
回复: 0
背景
我们研究一个基因集发表sci时,多想展示这些基因在人基因组上的位置信息。这个时候一个环形图的想法就诞生了,环形图可以在一个狭小的空间内储存较多的信息,散点图、条形图、柱状图等,升级版的还可以画相关性的线。语言描述我大致做到这里,今天教大家的没有这么高级,我们从基础的学起,先画出框架来。"展示这些基因在人基因组上的位置信息"。主要是R语言来实现,下面就放出代码和图。
代码
- rm(list = ls()) #### 魔幻操作,一键清空~
- getwd()
- setwd('/home/xhs/tmp/circos/')
- library(RCircos)
- # BiocManager::install("RCircos",ask = F,update = F)
- # 绘制人染色体圈图 ------------------------------------------------------
- # 导入人类染色体数据
- data(UCSC.HG19.Human.CytoBandIdeogram)
- # 设置染色体数据
- cyto.info <- UCSC.HG19.Human.CytoBandIdeogram
- # 设置不显示的染色体
- chr.exclude <- NULL
- # 设置内部环形数
- tracks.inside <- 10
- # 设置外部环形数
- tracks.outside <- 0
- # 导入上面四个基本参数
- RCircos.Set.Core.Components(cyto.info,
- chr.exclude,tracks.inside, tracks.outside)
- # 列出所有绘图参数
- RCircos.List.Plot.Parameters()
- # 绘制染色体图形,默认方法显示染色体名称。
- RCircos.Set.Plot.Area()
- RCircos.Chromosome.Ideogram.Plot()
- #修改图形参数,基因文本大小
- params1 <- RCircos.Get.Plot.Parameters()
- params1$text.size <- 1
- RCircos.Reset.Plot.Parameters(params1)
- #绘制基因
- # 添加基因名称与连线 -----------------------------------------------------
- # 加载数据集
- data(RCircos.Gene.Label.Data);
- head(RCircos.Gene.Label.Data)#要画的基因数据格式,有192行
- #模拟画10个基因吧
- #随机取
- set.seed(123)
- RCircos.Gene.Label.Data <- RCircos.Gene.Label.Data[sample(1:192,10),]
- RCircos.Gene.Label.Data
- # 设置在内环绘制
- side <- "in";
- # 设置在第一内环绘制
- track.num <- 1;
- # 绘图
- RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data, track.num, side);
- # 在染色体上添加基因名称
- name.col <- 4;
- track.num <- 2;
- # 绘图
- RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data, name.col,track.num, side) #导出pdf/png
- # ?RCircos.Gene.Name.Plot
复制代码
出图
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|