3 分钟跑通第一个分析
跟完这篇,您能在「百沐一下」不写一行代码,用「选数据 → 说目的 → 拿报告」三步跑出第一份完整分析——结论、图、表、可复现代码一次到手,先建立「原来这么简单」的手感。
这是平台版的第一课,不铺陈方法学,先带您把流程完整走一遍:给一份数据,用一句话说清想干什么,拿回一份报告。您动手的部分就几分钟,真正吃力的计算交给平台在后台跑。整条路的骨架如下:
| 步骤 | 您要做的 | 得到 |
|---|---|---|
| 1. 选数据 | 上传表达矩阵 + 分组表,或直接选公共数据 | 数据就位 |
| 2. 说目的 | 一句话说清「谁比谁、做什么」 | 平台拆成分析步骤 |
| 3. 拿报告 | 核对分组与阈值后点确认开跑 | 结论 / 图 / 表 / 代码 |
准备一份数据(或直接用平台公共数据)
开始前只要两样东西:一个账号,一份数据。
账号用微信扫码登录即可,注册就送一笔沐豆,够先跑几次,细节见第一次分析怎么开始。数据则是二选一,没有自己的数据也能照跑:
| 您的情况 | 怎么做 |
|---|---|
| 手上有自己的数据 | 上传两张表——一张表达矩阵、一张分组表 |
| 暂时没有数据 | 直接用平台的公共数据(TCGA / GEO 里已整理好的数据集) |
如果用自己的数据,先记住两张表各管一件事:
- 表达矩阵:行是基因、列是样本,每个格子放一个数值。做差异分析请放原始 count(整数计数),不要放 TPM / FPKM——差异分析的负二项模型要的是原始计数。
- 分组表:一行一个样本,写清它属于哪一组(如
tumor/normal);有批次、性别这类混杂因素,也一并各写一列。
一个最小示意(真实数据往往上万行):
| gene_id | Sample_1 | Sample_2 | Sample_3 |
|---|---|---|---|
| ENSG00000141510 | 1204 | 1187 | 985 |
| ENSG00000012048 | 302 | 45 | 388 |
第一次跑最容易卡住的,是两张表的样本名对不上。 表达矩阵的列名和分组表的样本名,要在大小写、下划线、前后缀上完全一致,否则平台对不齐、结果为空。嫌整理麻烦,第一次干脆用公共数据,先把流程走通。数据怎么整理规范,见表达矩阵与分组表整理规范。
三步跑通:选数据 → 说目的 → 拿报告
登录后点左侧导航【数据分析 → 组学智能体】,接下来就三步:
- 选数据:上传您的表达矩阵与分组表,或点进「公共数据挖掘」选一个现成数据集带进来。
- 说目的:在对话框用大白话说清想干什么,例如「比较 tumor 和 normal 两组的表达差异」。平台会把它拆成分析步骤,并在分组、比较方向、阈值这些关键处回头跟您确认一下。
- 拿报告:确认后开始跑,跑完您就拿到一整份报告——结论、图、表、代码都在任务页里。
关于标题里的「3 分钟」——指的是您动手的时间:选数据、说一句话、点确认,几分钟就做完。真正的计算在后台跑,轻量分析很快出结果,复杂分析会久一些,这时可以直接关掉页面,跑完平台会通知您,回分析记录里看即可。
发起分析会消耗沐豆,界面在正式开跑前会给出预估,余额不足会提醒;任务失败会自动全额退回沐豆,可以放心先试一次。
一句话怎么说,平台才懂
这一步最影响结果好坏。诀窍很简单:把「比什么、和谁比、想要什么」说清楚,别怕啰嗦。几句能直接照抄的写法:
以 normal 为对照,找出 tumor 里显著变化的差异基因,画一张火山图。
比较 tumor 和 normal 的差异表达基因,并对上调基因做 GO / KEGG 富集。
对照着感受一下含糊和清楚的差别:
| 说得含糊 | 说得清楚 |
|---|---|
| 「帮我分析一下这份数据」 | 「比较 tumor 和 normal 两组的差异表达基因,并对上调基因做 GO / KEGG 富集」 |
| 「看看有没有差异」 | 「以 normal 为对照,找出在 tumor 里显著变化的基因,画一张火山图」 |
几条好用的习惯:
- 用文件里真实的分组名:分组表里写的是
tumor,就说tumor,别换成「肿瘤组」,免得对不上。 - 说清谁是对照:哪一组当基准、哪一组和它比,讲明白,上调下调的方向才不会反。
- 一次说一个主目标:先把差异分析跑出来,富集、画图这些后面接着追问即可,不必一口气全塞进去。
说得不够全也没关系,缺的部分平台会主动追问。想更系统地把需求说到位,见用自然语言描述分析需求。
您会拿到什么(结论 / 图 / 表 / 可复现代码)
跑完一个分析,默认交付四件套,缺一不可:
| 交付物 | 是什么 | 拿它干嘛 |
|---|---|---|
| 结论说明 | 这一步做了什么、结果说明什么 | 一眼看懂,不用自己猜 |
| 图形结果 | 出版级图形(如火山图、热图) | 直接下载放进论文或汇报 |
| 数据文件 | 结果表格(如差异基因列表) | 拿去做下游分析或核对 |
| 可复现代码 | 跑出这份结果的完整脚本 | 复现、给审稿人交代、自己微调 |
其中「可复现代码」是这套流程「做得对、经得起查」的底气。比如做两组差异表达,您拿回的代码大致长这样——不用您写,但看得见、能复现:
library(DESeq2)
dds <- DESeqDataSetFromMatrix(countData = counts,
colData = meta,
design = ~ group)
dds <- DESeq(dds)
# 以 normal 为基准,比较 tumor vs normal
res <- results(dds, contrast = c("group", "tumor", "normal"))
# 常用惯例阈值,按数据可松紧调整
sig <- subset(res, padj < 0.05 & abs(log2FoldChange) > 1)
看到图和结论长出来,就算跑通了。至于结果里的数字怎么读、方法为什么这么选,属于方法学,另见对应教程,比如差异分析(DESeq2)、火山图怎么画怎么读。
不满意就接着说(对话式追问)
第一版结果不合心意,别重来,直接在对话框接着说,平台会在原有基础上只重跑相关步骤,不用从头再走一遍。几句常见的追问:
把显著性阈值改成 padj < 0.01,重新取差异基因。
富集换成 Reactome 数据库再跑一遍。
火山图换个配色,把 TP53、MYC 标出来。
只保留上调基因,导出成表格。
其中 padj < 0.05、|log2FC| > 1(约 2 倍变化)是领域内常用惯例、不是铁律:样本量大、噪声小可收紧到 padj < 0.01;差异基因太少可放宽到 |log2FC| > 0.585(约 1.5 倍)。阈值最好在看结果之前定好,别反复调到「好看」为止。
这种「说人话、边看边改」正是零代码的好处:您把精力放在「想问什么科学问题」,把「怎么实现」交给平台。想系统地用好这种对话式分析,见组学智能体:一句话跑通转录组。
跑不动?常见卡点排查
第一次跑,八成会遇到下面几种,对症一句就能解决:
| 症状 | 多半是因为 | 怎么办 |
|---|---|---|
| 报错「样本对不上」或结果为空 | 矩阵列名与分组表样本名不一致 | 对齐大小写、下划线、前后缀,两边完全相同 |
| 差异结果异常、像用错了方法 | 拿 TPM / FPKM 去做差异分析 | 差异分析要原始 count;已标准化的值改走别的方法 |
| 某个比较没跑出结果 | 组名和文件里对不上 | 用文件里真实组名(tumor,不是「肿瘤组」) |
| 差异基因几乎为零或多到离谱 | 阈值过严 / 过松,或每组重复太少 | 按数据调阈值;差异分析每组至少 2 个生物学重复,≥3 更稳 |
拿不准就先用公共数据把流程走通一遍,再换回自己的数据,问题会好定位很多。
在平台上跑一遍
上面整条路,在百沐一下就是「给一份数据 + 说一句话」这么简单——不写代码,说清「谁比谁、做什么」,组学智能体会规划流程、在分组和阈值处跟您确认,最后把结论、图、表和可复现 R 代码一并交付。
👉 打开 https://app.baimuyixia.com,进【数据分析 → 组学智能体】,选一份公共数据、说一句「比较两组的表达差异」、点确认——几分钟就能拿到您的第一份报告。
相关
- 帮助:第一次分析怎么开始 —— 从注册、送沐豆到跑出第一个结果
- 教程:组学智能体:一句话跑通转录组 —— 把一句需求跑成完整结果的完整走法
- 教程:用自然语言描述分析需求 —— 把目的说清楚,少走来回、少返工
- 教程:表达矩阵与分组表整理规范 —— 用自己的数据前,先把两张表整理对