Squidpy实现Visium多样本分子邻域分析
针对空间转录组Visium多样本整合分析中的分子邻域矩阵分析其核心优势在于能够从基因表达模式的角度量化微环境的异质性突破传统基于空间坐标的物理邻域限制。以下将详细阐述其优势并提供基于Python的Squidpy分析代码示例。一、 分子邻域矩阵分析的优势分子邻域矩阵分析在多样本整合场景中具有显著优势主要体现在以下几个方面基于表达模式的微环境量化传统的空间邻域分析通常基于物理距离如固定半径内的Spot而分子邻域分析通过计算Spot之间基因表达谱的相似性如相关性来构建邻接关系。这种方法能够识别出在空间上可能不相邻但具有相似分子特征或生物学功能的区域从而更准确地定义“功能微环境” 。多样本整合与批次效应鲁棒性在处理多个Visium样本时分子邻域矩阵可以基于共有的高变基因或特征基因构建。相比于直接整合表达矩阵基于相似性度量的邻域矩阵能够更好地捕捉样本间保守的局部表达模式有助于在不同批次或不同样本间寻找共性的分子生态位 。增强的空间模式识别通过构建分子邻域矩阵可以结合空间统计学方法如Morans I或聚类算法如Leiden聚类识别出具有显著空间自相关的分子模块。这有助于发现那些在组织结构中呈梯度分布或灶状分布的关键基因群为解析复杂的组织结构如肿瘤微环境提供更精细的视角 。二、 分子邻域矩阵与其他分子Niche分析的区别为了更清晰地理解分子邻域矩阵的特点下表对比了其与其他常见分子Niche分析方法的区别分析维度分子邻域矩阵分析细胞/Spot类型共定位分析空间变量基因分析核心原理基于基因表达谱的相似性构建邻接关系基于细胞/Spot注释类型的共现频率检测基因表达量随空间位置的变化程度侧重点分子层面的功能相似性细胞层面的组成与互作单一基因的空间分布特征输出结果邻接矩阵、分子相似性网络图细胞比例矩阵、Niche富集评分空间变量基因列表、空间表达热图应用场景识别功能相似的微环境区域、发现新的分子亚群解析细胞邻里关系、推断细胞间通讯筛选标记基因、绘制基因的空间分布图技术特点能够跨越物理距离寻找功能相似区依赖准确的细胞注释结果通常作为下游分析的起点三、 使用Squidpy进行分子邻域矩阵分析的Python示例以下代码展示如何使用Python的Squidpy和Scanpy库对Visium多样本数据进行整合并构建基于表达相似性的分子邻域矩阵进行分析。该流程包括数据加载、多样本整合、构建空间邻域图以及计算空间自相关指标。import scanpy as sc import squidpy as sq import numpy as np import pandas as pd # # 1. 数据加载与预处理 # # 假设我们有多个Visium样本的h5ad文件这里模拟加载过程 # 实际操作中请替换为: adata sc.read_h5ad(sample1.h5ad) # 为了演示我们创建一个模拟的AnnData对象包含两个样本 print(正在模拟生成Visium多样本数据...) n_spots 5000 n_genes 2000 # 样本1数据 adata_sample1 sc.AnnData(Xnp.random.negative_binomial(5, 0.3, size(n_spots//2, n_genes))) adata_sample1.obs[sample_id] Sample_1 adata_sample1.obs[array_row] np.random.randint(0, 20, n_spots//2) adata_sample1.obs[array_col] np.random.randint(0, 20, n_spots//2) # 样本2数据 (引入一定的批次效应) adata_sample2 sc.AnnData(Xnp.random.negative_binomial(5, 0.3, size(n_spots//2, n_genes))) adata_sample2.X adata_sample2.X * 1.5 # 模拟批次差异 adata_sample2.obs[sample_id] Sample_2 adata_sample2.obs[array_row] np.random.randint(0, 20, n_spots//2) adata_sample2.obs[array_col] np.random.randint(0, 20, n_spots//2) # 合并样本 adata sc.concat([adata_sample1, adata_sample2], joinouter) adata.var_names [fGene_{i} for i in range(n_genes)] print(f合并后的数据对象: {adata.shape}) # # 2. 多样本整合与标准化 # # 计算高变基因 sc.pp.highly_variable_genes(adata, flavorseurat_v3, n_top_genes2000, batch_keysample_id) # 标准化数据 (对数化) sc.pp.normalize_total(adata, target_sum1e4) sc.pp.log1p(adata) # 使用Scanpy进行批次校正 (Harmony或BBKNN也是可选方案) # 这里简单使用Combat进行演示实际推荐使用Harmony等更稳健的方法 sc.external.pp.combat(adata, keysample_id) # # 3. 构建分子邻域矩阵 # # Squidpy的核心功能之一是构建空间邻接图 # 这里我们使用基于表达相似性的方法构建邻接关系而非单纯的物理距离 # 计算空间邻域图 # spatial_key: 指定空间坐标在obs中的位置 # n_neighs: 邻居数量 # coord_type: grid 适用于Visium规则阵列 sq.gr.spatial_neighbors( adata, coord_typegrid, n_neighs6, spatial_key[array_row, array_col] ) # 计算基于表达相似性的邻域矩阵 (Niche分析的关键) # 这里利用squidpy的graph功能结合表达谱距离 # 注意标准的spatial_neighbors主要基于坐标若要纯基于分子相似性可使用sc.pp.neighbors # 但为了结合空间约束我们通常使用spatial_neighbors后利用表达信息进行聚类或计算相关性 # 这里演示计算邻域内的基因表达相关性分子Niche特征 # 这一步会计算每个Spot与其空间邻居的基因表达相关性作为该Spot的分子环境特征 # 注意实际大规模数据中计算量较大通常选取部分Marker基因 sq.gr.coexpression( adata, modetriangulate, # 基于三角剖分网络 use_rawFalse, layerNone, genesadata.var_names[:100].tolist(), # 仅使用前100个基因作为演示 n_jobs1 ) print(分子邻域共表达矩阵计算完成。) # # 4. 可视化与分析 # # 获取邻接矩阵 adj_matrix adata.obsp[spatial_connectivities] print(f邻接矩阵形状: {adj_matrix.shape}) # 计算空间自相关 (Morans I) 以评估基因的空间聚集性 # 这是验证分子Niche是否具有空间结构意义的重要指标 sq.gr.spatial_autocorr( adata, modemoran, n_perms100, genesadata.var_names[:10].tolist() # 演示前10个基因 ) # 可视化Morans I结果 sc.pl.spatial_scatter( sq.pl.spatial_autocorr(adata, modemoran, cmapviridis, figsize(10, 5)), titleGene Spatial Autocorrelation (Morans I) ) # 对分子邻域特征进行聚类识别不同的分子Niche # 使用之前计算的表达矩阵进行降维和聚类 sc.tl.pca(adata) sc.pp.neighbors(adata) sc.tl.leiden(adata, resolution0.5) # 可视化聚类结果 (分子Niche图谱) sc.pl.spatial_scatter( adata, color[leiden, sample_id], size1.5, titleMolecular Niche Clustering (Integrated Samples) )四、 代码解析与策略说明数据整合代码中使用了sc.external.pp.combat或推荐使用Harmony/BBKNN对多样本进行批次校正。这是构建分子邻域矩阵的前提确保不同样本间的基因表达具有可比性避免批次效应掩盖真实的生物学差异 。空间邻域构建sq.gr.spatial_neighbors是构建邻接矩阵的核心函数。对于Visium数据设置coord_typegrid非常重要因为它能准确处理六边形点阵的空间拓扑关系。生成的spatial_connectivities矩阵即为我们所需的邻域矩阵 。分子层面的Niche定义为了从分子角度定义Niche代码进一步使用了sq.gr.coexpression或结合PCA/Leiden聚类。这意味着我们不仅看物理邻居还看这些邻居在基因表达上是否具有协同模式。通过聚类sc.tl.leiden我们将具有相似分子邻域特征的Spot归为一类从而定义出“分子Niche” 。空间统计验证通过sq.gr.spatial_autocorr计算Morans I指数可以量化基因在空间上的聚集程度。高Morans I值的基因意味着其在特定分子邻域中富集验证了分子邻域分析的生物学意义 。通过上述流程研究者可以在多样本整合的基础上利用分子邻域矩阵分析揭示组织内部复杂的、功能特异性的微环境结构。参考来源10X空间转录组Visium HD Xenium分析全更新空间转录组多样本niche的比较分析Visium Xenium HD空间转录组 × 单细胞联合分析实操指南从数据质控到空间通讯可视化含 Squidpy/Giotto 代码模板5分钟搞定用Squidpy和AnnData处理Visium空间转录组数据的完整流程空转_单样本基于pythonsquidpy 教程 1在 AnnData 和 Squidpy 中导入空间数据

