方法分享--空间转录组(visium等)提升分辨率

作者,Evil Genius
2026赛季这就算开打了,谁可以在单细胞空间领域拔得头筹?

这里面超过一半的公司我都没听过,主要也是做产品的公司,还是那样,产品具有不可替代性,想做单细胞空间,必须用仪器设备试剂获得数据,这样就可以不断地迭代,生物信息分析比较低端,还是不如做产品好。
2026的终极目标,就是活下去,我妈找人算命,说我走背字要4-6年才能转运,就算最快的4年,也要到2027年好转了,以前我从来不信命,现在的我怀疑这个世界都是虚拟的,挺过2026,我相信会时来运转。
2026开始了,那么25年之前搜集的文献也就算完成了,新的文献将会汇总到2026年,每年的文献我都有好好整理。
其中2023年文献

2024年文献

2025年文献

大家如果想要,直接进群保存即可

2025的培训,主要也是针对visium、HD、Xenium、CosMx、stereo-seq 的,空间方向,更能体现产品的价值,visium/HD现在大约3万/样本,Xenium、CosMx就更贵了,大panel都上了10万,不得不说,数据分析的价值比起产品真的太低了。
关于2025的培训,大家自行参考, 基本上认真学一遍就成,而且不像产品一样具有迭代性,学会了也就完了,产品是做一个付一次费用,技能是学一遍也就不需要再用了。
还是要认真做产品才好。
2025番外--linux、R、python培训
生化小课---基因组与单细胞空间多组学
2025年单细胞空间系列课程
生信主要有两个方向,算法方向和应用方向,像我这样天天分析空间项目的就是应用方向。
今天我们来分享方法,低精度空转的分辨率提升,参考文献如下,看作者介绍,应该中美合作的文章,而且关于低精度空转的高分辨率嵌入,之前分享过一个方法,iSTAR,文章在单细胞空间联合分析新贵--iStar。

知识积累
主流平台(如10x Visium)的空间分辨率仍较有限——每个测序“点”(spot)通常包含多个细胞,且组织中存在大量未被覆盖的区域。虽然Stereo-seq、HD等新技术提升了分辨率,但其数据更加稀疏和嘈杂,常需将多个spot合并为“meta-spot”以提高信噪比,却牺牲了空间精度。
ST实验通常配有高分辨率组织学图像(如H&E染色或免疫荧光图像),可提供更精细的组织形态与细胞排布信息。
结果1、SpaHDmap 融合基因表达数据与组织学图像,实现高分辨率的降维
SpaHDmap 框架包含两个主要组成部分:特征表示(feature representation)。
在特征表示模块中,SpaHDmap 分别从空间转录组(ST)数据中学习一个低分辨率嵌入,并从组织学图像中提取逐像素的视觉特征。
低分辨率嵌入首先通过对基因表达数据应用非负矩阵分解(NMF),为已观测到的测序点(spots)生成初始嵌入;随后,通过一个图卷积网络(GCN)对该嵌入进行去噪并扩展至整个组织区域。该GCN的节点不仅包括实际观测到的spots,还包括用于提升空间覆盖度的“伪点”(pseudo-spots),并融合了组织学图像信息。
对于图像特征表示,SpaHDmap 训练一个多通道 U-Net 网络以重建图像块(image patches),然后将其主干网络(backbone)迁移用于提取逐像素的视觉特征。
随后,在高分辨率嵌入学习模块中,SpaHDmap 采用一个多模态融合的编码器–解码器架构,通过同步重建ST基因表达和组织学图像来学习高分辨率嵌入:
编码器(即特征融合模块)将上述低分辨率嵌入与逐像素图像特征融合,并映射到一个高分辨率嵌入空间;
解码器(即数据重建模块)则基于所学嵌入,分别重建基因表达和组织学图像。
与NMF类似,嵌入向量以及表达重建模块中的可学习加载矩阵(loading matrix)的所有元素均被约束为非负值,从而确保得到一种可解释的、基于“部分组合”的高分辨率数据表示。
整体重建损失是基因表达重建损失与组织学图像重建损失的加权和。

