BD Rhapsody 与 Seven Bridges
摘要: BD Rhapsody 采用基于微孔板的单细胞捕获技术,相比液滴法,对脆弱细胞具有更高的捕获效率。可通过云端平台 Seven Bridges(简单,付费)或本地 Rhapsody 序列分析流程(灵活,免费)分析数据。
什么是 BD Rhapsody?
10x Genomics 使用微流控液滴技术,而 BD Rhapsody 采用 微孔板 + 磁珠 策略。
工作原理
- 捕获: 细胞通过重力沉降到约 200,000 个微孔中。
- 磁珠: 带有条形码的磁珠捕获 mRNA。
- 裂解: 细胞被裂解,mRNA 与磁珠杂交。
- 回收: 磁珠通过磁性回收用于测序。
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) 访问权限的用户。
工作流程
- 创建账户: 在 Seven Bridges Genomics 注册。
- 上传数据: 上传你的 FASTQ 文件 (R1, R2)。
- 选择流程: 选择 "BD Rhapsody™ Sequence Analysis Pipeline"。
- 配置:
- 参考基因组: 选择人/鼠。
- AbSeq: 如果使用了抗体标签,请开启此选项。
- 预估细胞数: 输入预期的细胞数量。
- 运行: 提交任务。
优点:
- 无需硬件
- 图形用户界面
- 保证可重复的环境
缺点:
- 付费服务 (计算点数)
- 大文件上传/下载耗时
方案二:本地流程 (命令行)
对于高级用户,可以使用 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 文件来定义抗体条形码。确保该文件与你的抗体面板完全匹配。
另请参阅: