ARTICLE · 1025182
一劳永逸的R包安装教程
一劳永逸的R包安装教程
导读:做生信的人,十有八九在装包上栽过跟头——同一个差异分析,有人用 limma、有人用 DESeq2,到底该听谁的?Bioconductor 和 CRAN 的包混着装,版本一冲突整个环境直接崩。今天不解读某篇论文,而是把 R 生态里经过社区广泛验证的包,按"环境搭建 → 数据获取 → 预处理 → 差异分析 → 富集 → 网络 → 可视化 → 免疫微环境 → 机器学习 → 临床建模 → 单细胞"这 11 个环节一次排好,并附上 7 类常见课题的"抄作业"流水线。你缺的从来不是某个神包,而是一张能照着走的地图。全文约 2000 字,建议先收藏再往下看。
一、为什么装包这件事总踩坑
R 的包不是从一个地方来的。它分三套生态:CRAN(基础统计与通用工具)、Bioconductor(基因组学/转录组学专属,版本和 R 主版本强绑定)、以及 GitHub(开发版、未上架的补丁包)。坑就出在这里——很多人习惯一把 `install.packages()` 通装,结果 Bioconductor 的包被当成普通包装,依赖解析失败、命名空间冲突,最后连 R 都起不来。
另一个坑是版本耦合:Bioconductor 3.21 必须搭配 R 4.5.0 以上,低版本 R 强行装新包只会报错。新手还常犯一个错——不知道"每个分析环节该用什么包",于是在论坛东抄一段、西抄一段,拼出一个谁也没验证过的组合。下面这张地图,就是替你把每个环节的对口包先固定下来。
二、全流程 R 包地图(11 个环节)
1、环境搭建(优先级最高,先装)BiocManager 是所有 Bioconductor 包的入口,务必第一步装;数据处理链 dplyr / tidyr / tibble / magrittr / purrr / stringr 是 tidyverse 核心;data.table 与 Matrix 管大数据与稀疏矩阵;jsonlite / readxl / openxlsx 管解析与 Excel;devtools / remotes / pacman 管安装本身。
2、数据获取与基因注释GEOquery 拉 GEO 数据,TCGAbiolinks 拉 TCGA 多组学,SRAdb 下 SRA 原始测序;biomaRt、org.Hs.eg.db、AnnotationDbi 做基因注释与 ID 转换。
3、预处理与标准化芯片数据用 preprocessCore / affy / oligo 标准化,sva 做批次效应校正,impute 填缺失值,hgu133plus2.db 做探针-基因映射。
4、差异表达芯片首选 limma(RNA-seq 经 voom 转换后也能用);RNA-seq 的黄金标准是 DESeq2 与 edgeR。
5、功能富集clusterProfiler 做 GO/KEGG/GSEA/DO 富集与可视化,DOSE 管疾病本体,enrichplot / ReactomePA / fgsea / GSVA / msigdbr / pathview 做增强与通路图。
6、网络分析STRINGdb 查蛋白互作,igraph 建网络图与拓扑分析,WGCNA 做共表达网络并关联临床性状。
7、可视化ggplot2 是图层式绘图引擎,统治地位;热图用 ComplexHeatmap(复杂注释)或 pheatmap(简便);排版美化靠 ggpubr / patchwork / cowplot / ggrepel;配色用 ggsci(期刊色)、RColorBrewer、viridis(色盲友好);特殊图有 ggVennDiagram、UpSetR、ggalluvial、circlize。
8、免疫微环境ESTIMATE 算基质/免疫评分与纯度,GSVA 跑 ssGSEA 推免疫细胞浸润,MCPcounter 与 xCell 估免疫/基质亚群丰度。
9、机器学习与标志物筛选caret 统一训练/调参/评估接口;glmnet 做 LASSO/Ridge/Elastic Net,Boruta 做随机森林特征全搜索;randomForest / xgboost / e1071 出分类回归模型;pROC 算 ROC 与 AUC。
10、生存与临床建模survival 跑 Cox 回归与 Kaplan-Meier,survminer 出美观生存曲线,timeROC 做时间依赖性 ROC,rms 建 Nomogram 列线图,dcurves 做决策曲线分析(DCA)。
11、单细胞转录组Seurat 是全流程金标准,SingleCellExperiment 是 Bioconductor 容器;scran / scater / Harmony 管质控、高变基因与批次校正;SingleR 自动注释;monocle3 做拟时序,CellChat 推细胞间通讯。
三、按课题类型直接抄作业(7 条流水线)
不想自己排顺序?直接照抄下面这 7 条,每个都是社区验证过的标准链路:
经典转录组差异分析:GEOquery → limma → ggplot2/ggrepel → clusterProfiler → pheatmap
肿瘤预后模型:TCGAbiolinks → DESeq2 → glmnet → survival/survminer → rms → timeROC
免疫浸润分析:ESTIMATE → GSVA(ssGSEA) → xCell → ggplot2/ggpubr → ComplexHeatmap
WGCNA 共表达网络:WGCNA → igraph → ggplot2 → clusterProfiler → ComplexHeatmap
机器学习诊断模型:caret → glmnet/randomForest/xgboost → pROC → ggplot2
单细胞转录组:Seurat → Harmony → SingleR → monocle3 → CellChat → ggplot2/clustree
多组学整合:TCGAbiolinks → sva → mixOmics/MOFA2 → ComplexHeatmap
四、三个最容易翻车的坑
1、版本前置没对齐。开工前确认 R ≥ 4.5.0、Bioconductor ≥ 3.21,且所有 Bioconductor 包统一走 `BiocManager::install()`,别用 `install.packages()` 硬装——这是环境崩坏的头号原因。
2、生存分析自己写数值解。做 Cox / log-rank / KM 时,一定用 R 的 survival 包跑,别用 Python 自写数值解法复算。数值 Hessian 得到的 SE/HR 会失真,曾经有人因此把"保护因素"误判成"风险因素",把整段结论写反。以代码为准,别自己造轮子。
3、可视化选型乱配色。引擎认准 ggplot2,别换;热图按复杂程度选 ComplexHeatmap 或 pheatmap;多图排版用 patchwork 而不是手动拼;配色优先 viridis(色盲友好)和 ggsci 的期刊预设,别随手用高饱和荧光色,审稿人和读者都反感。
五、小编总结
这份清单的价值不在"列了多少包",而在把环节和包一一对上号。新手照第二节排环境,进阶者照第三节抄流水线,所有人都要避开第四节那三个坑。收藏这一篇,下次装包前先翻出来对一遍,能省下你至少三天和环境搏斗的时间。
参考来源:CRAN、Bioconductor 与 GitHub 生态中经社区广泛验证的 R 包;本文整理自已核实的"R 包完整生态——按生信分析流程排序"清单(适用 R ≥ 4.5.0 / Bioconductor ≥ 3.21)。
热点思路推荐
· 单细胞 + 空间转录组联合分析(Seurat + 空间切片)——原文:Ståhl et al., 2016, Science(空间转录组学开山文献)· 预后模型列线图与决策曲线(rms + dcurves)——原文:Vickers & Elkin, 2006, Medical Decision Making(决策曲线分析 DCA)· 免疫浸润 ssGSEA 与细胞互作网络(GSVA + CellChat)——原文:Jin et al., 2021, Nature Communications(CellChat) / Barbie et al., 2009, Nature(ssGSEA)· 多组学整合降维(mixOmics / MOFA2)——原文:Rohart et al., 2017, PLOS Computational Biology(mixOmics) / Argelaguet et al., 2018, Mol Syst Biol(MOFA)