PacBio

最后发布时间 : 2025-04-22 17:20:24 浏览量 :

PacBio,又称单分子实时荧光测序,采用单链发卡状的接头使文库两端的接头相连,形成滚环结构,测序的时候采用荧光对ZMW进行照射,DNA聚合酶在ZMW孔中将互补的荧光dNTP捕获,从而得到一个荧光信号。

  • reads特点: 单序列测序reads理论上可以达到70kb,错误率15%
  • 成本:单碱基费用高

PacBio HiFi

生信小木屋

https://www.pacb.com/technology/hifi-sequencing/

pacbio bam格式转fastq格式

  1. 专用工具推荐:bam2fastx‌
    适用场景‌

专为 PacBio 数据设计,支持直接处理 subreads.bam 或 ccs.bam 文件,保留 PacBio 长读长特性。

安装与使用‌

# 安装(通过 conda)
conda create -n bam2fastx
conda activate bam2fastx
conda install -c bioconda bam2fastx

# 转换命令
bam2fastq -o output_prefix input.subreads.bam  # 生成 output_prefix.fastq
bam2fasta -o output_prefix input.subreads.bam  # 可选 FASTA 格式:ml-citation{ref="3" data="citationList"}
  1. 通用工具:Bedtools 或 Samtools‌
    (1) Bedtools 的 bamtofastq‌

需注意输入 BAM 文件的排序方式,避免输出异常:

# 双端数据需按名称排序(单端可选)
samtools sort -n -o sorted.bam input.bam  # 按名称排序
bedtools bamtofastq -i sorted.bam -fq output.fq  # 单端输出
bedtools bamtofastq -i sorted.bam -fq output_1.fq -fq2 output_2.fq  # 双端输出:ml-citation{ref="7" data="citationList"}

注意‌:单端转换时可能重复输出序列,需检查 output.fq 的序列数量是否与 BAM 一致。

(2) Samtools‌

适用于简单转换场景:

samtools fastq input.bam > output.fastq  # 直接提取 FASTQ:ml-citation{ref="1" data="citationList"}
  1. 进阶处理:结合 HiFi 校正‌

若需生成高精度 HiFi reads,可先执行 CCS(Circular Consensus Sequencing)校正:

# 生成 CCS reads
ccs -j 8 input.subreads.bam output.ccs.bam  # 线程数设为 8:ml-citation{ref="4" data="citationList"}
bam2fastq -o hifi_reads output.ccs.bam      # 转换 CCS 结果为 FASTQ:ml-citation{ref="4" data="citationList"}
  1. 输出验证‌

转换完成后需检查数据完整性:

# 统计序列数与长度
seqkit stat output.fastq  # 安装 seqkit:conda install -c bioconda seqkit
# 对比 BAM 与 FASTQ 记录数
samtools view -c input.bam      # BAM 总记录数
grep -c "^@" output.fastq       # FASTQ 序列数(应为 BAM 记录数的 1/4):ml-citation{ref="7,8" data="citationList"}

工具对比与选择建议‌

工具优势注意事项
bam2fastx‌专为 PacBio 优化,支持并行处理需通过 conda 安装环境
Bedtools‌兼容性强,支持复杂参数单端数据需验证重复问题
Samtools‌轻量级,无需额外依赖对 PacBio 元数据支持有限

常见问题‌
转换后序列长度异常‌:检查 BAM 是否包含质量值(如 QUAL 字段缺失会导致 FASTQ 格式错误)。
性能优化‌:大文件处理时建议增加线程参数(如 -j 8)提升速度。

pacbio 的 pbi是什么

PacBio 的 .pbi 文件(PacBio Index)是用于加速 BAM 文件访问的索引文件,其核心功能与特点如下:

  1. 文件作用‌
    快速数据检索‌:存储 BAM 文件的元数据索引,支持按坐标(如 movieID、hole number)快速定位子读(subreads)或一致性序列(CCS)。
    兼容性‌:与 PacBio 的 bam2fastx、lima 等工具配合使用,提升数据处理效率。
  2. 文件生成‌
    自动创建‌:通过 pbindex 工具从 BAM 文件生成,命令如下:
pbindex input.subreads.bam  # 生成 input.subreads.bam.pbi:ml-citation{ref="1,6" data="citationList"}

内容结构‌:包含 BAM 中每条记录的物理位置、长度等关键信息,以二进制格式存储。
3. 应用场景‌
数据拆分‌:在混合样本测序中,结合 barcode 信息快速拆分数据(如使用 lima 工具)。
质量控制‌:辅助 ccs 或 bam2fastq 工具过滤低质量 reads。

pacio 如何判断bam 是否已经执行css reads

以下是判断 PacBio BAM 文件是否已完成 CCS(Circular Consensus Sequencing)处理的综合方法:

  1. 检查 BAM 文件来源‌
    文件名特征‌:原始测序下机的 BAM 文件通常包含 subreads.bam 或 mapped_subreads.bam 字样,而 CCS 处理后的文件可能命名为 ccs.bam 或 hifi_reads.bam。
    文件内容差异‌:
    Subreads BAM‌:包含原始子读(未校正的多次测序片段)。
    CCS BAM‌:包含校正后的高精度一致性序列(HiFi reads)。
  2. 解析 BAM 头信息‌

使用 samtools view -H 查看头信息中的 @RG 字段,判断是否包含 CCS 处理标记:

samtools view -H input.bam | grep '@RG'

Subreads BAM‌:@RG 中 DS:READTYPE=SUBREAD。
CCS BAM‌:@RG 中可能出现 DS:READTYPE=CCS 或 DS:BINDINGKIT=HiFi 等标识。
3. 分析 Read 名称‌

通过 samtools view 查看 read 名称:

samtools view input.bam | head -n 1 | cut -f 1

Subreads‌:名称格式为 //_(如 m64011_230609_001234/1/0_1000)。
CCS reads‌:名称可能包含 ccs 后缀(如 m64011_230609_001234/1/ccs)或明确标注为 HiFi。
4. 统计 ZMW 子读数量‌

CCS 处理要求每个 ZMW(零模波导孔)至少包含 3 次完整测序循环(passes)。通过以下命令统计单孔子读数量:

samtools view input.bam | awk '{split($1,a,"/"); print a[2]}' | sort | uniq -c

Subreads BAM‌:每个 ZMW 对应多个子读(如 3、5 等)。
CCS BAM‌:每个 ZMW 仅保留一条校正后的序列(计数为 1)。
5. 验证序列长度与质量‌

通过 bam2fastq 转换为 FASTQ 后检查质量值分布:

bam2fastq -o test input.bam
seqkit stat test.fastq

Subreads‌:平均读长较短(如 10-20 kb),质量值波动较大。
CCS reads‌:读长均匀(如 15-25 kb),质量值普遍高于 Q20。
总结判断流程‌

特征Subreads BAMCCS BAM
文件命名‌含 subreads含 ccs 或 hifi
@RG 字段‌READTYPE=SUBREADREADTYPE=CCS
Read 名称‌ 含子读起止位置含 ccs 标签
ZMW 子读数‌≥31
质量值分布‌波动大稳定且高(Q20+)

通过以上方法可快速确认 BAM 文件是否已完成 CCS 处理。