小鼠脑的分析效果

SpaHDmap 在小鼠脑数据集中可解释的高分辨率嵌入

SpaHDmap 在小鼠脑数据中识别出精细的空间结构

SpaHDmap 在多个髓母细胞瘤样本中成功恢复了疾病状态特异性的高分辨率嵌入

当然,文章还展示了很多其他的示例

最后,我们来看看代码
import torch import numpy as np import scanpy as sc import SpaHDmap as hdmap rank = 20 seed = 123 verbose = True np.random.seed(seed) torch.manual_seed(seed) root_path = '../experiments/' project = 'MPBS01' results_path = f'{root_path}/{project}/Results_Rank{rank}/' section_id = 'V1_Mouse_Brain_Sagittal_Posterior' # Download the data from the 10X website (set include_hires_tiff=True to download the hires image) adata = sc.datasets.visium_sge(section_id, include_hires_tiff=True) image_path = adata.uns["spatial"][section_id]["metadata"]["source_image_path"] # or load the data from a local folder # adata = sc.read_visium(f'data/{section_id}', count_file='filtered_feature_bc_matrix.h5') # image_path = f'data/{section_id}/image.tif' # Load the data from the 10X Visium folder mouse_posterior = hdmap.prepare_stdata(adata=adata, section_name='mouse_posterior', image_path=image_path, scale_rate=1) hdmap.select_svgs(mouse_posterior, n_top_genes=3000, method='moran') mouse_posterior.show()

# Load the data from file paths mouse_posterior = hdmap.prepare_stdata(section_name='mouse_posterior', image_path='data/V1_Mouse_Brain_Sagittal_Posterior/image.tif', spot_coord_path='data/V1_Mouse_Brain_Sagittal_Posterior/spatial/tissue_positions_list.csv', spot_exp_path='data/V1_Mouse_Brain_Sagittal_Posterior/filtered_feature_bc_matrix.h5', scale_rate=1, radius=45) # Has to be provided if load from file paths hdmap.select_svgs(mouse_posterior, n_top_genes=3000, method='moran') ###Run SpaHDmap # Initialize the SpaHDmap runner mapper = hdmap.Mapper(mouse_posterior, results_path=results_path, rank=rank, verbose=verbose) # Run all steps in one function mapper.run_SpaHDmap(save_score=False, save_model=True, load_model=True, visualize=True, format='png') # If you want to lower the GPU memory usage, you can set `batch_size` to a smaller number # mapper.args.batch_size = 16 (default 32) # mapper.run_SpaHDmap(save_score=False, save_model=True, visualize=False) # Run NMF on the gene expression data mapper.get_NMF_score(save_score=False) print(mouse_posterior.scores['NMF'].shape) mapper.visualize(mouse_posterior, use_score='NMF', index=2) # mapper.visualize('mouse_posterior', use_score='NMF', index=2) # visualize given the name # mapper.visualize(use_score='NMF', index=2) # ignore the section name if only one section

# Save all NMF scores into `results_path/section_name/NMF` mapper.visualize(use_score='NMF', format='png') # default is 'png' # Pre-train the SpaHDmap model via reconstructing the HE image mapper.pretrain(save_model=True) # Train the GCN model and get GCN score mapper.get_GCN_score(save_score=False) print(mouse_posterior.scores['GCN'].shape) # Visualize the GCN score mapper.visualize(mouse_posterior, use_score='GCN', index=2)

# Save all GCN scores into `results_path/section_name/GCN` mapper.visualize(use_score='GCN', format='png') # The refined metagene matrix based on the GCN score print(mapper.metagene_GCN.shape) # Get the VD score mapper.get_VD_score(use_score='GCN') # Train the SpaHDmap model # If the model has been trained and saved, mapper will load the model directly mapper.train(save_model=True, load_model=True) # Get the SpaHDmap score mapper.get_SpaHDmap_score(save_score=False) print(mouse_posterior.scores['SpaHDmap'].shape) # Visualize the SpaHDmap score mapper.visualize(mouse_posterior, use_score='SpaHDmap', index=2)

