BD Rhapsody 与 Seven Bridges

· Analysis Notes

BD Rhapsody 与 Seven Bridges

摘要: BD Rhapsody 采用基于微孔板的单细胞捕获技术,相比液滴法,对脆弱细胞具有更高的捕获效率。可通过云端平台 Seven Bridges(简单,付费)或本地 Rhapsody 序列分析流程(灵活,免费)分析数据。


什么是 BD Rhapsody?

10x Genomics 使用微流控液滴技术,而 BD Rhapsody 采用 微孔板 + 磁珠 策略。

工作原理

  1. 捕获: 细胞通过重力沉降到约 200,000 个微孔中。
  2. 磁珠: 带有条形码的磁珠捕获 mRNA。
  3. 裂解: 细胞被裂解,mRNA 与磁珠杂交。
  4. 回收: 磁珠通过磁性回收用于测序。

BD Rhapsody 与 10x Genomics 对比

特性 BD Rhapsody (微孔板) 10x Genomics (液滴)
捕获效率 高 (>80%) 中等 (~50-65%)
细胞应激 低 (重力沉降) 中等 (微流控压力)
输入细胞数 100 - 40,000+ 500 - 20,000
脆弱细胞 ✅ 优秀 (如中性粒细胞) ⚠️ 具有挑战性
多组学 AbSeq (抗体) CITE-seq (抗体)
成本 每个样本较高 中等

液滴法与微孔板捕获对比


方案一:Seven Bridges (云端平台)

Seven Bridges 是 BD 的官方云端合作伙伴。推荐给初学者或没有高性能计算 (HPC) 访问权限的用户。

工作流程

  1. 创建账户: 在 Seven Bridges Genomics 注册。
  2. 上传数据: 上传你的 FASTQ 文件 (R1, R2)。
  3. 选择流程: 选择 "BD Rhapsody™ Sequence Analysis Pipeline"。
  4. 配置:
    • 参考基因组: 选择人/鼠。
    • AbSeq: 如果使用了抗体标签,请开启此选项。
    • 预估细胞数: 输入预期的细胞数量。
  5. 运行: 提交任务。

优点:

  • 无需硬件
  • 图形用户界面
  • 保证可重复的环境

缺点:

  • 付费服务 (计算点数)
  • 大文件上传/下载耗时

方案二:本地流程 (命令行)

对于高级用户,可以使用 Docker 或 Singularity 在本地运行该流程。这是免费的(硬件成本除外)。

先决条件

  • 内存: 32GB (最低) 至 128GB (推荐)
  • CPU: 8+ 核心
  • 已安装 Docker 或 Singularity

1. 获取流程镜像

BD 以 Docker 镜像形式分发该流程。

docker pull bdbiosciences/rhapsody

2. 下载参考基因组

你需要 BD 特定格式的参考基因组。

# 示例:下载人类参考基因组
wget https://bd-rhapsody-public.s3.amazonaws.com/reference_genomes/human_reference.tar.gz
tar -xvf human_reference.tar.gz

3. 运行流程

该流程需要一个配置 YAML 文件(或大量的命令行参数)。

# 创建 config.yml
Reads:
  - Read1: sample_R1.fastq.gz
    Read2: sample_R2.fastq.gz
Reference:
  - /path/to/human_reference
AbSeq: false
PutativeCellCount: 5000

使用 Docker 运行:

docker run -v $PWD:$PWD \
  bdbiosciences/rhapsody \
  rhapsody pipeline \
  --config config.yml \
  --out-dir ./output

关键参数

参数 描述
--exact-cell-count 强制指定特定的细胞数量 (例如,5000)
--putative-cell-call 算法:mRNA (默认) 或 Basic
--subsample 为测试而下采样读取 (0.0-1.0)
--generate-bam 输出 BAM 文件 (对 RNA 速率分析有用)

输出文件

运行结束后,查找以下文件:

文件 描述
_RSEC_MolsPerCell.csv 主计数矩阵 (校正后的计数)
_DBEC_MolsPerCell.csv 原始计数 (基于分布的错误校正)
_Metrics_Summary.csv 质控指标 (映射的读数,检测到的细胞)
_Pipeline_Report.html 可视化质控报告

关于 RSEC 与 DBEC 的说明:

  • RSEC (递归替换错误校正): 更激进,会合并相似的 UMI。将此用于差异表达分析。
  • DBEC (基于分布的错误校正): 较不激进。

将数据加载到 Seurat/Scanpy

BD 的输出是 CSV 文件 (不同于 10x 的 mtx/tsv 格式)。

Seurat (R):

library(Seurat)

# 读取 CSV
counts <- read.csv("Sample_RSEC_MolsPerCell.csv", row.names = 1, comment.char = "#")

# 转置 (Seurat 期望 基因 x 细胞)
counts <- t(counts)

# 创建对象
obj <- CreateSeuratObject(counts, project = "BD_Rhapsody")

Scanpy (Python):

import scanpy as sc
import pandas as pd

# 读取 CSV
adata = sc.read_csv("Sample_RSEC_MolsPerCell.csv")

# BD 文件通常以基因为列,Scanpy 期望基因为列 (因此如果 CSV 是 细胞 x 基因,则无需转置)
# 检查形状!
print(adata.shape) 

故障排除

"检测到的细胞太少"

原因: PutativeCellCount 设置过高或细胞受损。
解决方法:

  • 检查 HTML 报告中的 "Knee Plot"。
  • 降低 --putative-cell-call 阈值。

"低映射率"

原因: 错误的参考基因组或文库质量差。
解决方法:

  • 确保参考基因组与物种匹配 (如果使用了 AbSeq 标签,也需匹配)。
  • 使用 FastQC 检查 FASTQ 质量。

"缺少 AbSeq 信号"

原因: 错误的 AbSeq 参考 CSV 文件。
解决方法:

  • AbSeq 需要一个单独的 FASTA/CSV 文件来定义抗体条形码。确保该文件与你的抗体面板完全匹配。

另请参阅: