SuperAPI AI 工具集

pysam

数据与分析

查看项目

更新于 10-15 22:39

技能介绍

用途:pysam 是读写、操作基因组数据集的 Python 模块,为 htslib 提供 Python 接口,用于 NGS 数据处理,如比对文件分析、变异分析、序列提取与覆盖度计算。

主要能力:AlignmentFile 类处理 SAM/BAM/CRAM 比对文件,支持按区域 fetch、按质量或标记过滤、覆盖度统计与 pileup 逐碱基分析;VariantFile 类处理 VCF/BCF 变异文件,支持区域查询、基因型与 INFO/FORMAT 字段访问、过滤与注释;FastaFile 提供参考序列随机访问,FastxFile 读取 FASTQ 原始数据;还可调用 samtools/bcftools 命令,如 pysam.samtools.sort("-o", "sorted.bam", "input.bam")。

使用方式:通常经 conda 或 pip 安装(conda install -c bioconda pysam;pip install pysam)。随机访问需索引文件:BAM 需 .bai,CRAM 需 .crai,FASTA 需 .fai,VCF.gz 需 .tbi,BCF 需 .csi;无索引时可用 fetch(until_eof=True) 顺序读取。注意坐标系统:pysam 用 0 基半开区间,而 fetch() 的区域字符串按 samtools 约定为 1 基。

适用场景:测序比对文件分析、遗传变异分析、参考序列或基因区域提取、FASTQ 处理、覆盖度与读深计算、生信分析流程、测序数据质控、变异检测与注释流程。

限制:缺少索引时无法随机访问;fetch() 返回与区域边界重叠的读段而非完全包含者;pileup 迭代器需保持引用;修改 query_sequence 后不能原地改 query_qualities;流式仅支持 stdin/stdout;线程安全未完全验证。官方文档:https://pysam.readthedocs.io/