pbtk v 3.5.0安装与使用--生信工具084
PacBio BAM toolkit大家平时处理 PacBio 测序数据HiFi、CCS、Subreads时经常需要把 BAM 转 FASTQ、提取 HiFi reads、建索引、合并 BAM、按 Barcode 拆分…… 这些操作不用写复杂脚本PacBio 官方早就给了一套轻量工具pbtkPacBio BAM Toolkit。https://github.com/PacificBiosciences/pbtk #官网01 获取与安装pbtk 是 PacBio 官方维护的 BAM 处理工具集最新版本直接通过 bioconda 安装即可conda install -c bioconda pbtk安装、支持、许可证、版权等完整信息可直接查看 PacBio 官方 pbbioconda 页面。02 介绍pbtk 这个仓库替代了原来 pbbam 里的独立工具。在 bioconda 里pbtk 是 pbbam 的依赖项所以你不会直接看到 pbbam 提供这些二进制工具实际都来自 pbtk。包含工具一览bam2fastabam2fastqccs-kinetics-bystrandifyextracthifipbindexpbindexdumppbmergezmwfilter03 使用1. bam2fastx 系列bam2fasta /bam2fastq这两个工具界面完全一样分别把 PacBio BAM / XML 转成压缩 FASTA / FASTQ。基础用法# 输出 out.fasta.gz bam2fasta -o out in.bam bam2fasta -o out in.xml # 输出 out.fastq.gz bam2fastq -o out in_1.bam in_2.bam in_3.xml in_4.bam常用参数-u不压缩去掉 .gz-c int设置 gzip 压缩等级-p/--seqid-prefix str给每条序列 ID 加前缀--split-barcodes按 barcode 对拆分输出文件# 按 barcode 拆分输出 bam2fasta --split-barcodes -o out in1.bam in2.bam2. ccs-kinetics-bystrandify把带 CCS 动力学标签的 BAM/XML转成带pw/ip标签的伪链文件用于需要动力学信息的分析。ccs-kinetics-bystrandify in.bam out.bam ccs-kinetics-bystrandify in.xml out.xml参数--min-coverage int设置每条链最低测序轮数passes3. extracthifi最简单的 HiFi reads 提取工具自动抽取准确率 QV200.99的序列。extracthifi in.bam out.bam4. pbindex给 PacBio BAM 建立索引.pbi实现随机访问。pbindex in.bam # 自动生成 in.bam.pbi5. pbindexdump把 PBI 索引文件转成JSON 或 C 格式方便查看 / 调试。pbindexdump in.bam.pbi out.json pbindexdump --format cpp in.bam.pbi out.cpp参数--json-indent-level intJSON 缩进--json-raw更贴近 PBI 原始结构--zmws-only只输出 ZMW hole number 文本列表pbindexdump --zmws-only in.bam.pbi out.txt6. pbmerge合并多个 PacBio BAM/XML支持直接输入文件、XML、文件列表fofn。pbmerge in1.bam in2.bam in3.bam out.bam pbmerge -o out.bam in.xml pbmerge in.fofn out.bam参数--no-pbi不自动生成索引7. zmwfilter最强大的BAM/FASTA 过滤工具支持按 ZMW、reads 名、抽样、过滤低质量等。按 ZMW 编号过滤最常用# 保留指定 ZMW zmwfilter --include 1,2,4,8,16 in.bam out.bam zmwfilter --include hole_numbers.txt in.fasta out.fasta # 排除指定 ZMW zmwfilter --exclude 42 in.xml out.bam zmwfilter --exclude hole_numbers.txt in.xml out.fastq查看文件中所有 ZMWzmwfilter --show-all in.bam out.txt按 reads 名称过滤仅 BAM/XMLzmwfilter --names read_names.txt in.bam out.bam随机下采样只支持 BAM/XML# 按比例抽样 zmwfilter --downsample 0.333 in.xml out.bam # 按条数抽样 固定种子可重复 zmwfilter --downsample-count 1024 --downsample-seed 42 in.bam out.bam按测序轮数passes过滤zmwfilter --num-passes 2 --include hole_numbers.txt in.bam out.bam重要注意事项以下参数互斥不能同时用--include/--exclude/--show-all/--names/--downsample/--downsample-count04 总结pbtk 是 PacBio 数据处理必备轻量工具集不用复杂代码日常高频需求全覆盖BAM ↔ FASTQ/FASTA提取 HiFi建索引 / 查看索引合并 / 拆分 / 过滤 BAM按 ZMW、barcode、reads 名筛选如果你做三代测序HiFi / IsoSeq这套工具基本是标配。