DEseq多组比较分析代码-multi_group_deseq_analysis

# 加载必要的包
library(DESeq2)
library(ggplot2)

# 自定义函数:多组样本差异分析
multi_group_deseq_analysis <- function(exprSet, group, save_dir = "DESeq2_Results") { # 创建保存结果的目录 save_dir <- paste0(save_dir, "/") dir.create(save_dir, showWarnings = FALSE) # 创建分组信息 colData <- data.frame(row.names = colnames(exprSet), group = factor(group)) # 确保分组是因子 # 构建 DESeq2 数据集 dds <- DESeqDataSetFromMatrix(countData = exprSet, colData = colData, design = ~ group) # 过滤低表达基因 dds <- dds[rowSums(counts(dds)) > 10, ]

# 差异分析
dds <- DESeq(dds) # 获取所有对比的结果名称 results_names <- resultsNames(dds) cat("Available contrasts:\n", results_names, "\n") # 遍历所有对比组,生成差异结果 for (i in 2:length(results_names)) { res_name <- results_names[i] cat("Processing contrast:", res_name, "\n") # 获取差异分析结果 res <- results(dds, name = res_name) res_lfc <- lfcShrink(dds, coef = i, res = res, type = "apeglm") # 保存结果到 CSV 文件 write.csv(as.data.frame(res), file = paste0(save_dir, res_name, "_results.csv")) write.csv(as.data.frame(res_lfc), file = paste0(save_dir, res_name, "_lfcShrink_results.csv")) # 绘制 MA 图 png(filename = paste0(save_dir, res_name, "_MA_plot.png"), width = 800, height = 800) plotMA(res, ylim = c(-3, 3), main = paste0(res_name, " MA Plot")) dev.off() png(filename = paste0(save_dir, res_name, "_MA_plot_lfcShrink.png"), width = 800, height = 800) plotMA(res_lfc, ylim = c(-3, 3), main = paste0(res_name, " MA Plot (LFC Shrink)")) dev.off() } cat("Analysis completed. Results saved in:", save_dir, "\n")}# 示例调用# 表达矩阵 (基因 x 样本)# exprSet <- matrix(rpois(1000, lambda = 10), nrow = 100, ncol = 10)# 分组信息 (样本分组)# group <- c("A", "A", "B", "B", "C", "C", "D", "D", "E", "E")# 运行分析# multi_group_deseq_analysis(exprSet, group, save_dir = "MultiGroup_DESeq_Results")

本站原创,如若转载,请注明出处:https://www.ouq.net/3709.html

(0)
打赏 微信打赏,为服务器增加50M流量 微信打赏,为服务器增加50M流量 支付宝打赏,为服务器增加50M流量 支付宝打赏,为服务器增加50M流量
上一篇 05/15/2025 21:04
下一篇 05/16/2025 22:45

相关推荐

  • Rstudio/Rstudio Server enable Copilot-Rstudio Server打开Copilot

    Rstudio Server 默认是关闭Copilot Copilot is turned off by default. Copilot is turned off with copilot-enabled=0 in /etc/rstud…

    R 06/05/2025
    116
  • R_Code: KEGG analysis

    library(clusterProfiler) library(org.Hs.eg.db) # 读取输入数据文件 file_path <- “C:/Users/Lamarck/Desktop/UP_genes_ENSEMBL_ENT…

    R 06/02/2025
    137
  • R_Code:GO and Functional GO

    GO analysis: library(AnnotationDbi) library(org.Hs.eg.db) #基因注释包 library(clusterProfiler) #富集包 # 读取CSV文件 file_path <-…

    R 06/02/2025
    141
  • R_Code:WGCNA and WGCNA_Get_Gene_Length

    library(WGCNA) library(DESeq2) # enableWGCNAThreads(nThreads = 10) # 在处理数据框(data.frame)时,不会自动给将String类型转换成factor类型 optio…

    R 06/02/2025
    142
  • R_Code:RNAseq_GSEA_analysis

    library(clusterProfiler) # GSEA 和富集分析主力包 library(org.Hs.eg.db) # 人类注释数据库(ENTREZID 与 SYMBOL 等 ID 转换) library(enrichplot) …

    R 06/02/2025
    140