bioinfoer

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

0

收听

12

听众

360

主题
发表于 2025-3-22 22:13:39 | 查看: 48| 回复: 1

背景

之前推送过画染色体的注释图,原作者发布了R包,更好用了。

应用场景

差异表达基因(RNA-seq)、开放染色质(DNase/ATAC-seq)、CTCF结合位点(ChIP-seq)、突变位点(WGS)或DNA甲基化(WGBS)在染色体上的分布,或者只是画Ideogram

环境设置

#install.packages("RIdeogram")
library(RIdeogram)
Sys.setenv(LANGUAGE = "en") #显示英文报错信息
options(stringsAsFactors = FALSE) #禁止chr转成factor

输入文件

三个输入文件,其中第一个文件必需提供,第二和第三个文件非必需:

  • karyotype.csv,用于画染色体轮廓。包含五列:第一列为染色体名,第二、三列为染色体的起始和终止点。如果能提供着丝粒的开始和结束位置,就给出第四列(起始)和第五列(终止),如果着丝粒位置未知,就只给前三列。0-based基因组坐标(以0-based开始、1-based结束)。
  • easy_input_heatmap.csv,用来绘制染色体heatmap。包含四列,第一列染色体名,第二、三列为染色体上的位置,第四列为相应位置上的值。例如差异基因的log2foldchange、甲基化水平等。
  • easy_input_mark.csv,如果想画染色体旁边的形状标记,就要提供这个文件。包含六列,第一列type,第二列形状(只支持三种形状:box正方形、triangle三角形和circle圆。如果需要标记的特征超过3种,就用第六列里的颜色区分吧,例如红色的三角形,蓝色的三角形等),第三列染色体,第四、五列染色体上的位置,第六列颜色。**注意:**同一type对应的颜色一致。
# 染色体长度、中心粒位置
karyotype <- read.csv("karyotype.csv")
karyotype

# 染色体上的heatmap
gene_density <- read.csv("easy_input_heatmap.csv")
head(gene_density)

# 染色体旁边的形状标记
Random_RNAs_500 <- read.csv("easy_input_mark.csv")
head(Random_RNAs_500)

karyotype前几行如下:

gene_density前几行如下:

Random_RNAs_500前几行如下:

开始画图

ideogram(karyotype = karyotype, 
       
         #如果没提供easy_input_heatmap.csv,就在下面两行前面加#
         overlaid = gene_density, 
         #染色体上heatmap的配色
         colorset1 = c("forestgreen", "gold", "deeppink3"), 
       
         #如果没提供easy_input_mark.csv,就在下面这行前面加#
         label = Random_RNAs_500, 
       
         #染色体宽度,默认170
         width = 200, 
       
         #图例的位置
         Lx = 160, #图例左上角跟左边的距离
         Ly = 20) #图例左上角跟顶端的距离

格式转换

运行完上面这段,当前文件夹里会生成一个“chromosome.svg”文件,是矢量图。可以用Inkscape、Illustrator等工具打开、编辑、转换成其他格式。

还可以运行下面这段把svg转成pdf或tiff、jpg、png等格式的文件

#svg2pdf或svg2tiff、svg2jpg、svg2png
svg2pdf("chromosome.svg", 
        width = 12, height = 8, #画布大小
        dpi = 300)

收藏回复 显示全部楼层 道具 举报

发表于 2025-3-22 22:15:37

文中所用数据可以关注公众号“生信喵实验柴”
1.png
发送关键词“20250323”获取

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|bioinfoer ( 萌ICP备20244422号 )

GMT+8, 2025-4-5 04:29 , Processed in 0.077682 second(s), 34 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表