RNAvelocity5:了解scVelo

基础知识

在这里,您将简要地了解如何使用 scVelo 的基本知识。设置后,后续教程将可以直接分析 RNA 速率、潜在时间、驱动基因识别等。

首先,scVelo 的输入数据是(未剪切)和(剪切)的两个计数矩阵,这些矩阵可以从标准测序协议中获取,如使用velocyto或loompy/kallisto[1]计数管道。

scVelo工作流程简介

加载所需scvelo包:

import scvelo as scv

为了更好的可视化,可以将matplotlib设置更改为我们的默认值:

scv.set_figure_params()

读入数据

读入数据文件,可以使这些格式(loom, h5ad, csv, …)

adata = scv.read(filename, cache=True)
adata 

adata存储了数据矩阵(adata.X)、细胞/观测(adata.obs)和基因/变量(adata.var)、非结构化注释(adata.uns如图形)和剪切和未剪切计数的其他数据(adata.layers)。

如果您已经拥有现有的预处理 adata 对象,则只需通过以下方式合并剪切/未剪切的count:

ldata = scv.read(filename.loom, cache=True)
adata = scv.utils.merge(adata, ldata)

如果您还没有数据集,您仍然可以使用内置数据集,例如:

adata = scv.datasets.pancreas()

典型的工作流程包括后续的预处理 (scv.pp.)、分析工具 (scv.tl.) 和绘图 (scv.pl.)。

基本预处理

在基本预处理(基因选择和标准化)之后,我们计算第一和第二顺序时刻(平均和去中心化的方差)以进行速率估计:

scv.pp.filter_and_normalize(adata, **params)
scv.pp.moments(adata, **params)

速率工具

该软件的核心是高效和稳健地估计速率:

scv.tl.velocity(adata, mode='stochastic', **params)

速率是通过解决转录动力学的随机模型获得的基因表达空间中的载体。

确定性模型的解决方案是通过设置mode='deterministic'获得的。

动力学模型的解决方案是通过设置mode='dynamical'获得的,这需要事先运行scv.tl.recover_dynamics(adata, **params)

速率存储在adata.layers,类似计数矩阵。

速率通过将它们转换成可能的细胞转换投射到低维嵌入中。即,对于每个速率矢量,我们发现符合该方向的可能的细胞过渡。一个细胞过渡到另一个细胞的概率是使用(潜在细胞过渡和速率矢量之间)余弦值相关性计算的,并存储在矩阵中,使用速率图展示:

scv.tl.velocity_graph(adata, **params)

可视化

最后,速率可以在单个细胞水平上的任何嵌入(例如 UMAP)中以网格线或简化身份投影和可视化:

scv.pl.velocity_embedding(adata, basis='umap', **params)
scv.pl.velocity_embedding_grid(adata, basis='umap', **params)
scv.pl.velocity_embedding_stream(adata, basis='umap', **params)

对于每个工具模块,都有一个绘图参数,允许您详细检查结果,例如:

scv.pl.velocity(adata, var_names=['gene_A', 'gene_B'], **params)
scv.pl.velocity_graph(adata, **params)

文中链接

[1]

loompy/kallisto: https://linnarssonlab.org/loompy/kallisto/index.html

(0)

相关推荐

  • 图解普林斯顿微积分(重制) 04:连续与可导

    [遇见] 这里衷心感谢 @Mr.C 同学协助转成将此系列原文档中公式转成 LaTeX 格式. ★提示: 如果文中数字/公式显示较大, 请点击右上角中"刷新"即可恢复正常. ▌第5章 ...

  • 从PDO下的注入思路到获得GIT 2000star项目0day(文末0day福利)

    bypass部分       温馨提示       本文章仅供学习交流使用,文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 0 ...

  • Java Web学习笔记(一)

    数据库相关(关于数据库连接的方法应该定义为静态方法): 加载驱动: static { // 加载驱动 try { Class.forName("com.mysql.cj.jdbc.Drive ...

  • RNAvelocity1:RNA速率简介及scVelo安装

    RNAvelocity1:RNA速率简介及scVelo安装

  • RNAvelocity2:使用 Seurat 和 scVelo 估计 RNA 速率

    此教程展示了使用 scVelo 分析存储在 Seurat 对象中的 RNA 速率值.如果您在工作中使用 scVelo,请引用下文: Generalizing RNA velocity to trans ...

  • RNAvelocity6:scVelo用于RNA 速率基本流程

    在这里,您将学习RNA速率分析的基本流程. 示例数据采用胰腺发育数据集,其谱系包含四个主要细胞命运:α.β.δ和ε细胞.有关详细信息,请参阅此处[1].可以按照相同的思路应用于您自己的数据. [ ]: ...

  • RNAvelocity7:scVelo实战

    内分泌胰腺 胰腺内分泌发育,谱系分化有四种命运决定:α.β.δ和ε细胞.有关详细信息,请参阅此处[1]. 数据来自Bastidas-Ponce et al. (2018)[2]. [1]: impor ...

  • RNAvelocity 9:scVelo应用—动力学模型

    动力学模型 在这里,我们使用通用动力学模型来解释完整的转录动态. 这产生了一些额外的见解,如潜在时间和假定驱动基因的识别. 与以前的教程一样,应用胰腺内分泌发育数据集来展示. [ ]: # updat ...