RNA-seq分析(四)pathway analysis

1. Gene_ID轉(zhuǎn)換

手動(dòng)把差異表格中基因那一列(如gene-Q0020牛隅,gene-替換掉 ),在gene_id那一列加上列名ENSEMBL酌泰,另存為csv格式再上傳至服務(wù)器媒佣。

#進(jìn)入R
load("diff.RData")
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("org.Sc.sgd.db")
BiocManager::install("clusterProfiler")
#首次使用需要install

這時(shí)候如果用系統(tǒng)的R,可能安裝不了"org.Sc.sgd.db"陵刹,可以用conda下載R4.0到自己服務(wù)器默伍,org.Sc.sgd.db就可以正常加載啦。如果把自己的R4.0加載到環(huán)境變量了,后續(xù)使用要注意R的環(huán)境也糊,會(huì)不會(huì)和系統(tǒng)R時(shí)有沖突炼蹦。

library(org.Sc.sgd.db)
library(clusterProfiler)
upTable <- read.csv("SY14_up_2.csv", header = TRUE)
head(upTable)
aTable <- bitr(upTable[,1],fromType = 'ENSEMBL', toType = c('ENTREZID','GENENAME'), OrgDb = 'org.Sc.sgd.db')
#轉(zhuǎn)換
tTable <- merge(aTable,upTable, by= "ENSEMBL")
#合并
head(tTable)
write.csv(tTable,file ="up_symbol.csv")
#輸出up_symbol,最后兩列增加了ENTREZID狸剃,GENENAME
downTable <- read.csv("SY14_down_2.csv", header = TRUE)
head(downTable)
bTable <- bitr(downTable[,1],fromType = 'ENSEMBL', toType = c('ENTREZID','GENENAME'), OrgDb = 'org.Sc.sgd.db')
uTable <- merge(bTable,downTable, by="ENSEMBL")
head(uTable)
write.csv(uTable,file = "down_symbol.csv")
#同理輸出down_symbol

2. GO富集分析

上調(diào)基因

vi go_up.R
#!bin/bash
library(org.Sc.sgd.db)
library(clusterProfiler)
UP <- read.csv("up_symbol.csv", header=TRUE)
head(UP)
a<- UP[,3]
head(a)
GO_UP <- enrichGO(UP[,3], keyType = "ENTREZID",  OrgDb = "org.Sc.sgd.db", ont = "BP", pAdjustMethod = "BH", pvalueCutoff  = 0.01, qvalueCutoff  = 0.05)
head(GO_UP)
#<0 rows> (or 0-length row.names)
#由于差異基因太少掐隐,未富集到

下調(diào)基因

padj由0.001調(diào)整為0.05,再做GO分析钞馁。

down <- read.csv("down_symbol.csv", header=TRUE)
head(down)
#a<- down[,3]
#head(a)
GO_down <- enrichGO(down[,3], keyType = "ENTREZID",  OrgDb = "org.Sc.sgd.db", ont = "BP", pAdjustMethod = "BH", pvalueCutoff  = 0.01, qvalueCutoff  = 0.05)
head(GO_down)
pdf("GO_DOWN.pdf",width = 25, height = 25)
dotplot(GO_down, showCategory=10,title="EnrichmentGO")
dev.off()
#showCategory指定展示的GO Terms的個(gè)數(shù)虑省,默認(rèn)展示顯著富集的top10個(gè),即p.adjust最小的10個(gè)僧凰。

3 GSEA (Gene Set Enrichment Analysis) 基因集富集分析

GSEA 是一種計(jì)算方法探颈,使用預(yù)先定義的基因集gene set(比如想關(guān)注基因是否參與DNA REPAIR,可選擇hallmark gene set)训措,將基因按照在兩類樣本中的FoldChange排序得到gene list(按照差異表達(dá)倍數(shù)從大到小排序)伪节,觀察預(yù)先定義的基因集是在這個(gè)gene list的頂端還是底端富集。若參與某通路的基因密集排列在gene list頂端(Leading edge subset)绩鸣,即顯著上調(diào)怀大,排列在底端即顯著下調(diào)。

3.1 準(zhǔn)備排序后的gene list

