SAM与BAM及CRAM - SpiralKernel/bioinfo-wiki-migrated GitHub Wiki

SAM与BAM及CRAM

更新:2026-10-14;状态:可用;验证范围:文档核对;操作需按所用环境验证。

SAM、BAM 和 CRAM 表达序列比对记录,坐标排序、索引和参考资源决定很多下游操作能否正确进行。

三种格式

SAM 是可读文本;BAM 是二进制存储;CRAM 使用压缩方案,读取时可能需要匹配的参考序列。它们与原始FASTA与FASTQ不同:同一读段可有主比对、次级或补充比对记录。

记录中的 FLAG、CIGAR、MAPQ 和坐标解释需要参考规范。MAPQ 通常描述放置位置的不确定性,不等于每个碱基的测序质量。索引也不是排序的替代品。

实践检查

samtools quickcheck -v sample.bam
samtools flagstat sample.bam
samtools view -H sample.bam

这些是需在安装 SAMtools 后运行的检查命令,尚未在本机执行。quickcheck 不完整解码全部记录,安静退出不能证明数据没有所有内部问题。检查参考名称、长度、排序说明和读组,并确认索引对应当前文件。

详细查看 SAM/BAM/CRAM 规范和 samtools quickcheck 的范围。应用见基因组重测序与变异检测。

测序技术与上游输入

测序数据格式与原始信号解释未比对BAM与原始信号;BAM转FASTQ可能丢辅助标签,不能仅凭后缀判断数据阶段。

从文件格式走到检查

samtools比对检查与覆盖统计实际运行排序、quickcheck、索引、flagstat与coverage,并用缺少EOF的人工BAM验证检查失败。quickcheck不扫描全部内部数据,通过不能证明文件完全无损。

从FASTQ产生这些比对见从FASTQ到比对检查与变异调用;选择比对模式见minimap2BWA与比对器选择。