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

用自然语言描述分析需求

跟完这篇,您能把一个模糊的「帮我分析一下」,改写成一句让对方(同事、生信工程师,或 AI 智能体)一次就懂的需求:说清数据、分组、目的和您已知的背景,少走来回、少踩返工。

「把需求说清楚」是一项和平台无关的通用能力。无论您是口头交代给合作者、写进论文的方法学,还是打字给 AI,一份好需求的骨架都一样——交代四件事:数据、分组、目的、您已知的。这四件事说全了,对方就不用靠猜;缺一件,就多一轮来回确认。这篇给您一套可照着填的写法和模板。

一句好需求,先看反例和正例

同一份数据、同一个问题,两种说法,得到的结果天差地别。

反例(对方只能靠猜):

这是我的测序数据,帮我分析一下,看看有没有什么发现。

问题在哪?没说数据是什么形态、样本怎么分组、您到底想回答什么问题。对方要么反复追问,要么按自己的理解跑一版,多半不是您要的。

正例(一次就懂):

这是一份人的 bulk 转录组原始 count 矩阵,24 个样本,分 tumor 和 normal 两组
(分组信息在附带的分组表里)。请以 normal 为对照,找出 tumor 里显著变化的
差异基因,再对上调基因做 GO / KEGG 富集。物种是人,阈值先用常规默认。

差别不在字多,而在把该交代的交代全了。下面拆开讲这四件事各要说什么。

第一件:交代数据

对方拿到您的需求,第一反应是「这是什么数据、能不能直接算」。把下面几点说清,就省掉大半追问。

要说的说清什么例子
数据类型bulk 转录组 / 单细胞 / 蛋白 / 临床表 ……「bulk RNA-seq」
数值形态原始 count、还是 TPM / FPKM、还是已标准化「原始 count 矩阵」
规模几个样本、大概几行(基因数)「24 个样本,约 2 万基因」
来源自测、公共数据(GEO / TCGA)、几批合并「GEO,两个数据集合并」
物种人 / 鼠 / 其他「人」

其中数值形态最容易被忽略,却最影响方法选择。举个高频例子:差异表达的负二项模型(DESeq2、edgeR)需要原始整数 count,不能喂 TPM / FPKM;如果您手上是标准化后的值,一定要讲明,否则对方可能用错方法。数据形态与整理规范见 表达矩阵与分组表整理规范

如果数据来自公共库,把编号说出来(如 GSE12345、某个 TCGA 项目),对方能直接定位、少问一轮。怎么找见 GEO 数据检索

第二件:说清分组与比较

这是最容易说岔、也最容易出错的一件。差异分析、组间比较、生存比较,全都依赖「谁跟谁比、谁是基准」。

要说清三点:

  1. 分组依据:样本按什么分组?分组信息在哪(哪一列、哪张表)?用文件里真实的组名,分组表写的是 tumor 就说 tumor,别换成「肿瘤组」,免得对不上。
  2. 比较方向:谁当对照(基准)、谁和它比。「tumor vs normal」和「normal vs tumor」方向相反,上调下调会整个反过来——务必说明哪个是参照。
  3. 配对与混杂:是不是配对设计(如同一批对象用药前后)?有没有批次、性别、年龄等需要一并考虑的混杂因素?有就一起交代,别等结果出来才想起。

一句可照抄的写法:

按分组表里的 group 列分组,以 normal 为对照,比较 tumor vs normal;
样本来自两个批次,batch 列已标注,请把批次作为混杂因素一起考虑。

混杂因素(如批次)会影响结论,说清了对方才能在模型里校正。批次问题的处理思路见 批次效应怎么处理。选比较方法本身犯难时,见 统计方法怎么选

第三件:讲明目的

「目的」要分两层说清:回答什么问题,以及想要什么形式的结果

回答什么问题——用一句「谁比谁、看什么」概括,别只说「做个分析」:

  • 找出两组之间显著变化的基因;
  • 看某个基因表达高低和生存时间有没有关系;
  • 把细胞分群、标注出有哪些细胞类型;
  • 看差异基因富集在哪些通路上。

想要什么形式的结果——把交付物说明白,对方才知道做到哪一步停:

您要的说法示例
一个结论「告诉我这两组差异大不大、主要差在哪」
一张图「画一张火山图,标出前 10 个基因」
一份结果表「导出差异基因列表,含 log2FC 和 padj」
可复现代码「附上跑这份结果的 R 代码」

一次聚焦一个主目标即可。先把差异分析跑出来,富集、画图这些可以后面接着追问,不必一口气全塞进一句话——反而容易说乱。相关下游教程见 差异分析(DESeq2)富集分析怎么做火山图怎么画怎么读