BiocManager::install("msigdbr")
#msigdbr 包提供多個(gè)物種的MSigDB (Explore the Molecular Signatures Database)數(shù)據(jù)全闷,是注釋基因集的集合
BiocManager::install("dplyr")
#dplyr是R語言的數(shù)據(jù)分析包,能對(duì)dataframe類型的數(shù)據(jù)做很方便的數(shù)據(jù)處理和分析操作萍启。
library(clusterProfiler)
library(org.Sc.sgd.db)
library(msigdbr)
library(dplyr)
library(ggplot2)
library(stringr)
exp <- read.csv("SY14_VSBY4742_2.csv", header=TRUE)
head(exp)
gene_ID <- bitr(exp$ENSEMBL, fromType = 'ENSEMBL', toType = c('ENTREZID','GENENAME'), OrgDb = 'org.Sc.sgd.db')
#gene_ID轉(zhuǎn)換 
head(gene_ID)
dim(gene_ID)
#5915    3
diff <-merge(exp,gene_ID, by = "ENSEMBL")
head(diff)
glist <- diff$log2FoldChange
head(glist)
names(glist) = diff$ENTREZID #定義好glist总珠,再輸入這一列,否則報(bào)錯(cuò)行數(shù)不一致
head(glist)
glist = sort(glist, decreasing = T)
head(glist) 
#準(zhǔn)備好的genelist按ENTREZID和FoldChange排序

3.2 準(zhǔn)備功能集 gene set

The MSigDB gene sets are divided into 9 major collections:H, C1 ~ C8.
H, hallmark gene sets, 聚合許多MSigDB基因集來表達(dá)明確的生物狀態(tài)或過程而獲得的一些特征勘纯。

Sc <- msigdbr(species = "Saccharomyces cerevisiae")
table(Sc$gs_cat)
#查看目錄
Sc[str_detect(Sc$gs_name,"HALLMARK_DNA_REPAIR"),]
#查看Sc中HALLMARK_DNA_REPAIR基因集的gene
#A tibble: 97 × 18
gs_cat gs_subcat     gs_name            gene_symbol  entrez_gene ensembl_gene
<chr>    <chr>         <chr>             <chr>        <int>      <chr>
 1 H      ""        HALLMARK_DNA_REPAIR  AAH1        855581      YNL141W
 2 H      ""        HALLMARK_DNA_REPAIR  ADK2        856917      YER170W
 3 H      ""        HALLMARK_DNA_REPAIR  APT1        854986      YML022W
hallmark <- msigdbr(species = "Saccharomyces cerevisiae",category = "H") %>% dplyr::select(gs_name,entrez_gene)
#%>%來自dplyr包的管道函數(shù)局服,其作用是將前一步的結(jié)果直接傳參給下一步的函數(shù),
#select(gs_name,entrez_gene)驳遵,篩選gs_name和entrez_gene之間的所有列淫奔,
head(hallmark)
#gs_name               entrez_gene
  <chr>                       <int>
1 HALLMARK_ADIPOGENESIS      851013
2 HALLMARK_ADIPOGENESIS      852667
dim(hallmark)
#[1] 2759    2
gsea <- GSEA(glist, TERM2GENE = hallmark,verbose=FALSE, pvalueCutoff = 0.2)
head(gsea)
#查看富集到的geneset
library(enrichplot)
pdf("gsea_INTERFERON_ALPHA_RESPONSE.pdf",width = 20, height = 15)
#這里選INTERFERON_ALPHA_RESPONSE 基因集作圖
gseaplot2(gsea, geneSetID="HALLMARK_INTERFERON_ALPHA_RESPONSE",color = "firebrick",rel_heights=c(1.5, 0.5, 1),subplots=1:3,pvalue_table = TRUE,ES_geom = "line" )
dev.off()

core_enrichment,即leading edge subset堤结,定義其中對(duì)Enrichment score貢獻(xiàn)最大的基因?yàn)楹诵幕颉?br> 我選的一個(gè)基因集結(jié)果~~


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唆迁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子竞穷,更是在濱河造成了極大的恐慌唐责,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘾带,死亡現(xiàn)場離奇詭異鼠哥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門朴恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抄罕,“玉大人,你說我怎么就攤上這事于颖〈艋撸” “怎么了?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵恍飘,是天一觀的道長榨崩。 經(jīng)常有香客問我,道長章母,這世上最難降的妖魔是什么母蛛? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮乳怎,結(jié)果婚禮上彩郊,老公的妹妹穿的比我還像新娘。我一直安慰自己蚪缀,他們只是感情好秫逝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著询枚,像睡著了一般违帆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上金蜀,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天刷后,我揣著相機(jī)與錄音,去河邊找鬼渊抄。 笑死尝胆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的护桦。 我是一名探鬼主播含衔,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼二庵!你這毒婦竟也來了贪染?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤催享,失蹤者是張志新(化名)和其女友劉穎抑进,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體睡陪,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寺渗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年匿情,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片信殊。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡炬称,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涡拘,到底是詐尸還是另有隱情玲躯,我是刑警寧澤,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布鳄乏,位于F島的核電站跷车,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏橱野。R本人自食惡果不足惜朽缴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望水援。 院中可真熱鬧密强,春花似錦、人聲如沸蜗元。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奕扣。三九已至薪鹦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惯豆,已是汗流浹背池磁。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留循帐,地道東北人框仔。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓舀武,卻偏偏與公主長得像拄养,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子银舱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

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