最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ggplot2 之作:多彩和諧的通路富集可視化之旅 !

2023-09-01 09:14 作者:爾云間  | 我要投稿

hello,今天小云來(lái)教大家如何對(duì)KEGG富集分析的結(jié)果通過(guò)ggplot2實(shí)現(xiàn)可視化并繪制對(duì)應(yīng)的KEGG通路網(wǎng)絡(luò)圖 ,讓你的分析結(jié)果更加美觀!感興趣的話就和小云一起來(lái)看一下吧!

準(zhǔn)備需要的R包

先來(lái)簡(jiǎn)單介紹一下我們今天用到的R包,分別是DOSE、clusterProfiler、org.Hs.eg.db、ggplot2、tidyverse以及enrichplot包。同學(xué)們要提前下載好哦!在這里小云為大家簡(jiǎn)單的介紹一下其中幾個(gè)R包:

1.?DOSE:DOSE包主要用于基因功能富集分析,它能夠通過(guò)比較輸入的基因列表與已知的基因功能注釋信息,找出在特定功能類(lèi)別中富集的基因。

2.?clusterProfiler:clusterProfiler是一個(gè)用于生物信息學(xué)分析的R包,主要用于功能注釋和富集分析。它提供了針對(duì)多種生物數(shù)據(jù)類(lèi)型的功能富集分析方法,包括GO、KEGG、Reactome等。該包還提供了可視化工具,使用戶能夠更好地理解和解釋功能富集結(jié)果。

3.?org.Hs.eg.db:org.Hs.eg.db是一個(gè)R語(yǔ)言中用于人類(lèi)基因注釋的數(shù)據(jù)庫(kù)包。它提供了對(duì)人類(lèi)基因組的注釋信息,包括基因ID、基因名稱(chēng)、基因符號(hào)、通路信息等。使用org.Hs.eg.db包,用戶可以將基因ID轉(zhuǎn)換為易讀的基因符號(hào),從而更容易理解和解釋功能富集結(jié)果。

4.?tidyverse:tidyverse是一個(gè)由多個(gè)R包組成的集合,旨在提供一套一致且易于使用的數(shù)據(jù)處理和可視化工具。這些包包括ggplot2、dplyr、tidyr、readr等。其中,ggplot2是用于數(shù)據(jù)可視化的重要組成部分,提供了強(qiáng)大且靈活的繪圖功能,使用戶能夠創(chuàng)建高質(zhì)量的圖表,用于數(shù)據(jù)探索和展示。

5.?enrichplot:enrichplot是一個(gè)用于生物信息學(xué)分析的R包,主要用于功能富集結(jié)果的可視化。它提供了多種繪圖函數(shù),可以繪制基因集的富集分析結(jié)果,如GO條形圖、KEGG通路網(wǎng)絡(luò)圖等。enrichplot提供了豐富的參數(shù)設(shè)置,以滿足用戶對(duì)結(jié)果可視化的個(gè)性化需求。

KEGG富集分析

enrichKEGG進(jìn)行富集分析

首先,加載DOSE包并使用該包中的基因集作為我們分析的對(duì)象:

library("DOSE")
data(geneList, package = "DOSE")
g_list <- names(geneList)[1:100]
head(g_list)

利用enrichKEGG函數(shù)進(jìn)行富集分析,對(duì)指定的基因列表進(jìn)行KEGG通路富集分析,并設(shè)置p-value和q-value的閾值。

library("clusterProfiler")
library("org.Hs.eg.db")

ek <- enrichKEGG(gene = g_list,
?? ? ? ? ? ? ? ? organism = "hsa",
?? ? ? ? ? ? ? ? pvalueCutoff = 0.05,
?? ? ? ? ? ? ? ? qvalueCutoff = 0.05)
write.table(ek, file = "ek.txt", sep = "\t", quote = FALSE, row.names = FALSE)

?

注意:

·?pvalueCutoff = 0.05:設(shè)置p-value的閾值,用于篩選富集分析結(jié)果中統(tǒng)計(jì)顯著的通路。在這里,設(shè)定為0.05,即p-value小于0.05的通路被認(rèn)為是顯著富集的通路。