相关新闻

中专计算机专业,如何在毕业前高效规划考证?

中专计算机专业,如何在毕业前高效规划考证?

对于中专计算机专业的学生而言,毕业前考取行业认可的职业技能证书,是提升就业竞争力的有效方式之一。在数字经济发展的背景下,数据分析、人工智能、云计算等领域的岗位需求持续增长。如何在有限时间内选择既符合趋势又适合自身基础的证书&…

2026/7/4 17:32:56 阅读更多 →
预制果茶包哪家专业

预制果茶包哪家专业

开头引入在忙碌的现代生活中,我们常常渴望一杯健康美味的果茶来解渴或放松心情。然而,现制果茶麻烦费时,奶茶高糖不健康,而自制果茶又需要准备各种水果和茶叶,容易造成浪费。在这种情况下,预制果茶包成为了…

2026/7/4 6:59:35 阅读更多 →
人工智能+AI的非遗 非物文化遗产面塑云展厅微信小程序

人工智能+AI的非遗 非物文化遗产面塑云展厅微信小程序

目录非遗面塑云展厅微信小程序实现计划需求分析技术选型功能模块设计数据准备开发流程运营推广维护更新项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作非遗面塑云展厅微信小程序实现计划 需求分析 明…

2026/7/4 15:26:03 阅读更多 →

