工程开发
pysam avatar

pysam

基因组文件处理工具套件。支持读写 SAM/BAM/CRAM 比对文件、VCF/BCF 变异位点与 FASTA/FASTQ 序列,通过 Python 接口与 htslib 集成,适用于 NGS 数据分析流程。

简介

Pysam 是一个强大的 Python 套件,封装了 htslib,专为生物信息学与次世代测序 (NGS) 数据处理流程所设计。它提供了直观且符合 Python 风格的接口,用于操作高性能基因组文件,让开发人员与研究人员能以程序化方式处理大规模测序数据集。本技能主要针对需要进行快速原型开发或构建稳健基因组分析流程的生物信息学家、数据科学家与计算生物学家。

核心功能与特色包括:

  • 支持标准基因组文件格式的读写:包含 SAM、BAM、CRAM 比对档,VCF 与 BCF 变异数据,以及 FASTA/FASTQ 原始测序序列。
  • 利用 tabix 索引进行进阶区域查询与随机存取,能从海量比对或变异档中高效提取数据,无需将完整数据集载入内存。
  • 内置 pileup 分析功能,协助用户计算指定基因组区间内的碱基覆盖率、读取深度及质量统计数据。
  • 直接整合 samtools 与 bcftools 指令功能,架起既有命令行工具与 Python 自动化程序之间的桥梁。
  • 支持复杂基因组操作,例如根据比对质量、标签或基因组坐标过滤数据,以及存取原始质量分数与 CIGAR 字符串。

使用注意事项与限制:

  • 坐标系统:Pysam 在 Python 端撷取时采用 0-based 与半开区间原则,但用户需注意文件格式(如 VCF)与 samtools 惯例可能使用 1-based 索引。与不同文件类型交互时请务必确认坐标系统。
  • 性能表现:虽然 Pysam 通过 C 层级的 htslib 后端实现了高性能,但在处理大型 BAM/CRAM 文件时,应尽量使用索引访问,避免全档顺序扫描。
  • 依赖需求:本技能假设执行环境已通过 uv、pip 或 conda 等套件管理器安装 pysam 套件。
  • 输入输出:主要接收路径式文件参考作为输入;输出则为程序可存取的资料对象,如 AlignedSegment、VariantRecord 或序列字符串,适合后续交由 NumPy、Pandas 等分析框架进行深度处理。

仓库统计

Star 数
181
Fork 数
24
Open Issue 数
4
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年4月29日 13:49
在 GitHub 查看