第四件:补上您已知的

您对自己的数据和研究,往往知道一些对方不知道的关键信息。主动说出来,能少踩很多坑,也能让结果更贴近您的预期。

值得交代的「已知」包括:

  • 物种与注释:人还是鼠,基因用的是 Ensembl ID 还是 Symbol(影响富集时的物种数据库和 ID 转换)。ID 问题见 基因 ID 转换
  • 阈值偏好:有没有想用的显著性标准。没有就说「用常规默认」。常用惯例是 padj < 0.05|log2FC| > 1(约 2 倍变化)——这是领域内常用惯例、不是铁律,样本量、噪声、差异基因多少都会影响取舍,按数据调即可。
  • 已知的问题:比如「有两个样本质量偏低」「知道存在批次」「某组样本量偏小」。提前说,对方能针对性处理。
  • 预期方向:如果您预期某基因在处理组升高,说出来能帮对方核对结果方向对不对(但别把预期当成结论去凑)。
  • 硬约束:必须用某个方法、要对齐某篇文献的做法、物种数据库指定哪个——有要求就直说。

一句示例:

基因是 Ensembl ID,物种人;阈值用常规默认即可;已知样本来自两批、有批次效应;
其中 S07、S18 质量偏低,可先保留、在质控图里帮我看看要不要剔除。

照着改就能用的模板

把上面四件事套进一个固定骨架,遇到新任务照着填空即可。这个模板对同事、对 AI 都通用:

【数据】<类型 + 数值形态 + 样本数 + 来源 + 物种>
【分组】<分组列 + 真实组名 + 谁 vs 谁(谁是对照)+ 是否配对 / 有无混杂>
【目的】<要回答的问题 + 想要的结果形式:结论 / 图 / 表 / 代码>
【已知】<阈值偏好 + 已知问题 + 硬约束等,没有就写「按常规默认」>

三个填好的例子,照着改成您自己的:

差异表达 + 富集(bulk 转录组)

【数据】人 bulk RNA-seq 原始 count 矩阵,24 样本,自测。
【分组】按 group 列分 tumor / normal,以 normal 为对照,无配对,样本来自两批(batch 列)。
【目的】找出 tumor 里的差异基因,对上调基因做 GO / KEGG 富集;要结果表 + 火山图 + 代码。
【已知】Ensembl ID;阈值按常规默认(padj<0.05、|log2FC|>1);把批次作为混杂一起考虑。

生存分析

【数据】某队列临床表 + 一个目标基因的表达值,300 例,含随访时间与结局。
【分组】按该基因表达中位数分高 / 低表达两组。
【目的】看高低表达组的总生存有没有差异;要一张 KM 曲线 + Log-rank 的 p 值。
【已知】time 列是月,status 里 1=死亡、0=删失;先只做单变量,暂不校正其他因素。

单细胞分群

【数据】人外周血单细胞 10x 数据,3 个样本,原始表达矩阵。
【分组】暂不比较分组,先把三样本整合到一起看。
【目的】做质控、聚类、注释出主要细胞类型,给一张 UMAP。
【已知】按常规默认走质控(线粒体比例、基因数上下限按数据定);物种人。

单细胞的整体流程见 单细胞分析全流程

描述前的自查清单

把需求发出去之前,对着这张表过一遍,四件事都打上勾,基本就不会来回返工:

检查项打勾标准
数据说清了类型、数值形态(count / TPM / 已标准化)、样本数、物种
分组用了真实组名、讲明了谁是对照、交代了配对与混杂
目的一句话说清要回答什么,也说清要什么形式的结果
已知交代了 ID 类型、阈值偏好、已知问题与硬约束
聚焦一次只提一个主目标,其余留到后面追问

还有两条通用习惯:能给例子就给例子(贴一小段数据的表头,胜过一大段描述);不确定的地方如实说不确定,别为了显得专业而编一个自己也没把握的阈值或方法——把判断留给对方或后续讨论,反而更稳。

在平台上跑一遍

上面这套「说清四件事」,在百沐一下就是您在对话框里打的那句话——不写代码,把数据、分组、目的、已知说清楚,组学智能体 会把它拆成分析步骤,在分组、比较方向、阈值这些关键处回头跟您确认,最后交回结论、图、表和可复现代码;说得不够全也没关系,缺的部分它会主动追问。

👉 打开 https://app.baimuyixia.com,进【数据分析 → 组学智能体】,把这篇的模板照着填一句发出去即可。

相关