Crosstalk: 如何繪制兩個(gè)通路中有哪些基因重復(fù)了鸠按?ggplot2的活學(xué)活用

這種圖又稱cross-talk礼搁,當(dāng)這套數(shù)據(jù)集做完富集分析后,查看兩個(gè)通路里有哪些基因是重疊的目尖。

輸入矩陣

假設(shè)我們整理好這樣的矩陣馒吴,第一列是FC值,第二列是基因名瑟曲,第三列是基因所在的通路名饮戳,其中在兩個(gè)通路中都有的基因用intersect表示《床Γ基因的順序需要事先排一下:Hippo, intersect, Wnt扯罐。我懶得查函數(shù),直接用excel做了扣甲,故這部分代碼省略篮赢。

library(ggplot2)
library(ggrepel)
temp<-test[which(test$X=="intersect"),]
library(Cairo)
CairoJPEG("crosstalk.jpeg",width=7200,height=4800,res=1200)
ggplot(test)+geom_point(aes(x=test$Symbol,y=test$log2FoldChange.C2.C1.,colour=factor(test$X)),size=5)+
  scale_x_discrete(limits=test$Symbol)+theme_bw()+theme(panel.grid = element_blank())+
  ylab("Fold change")+
  theme(axis.text.x=element_blank())+theme(axis.ticks.x = element_blank())+theme(axis.title.x = element_blank())+
  geom_text_repel(aes(x=test$Symbol,y=test$log2FoldChange.C2.C1.,label=ifelse(test$X=="intersect",test$Symbol,"")),
                  colour="darkred",size=3,box.padding = unit(0.35, "lines"),point.padding = unit(0.3, "lines"))+
  geom_point(data=temp,aes(x=temp$Symbol,y=temp$log2FoldChange),alpha=1,size=5.1,shape=1,stroke=1,color="black")+
  theme(axis.text.y=element_text(face="bold",color="black",size=15))+theme(axis.title.y=element_text(size=14))+theme(legend.title=element_blank())
dev.off()

看起來有點(diǎn)亂,于是我分圖層整理了一下琉挖,方便大家查閱

輸出高清圖
CairoJPEG("crosstalk.jpeg",width=7200,height=4800,res=1200)
排列X軸順序
scale_x_discrete(limits=test$Symbol)
背景為白色
theme_bw()
去掉網(wǎng)格線
theme(panel.grid = element_blank())
去掉X軸坐標(biāo)
theme(axis.text.x=element_blank())
去掉X軸刻度尺
theme(axis.ticks.x = element_blank())
去掉X軸標(biāo)題
theme(axis.title.x = element_blank())
在圖上加基因名字(我只想給重疊的基因加启泣,不然太亂了)
geom_text_repel(aes(x=test$Symbol,y=test$log2FoldChange.C2.C1.,label=ifelse(test$X=="intersect",test$Symbol,"")),
                  colour="darkred",size=3,box.padding = unit(0.35, "lines"),point.padding = unit(0.3, "lines"))
加上外面的黑圈(先做一個(gè) 只有intersect基因的數(shù)據(jù)框temp)
temp<-test[which(test$X=="intersect"),]
geom_point(data=temp,aes(x=temp$Symbol,y=temp$log2FoldChange),alpha=1,size=5.1,shape=1,stroke=1,color="black")

此外:兩個(gè)粉色和藍(lán)色圓圈是用PPT畫的,調(diào)一下透明度就能出現(xiàn)這種效果示辈。

----------2019年3月29日更-----------
沒想到我寫的帖子竟然被健明大大pick啦寥茫,激動(dòng)之余還是激動(dòng)。一直以來都覺得自己是弱弱的小透明矾麻,執(zhí)著的學(xué)一點(diǎn)就在簡書上更一點(diǎn)纱耻,和眾多在生信路上自學(xué)的伙伴抱頭前(tong)行(ku)……
扯遠(yuǎn)了芭梯,補(bǔ)一下健明大大給我的建議,用upsetR繪制crosstalk弄喘,具體參見:https://mp.weixin.qq.com/s/h2u4Lxt5FjGZ1UoJSRqPkg

1. 還是整理好這樣的矩陣df,第三列就是富集分析得到的結(jié)果

