当前位置: 首页 > news >正文

pbtk v 3.5.0安装与使用--生信工具084

PacBio BAM toolkit

大家平时处理 PacBio 测序数据(HiFi、CCS、Subreads)时,经常需要把 BAM 转 FASTQ、提取 HiFi reads、建索引、合并 BAM、按 Barcode 拆分…… 这些操作不用写复杂脚本,PacBio 官方早就给了一套轻量工具:pbtk(PacBio 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。

包含工具一览:

  • bam2fasta
  • bam2fastq
  • ccs-kinetics-bystrandify
  • extracthifi
  • pbindex
  • pbindexdump
  • pbmerge
  • zmwfilter

03 使用

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.bam

2. 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>:设置每条链最低测序轮数(passes)

3. extracthifi

最简单的 HiFi reads 提取工具自动抽取准确率 > QV20(0.99)的序列。

extracthifi in.bam out.bam

4. pbindex

给 PacBio BAM 建立索引(.pbi),实现随机访问

pbindex in.bam # 自动生成 in.bam.pbi

5. pbindexdump

把 PBI 索引文件转成JSON 或 C++ 格式,方便查看 / 调试。

pbindexdump in.bam.pbi > out.json pbindexdump --format cpp in.bam.pbi > out.cpp

参数:

  • --json-indent-level <int>:JSON 缩进
  • --json-raw:更贴近 PBI 原始结构
  • --zmws-only:只输出 ZMW hole number 文本列表
pbindexdump --zmws-only in.bam.pbi > out.txt

6. 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
查看文件中所有 ZMW
zmwfilter --show-all in.bam > out.txt
按 reads 名称过滤(仅 BAM/XML)
zmwfilter --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-count


04 总结

pbtk 是 PacBio 数据处理必备轻量工具集,不用复杂代码,日常高频需求全覆盖:

  • BAM ↔ FASTQ/FASTA
  • 提取 HiFi
  • 建索引 / 查看索引
  • 合并 / 拆分 / 过滤 BAM
  • 按 ZMW、barcode、reads 名筛选

如果你做三代测序(HiFi / IsoSeq),这套工具基本是标配。

http://www.cnnetsun.cn/news/2087068.html

相关文章:

  • 三步解锁B站视频下载:跨平台智能助手的完整指南
  • 斯坦福AI Index Report 2026核心解读:开发者必须知道的5个信号
  • 以太网端口的ESD防护器件选型
  • 【收藏级】2026年AI普及时代,Java程序员必看:转型大模型不落后,小白也能入门
  • ESP-IDF离线安装包+Python虚拟环境:打造Windows上最稳定的ESP32开发环境(避坑网络问题)
  • 从ResNet到ResNeXt:PyTorch实战中如何优雅地升级你的网络(避坑指南)
  • 权威见证:Ledger携手京东开启官方授权新篇章,正品保障触手可及
  • 如何在30分钟内搭建本地AI写作助手:KoboldAI完全部署指南
  • 构建企业级数据可视化大屏:DataV架构深度解析与实战应用
  • 01-语言模型+维特比
  • 不只是安装:用VSCode在Windows 10上配置ROS开发环境,实现高效调试
  • Vue Infinite Loading深度解析:高性能无限滚动架构优化策略
  • 为什么92%的嵌入式团队卡在LLM插件安装环节?揭秘GCC 11.4符号重定义陷阱与__attribute__((section))绕过方案
  • 抖音无水印下载工具:3分钟快速掌握批量下载技巧
  • Vivado FFT IP核配置避坑指南:从数据格式到AXI时序的实战经验分享
  • Qwen3-TTS语音设计世界开源大模型部署:MIT协议下企业可用方案
  • BilibiliDown终极指南:5个步骤轻松下载B站任何视频
  • 如何快速创建Unity透明窗口:终极桌面悬浮效果指南
  • CentOS 6老系统维护指南:当阿里云镜像源失效后,如何手动切换到vault.centos.org源
  • Jmeter压力测试前,如何用Java代码快速准备1000个有效登录Token?
  • Flux2-Klein-9B-True-V2新手指南:Negative Prompt避坑与高质量提示词写法
  • 【嵌入式进阶】告别“屎山”代码!资深老鸟都在用的5个C语言神级技巧
  • 从零配置一个UVC摄像头:手把手解析VC和VS接口描述符(附Wireshark抓包分析)
  • PHP V6 单商户常见问题——数据库模式修改 sql-mode
  • 部署模型总爆显存?保姆级教程:用PyTorch Profiler和简单公式预估你的最大Batch Size
  • 用树莓派5的串口做个智能硬件小项目:读取传感器数据并发送到电脑
  • 云原生入门系列|第6集:Ingress网关全网保姆级教程!零基础搞懂K8s外部域名流量入口
  • 避开这些坑!蓝桥杯单片机操作24C02存储器的5个常见错误与调试技巧
  • 告别编译报错:Keil工程路径中文用户名终极处理指南
  • 科学Python开发环境:从代码编辑到数据分析的无缝工作流