前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RNAvelocity5:了解scVelo

RNAvelocity5:了解scVelo

作者头像
生信技能树jimmy
发布2021-09-15 15:42:48
9830
发布2021-09-15 15:42:48
举报
文章被收录于专栏:单细胞天地单细胞天地

基础知识

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

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

scVelo工作流程简介

加载所需scvelo包:

代码语言:javascript
复制
import scvelo as scv

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

代码语言:javascript
复制
scv.set_figure_params()

读入数据

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

代码语言:javascript
复制
adata = scv.read(filename, cache=True)
代码语言:javascript
复制
adata 

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

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

代码语言:javascript
复制
ldata = scv.read(filename.loom, cache=True)
adata = scv.utils.merge(adata, ldata)

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

代码语言:javascript
复制
adata = scv.datasets.pancreas()

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

基本预处理

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

代码语言:javascript
复制
scv.pp.filter_and_normalize(adata, **params)
scv.pp.moments(adata, **params)

速率工具

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

代码语言:javascript
复制
scv.tl.velocity(adata, mode='stochastic', **params)

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

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

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

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

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

代码语言:javascript
复制
scv.tl.velocity_graph(adata, **params)

可视化

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

代码语言:javascript
复制
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)

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

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础知识
  • scVelo工作流程简介
    • 读入数据
      • 基本预处理
        • 速率工具
          • 可视化
            • 文中链接
            相关产品与服务
            对象存储
            对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档