关于本教程的数据说明,见:https://mp.weixin.qq.com/s/UTbikOUb468rg-XuQK5smg
stLearn是python语言编写的,更新速度贼快,网上很多笔记教程已经运行不通了,前两天一口气更新了三个版本:
今天再看的时候这三个版本已经没啦,又又又更新了一个:
本教程基于0.4.0版本,请安装:pip install stlearn==0.4.0
主要用于鉴定空间转录组切片上的热点区域,即CCI hotspot,cell cell interaction hotspot,这个区域具有特征:These regions with high cell diversity and L-R activities are considered as hotspots in the tissue with most likely cell-cell interaction activities。
因此,在分析之前,最好已经对空间转录组数据进行了spot细胞类型注释。
stLearn CCI(Cell-Cell Interaction)流程的第一步是配体受体(LR)分析。
这个分析从候选配体-受体数据库中鉴定配体-受体相互作用的显著spot。
运行时将严重依赖于可用的数据集和计算资源; 请注意,分析支持多线程。
数据目录结构:
注意:LR分析不需要log1p数据
作者提示到:对于上面的细胞注释类型信息,是使用Seurat生成的。数据下载:
对于每一个spot可以没有细胞类型打分,如果有细胞类型打分,do need to add the dominant cell type to the adata.obs slot with the same key as the cell type scores added to the adata.uns slot。
细胞注释后的标签图:
运行:st.tl.cci.run这一步耗时比较久,建议在集群上进行分析,n_pairs教程推荐10000次
Spot neighbour indices保存在data.obsm['spot_neighbours'] 与 data.obsm['spot_neigh_bcs']中
结果保存在:
每个spot结果在adata.obsm的列与adata.uns['lr_summary']中的行名一样且顺序一致
LR结果的summary在data.uns['lr_summary']中:
可以使用不同的方法矫正 p 值; p 值已经通过运行 st.tl.cci.run 进行了矫正。不同的矫正方法差别在于correct_axis参数,可以是LR,spot或者none。
根据每个LR显著spots数展示LR top 50, 500:
LR 分析的一个关键是识别显著的hotspot时控制 LR 的表达水平和频率,所以我们的诊断图应该是hotspot区的 配受体对与其表达水平和表达频率之间不相关。
下面的诊断图可以检查这个情况;如果相关,需要设置更大的n_pairs扰动次数。
这个例子中,LR 表达频率和significant spots 数量之间的有比较弱的相关性,因此,这n _ pairs 参数应该设置得更高,以创建更准确的背景分布(文献中中使用了n _ pairs=10,000)。
根据每个配受体对在多少个spot里面lr打分显著进行排序,展示top500、top50:
配受体对的功能富集分析,结果保存在:adata.uns['lr_go']
在空间数据中绘制指定 LR 对的分析结果,需要的值存储在:data.obsm中,包括:
这两张图一般是文献中出现的比较多的图,选择的配受体对的共表达打分,显著性:
打分结合显著性后的结果:
这些图旨在帮助解释细胞之间cross-talk的方向性
红色为配体,绿色为受体,蓝色为共表达。有助于了解配体/受体在哪里以及在多大程度上表达。理想情况是:受体位于细胞表面,配体从细胞表面渗透出来。
具有显著性的spot:
看表达连续值情况:
这仅在放大并希望同时显示细胞信息和互作方向时有用:
这个图使用交互式绘图效果更好,交互式绘图参考:
这里看不出来图上的细节:
我们还可以观察到配体或受体在哪里与占优势的点细胞类型同时表达/共表达:
外点显示配体(红色)、受体(绿色)和共表达(蓝色)的表达。内点由占参与互作的主要细胞类型着色:
Calls significant celltype-celltype interactions based on cell-type data randomisation。
确定了LR 共表达的显著spot区域后,现在可以确定显著的互作细胞类型,参数含义如下:
Significant counts of cci_rank interactions for each LR pair stored in dictionary per_lr_cci_cell_type。
理论上cci_rank与cell type 种类应该无关,如果有相关,可以增加函数中的值,增大扰动次数。
如果你更喜欢使用R来进行绘图,可以保存 anndata 对象中的邻接矩阵,并使用 CellChat 包的可视化功能来实现可视化。
总互作:
圈的大小:某个细胞群参与的spot互作数;箭头大小:两个细胞群间的总互作数:
可视化少数细胞类型之间的互作时和弦图非常有用
总的和弦图:
单个配受体:
LR-CCI-Map
我们还提供了一些热度图的可视化,这样你就可以同时观察每个celltype-celltype 的多个 LR 对之间的相互作用
自动选取top LR对:
也可以用户指定配体受体后:
CCI Maps
Heatmap visualising sender->receivers of cell type interactions
# of interactions 指的是一个点与接受细胞类型表达配体和源细胞类型表达受体在同一邻域的次数。
总的:
指定配受体的:
j结合LR分析与CCI分析,我们现在可以看到这些细胞在组织的哪个部位相互通讯。
空间切片中的 CCIs 具有丰富的信息,以上哪种可视化方式会有用,将取决于你想要强调的生物学和关键方面。
根据我们的经验,显示感兴趣的 LR 统计数据,然后使用细胞类型信息和箭头绘制图表是很有用的。