最新新闻

基于YOLOv8的字符识别系统开发与实践

基于YOLOv8的字符识别系统开发与实践

1. 项目概述这个基于YOLOv8的字母数字识别检测系统是我最近完成的一个计算机视觉项目。它能够实时检测并识别图像和视频中的36类字符(数字0-9和字母A-Z),在复杂场景下表现出色。相比传统OCR技术,这个系统最大的优势在于能够处理任…

2026/7/4 17:33:03 阅读更多 →
3分钟掌握Windows显示器亮度调节:Twinkle Tray完全指南

3分钟掌握Windows显示器亮度调节:Twinkle Tray完全指南

3分钟掌握Windows显示器亮度调节:Twinkle Tray完全指南 【免费下载链接】twinkle-tray Easily manage the brightness of your monitors in Windows from the system tray 项目地址: https://gitcode.com/gh_mirrors/tw/twinkle-tray 你是否曾经为Windows系统…

2026/7/4 17:33:02 阅读更多 →
机器学习模型服务化落地:生产稳定性与可观测性实战

机器学习模型服务化落地:生产稳定性与可观测性实战

1. 项目概述:这不是一次“部署上线”演示,而是一场真实世界的ML交付实战复盘 “From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着三个关键信号: Notebook 是起点,不是终点;…

2026/7/4 17:33:02 阅读更多 →
终极指南:3步实现ComfyUI TensorRT加速,让你的AI绘图速度提升3-10倍

终极指南:3步实现ComfyUI TensorRT加速,让你的AI绘图速度提升3-10倍

终极指南:3步实现ComfyUI TensorRT加速,让你的AI绘图速度提升3-10倍 【免费下载链接】ComfyUI_TensorRT 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_TensorRT 你是否还在为Stable Diffusion生成图像时的漫长等待而烦恼?每…

2026/7/4 17:31:02 阅读更多 →
JMeter变量作用域详解:从本地变量到全局属性的跨线程组参数传递实战

JMeter变量作用域详解:从本地变量到全局属性的跨线程组参数传递实战

1. 项目概述:从一次参数传递的“事故”说起前几天,我团队里一个刚接触Jmeter不久的小伙伴跑来求助,他写了一个模拟用户登录后查询订单的压测脚本,结果跑出来的数据完全不对。登录是成功了,但后续的订单查询请求里&…

2026/7/4 17:29:02 阅读更多 →
AI办公自动化实战:从WorkBuddy与Codex部署到数字员工开发全流程

AI办公自动化实战:从WorkBuddy与Codex部署到数字员工开发全流程

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 1. 先搞清楚 WorkBuddy 和 Codex 到底是什么,以及这个训练营能解决什么问题 如果你正在找能帮你自动处理办公任务的工具…

2026/7/4 17:25:01 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