乐于分享
好东西不私藏

使用SpatialData软件分析Visium HD数据(三):降维聚类分群

使用SpatialData软件分析Visium HD数据(三):降维聚类分群

今天学习 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交流:

友情转发: