跳到正文
百沐一下百沐一下
本节目录

组学智能体:一句话跑通转录组

跟完这篇,您能在「百沐一下」不写一行代码,用一句话把一份转录组数据从差异表达跑到 GO / KEGG 富集,最后拿到四样东西:结论、出版级图形、结果表,和一份可复现的 R 代码。

这条路的核心只有三个动作:进入组学智能体 → 给它数据 → 用一句话说清目标。剩下的规划、跑批、留档,智能体替您完成。整体节奏如下:

步骤您要做的拿到的结果
1. 进入入口点【数据分析 → 组学智能体】打开对话式分析界面
2. 给数据上传矩阵 + 分组表,或选公共数据数据就位
3. 说目标一句话,如「tumor vs normal 做差异 + 富集」智能体拆成步骤
4. 确认再开跑核对分组、比较方向、阈值自动规划、逐步执行
5. 收结果查看「四件套」结论 / 图 / 表 / 代码
6. 追问调整「换阈值」「换富集库」局部重跑,不从头来

本篇以最常见的 bulk 转录组「差异 + 富集」为例走一遍。若想弄懂每一步在方法学上「为什么这么做」,见 RNA-seq 分析全流程;本篇只管带您把它跑出来。

进入「数据分析 → 组学智能体」

  1. 登录后,在左侧导航点【数据分析】,再点【组学智能体】。
  2. 进入的是一个对话式界面:上半部分放数据,下半部分是一个输入框,您在这里用自然语言说目标。
  3. 发起分析会消耗沐豆,界面会在正式开跑前给出预估,余额不足会提醒。任务失败自动全额退回沐豆,可以放心先试。

组学智能体覆盖转录组、单细胞、蛋白 / 代谢 / 微生物组等多类分析,操作节奏一致。第一次用平台、想先跑通最小闭环,见 第一次分析怎么开始

备好两份文件:表达矩阵 + 分组表

给数据有两条路,任选其一。

路线 A —— 上传自己的数据。 常规 bulk 转录组需要两份文件:

文件长什么样关键点
表达矩阵行是基因、列是样本值用原始 count(整数),别用 TPM / FPKM
分组表一行一个样本至少一列写清分组(如 tumor / normal),有批次 / 性别等混杂因素也各写一列

为什么必须是原始 count:差异分析的负二项模型要用整数计数来估计离散度,喂进归一化后的 TPM / FPKM 会得到错误结果。矩阵怎么从上游 featureCounts / Salmon 结果整理出来,见 矩阵准备

最高频的报错来自样本名对不上:矩阵的列名和分组表的样本名,要在大小写、下划线、前后缀上完全一致。上传前对齐这一点,能省掉后面大半麻烦。格式细则见 上传数据的格式要求

路线 B —— 选公共数据。 手头没数据、或想先练手,直接从平台的 公共数据挖掘 里选一个 TCGA / GEO 数据集,矩阵和临床 / 分组信息已经配好,跳过整理直接进入分析。

一句话说清目标(谁比谁、做什么)

把目标写成一句「谁比谁、做什么」的话,智能体就能拆成步骤。一句话里最好含这三样,结果会更贴近您想要的:

  1. 比较对象:谁和谁比(tumor vs normal),也就是 contrast 的方向;
  2. 要做的分析:差异表达、富集、画火山图 / 热图……列清楚;
  3. 可选偏好:物种(人 / 鼠)、想用的富集库(GO、KEGG、Reactome)、大致阈值。没写也行,智能体会用常规默认值,并在确认环节问您。

几种能直接照抄、改改名字就能用的说法:

想做的事可以直接这样说
差异 + 富集(最常见)tumor vs normal 做差异表达,再做 GO / KEGG 富集
只做差异、要图用 DESeq2 比较 treatcontrol,给差异基因表和火山图
富集换库把差异基因做 Reactome 富集,画气泡图
补一个 GSEA在差异结果上补一个 GSEA,用 KEGG 基因集
换个组学对这份单细胞数据做质控、聚类、注释,画 UMAP
对 tumor vs normal 做差异表达,物种是人,再做 GO / KEGG 富集,画火山图。

写得越具体,来回确认越少;但您不必一次写全,缺的部分它会主动追问。

确认关键参数,让它自动跑

点确认后,智能体会把这句话展开成一条标准流程,并在关键处停下来跟您核对,而不是替您默默决定:

  1. 拆解流程:先质控(PCA 看分组分不分得开、有没有离群样本),再跑差异(DESeq2 一类标准方法),卡阈值取差异基因,最后把基因列表送去富集。
  2. 确认关键参数:分组对不对、比较方向(谁比谁)对不对、差异阈值取多少。这几点它会明确问您。
  3. 逐步执行、每步留档:每跑完一步都留下当步的结论、图、表和代码。您能在 分析记录 里看排队与运行状态,跑完会通知您,中途关掉页面也不影响。

差异分析最常用的阈值是 padj < 0.05|log2FC| > 1(约 2 倍变化)。这是领域内常用惯例、不是铁律:样本量大、噪声小可收紧到 padj < 0.01;差异基因太少可放宽到 |log2FC| > 0.585(约 1.5 倍)。阈值最好在看结果之前定好,别反复调到「好看」为止——后者会人为夸大显著性。

收下「四件套」:结论 / 图 / 表 / 代码

每个分析步骤默认交付四件套,这也是「做对、可复现、经得起审稿」的底气:

交付物是什么拿它做什么
结论说明这一步做了什么、结果说明什么直接理解,不用自己从图里猜
图形结果出版级图形(火山图、富集气泡图等)下载放进论文 / 汇报
数据文件结果表格(差异基因表、富集结果表)继续挑基因、做下游
可复现 R 代码复现整段分析的脚本写进方法学、复核、二次修改

交回的代码是标准包、标准写法,差异这一步大致长这样(片段,说明思路即可):

library(DESeq2)

dds <- DESeqDataSetFromMatrix(counts, coldata, design = ~ condition)
dds <- DESeq(dds)

# contrast 明确「谁比谁」:tumor 相对 normal
res <- results(dds, contrast = c("condition", "tumor", "normal"))

# 常用惯例阈值,按数据可调(不是铁律)
sig <- subset(res, padj < 0.05 & abs(log2FoldChange) > 1)

富集这一步,把差异基因列表送进 clusterProfiler:

library(clusterProfiler)
library(org.Hs.eg.db)          # 人;小鼠换 org.Mm.eg.db

ego <- enrichGO(gene = sig_entrez, OrgDb = org.Hs.eg.db,
                ont = "BP", pAdjustMethod = "BH", qvalueCutoff = 0.05)

您完全可以只看结论和图;但代码在手,意味着这份结果任何人都能复核、也能拿去改——这正是把它写进论文的底气所在。差异结果表逐列怎么读,见 DESeq2 实操;火山图怎么调,见 火山图

追问调整(换阈值 / 换富集库 / 换图)

结果出来后,不满意的地方直接在对话框里说,智能体只重跑相关步骤,不必从头再来:

把差异阈值改成 padj < 0.01,重新取差异基因。
富集换成 Reactome,再补一张 KEGG 通路图。
火山图换个配色,标出前 10 个基因。

常见的几类追问:

  • 换阈值:收紧 / 放宽 padj 或 log2FC,看差异基因数量怎么变;
  • 换富集库:GO 换 KEGG、Reactome,或几个一起做对比;
  • 换展示:火山图换热图、调配色、标注特定基因;
  • 加一步:在差异基础上再做 GSEA、或挑几个基因单独看表达。

每次追问都会更新对应的四件套,前面确认过的分组、比较方向会保留,您只需描述「这次改哪里」。

卡住了怎么办

照做过程中最容易撞上的几种情况,对号入座即可:

症状多半是怎么办
提示样本匹配失败矩阵列名与分组表样本名对不上(大小写、下划线、前后缀)上传前把两份文件的样本名对齐到完全一致
报错说需要整数计数传了 TPM / FPKM,不是原始 count换成原始 count 矩阵重传
差异基因为 0 或极少阈值太严、组间本就差异小,或分组标反了放宽到 `
富集结果为空基因 ID 类型没对上(SYMBOL / ENTREZ),或物种选错在对话里说明物种,让它先做 ID 转换
沐豆不足开不了跑余额低于预估先充值,或缩小分析范围

智能体负责「在平台上把流程跑对」;至于某种方法该不该选、参数背后的道理,属于方法学问题,建议对着 RNA-seq 分析全流程 与各专篇补一补。

在平台上跑一遍

上面整条路,在百沐一下就是「上传两份文件 + 说一句话」这么简单——不写代码,说清「谁比谁、做什么」,组学智能体 会规划流程、在分组和阈值处跟您确认,最后把结论、图、表和可复现 R 代码一并交付。

👉 打开 https://app.baimuyixia.com,进【数据分析 → 组学智能体】,选好数据、描述目标即可开跑。

相关