今天学习 Visum HD高分辨率平台使用比较多的分析框架 SpatialData 软件,于2024年3月20号发表在Nature Methods杂志上,文献标题为《SpatialData: an open and universal data framework for spatial omics》。
Documentation: https://spatialdata.scverse.org
接前面的教程:
数据背景,使用的软件环境配置等,参考上面的帖子。
这里接着之前的数据,重新读取进来:
adata = sc.read_h5ad("0.Data_Download/adata.h5ad")adata
降维聚类
前面做完了过滤之后,后续的分析步骤跟单细胞流程的Scanpy 流派是一样的,进行降维聚类分析。只不过 HD的数据可能会比较大,这个时候大家可以考虑使用:GPU加速的scanpy:100w的单细胞RTX 3080的10G显卡可以干动吗?
只不过我的电脑是干不动的!靠大家看看了,运行起来速度应该嘎嘎快!
1、首先进行数据表达量均一化,对测序深度进行校正,消除技术噪音
# 数据标准化:sc.pp.normalize_total(adata, inplace=True)sc.pp.log1p(adata)adata.raw = adata.copy()adata.layers["scaled"] = adata.X.copy()2、找高变基因:
sc.pp.highly_variable_genes( adata,n_top_genes=3000,batch_key="sample")adata = adata[:, adata.var['highly_variable']]3、归一化以及pca分析:
sc.pp.regress_out(adata, ['total_counts', 'pct_counts_mt'])sc.pp.scale(adata, max_value=10)sc.pp.pca(adata)4、harmony整合:使用harmony处理样品在不同批次中产生的与生物复杂性无关的差异
sc.external.pp.harmony_integrate(adata, key="sample")5、降维:可以多运行几个res,看不同的聚类结果:
sc.pp.neighbors(adata, n_neighbors=20, n_pcs=20, use_rep='X_pca_harmony', random_state=10)sc.tl.umap(adata, init_pos='random', random_state=10)sc.tl.leiden(adata, resolution=0.6, key_added='res_0.6', random_state=10)sc.tl.leiden(adata, resolution=0.8, key_added='res_0.8', random_state=10)6、最后将降维后的数据传递到UMAP进行可视化展示:
## 聚类结果可视化with rc_context({'figure.figsize': (6, 6)}): sc.pl.umap( adata, color=['res_0.6'], legend_loc='on data', legend_fontsize=9, legend_fontoutline=3,frameon=True,size=20, show=False )sc.pl.spatial(adata,color = 'leiden')plt.savefig('HD.spatial.png',bbox_inches = 'tight')

这个数据在 《最新 Visium HD数据发表在Nature Genetics杂志(IF=31.7):GSE280315》提到,已经于2025年6月5号正式发表在Nature Genetics杂志(IF=31.7)上,文献标题为《High-definition spatial transcriptomic profiling of immune cell populations in colorectal cancer》。文献中的聚类结果如下:

今天分享到这里~后面分享细胞分割。
欢迎来群里交流玩,请备注空转HD交流:

友情转发:
AI加持,全新改版!生信入门&数据挖掘线上直播课5月班,系统的生信入门课 生信故事会,来看看他们的生信入门故事 生信马拉松答疑专辑,获取你的生信专属答疑 GEO数据实战训练直播(学员免收门票),课后有大量案例实战训练
夜雨聆风