前面在我们的空转数据分析交流群里面,有一个学员问了一个问题,他使用python在分析华大的空转数据,数据格式为h5ad,在绘制空间spot聚类图时发现切片HE背景与spot对不齐,偏了,如下图所示,现在就来看看为什么!

可以看到这确实偏的太离谱啦是不是!

示例数据

我找了一个h5ad的数据,看看能不能重现他的问题。

前面介绍过的 网上最全的空间转录组数据库大汇总

选个数据库下载一个脑的空转数据:https://db./stomics/datasets/STDS0000040/data

使用python读取进来,h5ad格式有两种读取方式,这里用scanpy读取吧:

# 导入scanpy库
import scanpy as sc

# 读取
adata = sc.read_h5ad("./Human_Glioblastoma_Whole_10xvisium_processed.h5ad")
adata

# the slot spatial in obsm, which contains the spatial information from the Visium platform

这个数据进行了预处理,降维聚类分群等都做好了,其中空间坐标图片信息保存在 adata.obsm[‘spatial’] 这里。

绘图看看

先看看umap降维聚类图:

sc.pl.umap(adata, color=["clusters"])

正常,没有什么问题。再看看空间spot图:

sc.pl.spatial(adata, color="clusters", size=1.2)
使用python绘制空转的HE背景spot聚类图对不齐是为什么?

偏的很离谱!

用 squidpy 包看看:

import squidpy as sq
sq.pl.spatial_scatter(adata, color="clusters", figsize=(1010))

也是这样!

解决办法

经过简单的探索,我发现这两个绘图函数里面有个关键参数:sc.pl.spatial函数的 img_key 和 sc.pl.spatial 函数的 img_res_key 默认都是那个高分辨的值 hires,现在改为 lowres 就可以啦

# scanpy包的
sc.pl.spatial(adata, img_key = "lowres", color="clusters", size=1.2)

# squidpy 包的
sq.pl.spatial_scatter(adata,img_res_key="lowres",color="clusters", figsize=(1010))

完美!

今天分享到这,如果上面的内容对你有帮助,欢迎一键三连~

友情转发: