轉(zhuǎn)錄組富集分析

根據(jù)b站基因課視頻修改舷暮,按照輸入文件名輸出四個富集圖像。

knitr::opts_chunk$set(echo = TRUE)

library(readr)
library(dplyr)
library(clusterProfiler)
library(tidyr)
library(ggplot2)
library(org.hsa.eg.db)
#-------------------------------------------------------------------------------
#文件讀取(只改變輸入文件即可)
#-------------------------------------------------------------------------------
doc_name <- "DESeq2.DE_results" //兩兩比對的DE_results結(jié)果

#準(zhǔn)備注釋文件黎茎,根據(jù)教程生成 //http://www.reibang.com/p/f2e4dbaae719
pathway2gene <- AnnotationDbi::select(org.hsa.db,
                                      keys = keys(org.hsa.db),
                                      columns = c("Pathway","KO")) %>%
  na.omit() %>%
  dplyr::select(Pathway, GID)

#準(zhǔn)備基因列表
DE_results <- read_delim(doc_name, 
                        delim = "\t", escape_double = FALSE, 
                        trim_ws = TRUE)
#篩選前200個差異基因作為kegg富集對象
#-------------------------------------------------------------------------------
DE_results_kegg <- arrange(DE_results,desc(abs(log2FoldChange)))%>%
    dplyr::slice(1:2000)%>%
    dplyr::select(gene,log2FoldChange)

ekp <- enricher(DE_results_kegg$gene[1:200],
                TERM2GENE = pathway2gene,
                TERM2NAME = pathway2name,
                pvalueCutoff = 0.05,  # 表示全部保留,可以設(shè)為0.05作為閾值
                qvalueCutoff = 0.05, # 表示全部保留当悔,可以設(shè)為0.05作為閾值
                pAdjustMethod = "BH",
                minGSSize = 1)
png(filename = paste(doc_name, "_kegg.png", sep = ""), width = 700, height = 700, res = 100)
dotplot(ekp, showCategory = 10) # 只顯示前10個類別
dev.off()
# 基因差異列表
geneList <- DE_results_kegg$log2FoldChange
names(geneList) <- DE_results_kegg$gene
geneList <- sort(geneList, decreasing = T)

png(filename = paste(doc_name, "_kegg_cent.png", sep = ""), width = 2000, height = 2000, res = 200)  
cnetplot(ekp, 
         color.params = list(foldChange = geneList, edge = TRUE),
         showCategory = 3,
         node_label = "all", # category | gene | all | none
         circular = TRUE)
dev.off()

#gos富集分析
#-------------------------------------------------------------------------------
ego <- enrichGO(gene=na.omit(DE_results_kegg$gene[1:200]),
                OrgDb=org.hsa.eg.db,
                keyType="GID",
                ont="ALL",   #CC/BP/MF可選
                qvalueCutoff = 0.05,
                pvalueCutoff =0.05)
png(filename = paste(doc_name, "_go.png", sep = ""), width = 700, height = 700, res = 100)
dotplot(ego, showCategory = 10) # 只顯示前10個類別
dev.off()
#gos富集分析ggplot作圖
go.res <- data.frame(ego)
goBP <- subset(go.res,subset = (ONTOLOGY == "BP"))[1:10,]
goCC <- subset(go.res,subset = (ONTOLOGY == "CC"))[1:10,]
goMF <- subset(go.res,subset = (ONTOLOGY == "MF"))[1:10,]
go.df <- rbind(goBP,goCC,goMF)
go.df$Description <- factor(go.df$Description,levels = rev(go.df$Description))
go_bar <- ggplot(data = go.df, # 繪圖使用的數(shù)據(jù)
  aes(x = Description, y = Count,fill = ONTOLOGY))+ # 橫軸坐標(biāo)及顏色分類填充
      geom_bar(stat = "identity",width = 0.9)+ # 繪制條形圖及寬度設(shè)置
      coord_flip()+theme_bw()+ # 橫縱坐標(biāo)反轉(zhuǎn)及去除背景色
      scale_x_discrete(labels = function(x) str_wrap(x,width = 120))+ # 設(shè)置term名稱過長時換行
      labs(x = "GO terms",y = "GeneNumber",title = "Barplot of sx_jx Enriched GO Terms")+ # 設(shè)置坐標(biāo)軸標(biāo)題及標(biāo)題
      theme(axis.title = element_text(size = 13), # 坐標(biāo)軸標(biāo)題大小
          axis.text = element_text(size = 11), # 坐標(biāo)軸標(biāo)簽大小
          plot.title = element_text(size = 14,hjust = 0.5,face = "bold"), # 標(biāo)題設(shè)置
          legend.title = element_text(size = 13), # 圖例標(biāo)題大小
          legend.text = element_text(size = 11), # 圖例標(biāo)簽大小
          plot.margin = unit(c(0.5,0.5,0.5,0.5),"cm")) # 圖邊距
    ggsave(go_bar,filename = paste(doc_name, "_go_barplot.png", sep = ""),width = 15,height = 7)
#-------------------------------------------------------------------------------



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末傅瞻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盲憎,更是在濱河造成了極大的恐慌嗅骄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饼疙,死亡現(xiàn)場離奇詭異溺森,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)窑眯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門屏积,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人磅甩,你說我怎么就攤上這事炊林。” “怎么了卷要?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵渣聚,是天一觀的道長。 經(jīng)常有香客問我却妨,道長饵逐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任彪标,我火速辦了婚禮倍权,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捞烟。我一直安慰自己薄声,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布题画。 她就那樣靜靜地躺著默辨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苍息。 梳的紋絲不亂的頭發(fā)上缩幸,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天壹置,我揣著相機(jī)與錄音,去河邊找鬼表谊。 笑死钞护,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爆办。 我是一名探鬼主播难咕,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼距辆!你這毒婦竟也來了余佃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤跨算,失蹤者是張志新(化名)和其女友劉穎爆土,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漂彤,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雾消,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了挫望。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片立润。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖媳板,靈堂內(nèi)的尸體忽然破棺而出桑腮,到底是詐尸還是另有隱情,我是刑警寧澤蛉幸,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布破讨,位于F島的核電站,受9級特大地震影響奕纫,放射性物質(zhì)發(fā)生泄漏提陶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一匹层、第九天 我趴在偏房一處隱蔽的房頂上張望隙笆。 院中可真熱鬧,春花似錦升筏、人聲如沸撑柔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铅忿。三九已至,卻和暖如春灵汪,著一層夾襖步出監(jiān)牢的瞬間檀训,已是汗流浹背柑潦。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肢扯,地道東北人妒茬。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蔚晨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肛循,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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