You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从pysam获取并使用AlignmentHeader?能否读取CRAM文件头信息?

使用pysam读取CRAM文件头信息

pysam完全支持读取CRAM文件的头信息,以下是具体的实现代码和说明:

基础示例代码

import pysam

# 打开CRAM文件,模式"rc"表示只读CRAM(也可简写为"r",pysam会自动识别文件类型)
with pysam.AlignmentFile("your_file.cram", "rc") as cram_file:
    # 获取文件头,返回AlignmentHeader对象
    header = cram_file.header
    
    # 方式1:转为字典格式查看完整头信息
    print("完整头信息(字典格式):")
    print(header.to_dict())
    
    # 方式2:直接访问特定头段或属性
    # 获取参考序列名称与对应长度
    print("\n参考序列名称:", header.references)
    print("参考序列长度:", header.lengths)
    
    # 提取头中的RG(读组)信息
    print("\n读组信息:", header.get("RG", []))
    
    # 提取头中的PG(分析程序)信息
    print("\n程序信息:", header.get("PG", []))

关键说明

  • pysam.AlignmentFile是处理SAM/BAM/CRAM文件的核心类,打开文件时无需手动指定文件类型,pysam会自动识别。
  • AlignmentFile.header直接返回AlignmentHeader对象,该对象封装了所有头段数据(包括SQ、RG、PG等)。
  • to_dict()方法可将头信息转为标准Python字典,方便后续的解析和处理;也可以通过header.get(tag)直接提取指定标签的头段内容(标签为大写字符串,如"RG"、"PG")。

内容的提问来源于stack exchange,提问作者Greg Dougherty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:04:52