GSE14359与GSE85537
(padj < 0.05 且|log2FoldChange| > 1)。在 x = -1 和 x = 1 处添加垂直线,以及在 y = -log10(0.05)处添加水平线。
找个代做火山图,富集分析和ppi的,有偿
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
19条回答 默认 最新
吃不了席 2024-08-25 21:50关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
为了完成这个任务,我们需要首先安装和加载一些必要的R包,然后使用这些包来处理数据并生成火山图、富集分析和PPI。以下是一个简单的示例代码:
# 安装所需的包 if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("limma") BiocManager::install("clusterProfiler") BiocManager::install("STRINGdb") # 加载所需的包 library(limma) library(clusterProfiler) library(STRINGdb) # 读取GSE14359和GSE8553的数据(这里假设你已经下载了这些数据集) gse14359 <- read.table("GSE14359_data.txt", header = TRUE, row.names = 1) gse8553 <- read.table("GSE8553_data.txt", header = TRUE, row.names = 1) # 合并数据集 combined_data <- rbind(gse14359, gse8553) rownames(combined_data) <- make.names(rownames(combined_data)) # 进行差异表达分析 group <- factor(rep(c("GSE14359", "GSE8553"), c(nrow(gse14359), nrow(gse8553)))) design <- model.matrix(~0 + group) colnames(design) <- levels(group) contrast_matrix <- makeContrasts(GSE14359 - GSE8553, levels = design) fit <- lmFit(combined_data, design) fit2 <- contrasts.fit(fit, contrast_matrix) fit2 <- eBayes(fit2) # 提取显著差异表达的基因 sig_genes <- topTable(fit2, adjust = "BH", sort.by = "B", number = Inf) sig_genes <- sig_genes[abs(log2FoldChange(sig_genes)) > 1 & padj(sig_genes) < 0.05,] # 绘制火山图 volcano_plot <- ggplot(sig_genes, aes(x = log2FoldChange, y = -log10(padj))) + geom_point(alpha = 0.5) + geom_vline(xintercept = c(-1, 1), linetype = "dashed") + geom_hline(yintercept = -log10(0.05), linetype = "dashed") + theme_minimal() + xlab("Log2 Fold Change") + ylab("-Log10 Adjusted P-value") + ggtitle("Volcano plot of differential expression") print(volcano_plot) # 进行富集分析 enrich_result <- enrichGO(gene = rownames(sig_genes), OrgDb = org.Hs.eg.db, keyType = "SYMBOL", ont = "BP", pAdjustMethod = "BH", qvalueCutoff = 0.05) barplot(enrich_result, showCategory = 20) # 获取PPI网络 string_db <- STRINGdb$new(version = "11.5") ppi_network <- string_db$get_network(nodes = rownames(sig_genes), score_threshold = 700) ppi_network <- igraph::simplify(ppi_network, remove.loops = TRUE, remove.multiple = TRUE) igraph::plot(ppi_network)请注意,这个示例代码需要你提供GSE14359和GSE8553的数据集文件。你需要将文件名替换为你实际的文件名。此外,这个示例代码可能需要根据你的具体需求进行调整。
解决 无用评论 打赏 举报