CellRank是由出品scanpy的Fabian J. Theis 团队开发的单细胞轨迹分析工具,主要用于推断细胞命运的动态变化。传统轨迹推断 (trajectory inference) 需预先知道生物过程方向 (如发育分化),而 CellRank 结合 RNA 速率 (RNA velocity),无需预知方向即可分析再生、重编程、疾病等复杂过程。
核心方法:
- 整合 细胞相似性 (转录组相似性) 与 RNA 速率 (预测细胞未来状态) 构建有向马尔可夫链。
- 通过 宏状态 (macrostates) 粗粒度化模型,识别 初始态、中间态、终末态。
- 计算 命运概率 (fate probability),量化细胞向各终末态转变的可能性。
- 支持 不确定性传播 (处理 RNA 速率的噪声) 和 基因表达趋势分析。
技术优势
- 鲁棒性:对参数变化 (如近邻数、主成分数) 不敏感,支持大规模数据 (10万细胞仅需2分钟)。
- 通用性:兼容多种数据 (10x、Drop-seq),可扩展至代谢标记、表观遗传信息。
- 开源工具:Python 软件包,无缝对接 Scanpy/scVelo,有教程和文档。
CellRank2作为CellRank的全面升级版,在 数据兼容性、算法灵活性 和 计算效率 上均有显著提升,尤其适合复杂生物系统的多视角分析。以下是两者的主要异同点:
核心功能对比
1、相同点:
- 马尔可夫链建模:两者均基于马尔可夫链模型,结合 RNA 速度(RNA velocity)和转录组相似性计算细胞状态转移概率。
- 宏状态(macrostates)分析:均能识别初始、中间和终末细胞状态,并计算命运概率(fate probabilities)。
- 多模态数据支持:均可整合 RNA 速度、伪时间(pseudotime)、代谢标记等生物学先验信息。
- 可视化功能:均支持基因表达趋势、命运概率的可视化。
2、不同点:
功能 | CellRank (2022) | CellRank2 (2024) |
---|---|---|
数据兼容性 | 主要支持 scRNA-seq + RNA 速度 | 支持多视角数据(如空间转录组、代谢标记等) |
算法扩展性 | 基于 G-PCCA 进行宏状态分析 | 引入更灵活的模块化设计,支持自定义 kernel(如空间相似性 kernel) |
不确定性处理 | 支持 RNA 速度的噪声传播 | 优化了随机游走模型,增强对高噪声数据的鲁棒性 |
计算效率 | 适用于中等规模数据(约 10 万细胞) | 优化了大规模数据处理(支持百万级细胞) |
应用场景 | 侧重发育和重编程 | 新增癌症异质性、免疫细胞动态等场景 |
技术改进
-
多视角数据整合:
CellRank2 新增对 空间转录组 和 代谢标记数据 的支持,可结合细胞的空间位置信息优化轨迹推断。 -
模块化设计:
提供更多可组合的 kernel(如VelocityKernel
、PseudotimeKernel
),用户可灵活调整权重(如0.8*VelocityKernel + 0.2*ConnectivityKernel
)。 -
随机游走优化:
改进了蒙特卡洛采样方法,更准确地模拟细胞命运决定的随机性。
以scanpy为基础的单细胞数据分析生态越来越丰富,是时候熟悉python派系的分析工具,以适应越来越大的数据。毕竟,在处理大数据集方面,python还是比R更具有优势。