数据来源与格式:从原始测序到数据分析的第一步

做物种丰度分析,第一步不是跑软件,而是搞清楚你手头的数据是什么来头。扩增子测序?宏基因组?FASTA 还是 FASTQ?格式差一个字母,处理流程可能完全不同。

我见过不少新手直接拿 FASTQ 去比对数据库,结果报错卡半天——因为比对软件要求的是 FASTA。说白了,这一步错了后面全白干。

2.1 扩增子测序 vs 宏基因组:选对路子

先搞清楚三兄弟:16S 针对细菌、18S 针对真核微生物、ITS 针对真菌。宏基因组则是整个样本 DNA 全测,不分靶点。

类型 靶向区域 应用场景 数据量(参考) 优点
16S rRNA(V3-V4 等) 细菌 16S 基因高变区 菌群结构、多样性 每样本 10~100K reads 成本低,数据库完善
18S rRNA 真核生物 18S 基因 原生动物、微真核 约 10~50K reads 扩展真核覆盖度
ITS(ITS1/ITS2) 真菌 ITS 区间 真菌群落 约 10~50K reads 真菌分辨率高
宏基因组 全基因组 功能潜力、新基因、菌株 每样本 5~50M reads 信息量大,但贵

我个人习惯,先问用户:你关心物种组成还是功能?关心物种,预算少,上扩增子;想挖新基因或看代谢通路,上宏基因组。记得有一次,项目做肠道菌群,对方非要上宏基因组,我说你几百块样本测宏基因组,光存储就心疼。后来还是老老实实改回 16S。

2.2 文件格式大观:FASTA 与 FASTQ

测序公司给你的数据通常是 FASTQ 格式。里面除了序列还有每个碱基的质量得分,用 ASCII 字符编码。FASTA 则只有序列和注释行。

你想想看,一个 FASTQ 记录长这样:

@M00525:1:000000000-A5LGW:1:1101:15347:1645 1:N:0:8
ATCGATCGATCGATCGATCGATCGATCGATCGATC
+
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

第一行以 @ 开头,后面是 Illumina 的仪器 ID 和坐标。第二行是序列。第三行是 + 分隔符。第四行是质量得分,每个字符对应一个 Phred 值。

特性 FASTA FASTQ
注释行开头 > @
包含质量值 无 有(第4行)
常见用途 数据库比对 原始序列+质控
质量编码 — Phred+33 或 +64

收到 FASTQ 先确认质量编码体系。老版本 Solexa 用 Phred+64,现在 Illumina 1.8+ 都用 Phred+33。用 ASCII 范围判断:如果质量字符包含 ';'(ASCII 59)以上,可能就是 +64,需要转换。

2.3 实战中常见的坑

我曾经遇到一个项目,样本编号在 FASTQ 文件名和实验设计表里不一致——公司把 B1、B2 重新命名成 S1、S2,但设计表没更新。结果分析出来菌群结构和预想完全相反。自此以后,我每次拿到数据都先跑一个 ls *.fastq.gz > sample_list.txt,跟实验设计逐行比对。

另一个坑:双端测序的 R1 和 R2 文件必须配对。文件名通常是 SampleName_R1_001.fastq.gz 和 SampleName_R2_001.fastq.gz。我建议用脚本检查行数是否一致,否则 merge 时会丢。

质量分布也要看。 用 FastQC 跑一遍,如果末尾平均质量低于 Q20,得考虑裁剪或丢弃。

2.4 数据预处理前的检查清单

  1. 完整性检查:每个样本是否同时存在 R1/R2(双端)或单端文件;文件是否解压后完整(gzip -t)。
  2. 测序质量:跑 FastQC 看每个碱基位置的质量箱线图,关注 GC 含量异常(可能污染)。
  3. 样本对应关系:FASTQ 文件名中的样本 ID 是否与分析设计表一致。我习惯用 grep 提取 @ 行中的 ID。
  4. 引物/接头残留:用 cutadapt 检测并去除。没去除的引物会导致 ASV 聚类时被误认为真实序列。
  5. Read 数量统计:每个样本的 reads 数差异过大(比如差两个数量级),后续标准化会有麻烦。
扩增子 vs 宏基因组数据流向 样本采集与DNA提取 16S/18S/ITS 扩增 宏基因组全基因组 文库构建(加接头) 文库构建(加标签) Illumina(PE150/PE250) Illumina / PacBio / Nanopore FASTQ(扩增子) FASTQ(宏基因组) 后续 QC & 分析 扩增子:靶向特定高变区 → 数据量小,成本低。宏基因组:全基因组 → 信息丰富,但存储和分析成本高。

数据来源与格式这块,说复杂也不复杂,但稍有疏忽就可能让整个分析跑偏。我建议你每次拿到新数据,先跑一遍检查清单,再动手。宁可多花 10 分钟验证,也别回头重做一个月。