2. 物种丰度数据简介:OTU/ASV表格、样本-物种矩阵、常见数据格式
聊到生物信息学数据分析,大家接触最早的应该就是物种丰度数据了。说白了,它就是一份“谁在样本里,有多少”的清单。我个人习惯把这类数据看作一张巨大的电子表格,行是物种,列是样本,交叉点填的就是那个物种在这个样本里有多少条序列。
不过,具体怎么组织这张表,背后还有不少门道。我在项目中遇到过几次因为表格格式没对齐,导致下游分析全部报错的情况——嗯,从那以后我对数据格式就格外上心了。
2.1 核心概念:OTU 与 ASV
在讨论表格之前,得先搞明白两个核心概念:OTU(Operational Taxonomic Unit,操作分类单元)和 ASV(Amplicon Sequence Variant,扩增子序列变体)。
- OTU:早期扩增子分析的标准做法。把相似度 ≥97% 的序列归并成一个 OTU。我刚开始做这行时,大家几乎都用 OTU,因为它计算量小,能处理大规模数据。
- ASV:后来出现的升级版。不设相似度阈值,直接对序列进行去噪,区分到单碱基差异。我建议现在做新项目尽量用 ASV,精度更高,可重复性也好。
实战经验:OTU 和 ASV 的表格结构完全一样,下游分析工具也大多兼容。所以你只需要关心上游分析流程用的是哪种方法,切换到 BIOM 格式的操作几乎没区别。
2.2 物种丰度表格:谁在什么地方有多少
无论 OTU 还是 ASV,最终输出的都是一种叫做“丰度表”的东西。它的标准结构很简单:
- 行:代表 OTU/ASV 的 ID(例如 OTU_1、ASV_10)或物种分类名称(如 Escherichia coli)。
- 列:代表样本名称(例如 Sample_A, Sample_B)。
- 值:非负整数,表示该 OTU/ASV 在该样本中被观测到的序列条数。
举个例子,典型的 OTU 表长这样:
OTU_ID Sample_A Sample_B Sample_C
OTU_1 1520 0 834
OTU_2 0 2301 95
OTU_3 480 1100 0
OTU_4 0 0 4200
你看,这就是一个标准的样本-物种矩阵。每一行代表一个物种单元,每一列是一个样本,数值就是丰度。零值表示在该样本中没检测到该物种。
避坑指南:我曾经遇到过一份 OTU 表,形状是“样本×OTU”(即行为样本、列为 OTU),结果导入 BIOM 工具死活报错。所以要记住:标准格式必须是OTU/ASV 为行,样本为列。如果搞反了,需要先转置,才能继续往下走。
2.3 常见数据格式:TSV、CSV 与 BIOM
物种丰度表格在转成 BIOM 之前,最常见的存储格式就是 TSV 和 CSV。它们本质上都是纯文本表格,区别只在于分隔符:
- TSV(Tab-separated values):用制表符(Tab)分隔列。我个人习惯用 TSV,因为很多 Linux 命令行工具天然支持 Tab 分隔,而且不容易和数据内容里的逗号冲突。
- CSV(Comma-separated values):用逗号(,)分隔列。Excel 默认打 CSV 很方便,但如果物种名称或注释里包含逗号,就得加引号包裹,否则会错列。
下面是一个对应的 CSV 格式示例:
OTU_ID,Sample_A,Sample_B,Sample_C
OTU_1,1520,0,834
OTU_2,0,2301,95
OTU_3,480,1100,0
OTU_4,0,0,4200
你一眼就能看到区别:逗号代替了 Tab 键。数据内容完全一样。
| 特性 | TSV | CSV | BIOM |
|---|---|---|---|
| 分隔符 | 制表符 (\t) | 逗号 (,) | 二进制或 JSON |
| 人类可读性 | 高(文本格式) | 高(文本格式) | 低(需工具解析) |
| 元数据支持 | 差(无标准方法) | 差(无标准方法) | 强(内置扩展) |
| 压缩率 | 一般 | 一般 | 优秀(HDF5版本) |
| 跨平台兼容 | 高 | 高 | 中(需专用库) |
重要提醒:TSV 和 CSV 文件行末不要有额外的空行或空格。我排查过很多次导入问题,最后发现是 Excel 保存时在最后一列后面加了一个逗号,或者结尾多了一个空行。这些“隐形”错误,用 head 或 cat -A 命令就能发现。
2.4 知识体系:从原始数据到 BIOM 格式
下面的 SVG 图展示了一张完整的知识流转路径。它帮助你理解物种丰度数据在整个分析流程中的位置,以及各种格式之间的转换关系。
说实话,看完这张图你就明白了:物种丰度数据从产生到被工具消费,中间经历了一个标准的、可复用的流程。把原始测序数据变成 OTU/ASV 表格,再用 TSV/CSV 存储,最后转成 BIOM 格式交付给下游分析——每一步都有清晰的定义和最简实践。
我的小建议:刚开始接触这个领域时,不用追求一次搞懂所有细节。先把“样本-物种矩阵”长什么样记清楚,然后记住 TSV 和 CSV 的区别就够了。等你真的需要把表格导入 QIIME2 或 phyloseq 时,咱们再深入到 BIOM 格式的微观结构。