R語言circos繪制

介紹

circos可以作為數(shù)據(jù)展示的一種手段鲁猩,主要用于基因組數(shù)據(jù)的可視化,比如甲基化罢坝,組蛋白修飾廓握,snp,indel嘁酿,sv隙券,以及常見的基因表達水平的展示,一般的circos都是基于perl語言的闹司,數(shù)量繁多的配置文件總是很難按照我們想要的方式展示最終結果娱仔。而在R中也存在一些繪制circos的包,本例中主要介紹一下OmicCircos這個包的使用

用法

在使用OmicCircos繪制circos圖之前游桩,我們首先也需要準備配置文件牲迫,比如染色體長度信息,染色體定位信息等等借卧,如果還有snp盹憎,甲基化等信息也可以一并展示,在OmicCircos中主要使用circos函數(shù)來繪制circos圖形铐刘。

rm(list=ls());
library(OmicCircos);
options(stringsAsFactors = FALSE);

#首先導入自帶數(shù)據(jù)進行測試陪每,包括基因表達,cnv等數(shù)據(jù)
data("TCGA.PAM50_genefu_hg18");
data("TCGA.BC.fus");
data("TCGA.BC.cnv.2k.60");
data("TCGA.BC.gene.exp.2k.60");
data("TCGA.BC.sample60");
data("TCGA.BC_Her2_cnv_exp");

#cnv的p值進行l(wèi)og10轉化
pvalue <- -1 * log10(TCGA.BC_Her2_cnv_exp[,5]);
pvalue <- cbind(TCGA.BC_Her2_cnv_exp[,c(1:3)], pvalue);

#篩選Her2亞型
Her2.i <- which(TCGA.BC.sample60[,2] == "Her2");
Her2.n <- TCGA.BC.sample60[Her2.i,1];
Her2.j <- which(colnames(TCGA.BC.cnv.2k.60) %in% Her2.n);

#篩選Her2亞型患者cnv信息
cnv    <- TCGA.BC.cnv.2k.60[,c(1:3,Her2.j)]; 
cnv.m  <- cnv[,c(4:ncol(cnv))];
cnv.m[cnv.m >  2] <- 2;
cnv.m[cnv.m < -2] <- -2;
cnv <- cbind(cnv[,1:3], cnv.m);

#篩選Her2亞型患者的基因表達信息
Her2.j   <- which(colnames(TCGA.BC.gene.exp.2k.60) %in% Her2.n);
gene.exp <- TCGA.BC.gene.exp.2k.60[,c(1:3,Her2.j)]; 

#設定顏色
colors <- rainbow(10, alpha=0.5);

#畫圖,首先建立一個空白圖層
pdf("OmicCircos4vignette10.pdf", 8,8);
par(mar=c(2, 2, 2, 2));
plot(c(1,800), c(1,800), type="n", axes=FALSE, xlab="", ylab="", main="");


#選擇需要放大的坐標
zoom <- c(1, 22, 939245.5, 154143883, 0, 180);

#開始畫圖
circos(R=400, cir="hg18", W=4,   type="chr", print.chr.lab=TRUE, scale=TRUE, zoom=zoom);#最外層染色體信息
circos(R=300, cir="hg18", W=100, mapping=gene.exp, col.v=4,  type="heatmap2", cluster=TRUE, col.bar=TRUE, lwd=0.01, zoom=zoom);#次外層基因表達信息
circos(R=220, cir="hg18", W=80,  mapping=cnv,      col.v=4,   type="ml3", B=FALSE, lwd=1, cutoff=0, zoom=zoom);#第三層cnv信息
circos(R=140, cir="hg18", W=80,  mapping=pvalue,   col.v=4,    type="l",   B=TRUE, lwd=1, col=colors[1], zoom=zoom);#第四層p值曲線
circos(R=130, cir="hg18", W=10,  mapping=TCGA.BC.fus, type="link", lwd=2, zoom=zoom);#基因共表達連線


## 局部放大操作
the.col1=rainbow(10, alpha=0.5)[1];
highlight <- c(140, 400, 11, 282412.5, 11, 133770314.5, the.col1, the.col1);
circos(R=110, cir="hg18", W=40, mapping=highlight, type="hl", lwd=2, zoom=zoom);
the.col2=rainbow(10, alpha=0.5)[6];
highlight <- c(140, 400, 17, 739525, 17, 78385909, the.col2, the.col2);
circos(R=110, cir="hg18", W=40, mapping=highlight, type="hl", lwd=2, zoom=zoom);

## highlight link
highlight.link1 <- c(400, 400, 140, 376.8544, 384.0021, 450, 540.5);
circos(cir="hg18", mapping=highlight.link1, type="highlight.link", col=the.col1, lwd=1);
highlight.link2 <- c(400, 400, 140, 419.1154, 423.3032, 543, 627);
circos(cir="hg18", mapping=highlight.link2, type="highlight.link", col=the.col2, lwd=1);

## zoom in chromosome 11
zoom <- c(11, 11, 282412.5, 133770314.5, 180, 270);
circos(R=400, cir="hg18", W=4,   type="chr", print.chr.lab=TRUE, scale=TRUE, zoom=zoom);
circos(R=300, cir="hg18", W=100, mapping=gene.exp, col.v=4,  type="heatmap2", cluster=TRUE, lwd=0.01, zoom=zoom);
circos(R=220, cir="hg18", W=80,  mapping=cnv,      col.v=4,   type="ml3", B=FALSE, lwd=1, cutoff=0, zoom=zoom);
circos(R=140, cir="hg18", W=80,  mapping=pvalue,   col.v=4,    type="l",   B=TRUE, lwd=1, col=colors[1], zoom=zoom);

