Bioconductor:clusterProfiler

準(zhǔn)備工作

## ----echo=FALSE, results='hide'
library(DOSE)
library(GO.db)
library(org.Hs.eg.db)
library(GSEABase)
library(clusterProfiler)

這里進(jìn)行包的導(dǎo)入

基因ID類型的轉(zhuǎn)換

bitr轉(zhuǎn)換

x <- c("GPX3",  "GLRX",   "LBP",   "CRYAB", "DEFB1", "HCLS1",   "SOD2",   "HSPA2",
       "ORM1",  "IGFBP1", "PTHLH", "GPC3",  "IGFBP3","TOB1",    "MITF",   "NDRG1",
       "NR1H4", "FGFR3",  "PVR",   "IL6",   "PTPRM", "ERBB2",   "NID2",   "LAMB1",
       "COMP",  "PLS3",   "MCAM",  "SPP1",  "LAMC1", "COL4A2",  "COL4A1", "MYOC",
       "ANXA4", "TFPI2",  "CST6",  "SLPI",  "TIMP2", "CPM",     "GGT1",   "NNMT",
       "MAL",   "EEF1A2", "HGD",   "TCN2",  "CDA",   "PCCA",    "CRYM",   "PDXK",
       "STC1",  "WARS",  "HMOX1", "FXYD2", "RBP4",   "SLC6A12", "KDELR3", "ITM2B")
keytypes(org.Hs.eg.db)
eg = bitr(x, fromType="SYMBOL", toType="ENTREZID", OrgDb="org.Hs.eg.db")
ids <- bitr(x, fromType="SYMBOL", toType=c("UNIPROT", "ENSEMBL"), OrgDb="org.Hs.eg.db")

參數(shù):

  • x:基因ID向量
  • fromType:目前基因ID類型
  • toType:目的轉(zhuǎn)換ID類型挪哄,可通過向量模式表示多ID類型
  • OrgDb:使用的注釋數(shù)據(jù)包,通過keytypes()函數(shù)查看支持的類型

返回:

  • 各類型ID組成的數(shù)據(jù)框

注:

  • 對(duì)于groupGO, enrichGO和gseGO函數(shù)六荒,可以通過keyType參數(shù)指定類型说铃,從而省去類型轉(zhuǎn)換的過程(后續(xù))玄柠。

bitr_kegg轉(zhuǎn)換

data(gcSample)
hg <- gcSample[[1]]
search_kegg_organism(“human”,by="common_name")
eg2np <- bitr_kegg(hg, fromType='kegg', toType='ncbi-proteinid', organism='hsa')

參數(shù):

  • hg:基因的ID向量
  • fromType:目前基因ID類型
  • toType:目標(biāo)基因ID類型
  • organism:支持的物種類型

返回:

  • 各類型ID組成的數(shù)據(jù)框

注:

  • 兩個(gè)Type參數(shù)取值必須為以下四種:
    kegg:KEGG庫中的ID
    ncbi-geneid:NCBI中對(duì)因的基因ID
    ncbi-proteinid:NCBI中對(duì)應(yīng)的蛋白ID
    uniprot:带射?
  • organism參數(shù)可以通過search_kegg_organism()函數(shù)獲取取值,常用的“hsa”為人類

GO分析

GO分類

data(geneList, package="DOSE")
gene <- names(geneList)[abs(geneList) > 2]
gene.df <- bitr(gene, fromType = "ENTREZID",
        toType = c("ENSEMBL", "SYMBOL"),
        OrgDb = org.Hs.eg.db)
ggo <- groupGO(gene     = gene,
               OrgDb    = org.Hs.eg.db,
               ont      = "CC",
               level    = 3,
               readable = TRUE)

參數(shù):

  • gene:基因ID組成的向量
  • OrgDb:注釋數(shù)據(jù)庫
  • ont:GO描述功能的方式
  • lebel:GO術(shù)語的水平
  • readable:T時(shí)争剿,以symbols形式輸出

返回:

  • 數(shù)據(jù)框
  • count:基因數(shù)目
  • GeneRatio:基因的比例

