以下はGO解析に使用したコードです。
# パッケージの読み込み
library(clusterProfiler)
library(org.Mm.eg.db)
library(ggplot2)
library(enrichplot)
# 差次的発現結果を読み込む
deg_df <- read.csv("your_deg_file.csv", sep = ",", header = TRUE)
# log2FC の絶対値を追加
deg_df$abslog2FoldChange <- abs(deg_df$log2FoldChange)
# log2FC の絶対値が1より大きく、かつ padj が0.05以下の遺伝子を抽出
sig_deg <- deg_df[deg_df$abslog2FoldChange >1 & deg_df$padj < 0.05, ]
# Ensembl ID の列(gene_id)を抽出
ensembl_ids <- sig_deg$gene_id
# Ensembl ID を ENTREZ ID に変換(GO解析にはENTREZ IDが必要)
entrez_ids <- bitr(
ensembl_ids,
fromType = "ENSEMBL",
toType = "ENTREZID",
OrgDb = org.Mm.eg.db
)
# 結果を確認
head(entrez_ids)
# GO(Gene Ontology)解析を実行
ego <- enrichGO(
gene = entrez_ids$ENTREZID,
OrgDb = org.Mm.eg.db,
keyType = "ENTREZID",
ont = "ALL", # "BP"(生物過程),"CC"(細胞構成),"MF"(分子機能)に変更可能
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05,
readable = TRUE # 結果を gene symbol に変換
)
# 有意なGOエントリを確認
head(ego)
# 結果を保存
write.csv(as.data.frame(ego), "GO_enrichment_results.csv", row.names = FALSE)
# 可視化:棒グラフ
barplot(ego, showCategory = 20, title = "GO Enrichment Barplot")
# 可視化:バブルプロット
dotplot(ego, showCategory = 20, title = "GO Enrichment Dotplot")
GO解析の結果に基づいて図を作成してください。
以下はGO解析に使用したコードです。
GO解析の結果に基づいて図を作成してください。