R實戰(zhàn) | 用R也可以完成的RNA-Seq分析-4

Annotation and Visualisation of RNA-seq results

本文將介紹RNA-seq差異分析結果可視化的實戰(zhàn)代碼。

原文地址:https://bioinformatics-core-shared-training.github.io/RNAseq-R/rna-seq-annotation-visualisation.nb.html

書接上文(用R也可以完成的RNA-Seq下游分析-3

在差異分析后我們經(jīng)常要可視化我們的分析結果培慌,例如我們可以使用火山圖將差異表達的基因畫出來。

Annotaion

在本次分析中,我們都是采用基因的ID來進行的,但如果想便于我們自己查閱的話蔼紧,單純的ID是比較麻煩的拨拓,我們還得一個個ID找它對應的基因名。因此服猪,我們可以在差異分析結果的表格中添加上基因的symbol供填,genename等信息。

由于這次分析的物種是小鼠罢猪,我們采用以下的注釋包:

> library(org.Mm.eg.db)

# 同時載入之前分析的數(shù)據(jù)
> load("DE.Rdata")

讓我們查看一下該注釋包存有的數(shù)據(jù)

> keytypes(org.Mm.eg.db)
 [1] "ACCNUM"       "ALIAS"        "ENSEMBL"      "ENSEMBLPROT"  "ENSEMBLTRANS" "ENTREZID"    
 [7] "ENZYME"       "EVIDENCE"     "EVIDENCEALL"  "GENENAME"     "GO"           "GOALL"       
[13] "IPI"          "MGI"          "ONTOLOGY"     "ONTOLOGYALL"  "PATH"         "PFAM"        
[19] "PMID"         "PROSITE"      "REFSEQ"       "SYMBOL"       "UNIGENE"      "UNIPROT"

在以上的數(shù)據(jù)中近她,我們需要的"ENTREZID""GENENAME"膳帕、"SYMBOL" 都在其中粘捎。

接下來,我們只要對應已有結果中的ENTREZID提取相應的GENENAMESYMBOL即可危彩。

# 將差異分析結果存儲到results變量當中
> results <- as.data.frame(topTags(lrt.BvsL,n = Inf))

> ann <- select(org.Mm.eg.db,keys=rownames(results),
+               columns=c("ENTREZID","SYMBOL","GENENAME"))
'select()' returned 1:1 mapping between keys and columns
> head(ann)
  ENTREZID   SYMBOL                                                   GENENAME
1   110308     Krt5                                                  keratin 5
2    50916     Irx4                                        Iroquois homeobox 4
3    12293 Cacna2d1 calcium channel, voltage-dependent, alpha2/delta subunit 1
4    56069    Il17b                                            interleukin 17B
5    24117     Wif1                                    Wnt inhibitory factor 1
6    12818  Col14a1                                collagen, type XIV, alpha 1

利用cbind函數(shù)將新的注釋信息與原表格合并之后即可

> results.annotated <- cbind(results, ann)

> head(results.annotated)
           logFC    logCPM       LR       PValue          FDR ENTREZID   SYMBOL
110308 -8.940579 10.264297 24.89789 6.044844e-07 0.0004377961   110308     Krt5
50916  -8.636503  5.749781 24.80037 6.358512e-07 0.0004377961    50916     Irx4
12293  -8.362247  6.794788 24.68526 6.749827e-07 0.0004377961    12293 Cacna2d1
56069  -8.419433  6.124377 24.41532 7.764861e-07 0.0004377961    56069    Il17b
24117  -9.290691  6.757163 24.32506 8.137331e-07 0.0004377961    24117     Wif1
12818  -8.216790  8.172247 24.24233 8.494462e-07 0.0004377961    12818  Col14a1
                                                         GENENAME
110308                                                  keratin 5
50916                                         Iroquois homeobox 4
12293  calcium channel, voltage-dependent, alpha2/delta subunit 1
56069                                             interleukin 17B
24117                                     Wnt inhibitory factor 1
12818                                 collagen, type XIV, alpha 1

此外攒磨,除了基因名的信息之外,還可以利用有基因組位點信息的包汤徽,如TxDb.Mmusculus.UCSC.mm10.knownGene(小鼠的)和GenomicRanges來注釋基因座信息咧纠。

Visualization

相信大家對差異分析的可視化結果---火山圖,都不陌生泻骤。該圖呈現(xiàn)出了差異表達基因的基本分布情況漆羔,還可以通過p值的設定梧奢,讓我們清晰地觀察顯著差異表達基因。

先看看最簡單的圖

> signif <- -log10(results.annotated$FDR)
> plot(results.annotated$logFC,signif,pch=16)
naive volcano plot

當然演痒,各位R學習者肯定不會止步于畫了這個圖就算了亲轨。讓我們用ggplot畫出更漂亮的圖吧!

> library(ggplot2)
> library(ggtheme)

# 首先添加上threshold
> results.annotated$threshold <- as.factor(
+   ifelse(results.annotated$FDR < 0.05 & abs(results.annotated$logFC) >=log2(2),
+   ifelse(results.annotated$logFC > log2(2) ,'Up','Down'),'Not'))

> plt <- ggplot(data=results.annotated, aes(x=logFC, y =-log10(FDR), colour=threshold,fill=threshold)) +
+   scale_color_manual(values=c("blue", "grey","red"))+
+   geom_point(alpha=0.4, size=1.2) +
+   theme_bw(base_size = 12, base_family = "Times") +
+   geom_vline(xintercept=c(-0.5,0.5),lty=4,col="grey",lwd=0.6)+
+   geom_hline(yintercept = -log10(0.05),lty=4,col="grey",lwd=0.6)+
+   theme(legend.position="right",
+         panel.grid=element_blank(),
+         legend.title = element_blank(),
+         legend.text= element_text(face="bold", color="black",family = "Times", size=8),
+         plot.title = element_text(hjust = 0.5),
+         axis.text.x = element_text(face="bold", color="black", size=12),
+         axis.text.y = element_text(face="bold",  color="black", size=12),
+         axis.title.x = element_text(face="bold", color="black", size=12),
+         axis.title.y = element_text(face="bold",color="black", size=12)) +
+   labs( x="log2 (Fold Change)",y="-log10 (p-value)")

> plt
beatuiful volcano plot

除了火山圖鸟顺,還有各種對差異分析結果可視化的圖就不在此展開了惦蚊,有興趣的朋友可以到原網(wǎng)站上繼續(xù)了解。

暫完讯嫂。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹦锋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子欧芽,更是在濱河造成了極大的恐慌莉掂,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件千扔,死亡現(xiàn)場離奇詭異憎妙,居然都是意外死亡,警方通過查閱死者的電腦和手機曲楚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門厘唾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人龙誊,你說我怎么就攤上這事抚垃。” “怎么了趟大?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵讯柔,是天一觀的道長。 經(jīng)常有香客問我护昧,道長,這世上最難降的妖魔是什么粗截? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任惋耙,我火速辦了婚禮,結果婚禮上熊昌,老公的妹妹穿的比我還像新娘绽榛。我一直安慰自己,他們只是感情好婿屹,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布灭美。 她就那樣靜靜地躺著,像睡著了一般昂利。 火紅的嫁衣襯著肌膚如雪届腐。 梳的紋絲不亂的頭發(fā)上铁坎,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音犁苏,去河邊找鬼硬萍。 笑死,一個胖子當著我的面吹牛围详,可吹牛的內(nèi)容都是我干的朴乖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼助赞,長吁一口氣:“原來是場噩夢啊……” “哼买羞!你這毒婦竟也來了?” 一聲冷哼從身側響起雹食,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤畜普,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后婉徘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漠嵌,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年盖呼,在試婚紗的時候發(fā)現(xiàn)自己被綠了儒鹿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡几晤,死狀恐怖约炎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蟹瘾,我是刑警寧澤圾浅,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站憾朴,受9級特大地震影響狸捕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜众雷,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一灸拍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砾省,春花似錦鸡岗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至狠鸳,卻和暖如春揣苏,著一層夾襖步出監(jiān)牢的瞬間悯嗓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工舒岸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绅作,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓蛾派,卻偏偏與公主長得像俄认,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洪乍,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

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