作者,Evil Genius我们来做一篇导论,关于空间邻域空间邻域分析包括分子邻域和细胞邻域,分子邻域主要研究邻域通讯,细胞邻域主要研究生态位,我已经分享了很多了,做一篇导论给大家指引一下分析方向,同时介绍邻域分析的软件 当然,这里主要介绍的是分子邻域,经过简单的修改就可以分析细胞邻域。这就是周五的推文了,真正的周五,要去相亲了。适用的空间平台,slide-seq 、华大、10X HD、 10X Visium 等。 空间细胞邻域网络图空间邻域通讯分析大汇总空间转录组学数据分析细胞邻域依赖的基因表达(分子邻域)空间组学邻域分析方法更新之BANKSY10X空间转录组之构建邻域通讯网络空间多组学分析破译胶质母细胞瘤中的双向肿瘤 -宿主相互依赖性(空间微环境)10X空间转录组数据分析之细胞类型与生物学通路的空间依赖性10X空间转录组数据分析之细胞的空间依赖性好了,我们开始细胞已经进化出它们的通讯方法来感知它们的微环境并发送生物信号 Otherwise, the non-parametric test is used.top_genes = 10 # Top 10 DEGs are annotated in the volcano
作者,Evil Genius今天我们来汇总一下所有的关于空间邻域通讯的分析方法,供大家参考。 )所引用,这篇文章我也分享过,在10X单细胞空间解码人类性腺发育路线图,我们来看看文章的分析其中关于cellphoneDB的描述是 To account for the distinct spatial 单细胞(10X空间转录组)通讯分析之总结Nichenet生态位通讯比较分析、10X单细胞(10X空间转录组)通讯分析之总结Nichenet多条件差异通讯,NicheNet也更新了空间通讯的内容,并且被高分文章 、10X空间转录组分析之stlearn联合harmony整合多个空间样本、10X单细胞空间回顾之stlearn、10X空间转录组之空间临近通讯分析stlearn进阶版 stlearn关于通讯的部分也很经典 空间转录组通讯信号流的运用(COMMOT)、10X空间转录组通讯信号流的运用(COMMOT) COMMOT的官网在https://github.com/zcang/COMMOT,说明文档在https:/
前面我们分享过空间邻域的概念,见:空间转录组细胞邻域(Cellular Neighborhood)分析。 ,并分析组织中的细胞邻域。 邻域分析通常通过空间统计学进行 [Gelfand et al., 2010],这些是定量评分,可用于识别组织中的空间邻域。 看一下聚类的结果 # 可视化看一眼 import matplotlib.pyplot as plt # 设置全局绘图大小 plt.rcParams['figure.figsize'] = (10, 10 这种方法与邻域富集分析有关,但它不是一个检验,而是空间图的一个简单总结统计量。
最后,来分享一下邻域富集import scanpy as scimport squidpy as sqimport numpy as npimport pandas as pdimport osimport /figures/spatial_plot_senescence_hs_score_healthy_vmax2.pdf") fig, (ax7, ax8, ax9, ax10, ax11,) gene,size=1.3,img_key=img_keys,vmin=vmins, use_raw=False,layer="log1p",groups=group, vmax=vmaxs, ax=ax10
Antitumoral Immunity at the Colorectal Cancer Invasive Front》,这项工作和研究思路,堪称细胞空间邻域研究的典范。 即空间切片组织中的一个区域,这个特定的区域由不同的细胞类型组成,这种区域可以反映一些特定的组织结构和生物学状态。 那这个区域如何划分呢,这是一个非常重要的点! 对于每一个细胞,他周围的10个最邻近的邻居,定义为一个区域单位。(为什么是10个细胞,不是5个,不是20个?先保留一下这个疑问。) :将所有 windows 的细胞类型组成(上图2示意图矩阵)进行 K-means 聚类(如K=15),识别出具有相似细胞类型组成的空间区域,即邻域; step3.富集分析:通过超几何检验评估每个邻域中特定细胞类型的富集打分 结果说明:结直肠癌免疫肿瘤微环境的细胞邻域特征:在不同病人Group间具有保守性。从细胞形成的空间结构来观察患者样本,而不仅仅是单个细胞的集合,将为iTME的组织过程提供见解。
,细胞 X Barcode3、分子niche矩阵, 即分子生态位矩阵,主要研究分子微环境,包括邻域通讯等, gene X Barcode4、细胞niche矩阵,即细胞生态位矩阵,主要用来研究细胞的空间排布 ,例如侵袭性的肿瘤细胞空间临近巨噬,所有细胞的空间排布形成了细胞niche矩阵. 今天我们要分享关于第三个矩阵的分析,即分子niche矩阵,主要的目的就是研究细胞邻域依赖基因表达。其中涉及到的内容,细胞邻域,细胞类型,基因表达。 邻域分子的分析策略邻域依赖基因是参与细胞-细胞相互作用的一种新的潜在基因邻居依赖基因表现出niche特异性表达niche特异性基因表达解释了细胞异质性我们来用代码分析一下这个问题,python版本,10X Otherwise, the non-parametric test is used.top_genes = 10 # Top 10 DEGs are annotated in the volcano
作者,Evil Genius今天我们来汇总一下关于高精度空转的细胞邻域分析。首先我们要理解为什么做细胞通讯要采用物理上临近的细胞类型。 强调“物理上临近的细胞类型” 是因为 细胞间通讯(cell–cell communication)本质上是一种高度依赖空间邻近性的生物学过程。 大多数细胞间信号传递依赖于以下几类短程或局部作用机制,这些机制天然要求发送细胞(sender)与接收细胞(receiver)在物理上靠近:通讯类型作用距离是否需要物理邻近举例直接接触信号< 10 nm( 对于空间转录组而言,空间通讯分析流程如下定义合理的邻近半径(如 30–50 μm,依据配体扩散能力);优先关注接触依赖型或已知短程信号通路;结合空间邻域聚类,识别“通讯热点区域”。
,是基因组,所以一般会补充WES的突变数据,转录组全长在检测融合的时候有优势,所以大家单细胞想研究突变就看运气了,如果肿瘤刚好有一些靶向突变位于5‘测序范围内,那就相当于多了一个组学,发的文章又能提高10 这个地方10X建库的时候有人选择不打断,而是测转录组的全长,但是这样的话一般需要三代测序,错误率太高,虽然可以同时检测转录组、融合、突变、和基因多态性,但几乎还是没人做这个,成本也非常高。 这里要补充第四个矩阵,那就是空间邻域细胞矩阵,celltype X Barcode。很明显,空间聚类要有邻域基因表达的信息。 其实这个平台原本是为了10X的Xenium开发的,因为Xenium是可以做到的空间单细胞级别的。 简单看一些示例这个软件真的是生态分析的一把利器,专门为了高精度平台开发的,华大的、10X HD都可以很好的运用。高精度平台华大出来的最早,要是这个方法是华大开发的就好了。
今天我们来总结一个分析思路,那就是空间邻域细胞聚类的注释问题,关于空间邻域细胞聚类,写了也有一些了,如下:脚本更新----Xenium、CODEX、CosMx范围邻域矩阵的获得与亚群分析脚本更新---空间转录组分析三种 (多种)细胞类型的空间位置变化脚本更新----空间邻域差异分析(针对visium、bin模式的Stereo-seq、HD)脚本更新----空间邻域差异分析(高精度平台,Xenium、CosMx、CODEX 、图像分割Stereo-seq、HD)流程升级----高精度空间平台的细胞邻域分析(固定范围)分析优化----关于空间原位数据的邻域分析优化个性化分析(原位)---空间转录组微环境(邻域)细胞聚类 + 简单的思路有两种1、邻域细胞聚类包括的“自己”,那就是纯粹的细胞区域2、邻域细胞聚类不包括“自己”,只分析邻域,那就是研究特定细胞类型在空间位置上的微环境差异我们来看看文章是如何注释的为了系统地分析HGSC TME内细胞类型的空间图谱,通过细胞邻域矩阵聚类标注了18个不同的空间spatial microcommunities或细胞邻域(RNC)。
作者,Evil Genius昨天分享的文章肿瘤异质性的空间和基因组综合分析(肿瘤克隆进化)中,有一个很有意思的分析,就是空间CNV需要考虑邻域,这个之前也分享过,在10X空间转录组数据推断基因拷贝数畸变 这些不同的细胞群在肿瘤内的空间组织,创造了一个独特的肿瘤微环境。位于肿瘤附近的细胞可能共享相似的CNAs。大多数大的CNPs会导致多个相邻基因的基因表达发生相关变化,这些基因的拷贝数被CNA改变。 CNV检测前提为了在空间转录组学数据中识别CNP,依赖于关于数据和潜在生物学过程的几个假设:(1)测序样本包含少量肿瘤克隆,每个克隆都具有不同的CNP;(2)区分克隆的CNAs跨越多个基因,在相邻基因的拷贝数之间产生依赖性 ;(3)一个点上大部分细胞属于同一克隆;(4)邻近spot可能包含来自同一克隆的细胞,导致每个点的克隆分配之间存在空间依赖性。 方法的结果检验模拟数据匹配scDNA-seq和scRNA-seq的伪空间转录组学空间转录组学数据示例代码在GitHub - raphael-group/STARCH: Spatial Transcriptomics
其中的Figure2c 展示了以每个细胞簇为中心时邻域的组成比例,它揭示了弥漫大 B 细胞淋巴瘤(DLBCL)中细胞并非随机分布,而是具有显著的空间聚集性(Spatial Aggregation),文章中也给出了相应的实现代码 找了之前一篇远端肺纤维化Xenium数据,160多万细胞的数据测试,整整跑了10多个小时,还没跑完,真得忍不了,于是觉得先研究明白整体计算逻辑,然后使用python重写这个函数。 本文将介绍一种基于稀疏矩阵运算的高性能计算方法,快速量化百万级细胞的空间邻居特征,并尝试复现文中的绘图样式。 1. 背景知识:为何关注“邻域组成”? 为了定量描述细胞的生存环境,我们需要引入邻域(Neighborhood)的概念。 邻域组成分析旨在回答以下核心科学问题: 同质性与结构维持(Homogeneity): 某种细胞(如上皮细胞)是否倾向于与同类聚集,形成致密的组织结构?
作者,Evil Genius我们高精度空间转录组也迎来了结尾了,这一篇我们总结一下空间邻域通讯分析了。 我们还是以王凌华的文章为例前面的空精度空转(Xenium、CosMx)等的基础分析,细胞注释,RCN、邻域、亚群区分我们都做完整,就来到亚群的空间邻域通讯。 邻域通讯分析的方法写的也比较简单cellphoneDB、Cellchat、iTALK全部用上了(其实就是把所有的配受体库都放进来看看)。 但是大家看文章不知道注意到没有,文章分析的时候不仅分析配受体,也要分析如下内容,各个CAF邻域细胞的差异表达其实真正项目分析的时候,空间邻域的通讯分析与空间依赖基因,英文是neighbor-dependent 我们来简单更新一下这部分代码,当然了,大家现在要更多的采用大panel的高精度空间转录组产品了。#!
作者,Evil Genius今天我们需要讨论一个问题,那就是关于邻域的问题,目前有两种思路,如下:一种是选择某个点(cell)一定范围内距离最近的几个细胞,例如下面就是距离最近的10个细胞另外一种是将一定范围内的所有细胞均纳入分析范围 其实大家应该都倾向于第二种的空间邻域分析方法,因为做了图像细胞分割的原因,对于原位数据有以下特点:那就是细胞的分布密度不同,有的地方密度大,固定大小包含多个细胞,有的地方密度小,细胞分布就比较少了。 我们先以visium 的数据为例,范围设置成100(注意这里的范围是像素),同时要做了单细胞空间的联合分析。 import scanpy as scimport squidpy as sq# 读取空间转录组数据 (例如 10X Visium 数据)adata = sc.read_visium('/home/samples /Xenium.zarr"sdata = xenium(xenium_path)sc.pp.filter_cells(adata, min_counts=10)sc.pp.filter_genes(adata
Kasumi,一种用于识别跨样本和条件持续存在的细胞内和细胞间关系的空间局部化邻域模式的方法。组织的显微解剖结构与其功能之间的联系是公认的。 空间组学数据的分析框架中,常用的数据表示方法有两种:聚类(表型)和邻域(生态位)分析。聚类为测量的空间分布分配标签,通常对应于细胞(亚)类型或功能状态。 通过明确考虑每个细胞周围的空间邻域,它们执行空间聚类,其中标签不一定对应于不同的细胞类型,而是对应于许多不同空间邻域中的membership。 因此,这样的方法,由于其结果表示的解释,通常也被认为是邻域分析方法。从高度复用的数据(misty)中剖析空间关系。 MISTy是一个从空间组学数据中提取全球关系的通用框架,其产出是一套来自不同空间背景的稳健关系,这些关系存在于整个样本中。
今天太原下雨,我们来画一画图吧,做空间分析的童鞋们下面的图应该是很常见的,还有邻域差异图还有下面这种的,区域细胞类型富集图这种分析就是为了10X Visium HD、华大、CODEX等高精度平台准备的简单的画一画这个热图 ', adata, map_location='cpu')adata.obsm['X_trVAE'] = model.get_latent(adata.X, adata.obs['dataset'])空间聚类
作者,Evil Genius空间邻域差异分析同组分析完共定位,那么不同组间的邻域差异分析,就是下一步。对于高精度,Xenium、CosMx等相对比较容易,前面最好注释,拿到h5ad文件。 这样不同组之间的细胞共定位权重矩阵拿到,进行邻域差异比较我们采用一种简单粗暴的策略直接矩阵相减,disease组共定位权重矩阵 - normal组共定位权重矩阵,形成共定位差异矩阵,并进行均一化。
neighborhoods of cancer-associated fibroblasts revealed by single-cell spatial multi-omics的最新研究成果,该研究通过整合来自10 空间模式提取与亚型命名 以80 µm半径定义CAF邻域,构建“邻域向量”。采用非负矩阵分解(NMF)提取空间模式,识别出四个空间CAF亚型:s1-CAF、s2-CAF、s3-CAF、s4-CAF。 各亚型的空间分布特征 s1-CAF:紧邻癌细胞,44.8%邻域为癌细胞。 s2-CAF:位于基质区,33.9%邻域为基质细胞。 s3-CAF:靠近血管的髓系富集基质微环境,35.9%邻域为髓系细胞。 CAF空间亚型识别流程 步骤一:定义邻域构成向量 以 CAF 为中心,设定一定半径(如 80μm),统计其邻域细胞类型比例,构建 CAF × cell type 的矩阵 步骤二:使用非负矩阵分解(NMF ax.set_title(f"{percent:.1f}% {dominant_type}\n{subtype_names.get(subtype, str(subtype))}", fontsize=10
今日更新脚本,空间邻域差异分析(针对visium、bin模式的Stereo-seq、HD)我们要实现下面的内容(在visium平台)第一步,做好单细胞空间联合分析,无论什么方法(cell2location min_genes=200)sc.pp.normalize_total(visium_data, target_sum=1e4)sc.pp.log1p(visium_data)# 加载单细胞数据 (假设是10X visium_data.obs['cell_type'] = np.random.choice(cell_types, size=visium_data.shape[0]) # 这里只是一个示例第二步,visium的空间共定位分析以及邻域差异分析 # 使用KNN邻域方法计算空间邻域spatial_neighbors = sp.nn.compute_knn(visium_data, n_neighbors=5) # 选择合适的邻居数量# 计算邻域内细胞类型的分布 neighbor_cell_types = visium_data.obs['cell_type'].iloc[spatial_neighbors]# 计算不同细胞类型之间的邻域差异# 例如:可以通过计算不同细胞类型的邻域重叠率来量化邻域差异
高精度平台的这种细胞邻域分析相对容易,dist计算出所有位点之间的距离,距离小于20um的即为邻域细胞。 获取某个中心点附近指定半径范围内的细胞 :param center: 中心点坐标 (x, y) :param radius: 范围半径(单位:微米) :param positions: 细胞空间坐标 ,用于保存结果 """ # 加载空间转录组数据 adata = sc.read(input_file) # 假设空间坐标在adata.obsm['spatial']中,细胞类型在 adata.obs['cell_type']中 positions = adata.obsm['spatial'] # 空间坐标 cell_types = adata.obs['cell_type Based on Cell Type", save=f"{output_dir}/spatial_cluster.png") # 可选:显示聚类树状图 plt.figure(figsize=(10
算法介绍 自适应大邻域搜索算法(Adaptive Large Neighborhood Search),简称(ALNS),是由Ropke与Pisinger在2006年提出的一种启发式方法,其在邻域搜索的基础上增加了对算子的作用效果的衡量 应用场景 1.外卖场景:搜索订单分配骑手的最优方案 2.派单场景:搜索订单分配司机的最优方案 3.车辆路径问题 同类算法 在邻域搜索算法中,有的算法可以只使用一种邻域,如「模拟退火算法」,因此它仅仅搜索了解空间的一小部分 ,找到全局最优的概率较小,它的优势之一是可以避免陷入局部最优; 而有的算法可以使用多种算子,如「变邻域搜索算法」(VNS),它通过在当前解的多个邻域中寻找更满意的解,能够大大提高算法在解空间的搜索范围, 但是它在使用算子时盲目地将每种算子形成的邻域结构都搜索一遍,缺少了一些启发式信息的指导; 而「自适应大邻域搜索算法」就弥补了这种不足,这种算法根据算子的历史表现与使用次数选择下一次迭代使用的算子,通过算子间的相互竞争来生成当前解的邻域结构 在搜索的过程中,「ALNS」会对各个destroy和repair方法的权重进行「动态调整」,以便获得更好的邻域和解。