mapper.visualize(use_score='SpaHDmap') # Load the STData object mouse_posterior = hdmap.prepare_stdata(st_path=(results_path + 'mouse_posterior.st')) # Initialize the SpaHDmap runner with the loaded STData object mapper = hdmap.Mapper(mouse_posterior, results_path=results_path, rank=rank, verbose=verbose) # Cluster pixels based on the SpaHDmap score mapper.cluster(use_score='SpaHDmap', resolution=0.8, show=True)

# Visualize the clustering results of SpaHDmap mapper.visualize(target='cluster', use_score='SpaHDmap', format='pdf')

Recover high-resolution gene expression
mouse_posterior.genes[:5] # Load the metagene matrix from the results path mapper.load_metagene() # Recover and visualize the high-resolution gene expression for a specific gene mapper.recovery(gene=mouse_posterior.genes[:5], use_score='SpaHDmap') mapper.visualize(gene='Pcp2')

mapper.visualize(gene='Mbp')

生活很好,有你更好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1129656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亲测专业模拟面试,分享优质之选

亲测专业模拟面试,分享优质之选在当下竞争激烈的就业市场中,模拟面试成为求职者提升面试能力的重要途径。然而,当前模拟面试领域面临着诸多技术挑战。行业痛点分析模拟面试场景的复杂性要求技术具备高度的精准度和适应性,但目前很…

大模型训练过程中 SILU 和 GELU 的选择

文章目录一、先理清SILU和GELU的核心差异二、LLaMA2选择SILU的核心原因(按优先级排序)1. 核心:工程效率——SILU计算更快,显存占用更低2. 关键:效果几乎无差异——SILU和GELU在大模型上性能持平3. 历史延续性&#xff…

数控滑台给企业带来技术突破

数控滑台的技术优势数控滑台通过高精度伺服电机驱动,结合滚珠丝杠或直线导轨,实现微米级重复定位精度(0.01mm以内)。其闭环控制系统可实时补偿机械误差,大幅提升加工一致性,尤其适用于精密零件批量生产。自…

跨平台推理:M2FP在iOS/Android的实现

