DESeq2
edgeR
limma

一键运行

可以一步执行整个功能模块

  1. runDEG(
  2. obj,
  3. dir = ".",
  4. prefix = "2-runDEG",
  5. parallel = TRUE,
  6. qc = TRUE
  7. )

模块分解运行

也可以分步执行

进行差异分析

  1. degResolve(object, dir = ".",
  2. prefix = "2-DEG",
  3. parallel = FALSE,
  4. qc = TRUE)

上下调分组

  1. degGroup(obj)

结果整理

  1. degSummary(
  2. obj,
  3. dir = ".",
  4. prefix = "2-runDEG",
  5. PointVolcanoParam = list(gene = 10, light = NULL, light_color = "#24ac56",
  6. light_label_color = "#24ac56", expend = c(0.12, 0.12))
  7. )

该模块衍生可视化工具

火山图

  1. PointVolcano(
  2. object,
  3. which,
  4. category = "H",
  5. gene,
  6. light = NULL,
  7. light_color = "#24ac56",
  8. light_label_color = "#24ac56",
  9. expend = c(0.12, 0.12)
  10. )

top 差异基因的表达量热图

  1. DEGtopHeatmap(
  2. object,
  3. which,
  4. top = 50,
  5. filename = NA,
  6. show_gene = TRUE,
  7. palette = RColorBrewer::brewer.pal(3, "Set2")[1:2],
  8. ...
  9. )

多种方法的差异基因 Venn 图

  1. ## venn
  2. ## check deg results
  3. test <- deg_here(data_deg)
  4. ok <- names(test)[which(test == TRUE)]
  5. ## except merge
  6. main <- setdiff(ok,"merge")
  7. index <- c(setdiff(label(data_deg),label_ns(data_deg)),"diff")
  8. ## 提取差异基因
  9. geneSets <- lapply(main, function(x){
  10. geneSymbol_list <- hyper_GS(object = data_deg,which = x,type = "SYMBOL")
  11. })
  12. names(geneSets) <- main
  13. ## 创建绘图数据
  14. geneSets_ls <- list()
  15. for (i in index){
  16. tmp <- lapply(main, function(x){geneSets[[x]][[i]]})
  17. names(tmp) <- main
  18. geneSets_ls[[i]] <- tmp
  19. }
  20. ## 绘图
  21. p_list <- lapply(seq_along(geneSets_ls), function(x){
  22. DEGvenn(geneSets = geneSets_ls[[x]])
  23. })
  24. ## 拼图
  25. p_l <- aplot::plot_list(gglist = p_list,labels = index)
  26. ## 存图
  27. venn_file = "vennplot.pdf"
  28. ggplot2::ggsave(filename = venn_file,plot = p_l,device = cairo_pdf,width = 4.5*length(index),height = 4.5)