scvelo

使用 scVelo 进行 RNA 速度分析。根据未剪接/已剪接 mRNA 动力学估计细胞状态转变,推断轨迹方向,计算潜在时间,并在单细胞 RNA 测序数据中识别驱动基因。该方法与 Scanpy/scVI-tools 的轨迹推断相辅相成。

安装

热度:23

下载并解压到你的 skills 目录

复制命令,发送给智能体自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-skills-scvelo&locale=zh&source=copy

scvelo — RNA Velocity Analysis

技能概述


scvelo 是单细胞 RNA 测序数据分析的 Python 工具,通过建模 mRNA 剪接动力学来推断细胞状态转换轨迹,预测细胞分化方向并识别驱动基因,无需时序数据即可重建发育轨迹。

适用场景

  • 发育轨迹推断:从单时间点的快照数据确定细胞分化方向,适用于造血生成、神经发生、上皮-间质转化等发育生物学研究,帮助揭示细胞命运决定的动态过程。
  • 细胞命运预测:识别祖细胞及其下游命运,通过 unspliced/spliced mRNA 比值判断基因上调或下调状态,结合 latent time 计算为细胞发育过程提供时间维度排序。
  • 驱动基因识别:发现其动力学最能解释观察到的轨迹的基因,通过 rank_velocity_genes 和 phase portrait 分析找出调控细胞状态转换的关键转录因子和信号分子。
  • 核心功能

  • RNA velocity 计算:支持 stochastic(快速探索)和 dynamical(高精度发表级)两种模型,基于 unspliced 和 spliced RNA 层级数据计算每个细胞的基因表达速度向量,生成 UMAP 空间中的流场箭头图。
  • 轨迹推断与可视化:通过 velocity_graph 构建细胞间转换概率矩阵,提供 velocity_embedding_stream 流线图和 PAGA 轨迹图,直观展示细胞分化路径和分支点。
  • 时序分析与基因动力学:dynamical 模型可计算 latent time(共享伪时间)、估计转录/剪接/降解速率(fit_alpha/fit_beta/fit_gamma),并通过 fit_likelihood 评估基因级模型拟合质量。
  • 常见问题

    scvelo 需要什么数据格式?


    scvelo 需要包含 unspliced 和 spliced 两个层级的 AnnData 对象。这些数据可通过 STARsolo、kallisto|bustools 的 lamanno 模式、velocyto CLI 或 alevin-fry 生成。确保 adata.layers['spliced'] 和 adata.layers['unspliced'] 存在,且 obsm 中包含 UMAP 坐标用于可视化。

    stochastic 和 dynamical 模型有什么区别?


    stochastic 模型计算速度快,适合大型数据集的探索性分析;dynamical 模型拟合完整的剪接动力学,精度更高,可识别驱动基因并计算 latent time,但计算密集(1万细胞约需10-30分钟)。建议先用 stochastic 探索,发表时使用 dynamical。

    如何解读 RNA velocity 箭头图?


    箭头方向表示该细胞预期的未来状态,箭头长度表示变化速度。健康的数据应显示连贯的流动模式,箭头沿着已知生物学路径(如从干细胞到分化细胞)。随机或混乱的箭头可能提示数据质量问题或参数不当,需检查 unspliced reads 覆盖度和 n_neighbors 设置。