欢迎光临散文网 会员登陆 & 注册

绘制基因位置环形图

2023-04-10 09:12 作者:小云爱生信  | 我要投稿

尔云间  一个专门做科研的团队

原创  小果   生信果   关注我们



今天小果绘制一下基因位置的环形图,绘图代码如下:

1、安装所需要的包

BiocManager::install(“RCircos”)

install.packages(“magritter”)

install.packages(“tidyverse”)

2、导入需要的R包

library(RCircos)

library(magritter)

library(tidyverse)

3、读取数据

#图中展示目标基因文件

genes <- read.table("gene.txt", header = T)$SYMBOL

# 根据基因集提取出目的基因所在位置

gene_pos <- import("hg38.gtf") %>% # 载入gtf文件

  as.data.frame %>%

  # 仅选择基因,去除转录本等等

  filter(source == "HAVANA", type == "gene") %>%  

  # 保留基因位置和名称

  dplyr::select(seqnames, start, end, gene_name) %>%   

  # 挑选目的基因

  filter(gene_name %in% genes)

# 原文没说内圈散点图代表什么特征,我们这里随机生成一列数值

gene_pos$gene_dot <- rnorm(nrow(gene_pos), 0, 2)

# 保存到文件,便于套用格式

write.csv(gene_pos,"gene_pos.csv", row.names = F, quote = F)





#加载基因所在的位置和数值

gene_pos <- read.csv("gene_pos.csv", header = T)

# 加载染色体Ideogram

(data("UCSC.HG38.Human.CytoBandIdeogram"))

pdf(file="circGene.pdf", height=5, width=5)

# 根据hg38构建染色体位置,只保留chr1-22,X,Y,在圈内部构建三圈轨道

RCircos.Set.Core.Components(UCSC.HG38.Human.CytoBandIdeogram,

                            chr.exclude = NULL,

                            tracks.inside = 3,

                            tracks.outside = 0)

RCircos.Set.Plot.Area()

# 绘制染色体

RCircos.Chromosome.Ideogram.Plot()

# 在第一圈用散点在基因所在的位置标注数值

# 调整配色

params <- RCircos.Get.Plot.Parameters()

params$track.background <- "grey" # 第三圈默认配色为wheat,模仿原文修改为灰色

RCircos.Reset.Plot.Parameters(params)



RCircos.Scatter.Plot(gene_pos,

                     data.col = 5, # 用第5列的数值作为点的纵坐标

                     by.fold = 1, # 点的颜色cutoff,大于等于1的基因显示为红色点,小于等于-1的显示为蓝色点,-1到1之间为黑点

                     track.num = 1,

                     side = "in")

# 在第二圈绘制线段标注基因所在的位置

RCircos.Gene.Connector.Plot(genomic.data = gene_pos,

                            track.num = 2,

                            side = "in")

# 在第三圈标注基因名

RCircos.Gene.Name.Plot(gene_pos,

                       name.col = 4,

                       track.num = 3,

                       side = "in")

dev.off()

小果最终绘制出了目标基因位置环形图,有需要的可以借鉴学习。



推荐阅读

“生信果”  生信入门、R语言、生信图解读与绘制、软件操作、代码复现、生信硬核知识技能、服务器、生物信息学的教程,以及基于R的分析和可视化等原创内容,一起见证小白和大佬的成长。


绘制基因位置环形图的评论 (共 条)

分享到微博请遵守国家法律