跳转到内容

生物信息学数据格式:字段语义与编码细节

格式在分析流程中所处的层级、承载的信息类型及上下游衔接关系,见 常见数据格式总览。本页聚焦于每种格式实际保存什么字段、如何编码、哪些名字相近的格式不能互相替代

快速概览

本页是生物信息学主流格式的字段级参考:FASTA、FASTQ、SAM/BAM/CRAM、GTF/GFF、BED、VCF/BCF 各自的字段定义、编码规则与常见陷阱。

  • 每种格式编码不同层次的计算对象,字段语义不可互换
  • 坐标系统差异(0-based half-open vs 1-based closed)是最常见错误源
  • 质量分数编码(Phred+33 / Phred+64)和 CIGAR 字符串是读懂数据的关键
维度 左侧格式 右侧格式
FASTA vs FASTQ FASTA 保存序列本身,常作为参考或组装结果,不带碱基质量。 FASTQ 保存 reads 和 base quality,通常是原始测序流程的起点。
SAM/BAM/CRAM SAM 是文本形式,便于查看字段与调试。 BAM/CRAM 是更适合大规模分析的压缩表示,但本质仍是比对结果层。
GTF/GFF vs BED GTF/GFF 更偏注释对象与属性关系,如 gene / transcript / exon。 BED 更像简洁区间列表,适合表示 peak、区域集合或窗口。
VCF vs BCF VCF 是文本格式,便于查看候选变异及其字段。 BCF 是二进制表示,适合更高效存储和处理,但语义层仍是变异结果。

字段结构

>chr1 Homo sapiens chromosome 1, GRCh38
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN...

每条序列由一个以 > 开头的定义行(包含序列标识符和描述)后跟序列字符行组成。

关键约束

  • 只包含序列字符本身,不包含任何关于该序列如何产生、如何被测量、或与其他序列关系的元数据
  • 必须与配套注释文件(如 GTF)使用相同的参考版本和坐标系统
  • 不包含:测序质量分数、比对位置信息、功能注释、变异证据

字段结构

每条 read 由四行组成:

@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTC
+
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>
  1. @ 开头的标识符行
  2. 碱基序列行
  3. + 分隔行(可选重复 ID)
  4. 质量分数行(每个字符对应一个碱基的质量)

质量分数编码

质量分数用 ASCII 字符编码 Phred quality score。两种主要变体:

编码ASCII 偏移质量范围常见来源
Phred+33330–93Illumina 1.8+、Sanger、PacBio、Nanopore
Phred+64640–62旧版 Illumina (1.3–1.7)、Solexa

Phred 质量值 QQ 对应错误概率 P=10Q/10P = 10^{-Q/10}。例如 Q=30Q=30 表示错误率 10310^{-3}(千分之一的碱基调用错误)。

关键约束

  • 不包含参考坐标位置、功能注释、或变异推断信息
  • 仅拥有 FASTQ 文件时尚未建立任何与参考基因组的关联

SAM / BAM / CRAM:比对结果的标准编码

Section titled “SAM / BAM / CRAM:比对结果的标准编码”

11 个必需字段

字段含义注意点
QNAMEread 标识符
FLAG比对状态位标记16-bit 位域,如 paired、reverse complement、secondary
RNAME参考序列名称
POS1-based 起始位置1-based,与 BED 的 0-based 不同
MAPQ比对质量分数mapping confidence,-10·log₁₀(P(misaligned))
CIGAR比对操作的紧凑编码见下表
RNEXT配对 read 的参考名
PNEXT配对 read 的位置
TLEN模板长度
SEQ序列可能与原始 FASTQ 不同(如经 soft-clipping)
QUAL质量分数

CIGAR 字符串编码

操作符含义
Mmatch/mismatch(比对到参考)
Iinsertion(read 相对参考插入)
Ddeletion(read 相对参考缺失)
Nskip(跳过参考区域,如 intron)
Ssoft clip(read 端未比对,但保留在 SEQ)
Hhard clip(read 端未比对,且不在 SEQ)
=sequence match
Xsequence mismatch

示例:4M1I3D2M 表示 4 match、1 insertion、3 deletion、2 match。

格式变体

  • SAM:文本格式,便于人工阅读和调试
  • BAM:二进制压缩格式,适合高效存储和大规模分析
  • CRAM:参考感知的压缩格式,通过存储与参考的差异实现更高压缩率

