工程開發
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日 下午01:49
在 GitHub 查看