·?qvalueCutoff = 0.05:設(shè)置q-value的閾值,q-value是經(jīng)過(guò)FDR校正的p-value,用于控制多重假設(shè)檢驗(yàn)的錯(cuò)誤發(fā)現(xiàn)率。同樣,設(shè)定為0.05,即q-value小于0.05的通路被認(rèn)為是顯著富集的通路。

至此我們已經(jīng)完成了富集分析的流程,讓我們一起來(lái)看一下分析的結(jié)果吧!

需要注意的是結(jié)果中g(shù)eneID為EntrezID。?

head(ek@result$geneID)

將EntrezID轉(zhuǎn)換為Symbol

使用setReadable函數(shù)將EntrezID轉(zhuǎn)換為Symbol:

ek2 <- setReadable(ek,
?? ? ? ? ? ? ? ? ? OrgDb = "org.Hs.eg.db",
?? ? ? ? ? ? ? ? ? keyType = "ENTREZID")

ggplot2可視化結(jié)果

首先,我們需要通過(guò)安裝tidyverse包并讀取保存的富集分析結(jié)果文本文件,對(duì)表格進(jìn)行處理和計(jì)算Enrichment Factor,在這里小果用tidyverse包的separate函數(shù)將GeneRatio和BgRatio的分子分母先分開(kāi),再進(jìn)行計(jì)算:

library(tidyverse)
ek.rt <- read.table("ek.txt", header = TRUE, sep = "\t", quote = "") ?
ek.rt <- separate(data = ek.rt, col = GeneRatio, into = c("GR1", "GR2"), sep = "/")
ek.rt <- separate(data = ek.rt, col = BgRatio, into = c("BR1", "BR2"), sep = "/")
ek.rt <- mutate(ek.rt, enrichment_factor = (as.numeric(GR1) / as.numeric(GR2)) / (as.numeric(BR1) / as.numeric(BR2)))

篩選出前10個(gè)通路進(jìn)行可視化:

ek.rt10 <- ek.rt %>% filter(row_number() >= 1, row_number() <= 10)

ggplot2繪制dotplot

使用ggplot2包繪制Enrichment Factor與KEGG term之間的關(guān)系圖:

library("ggplot2")

p <- ggplot(ek.rt10, aes(enrichment_factor, fct_reorder(factor(Description), enrichment_factor))) +
??geom_point(aes(size = Count, color = -1 * log10(pvalue))) +
??scale_color_gradient(low = "green", high = "red") +
??labs(color = expression(-log[10](p_value)), size = "Count",
?? ? ? x = "Enrichment Factor", y = "KEGG term", title = "KEGG enrichment") +
??theme_bw()
ggsave("er.rt10_KEGG.png", width = 6, height = 4)

我們一起來(lái)看看效果圖吧!


繪制KEGG通路網(wǎng)絡(luò)圖

使用enrichplot包的cnetplot函數(shù)繪制KEGG通路網(wǎng)絡(luò)圖,并將結(jié)果保存為PDF文件。

library("enrichplot")

pdf(file = "net-pathway.pdf", width = 8, height = 10)
cnetplot(ek2)
dev.off()

效果圖如下:


以上教程小云介紹了如何使用R語(yǔ)言中的DOSE和clusterProfiler包進(jìn)行基因集的KEGG通路富集分析,并通過(guò)ggplot2和enrichplot實(shí)現(xiàn)可視化化。通過(guò)這些代碼,你可以將自己的基因列表進(jìn)行富集分析,并進(jìn)一步將結(jié)果進(jìn)行可視化以幫助解釋和理解數(shù)據(jù)哦!怎么樣,你學(xué)會(huì)了嘛?


ggplot2 之作:多彩和諧的通路富集可視化之旅 !的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
怀宁县| 汾西县| 阿合奇县| 蒲城县| 东莞市| 湖北省| 岱山县| 深州市| 东乌| 大理市| 吉隆县| 界首市| 咸宁市| 白朗县| 延吉市| 满洲里市| 宁德市| 车险| 巍山| 宜宾市| 确山县| 布尔津县| 陆河县| 宜州市| 崇左市| 班戈县| 玉树县| 承德县| 建阳市| 山东| 泸西县| 兖州市| 吉安市| 双辽市| 晋中市| 海安县| 霍山县| 宣威市| 台前县| 赤峰市| 龙口市|