GO過表達(dá)測(cè)試

ego <- enrichGO(gene          = gene,
                universe      = names(geneList),
                OrgDb         = org.Hs.eg.db,
                ont           = "CC",
                pAdjustMethod = "BH",
                pvalueCutoff  = 0.01,
                qvalueCutoff  = 0.05,
                readable      = TRUE)

參數(shù):

  • gene:基因向量
  • universe:背景基因,默認(rèn)為GO數(shù)據(jù)庫痊末,給定后也是和GO取交集
  • OrgDb:數(shù)據(jù)庫
  • ont:GO屬于方面
  • pAdjustMethod:p值矯正反法
  • pcalueCutoff:p值閾值
  • qvalueCutoff:q值閾值
  • readable:是否使用smybols形式輸出

返回:

  • 數(shù)據(jù)框
  • GeneRatio:樣本基因中對(duì)因功能基因占樣本基因總體的比例(總體是與對(duì)應(yīng)庫取交集的結(jié)果數(shù)目)
  • BgRatio:數(shù)據(jù)庫中對(duì)因功能基因占數(shù)據(jù)庫基因總體的比例(總體是與對(duì)應(yīng)庫取交集的結(jié)果數(shù)目)
  • count:基因數(shù)目

注:

  • dropGO()蚕苇,simplify()丟掉想去掉的GO
  • gofilter()將GO分析限制在具體的level
  • 可以添加keyType參數(shù),不建議使用凿叠,有的類型會(huì)有重復(fù)

GO基因集富集分析

ego3 <- gseGO(geneList     = geneList,
              OrgDb        = org.Hs.eg.db,
              ont          = "CC",
              nPerm        = 1000,
              minGSSize    = 100,
              maxGSSize    = 500,
              pvalueCutoff = 0.05,
              verbose      = FALSE)

參數(shù):

  • geneList:進(jìn)行富集的基因列表
  • OrgDb:注釋數(shù)據(jù)庫
  • ont:GO術(shù)語方面
  • nPerm:置換的數(shù)目
  • minGSSize:用于測(cè)試的功能集最小容量
  • maxGSSize:用于測(cè)試的功能集最大容量
  • pvalueCutoff:p值閾值
  • verbose:是否打印信息

返回:

  • 數(shù)據(jù)框
  • setSize:基因集的基因數(shù)目
  • enrichmentScore:ES分?jǐn)?shù)
  • NES:標(biāo)準(zhǔn)化后的ES分?jǐn)?shù)
  • rank:涩笤?
  • leading_edge:前沿集
  • core_enrichment:富集的主要基因

KEGG分析

KEGG過表達(dá)分析

kk <- enrichKEGG(gene         = gene,
                 organism     = 'hsa',
                 pvalueCutoff = 0.05)

KEGG基因集富集分析

kk2 <- gseKEGG(geneList     = geneList,
               organism     = 'hsa',
               nPerm        = 1000,
               minGSSize    = 120,
               pvalueCutoff = 0.05,
               verbose      = FALSE)

KEGG模塊過表達(dá)測(cè)試

mkk <- enrichMKEGG(gene = gene,
                   organism = 'hsa')

KEGG模塊基因集富集分析