此次我們關(guān)注以下這5個(gè)通路玖喘,看他們中的基因是否存在交集,于是把df中其他無關(guān)的通路都刪掉蘑志。

m<-c("ECM-receptor interaction","TGF-beta signaling pathway","Axon guidance","Wnt signaling pathway","Hippo signaling pathway")
df<-df %>% dplyr::filter(df[,3] %in% m)

刪完的矩陣
2. 利用可視化神包UpsetR累奈,它是韋恩圖的升級(jí)版,用來表示多組交集情況急但。

?upset澎媒,查一下函數(shù)的輸入情況,發(fā)現(xiàn)是如下的這樣的矩陣


輸入

于是我們要整理出一個(gè)橫軸是基因名波桩,縱軸是通路的矩陣戒努,用0和1填充,表示有或沒有镐躲。

library(UpSetR) 
##所有的基因名
allgs<-unique(df$Symbol)
##do.call這個(gè)函數(shù)會(huì)一直重復(fù)lapply運(yùn)算
u<-do.call(cbind,lapply(m,function(i){as.numeric(allgs %in% subset(df,Pathway==i)[,2])}))
rownames(u)<-allgs
colnames(u)<-m
u<-as.data.frame(u)
upset(u)
整理出的u

Hippo和Wnt通路交叉的基因有6個(gè)储玫,和上面的crosstalk花瓣圖一致

總結(jié):如果想討論兩個(gè)通路的交集,請(qǐng)選擇花瓣圖匀油,如果超過3個(gè)缘缚,請(qǐng)毫不猶豫的選擇UpsetR
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市敌蚜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窝爪,老刑警劉巖弛车,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蒲每,居然都是意外死亡纷跛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門邀杏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贫奠,“玉大人,你說我怎么就攤上這事望蜡』秸福” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵脖律,是天一觀的道長谢肾。 經(jīng)常有香客問我,道長小泉,這世上最難降的妖魔是什么芦疏? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任冕杠,我火速辦了婚禮,結(jié)果婚禮上酸茴,老公的妹妹穿的比我還像新娘分预。我一直安慰自己,他們只是感情好薪捍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布笼痹。 她就那樣靜靜地躺著,像睡著了一般飘诗。 火紅的嫁衣襯著肌膚如雪与倡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天昆稿,我揣著相機(jī)與錄音纺座,去河邊找鬼。 笑死溉潭,一個(gè)胖子當(dāng)著我的面吹牛净响,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喳瓣,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼馋贤,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了畏陕?” 一聲冷哼從身側(cè)響起配乓,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惠毁,沒想到半個(gè)月后犹芹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞠绰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年腰埂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈膨。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡屿笼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出翁巍,到底是詐尸還是另有隱情驴一,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布曙咽,位于F島的核電站蛔趴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜孝情,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一鱼蝉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧箫荡,春花似錦魁亦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绞灼,卻和暖如春利术,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背低矮。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工印叁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人军掂。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓轮蜕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝗锥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跃洛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 基因組組裝完成后,或者是完成了草圖终议,就不可避免遇到一個(gè)問題汇竭,需要對(duì)基因組序列進(jìn)行注釋。注釋之前首先得構(gòu)建基因模型穴张,...
    xuzhougeng閱讀 50,898評(píng)論 11 184
  • 基因表達(dá) 什么是基因表達(dá)韩玩,如下是來自于維基百科的解釋: 研究方法 定量PCR 這部分我不太懂,所以就放幾段百度百科...
    xuzhougeng閱讀 121,707評(píng)論 15 242
  • 雨中的城市有種甜蜜的味道 過去和未來也宣布暫停打鬧 天黑的晚 天黑的早 季節(jié)在更替 日子在循環(huán) 一支點(diǎn)燃的香煙 讓...
    夕世風(fēng)閱讀 339評(píng)論 0 0
  • 最近攬了一活陆馁,給隔壁鄰居做午餐。原本是我娘做飯合愈,因?yàn)樗抢钡盟赖囊慧缋辖7罚墒俏夷锼T炒了,嫌我家灶臺(tái)高佛析,我們這天...
    DasBeste閱讀 823評(píng)論 1 1
  • #import @interface EliteSchoolTableViewCell : UITableView...
    云兮77閱讀 251評(píng)論 0 0