全库搜索 Markdown 图册
Paper Analysis · 4 分钟阅读

Bulk转录组 PCA 美化图:二维、三维与 ggbiplot

站内编号 KB-000074
clippings生信教程Bulk转录组RNA-seqPCAR语言ggplot2factoextraFactoMineRggbiplotpca3dMAD暂未试用
板块与文章导航

摘要LLM 归库摘要

  • 核心内容: 三篇教程分别覆盖 FactoMineR/factoextra 的二维 PCA 美化、从表达矩阵到碎石图/样本图/变量贡献图/biplot 的完整 prcomp 流程,以及 ggbiplot 的分组椭圆、相关环和变量向量。第一篇还展示 pca3d 三维 PCA。
  • 适用场景: Bulk RNA-seq 的样本关系检查、批次效应/离群样本初筛、分组可视化和候选高变异基因的解释性展示。PCA 图应作为 QC 和探索性分析,不替代差异检验。
  • 输入: 基因 × 样本的表达矩阵,以及至少包含样本 ID 和分组列的样本信息表。PCA 不建议直接对原始 count 做未经说明的距离计算;优先使用 logCPM、DESeq2 VST/rlog 或其他记录清楚的变换值。
  • 输出: PC1/PC2 样本散点图、可选 95% 分组椭圆、碎石图、样本 scores、变量贡献/cos2 表、biplot;三维图仅作为可选探索输出。
  • 关键参数: 样本/基因矩阵方向、中心化与 scale.、高变异基因或 MAD 筛选数、椭圆置信水平、ggbiplot 的 var.axes/circle 和变量标签数量。
  • 常见错误: 把行列方向弄反;样本信息没有按表达矩阵列名重排;把分组椭圆当作显著性检验;直接用原始 count;复制公众号代码中的未定义变量、排版换行或调色板拼写。
  • 与口腔生信连接: 可用于牙周炎、OSCC 或口腔黏膜 bulk RNA-seq 的样本 QC、病变/对照分组检查和批次效应排查。发现稳定分组差异后,再连接 DEG、通路富集及细胞组成/免疫浸润分析;PCA 本身不能证明机制。
  • 归库说明: 三篇原文证据页位于 03 生信教程与工具库/01_sources/web_clips/;可复用脚本已整理到私有 hz-bioinfo-codes 的 04_Bulk转录组/4.2_PCA/。

一、三篇教程的互补关系#

教程 主要工具 适合复用的部分 需要警惕
03 生信教程与工具库/01_sources/web_clips/使用R语言美化PCA图-原文存档 FactoMineR、factoextra、pca3d 二维样本图、ggplot2 主题修饰、三维探索 原文存在 iris.pca/res.pca 命名不一致和调色板拼写问题
03 生信教程与工具库/01_sources/web_clips/PCA主成分分析实战和可视化-原文存档 prcomp、factoextra 表达矩阵读入、MAD 排序、碎石图、变量贡献、biplot 公众号排版导致代码粘连;scale 不能脱离数据量级和噪声讨论
03 生信教程与工具库/01_sources/web_clips/ggbiplot-最好看的PCA作图-原文存档 prcomp、ggbiplot 分组椭圆、变量向量、相关环、OTU/高变异变量展示 ggbiplot 依赖 GitHub;OTU 归一化方式不应直接套到 RNA-seq count

二、推荐的 Bulk RNA-seq PCA 流程#

表达矩阵(基因 × 样本) + 样本信息
              |
              v
检查样本 ID、数值类型、缺失值、全零基因和零方差基因
              |
              v
选择已标准化/变换的数据:logCPM、DESeq2 VST/rlog 等
              |
              v
按 MAD 或明确的高变异基因规则筛选(记录 top_n)
              |
              v
prcomp(t(expression), center = TRUE, scale. = TRUE/FALSE)
              |
              +--> scree plot:查看解释率
              +--> sample plot:检查分组、离群样本和批次
              +--> variable plot/biplot:解释高贡献变量
              +--> optional 3D:探索,不作为唯一结论

输入方向与样本对齐#

  • 表达矩阵约定:行名是基因/特征,列名是样本。
  • PCA 输入给 prcomp() 前需要转置为“行是样本、列是变量”,所以通常使用 prcomp(t(expr), ...)。
  • 样本信息表必须以样本 ID 为键,按 colnames(expr) 重排后再添加到 PCA scores;禁止只按文件行顺序合并。
  • 先确认表达矩阵是原始 count、TPM/FPKM 还是已变换值。差异分析和 PCA 的输入用途不同,不能为了作图覆盖原始 count 的统计用途。

高变异筛选#

mad() 可作为探索性筛选指标。建议把 top_n 写进脚本和结果文件;如果样本量很小,不要把高 MAD 排名误解成生物学差异基因。正式分析也可使用全基因或预先定义的过滤规则,并进行敏感性比较。

椭圆和解释率#

分组椭圆只描述所选二维空间中的组内几何范围;它不提供差异显著性。建议显式记录 ellipse.level = 0.95、样本数和分组定义。坐标轴标签应包含方差解释率,例如 PC1 (32.4%),但解释率高不代表轴具有特定生物学机制。

三、脚本与远程代码#

远程目录:04_Bulk转录组/4.2_PCA/

  • 01_factoextra_PCA二维美化.R:用 prcomp 计算 PCA,再用 factoextra/ggplot2 输出二维分组图。
  • 02_prcomp_factoextra_Bulk_PCA完整流程.R:从输入检查、MAD 筛选、PCA 到碎石图、样本图、变量贡献表和 biplot 的完整流程。
  • 03_ggbiplot_Bulk_PCA美化.R:用 ggbiplot 输出带分组椭圆和可选变量向量的 biplot。
  • README.md:输入文件格式、运行顺序、包依赖、参数和结果说明。

当前仅完成静态代码审查和参数/API 对照;本机当前没有可执行的 Rscript,因此尚未运行真实 R 包测试。正式复现前需在安装 ggplot2、factoextra、FactoMineR 和可选 ggbiplot/pca3d 的 R 环境中运行,并记录版本。

四、进一步连接口腔生信课题#

  1. 先用 PCA 检查样本是否按实验分组、组织来源或批次聚类;若主成分主要被批次解释,应先处理设计和校正问题。
  2. 用 PCA 发现的离群样本只能作为复核线索,不能仅凭图删除样本;需要结合测序质量、文库信息和预先设定的排除标准。
  3. 在分组结构稳定后,继续使用原始 count 做 DESeq2/edgeR 等差异分析,并将 PCA 的变换方法与差异分析输入清楚分开。
  4. 对口腔炎症或 OSCC 样本,PCA 结果可与免疫浸润、细胞组成估计、通路活性和临床变量联合解释,但不能单独推出细胞通讯或因果机制。