空间转录组细胞类型的距离分析之二---代码实现

其实我平时很少分享代码,因为我觉得代码其实都是抄别人的,没什么意思,理解最重要,但是现实的情况是,大家需要代码作为参考

今天我们来分享的是,对细胞类型在空间距离上的分析,也就是细胞类型的共定位分析

这里我们已参考数据为例,大家要根据自己的数据进行真实情况的调整,千万不要拿来就抄代码,没什么用。

首先第一步,加载模块和参考数据集
import scanpy as sc
import squidpy as sq
# load the pre-processed dataset
adata = sq.datasets.imc()

这里注意一下,用到的是scanpy和squidpy,两个模块,模块的功能很多,而我们今天只分享今天的重点,细胞类型的共定位问题。

第二步,细胞类型的可视化:

sc.pl.spatial(adata, color="cell type", spot_size=10)

这里代码很简单,就是对注释结果进行可视化,但是我们需要注意一个非常重要的点,注释结果哪来的???很显然,需要我们做10X单细胞和10X空间数据的联合分析
We can appreciate how the majority of the tissue seems to consist of apoptotic tumor cells. There also seem to be other cell types scattered across the tissue, annotated as T cells, Macrophages and different types of Stromal cells. We can also appreciate how a subset of tumor cell, basal CK tumor cells seems to be located in the lower part of the tissue.

第三步,我们的重点,Co-occurrence across spatial dimensions

We can visualize cluster co-occurrence in spatial dimensions using the original spatial coordinates. The co-occurrence score is defined as:

where p(exp|cond) is the conditional probability of observing a cluster exp conditioned on the presence of a cluster cond, whereas p(exp) is the probability of observing exp in the radius size of interest. The score is computed across increasing radii size around each cell in the tissue.

sq.gr.co_occurrence(adata, cluster_key="cell type")
sq.pl.co_occurrence(
    adata,
    cluster_key="cell type",
    clusters=["basal CK tumor cell", "T cells"],
    figsize=(15, 4),
)

图上可以看到以某种细胞为参考,距离远近中各个细胞类型比例的变化。

We can observe that T cells seems to co-occur with endothelial and vimentin hi stromal cells, whereas basal CK tumor cell seem to largely cluster together, except for the presence of a type of stromal cells (small elongated stromal cell) at close distance.

第四步:Neighborhood enrichment

A similar analysis that can inform on the neighbor structure of the tissue is the neighborhood enrichment test.

sq.gr.spatial_neighbors(adata)
sq.gr.nhood_enrichment(adata, cluster_key="cell type")
sq.pl.nhood_enrichment(adata, cluster_key="cell type")


Interestingly, T cells shows an enrichment with stromal and endothelial cells, as well as macrophages. Another interesting result is that apoptotic tumor cells, being uniformly spread across the tissue area, show a neighbor depletion against any other cluster (but a strong enrichment for itself). This is a correct interpretation from a permutation based approach, because the cluster annotation, being uniformly spread across the tissue, and in high number, it’s more likely to be enriched with cell types from the same class, rather than different one.

第五步,Interaction matrix and network centralities

counts the number of edges that each cluster share with all the others.

sq.gr.interaction_matrix(adata, cluster_key="cell type")
sq.pl.interaction_matrix(adata, cluster_key="cell type")

第六步,

Finally, similar to the previous analysis, we can investigate properties of the spatial graph by computing different network centralities:
degree_centrality
average_clustering
closeness_centrality

sq.gr.centrality_scores(
    adata,
    cluster_key="cell type",
)
sq.pl.centrality_scores(adata, cluster_key="cell type", figsize=(20, 5), s=500)

For the purpose of this analysis, we can appreciate that the apoptotic tumor cell clusters shows high closeness centrality, indicating that nodes belonging to that group are often close to each other in the spatial graph

最好再强调一遍,不要拿着代码抄,根据自己的实际情况灵活运用

生活很好,有你更好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值