跨平台推理:M2FP在iOS/Android的实现 📌 引言:从云端到移动端的人体解析演进 随着计算机视觉技术的不断进步,语义分割在智能美颜、虚拟试衣、AR互动等场景中扮演着越来越重要的角色。其中,多人人体解析(Hum…

亲测高性价比模拟面试靠谱之选

亲测高性价比模拟面试靠谱之选行业痛点分析当前模拟面试领域面临着诸多技术挑战。一方面,精准度不足是一大难题。传统模拟面试系统难以准确模拟真实面试场景中的复杂情况,对于候选人的回答评价缺乏深度和客观性,数据表明,约 60%的…

全桥LLC电源串联谐振Matlab/Simulink仿真模型与Mathcad详细计算与设计过程...

全桥LLC电源串联谐振Matlab/Simulink仿真模型与Mathcad详细计算与设计过程。 包含LLC仿真模型,输入400V,输出48V 2KW 2KW全桥LLC在Matlab软件详细计算过程,包括谐振计算,变压器电感等设计计算,MOS管/二极管选型计算&a…

铸就质量传奇:铸铁试验平台的“钥匙”

铸铁试验平台的质量关键要素材料选择直接影响平台的耐用性和稳定性。采用高强度铸铁(如HT250或HT300)能够确保平台在重载条件下不变形。材料需经过严格的金相分析,确保石墨形态和基体组织符合标准。铸造工艺的精准控制是核心环节。采用树脂砂…

实战案例:用开源镜像3天搭建企业级中英翻译平台

实战案例:用开源镜像3天搭建企业级中英翻译平台 🌐 AI 智能中英翻译服务 (WebUI API) 在跨国协作、内容出海和学术交流日益频繁的今天,高质量的中英翻译需求持续增长。然而,商业翻译API成本高昂,自研模型又面临训练周…

Flutter艺术探索-Flutter布局基础:Row、Column、Container实战

Flutter布局基础:Row、Column、Container实战指南 引言:从核心部件理解Flutter布局 提起Flutter的布局,很多开发者首先会想到Row、Column和Container。这三个Widget看似简单,却是构建几乎一切界面的基石。与Web的CSS或Android的XM…

M2FP模型源码解读:Mask2Former的改进之处

M2FP模型源码解读:Mask2Former的改进之处 📌 引言:从Mask2Former到M2FP——人体解析任务的精准化演进 语义分割作为计算机视觉的核心任务之一,近年来在算法架构上经历了从FCN、U-Net到Mask R-CNN,再到Transformer-base…

深度学习模型部署:M2FP环境配置最佳实践

深度学习模型部署:M2FP环境配置最佳实践 🧩 M2FP 多人人体解析服务 (WebUI API) 在当前计算机视觉应用快速发展的背景下,多人人体解析(Multi-person Human Parsing)正成为智能零售、虚拟试衣、行为分析等场景中的关…

大模型嵌入层embedding和向量到词表映射output层权重共享

文章目录第一步:先理清你的计算逻辑(权重重复的根源)第二步:为什么会重复?(LLM的权重共享机制)第三步:验证你的计算(对应真实值的差异)第四步:修正…

中南大学让AI像苏格拉底一样思考,破解遥感图像“假推理“难题

这项由中南大学地球科学与信息物理学院邵润教授团队联合百度公司和浙江大学共同完成的研究发表于2025年11月27日的arXiv预印本平台(编号:arXiv:2511.22396v1),为解决人工智能在遥感图像理解中的"假推理"问题提出了创新性…

M2FP模型在自动驾驶中的人体检测应用探索

M2FP模型在自动驾驶中的人体检测应用探索 🧩 M2FP 多人人体解析服务:技术背景与核心价值 随着自动驾驶技术的快速发展,环境感知系统对行人理解的要求已从“是否有人”升级为“人处于何种姿态、行为如何”。传统目标检测方法仅能提供边界框级别…

从Mask到彩色图:M2FP可视化算法的实现原理

从Mask到彩色图:M2FP可视化算法的实现原理 📌 引言:多人人体解析的技术挑战与M2FP的定位 在计算机视觉领域,人体解析(Human Parsing) 是一项比通用语义分割更精细的任务。它不仅要求识别“人”这一整体类…

Flutter艺术探索-ListView与GridView列表组件完全指南

Flutter列表组件完全指南:掌握ListView与GridView的核心用法 引言:为什么列表如此重要? 在移动应用里,列表大概是出现频率最高的界面形式了。不管是刷朋友圈、逛电商,还是看新闻资讯,背后都是一个高效、流畅…

高校科研协作:论文摘要自动翻译系统搭建

高校科研协作:论文摘要自动翻译系统搭建 🌐 AI 智能中英翻译服务 (WebUI API) 项目背景与科研痛点 在高校科研协作中,学术成果的国际化传播是提升影响力的关键环节。然而,大量高质量的中文论文因语言障碍难以被国际期刊和学者快速…

M2FP vs 传统分割模型:性能对比与场景选择

M2FP vs 传统分割模型:性能对比与场景选择 📌 引言:为何需要更精准的多人人体解析? 在计算机视觉领域,语义分割是理解图像内容的核心任务之一。而在众多细分方向中,人体解析(Human Parsing&am…

简历智能英译:求职者的高效工具推荐

简历智能英译:求职者的高效工具推荐 在当今全球化竞争日益激烈的就业市场中,一份语言地道、表达专业的英文简历往往是打开国际企业大门的“敲门砖”。然而,对于大多数非英语母语的求职者而言,如何将中文简历精准、自然地翻译成符合…

南京装修公司哪家好?2026最新口碑榜单出炉,冠诚9.99分领跑

进入2026年,南京家装市场在消费升级与信息透明化的双重驱动下,正经历一场深刻的品质革命。业主们在探寻“南京装修公司哪家好”时,不再满足于碎片化的信息,转而寻求系统、可信的口碑参照体系。为回应这一需求,本文援引…