## zoom in chromosome 17
zoom <- c(17, 17, 739525, 78385909, 274, 356);
circos(R=400, cir="hg18", W=4,   type="chr", print.chr.lab=TRUE, scale=TRUE, zoom=zoom);
circos(R=300, cir="hg18", W=100, mapping=gene.exp, col.v=4,  type="heatmap2", cluster=TRUE, lwd=0.01, zoom=zoom);
circos(R=220, cir="hg18", W=80,  mapping=cnv,      col.v=4,   type="ml3", B=FALSE, lwd=1, cutoff=0, zoom=zoom);
circos(R=140, cir="hg18", W=80,  mapping=pvalue,   col.v=4,    type="l",   B=TRUE, lwd=1, col=colors[1], zoom=zoom);
dev.off()

需要注意的是奶稠,omicCircos是使用type函數(shù)來指定不同圖形的展示方式的,而type可以指定的圖片形式包括以下幾種:

  • “chr”:染色體或片段的繪圖
  • “chr2”:染色體或部分基因組片段圖
  • “heatmap”:熱圖

  • “heatmap2”:基因組坐標的heatmaps

  • “hightlight.link”:用于縮放的鏈接線

  • “hl”:突出顯示

  • “l(fā)abel”:基因標簽或文本注釋

  • “l(fā)abel2”:具有相同圓周坐標的基因標簽或文本注釋

  • “l(fā)ink.pg”:基于貝塞爾曲線的鏈接多邊形

  • “l(fā)ink”:基于貝塞爾曲線的鏈接線

  • “l(fā)ink2”:具有較小染色體內弧的鏈接線

  • “l(fā)”:折線

  • “l(fā)s”:階梯狀線圖

  • “l(fā)h”:水平線

  • “ml”:多折線

  • “ml2”:多水平線

  • “ml3”:多階梯狀線圖

  • “box”:箱線圖

  • “hist”:多個樣本的直方圖

  • “ms”:多個樣本的點圖(類似箱線圖)

  • “h”:柱狀圖

  • “s”:點圖

  • “b”:條形圖

  • “quant75”:75%分位數(shù)線
  • “quant90”:90%分位數(shù)線
  • “ss”:與數(shù)值成比例的點
  • “sv”:與方差成比例的點
  • “s.sd”:與標準偏差成比例的點
  • “ci95”:95%置信區(qū)間線
  • “b2”:條形圖(雙向)
  • “b3”:相同高度的條形圖
  • “s2”:固定半徑的點
  • “arc”:半徑可變的患癖椤(表示基因片段)
  • “arc2”:具有固定半徑的弧
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末锌订,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子画株,更是在濱河造成了極大的恐慌辆飘,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谓传,死亡現(xiàn)場離奇詭異蜈项,居然都是意外死亡,警方通過查閱死者的電腦和手機续挟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門紧卒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诗祸,你說我怎么就攤上這事跑芳。” “怎么了直颅?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵博个,是天一觀的道長。 經常有香客問我功偿,道長盆佣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任械荷,我火速辦了婚禮共耍,結果婚禮上,老公的妹妹穿的比我還像新娘吨瞎。我一直安慰自己征堪,他們只是感情好,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布关拒。 她就那樣靜靜地躺著佃蚜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪着绊。 梳的紋絲不亂的頭發(fā)上谐算,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機與錄音归露,去河邊找鬼洲脂。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的恐锦。 我是一名探鬼主播往果,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼一铅!你這毒婦竟也來了陕贮?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤潘飘,失蹤者是張志新(化名)和其女友劉穎肮之,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卜录,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡戈擒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了艰毒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筐高。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖丑瞧,靈堂內的尸體忽然破棺而出凯傲,到底是詐尸還是另有隱情,我是刑警寧澤嗦篱,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布冰单,位于F島的核電站,受9級特大地震影響灸促,放射性物質發(fā)生泄漏诫欠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一浴栽、第九天 我趴在偏房一處隱蔽的房頂上張望荒叼。 院中可真熱鬧,春花似錦典鸡、人聲如沸被廓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫁乘。三九已至,卻和暖如春球碉,著一層夾襖步出監(jiān)牢的瞬間蜓斧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工睁冬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挎春,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像直奋,于是被迫代替她去往敵國和親能庆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容

  • 原文地址:https://mp.weixin.qq.com/s/-npB5r3W-WVkt7x4tLN_MA 目前...
    蘇慕晨楓閱讀 3,496評論 0 3
  • 原文地址:https://mp.weixin.qq.com/s/xTSIB5pM5Cp6gwlqWQa8Tw 用c...
    蘇慕晨楓閱讀 2,148評論 0 9
  • 劉小澤上篇寫于18.10.3 脚线,中篇寫于18.10.4搁胆,下篇寫于18.10.6學習障礙的規(guī)律往往是:不是因為它多難...
    劉小澤閱讀 2,731評論 3 13
  • いつもより迷っている。 何を考えているか自分もわからない殉挽。 幸せになりたいって思ってるのに丰涉、本當の幸せは何か...
    遠峰凝碧閱讀 411評論 0 0
  • 小時候 仰望天空 一片白云 點綴了 生活中 全部的色彩 長大后 不經意的抬頭 滿天的云彩 卻覆蓋不了 我心中的霧霾
    布寧life閱讀 125評論 0 0