对比
BAM vs CRAM
BAM是BGZF压缩的比对表示。CRAM利用与参考序列的差异等编码方式,信息保留取决于写入设置。
应该选择哪种格式?
重视广泛工具兼容性可选BAM;能管理参考序列解析和保留设置、希望节省容量时可考虑CRAM。
适用于 BAM
以二进制形式保存和交换大规模读段比对数据 · 通过索引按区域查询坐标排序的数据
- 压缩保存与SAM兼容的头部、记录和标签
- 使用BGZF及BAI/CSI索引进行区域读取
适用于 CRAM
利用参考序列压缩保存和交换比对数据 · 选择质量值和其他字段的保留策略
- 能够识别并获取精确参考序列的工作流
- 记录压缩及数据保留设置的归档
基本信息
| 项目 | BAM | CRAM |
|---|---|---|
| 扩展名 | .bam | .cram |
| MIME 类型 | application/octet-stream | |
| 常见用途 | 以二进制形式保存和交换大规模读段比对数据 · 通过索引按区域查询坐标排序的数据 | 利用参考序列压缩保存和交换比对数据 · 选择质量值和其他字段的保留策略 |
| 打开方式 | 使用支持SAM/BAM的软件。检查头部中的参考名称、长度和标识、排序顺序、读段数量、FLAG/CIGAR、质量及标签。区域查询时,使用针对该BAM文件和排序状态生成的BAI/CSI索引。 | 使用支持CRAM的软件。检查参考名称、长度、校验和或版本、创建工具以及记录的数据保留设置。必要时从本地或可信注册表获取匹配的参考序列。区域查询应使用与该文件对应的CRAI索引。 |
| 导出或转换 | 将BAM转为SAM可读性更好但文件可能明显增大。SAM转回BAM时核对字段、标签和顺序。CRAM转换可能依赖参考序列和质量保留设置,应保存所需参考数据。 | CRAM转为BAM或SAM时,正确解析参考并验证质量值、标签和读段名称是否保留。保留源CRAM,并比较记录数、统计信息和代表性记录。BAM/SAM转CRAM时,明确选择参考版本以及是否接受有损质量压缩。 |
按用途选择
压缩保存与SAM兼容的头部、记录和标签
以二进制形式保存和交换大规模读段比对数据 · 通过索引按区域查询坐标排序的数据
BAM使用BGZF及BAI/CSI索引进行区域读取
以二进制形式保存和交换大规模读段比对数据 · 通过索引按区域查询坐标排序的数据
BAM能够识别并获取精确参考序列的工作流
利用参考序列压缩保存和交换比对数据 · 选择质量值和其他字段的保留策略
CRAM记录压缩及数据保留设置的归档
利用参考序列压缩保存和交换比对数据 · 选择质量值和其他字段的保留策略
CRAM关键点 1
解码BAM通常不需要外部参考序列碱基。
进一步了解差异关键点 2
CRAM支持依赖参考序列的编码和内嵌参考序列。
进一步了解差异进一步了解差异
先确定必须保留的质量值和标签,再用实际数据验证往返转换和分析结果。CRAM不一定总是更小或更快。
- 依赖参考序列的CRAM解码需要正确的参考。应区分外部管理、内嵌和无参考设置;仅交付文件未必足够。
- CRAM可采用无损或有损保留策略。区域访问需要适当排序及工具要求的索引,例如CRAI。
常见问题
CRAM一定会保留全部信息吗?
不一定。取决于写入设置和工具。请验证质量值、可选标签、参考信息和记录数,验证完成前保留原始数据。