三者语义等价,仅在存储效率上有差异。

GTF / GFF:基因组注释的结构化表示

Section titled “GTF / GFF:基因组注释的结构化表示”

九列制表分隔格式

chr1 HAVANA gene 11869 14409 . + . gene_id "ENSG00000223972"; gene_type "transcribed_unprocessed_pseudogene";
字段说明
1seqname参考序列名称
2source注释来源
3feature特征类型(gene、transcript、exon、CDS、UTR 等)
4start1-based 起始坐标
5end1-based 结束坐标(含端点)
6score分数(可为 .
7strand链方向(+/-/.
8phase编码相位(0/1/2,仅 CDS)
9attributes键值对形式的特征属性

坐标系统:1-based, closed(如 1-100 表示第 1 到第 100 个碱基,含两端)。

GTF vs GFF3

  • GTF 是 GFF2 的严格子集,强制要求 gene_id/transcript_id 字段
  • GFF3 是更通用的格式,支持任意特征类型和更灵活的属性定义,常用 Parent/ID 编码层级关系
  • 两者在基因结构注释场景下功能等价,但工具兼容性有差异

3 到 12 列的可变格式

最少只需要:

chr1 1000 5000

扩展列(4-12 列)可包含:名称、分数、链方向、thickStart/thickEnd、itemRgb、blockCount/blockSizes/blockStarts。

坐标系统:0-based, half-open(如 0-100 表示第 1-100 个碱基,起始坐标比 GTF 少 1,结束坐标与 GTF 相同)。

与 GTF 的关键差异

特性BEDGTF
坐标系统0-based, half-open1-based, closed
结构扁平区间列表层级化注释(gene→transcript→exon)
属性可选名称/分数强制键值对属性
典型用途peak、panel、窗口基因结构注释

BED 与 GTF 坐标系统差异是最容易导致错误的格式陷阱之一。

文件结构

  • Meta-information 行## 开头):文件格式版本、参考序列、INFO/FORMAT 定义
  • Header 行#CHROM...):列名和样本列表
  • Data 行:每条变异记录

Data 行字段

字段含义注意点
CHROM染色体
POS1-based 位置
ID变异标识符如 dbSNP rs 号,可为 .
REF参考等位基因
ALT替代等位基因多个用逗号分隔
QUAL质量分数Phred-scaled,-10·log₁₀(P(变异不存在))
FILTER过滤状态PASS 或过滤原因标签
INFO变异属性DP=深度AF=等位基因频率
FORMAT样本级字段格式GT:DP:GQ
样本列每个样本的基因型GT 字段:0/00/11/1

关键约束

  • VCF 不保存产生调用的全部 read-level 证据,仅保存聚合后的统计信息
  • 变异的解释依赖参考版本、调用工具、过滤参数、注释数据库
  • VCF 是依赖上下文的统计推断,不是绝对真理

VCF vs BCF

  • VCF:文本格式,便于查看和人工检查
  • BCF:二进制格式,支持高效随机访问和大规模处理
  • 两者语义等价,BCF 更适合作为分析中间格式,VCF 更适合最终报告和归档

综合实例:分析交付包的字段依赖

Section titled “综合实例:分析交付包的字段依赖”

假设收到一个肿瘤外显子测序的分析交付包:

project/
├── reference.fa # 参考基因组序列
├── genes.gtf # 基因结构注释
├── sample.bam # 比对结果(含索引 .bai)
└── sample.vcf.gz # 变异检测结果

依赖链条

  1. VCF 依赖 BAM:变异调用基于比对证据的统计推断,VCF 中每条变异对应 BAM 中的 read pileup 支持(但 VCF 不保存原始 reads,只保存统计摘要)
  2. BAM 依赖 reference.fa:比对结果的意义完全依赖所使用的参考版本。同样的 BAM 配合不同参考版本会产生错误解释
  3. 所有功能解释依赖 genes.gtf:VCF 中变异的功能影响(同义/错义/无义、剪接位点影响)需结合 GTF 注释才能确定

单独使用各文件的局限性

  • 只有 VCF:失去原始证据链,无法验证变异真实性;脱离参考版本和注释,无法解释生物学意义
  • 只有 BAM:尚未经变异检测算法处理,无法直接得到”存在什么变异”的结论
  • 只有 reference.fa + genes.gtf:只有背景框架,没有样本的实验证据