mkk2 <- gseMKEGG(geneList = geneList,
                mkk2 <- gseMKEGG(geneList = mydata,
                 organism = 'hsa')

疾病分析

可視化

就是各種函數(shù)

barplot(ggo, drop=TRUE, showCategory=12)
dotplot(ego)
emapplot(ego)
cnetplot(ego, categorySize="pvalue", foldChange=geneList)
goplot(ego)
gseaplot(kk2, geneSetID = "hsa04145")
browseKEGG(kk, 'hsa04110')
library("pathview")
hsa04110 <- pathview(gene.data  = geneList,
                     pathway.id = "hsa04110",
                     species    = "hsa",
                     limit      = list(gene=max(abs(geneList)), cpd=1))

多基因集功能對(duì)比

ck <- compareCluster(geneCluster = gcSample, fun = "enrichKEGG")

參數(shù):

  • geneCluster:帶有命名的列表
  • fun:方法取值可以是groupGO,enrichGO盒件,enrichKEGG蹬碧,enrichDO或者enrichPathway

分類交叉(公式接口)

mydf <- data.frame(Entrez=names(geneList), FC=geneList)
mydf <- mydf[abs(mydf$FC) > 1,]
mydf$group <- "upregulated"
mydf$group[mydf$FC < 0] <- "downregulated"
mydf$othergroup <- "A"
mydf$othergroup[abs(mydf$FC) > 2] <- "B"

formula_res <- compareCluster(Entrez~group+othergroup, data=mydf, fun="enrichKEGG")

參數(shù):

  • y~x_1+x_2:通過公式指定分類組合方法
  • data:進(jìn)行分析的數(shù)據(jù)
  • fun:采取的分析方法

功能對(duì)比的可視化

dotplot(ck)
dotplot(formula_res)

參數(shù):

  • showCategory:每個(gè)基因集繪制其多少功能類
  • by:點(diǎn)大小的含義,可以設(shè)置為geneRatio炒刁,count恩沽,rowPercentage

注:

  • 點(diǎn)的顏色代表p值,越紅證明越富集

參考資料:Guangchuang Yu.2018."Statistical analysis and visualization of functional profiles for genes and gene clusters".http://www.bioconductor.org/packages/release/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.html#go-analysis

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末切心,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子片吊,更是在濱河造成了極大的恐慌绽昏,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俏脊,死亡現(xiàn)場(chǎng)離奇詭異全谤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)爷贫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門认然,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人漫萄,你說我怎么就攤上這事卷员。” “怎么了腾务?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵毕骡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)未巫,這世上最難降的妖魔是什么窿撬? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮叙凡,結(jié)果婚禮上劈伴,老公的妹妹穿的比我還像新娘。我一直安慰自己握爷,他們只是感情好跛璧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著饼拍,像睡著了一般赡模。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上师抄,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天漓柑,我揣著相機(jī)與錄音,去河邊找鬼叨吮。 笑死辆布,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茶鉴。 我是一名探鬼主播锋玲,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涵叮!你這毒婦竟也來了惭蹂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤割粮,失蹤者是張志新(化名)和其女友劉穎盾碗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舀瓢,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡廷雅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了京髓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片航缀。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖堰怨,靈堂內(nèi)的尸體忽然破棺而出芥玉,到底是詐尸還是另有隱情,我是刑警寧澤备图,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布飞傀,位于F島的核電站皇型,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏砸烦。R本人自食惡果不足惜弃鸦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幢痘。 院中可真熱鬧唬格,春花似錦、人聲如沸颜说。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽门粪。三九已至喊积,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間玄妈,已是汗流浹背乾吻。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拟蜻,地道東北人绎签。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像酝锅,于是被迫代替她去往敵國(guó)和親诡必。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理搔扁,服務(wù)發(fā)現(xiàn)爸舒,斷路器,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)稿蹲,會(huì)觸發(fā)此異常扭勉。 O...
    我想起個(gè)好名字閱讀 5,320評(píng)論 0 9
  • 姓名:楊慧裕 企業(yè)名稱:海南蔚藍(lán)時(shí)代實(shí)業(yè)有限公司 【時(shí)間】始于2018/5/1持續(xù)于2019/4/30 日精進(jìn)打卡...
    楊慧裕閱讀 106評(píng)論 0 1
  • 今天中午昨天給我打電話說,曠文健又在鬧情緒场绿,我也是郁悶了剖效,怎么像一個(gè)定時(shí)炸彈一樣嫉入?隔三差五的就會(huì)鬧一次焰盗,鬧一次情緒...
    李波_天地創(chuàng)和閱讀 273評(píng)論 3 2
  • lisen to the CD:3a,漢語三 cartoon time:frozen咒林、粉豬熬拒、3a paly gam...
    寶蘭兒閱讀 127評(píng)論 0 0