RNAvelocity系列教程8:# scVelo实战-齿状回数据集

海马齿状回数据集

此处用于速率分析的数据集来自齿状回,这是海马的一部分,参与学习、偶发性记忆形成和空间识别。

数据在 Hochgerner et al. (2018),它使用10X Genomics Chromium 测量,这些数据由2,930个细胞,25,919个基因组成,形成多个谱系。

[1]:
import scvelo as scv
scv.logging.print_version()
Running scvelo 0.2.4.dev28+g688a6bd (python 3.8.0) on 2021-05-12 17:30.
[2]:
scv.settings.verbosity = 3  # show errors(0), warnings(1), info(2), hints(3)
scv.settings.presenter_view = True  # set max width size for presenter view
scv.set_figure_params('scvelo')  # for beautified visualization

加载和清洗数据

以下分析基于内置 齿状回数据集

要对自己的数据进行速率分析,请将您的文件(loom, h5ad, xlsx, csv, tab, txt …)通过使用adata = scv.read('path/file.loom', cache=True)读取到AnnData 对象

如果您想将loom文件合并到已存在的 AnnData 对象中,请使用scv.utils.merge(adata, adata_loom)

[3]:
adata = scv.datasets.dentategyrus()
[4]:
# show proportions of spliced/unspliced abundances
scv.utils.show_proportions(adata)
adata
Abundance of ['spliced', 'unspliced']: [0.9 0.1]
[4]:
AnnData object with n_obs × n_vars = 2930 × 13913
    obs: 'clusters', 'age(days)', 'clusters_enlarged'
    uns: 'clusters_colors'
    obsm: 'X_umap'
    layers: 'ambiguous', 'spliced', 'unspliced'

如果您有一个非常大的数据集,您可以通过scv.utils.cleanup(adata)清除不需要的属性来保存内存。

预处理数据

必要的预处理包括:

  • 通过检测(以最少计数检测)和高变异性(分散度)进行基因选择。
  • -按每个细胞的初始大小和logX使每个单元格标准化

过滤和标准化以同一静脉应用于剪切/未剪切计数,X. 对数仅应用于 X。如果 X 已经从以前的分析中预处理,则它不会动它。

所有这些都归入一个函数pp.filter_and_normalize,基本上运行如下:

scv.pp.filter_genes(adata, min_shared_counts=10)
scv.pp.normalize_per_cell(adata)
scv.pp.filter_genes_dispersion(adata, n_top_genes=3000)
scv.pp.log1p(adata)

此外,我们需要在PCA空间中最近的邻居之间计算的第一和第二顺序时刻(平均值和非中心化方差)。确定速率估计需要第一个顺序,而随机估计也需要第二个顺序时刻。

[5]:
scv.pp.filter_and_normalize(adata, min_shared_counts=30, n_top_genes=2000)
scv.pp.moments(adata, n_pcs=30, n_neighbors=30)
Filtered out 11019 genes that are detected in less than 30 counts (shared).
Normalized count data: X, spliced, unspliced.
Logarithmized X.
computing neighbors
    finished (0:00:03) --> added
    'distances' and 'connectivities', weighted adjacency matrices (adata.obsp)
computing moments based on connectivities
    finished (0:00:00) --> added
    'Ms' and 'Mu', moments of spliced/unspliced abundances (adata.layers)

计算速率和速率图

基因特异性速率通过前体(未剪切)和成熟(剪切)mRNA丰度之间的比率来获得,这很好地解释了稳定状态(恒定的转录状态),然后计算观测到的丰度如何偏离稳定状态的预期。(我们将很快发布不再依赖于稳定状态假设的版本)。

每个工具都有其绘图对应函数。例如,scv.tl.velocity的结果可以使用`scv.pl.velocity可视化。

[6]:
scv.tl.velocity(adata)
computing velocities    finished (0:00:00) --> added    'velocity', velocity vectors for each individual cell (adata.layers)

这计算了潜在细胞转换与高维空间中速率矢量的相关性。由此产生的速率图具有维度n obs×n obs,并总结了通过速率矢量很好地解释的可能细胞状态变化(通过从一个细胞过渡到另一个细胞)。如果您设置approx=True,将在具有 50 个组件的缩小的 PCA 空间上计算。

然后,速率图可以通过在与速率矢量相关的细胞状态变化中分配相关性,应用高斯函数转换为过渡矩阵。您可以通过scv.tl.transition_matrix产生的过渡矩阵用于以下显示的各种应用程序。例如,它用于将速率放入低维嵌入中,只需将平均过渡应用于过渡概率,即scv.tl.velocity_embedding。此外,我们可以通过scv.tl.terminal_states沿着马尔科夫链追踪细胞的起源和潜在命运,从而在轨迹中获取根细胞和终点:

[7]:scv.tl.velocity_graph(adata)
computing velocity graph    finished (0:00:05) --> added    'velocity_graph', sparse matrix with cosine correlations (adata.uns)

绘制结果图

最后,速率通过指定basis被投影到以三种可用方式之一的任何嵌入上进行可视化:

单个细胞级别、网格级别或此处所示的流线图。

[8]:scv.pl.velocity_embedding_stream(adata, basis='umap', color=['clusters', 'age(days)'])
computing velocity embedding    finished (0:00:00) --> added    'velocity_umap', embedded velocity vectors (adata.obsm)
image-20210712203625618
[9]:scv.pl.velocity_embedding(adata, basis='umap', arrow_length=2, arrow_size=2, dpi=150)
image-20210712203649502
[10]:scv.pl.velocity_embedding_grid(adata, color='Tmsb10',                               layer=['velocity', 'spliced'], arrow_size=1.5)
image-20210712203715939
[11]:scv.tl.rank_velocity_genes(adata, groupby='clusters')scv.DataFrame(adata.uns['rank_velocity_genes']['names']).head()
ranking velocity genes    finished (0:00:01) --> added    'rank_velocity_genes', sorted scores by group ids (adata.uns)    'spearmans_score', spearmans correlation scores (adata.var)[11]:
Astrocytes Cajal Retzius Cck-Tox Endothelial GABA Granule immature Granule mature Microglia Mossy Neuroblast OL OPC Radial Glia-like nIPC
0 Phkg1 Utrn Golga7b Serpine2 Stmn2 Shisa9 Grasp Srgap2 Chgb Mt3 Clmn Tnr 2810459M11Rik Bzw2
1 Ctnnd2 Scg3 Irf9 Arhgap31 Vsnl1 Jph1 2010300C02Rik Clic4 Pgm2l1 Gdpd1 Gprc5b Hmgcs1 Ctnnd2 Igfbpl1
2 Lsamp Tmem47 Cplx2 Tmsb10 Lancl1 Sphkap Rtn4rl1 Qk Fxyd1 Slc38a2 Arrdc3 Luzp2 Hepacam Rps27l
3 Qk Dpysl3 Stmn2 Igf1r Mtus2 Pgbd5 Wasf1 Ssh2 Mapk6 Bzw2 Pcdh9 Elavl3 Ptn Tbrg4
4 Cspg5 Sh3glb1 Nfkbia Prex2 Elavl3 Pip5k1b Jph1 Sirt2 Osbpl6 Epha4 Gatm Ppp1r14c Lsamp Mpzl1
[12]:var_names = ['Tmsb10', 'Camk2a', 'Ppp3ca', 'Igfbpl1']scv.pl.velocity(adata, var_names=var_names, colorbar=True, ncols=2)
image-20210712203746681
[13]:scv.pl.velocity_graph(adata)
image-20210712203803910
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容