首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >方法分享--空转配受体分析之LARIS

方法分享--空转配受体分析之LARIS

原创
作者头像
追风少年i
发布2025-12-20 15:43:22
发布2025-12-20 15:43:22
2950
举报

作者,Evil Genius

比起别人真的坎坷了,干啥也不顺。

当然了,相逢既是缘分,我希望大家能学会技能,不要走我踩过的坑,偶尔罗嗦了一点,当然点到即止,科研的路还是要大家自己亲自去走。

今天我们分享一个方法--LARIS,参考文献在

其中最核心的地方在于结合空间位置信息分析配受体。

LARIS(空间转录组学中的配体与受体互作分析),这是一种精确且可扩展的方法,能够在单细胞或珠分辨率上识别细胞类型特异性及空间受限的配体-受体相互作用。LARIS兼容所有空间转录组技术,可量化互作特异性、推断信号发送-接收方向性,并检测差异相互作用如何随时间和空间变化。

LARIS通过结合计算模拟的配体-受体扩散过程与基于空间k近邻图的局部细胞异质性分析,以余弦相似度为度量,推断单细胞水平的配体-受体互作评分及空间特异性细胞间通讯。

方法看起来值得研究一下。

看看文献中的运用示例

将LARIS应用于两个真实空间数据集——人扁桃体(揭示生发中心功能分区和关键信号枢纽)与发育中小鼠大脑皮层(解析细胞互作的时空动态规律),证明了其在复杂生物系统中发现新颖生物学洞察的能力。

LARIS对人扁桃体空间数据的分析结果

大家注意依据通讯信息分析热点区域的这个分析方法。

华大数据的运用,通讯的时空变化。

这个方法主要针对的高精度,全流程的python代码。

看其中一个示例

代码语言:javascript
复制
import numpy as np
import pandas as pd
import scanpy as sc
import matplotlib.pyplot as plt
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)

# Colours
from matplotlib import cm
from matplotlib import colors, colorbar
cmap_own = cm.get_cmap('magma_r', 256)
newcolors = cmap_own(np.linspace(0,0.75 , 256))
Greys = cm.get_cmap('Greys_r', 256)
#newcolors[:1, :] = Greys(np.linspace(0.8125, 0.8725, 1))
newcolors[:10, :] = Greys(np.linspace(0.8125, 0.8725, 10))
pos_cmap = colors.ListedColormap(newcolors)

adata=sc.read('/data1/mdai/Result/single-cell/Methods/LARIS/tutorial/adata_tonsil.h5ad') 

# Check spatial mapping
x_width=adata.obsm['X_spatial'][:,0].max()-adata.obsm['X_spatial'][:,0].min()
y_width=adata.obsm['X_spatial'][:,1].max()-adata.obsm['X_spatial'][:,1].min()

plt.rcParams['figure.figsize'] = 5, 5*y_width/x_width

sc.pl.embedding(
    adata,
    basis='X_spatial',
    color=['cell_type'],
    size=80,frameon=False)

plt.rcParams['figure.figsize'] = 4, 4
代码语言:javascript
复制
# Check spatial mapping
x_width=adata.obsm['X_spatial'][:,0].max()-adata.obsm['X_spatial'][:,0].min()
y_width=adata.obsm['X_spatial'][:,1].max()-adata.obsm['X_spatial'][:,1].min()

plt.rcParams['figure.figsize'] = 5, 5*y_width/x_width

sc.pl.embedding(
    adata,
    basis='X_spatial',
    color=['cell_type'],
    groups=['T_CD4'],
    size=80,frameon=False)

plt.rcParams['figure.figsize'] = 4, 4
代码语言:javascript
复制
# Check spatial UMAP
x_width=adata.obsm['X_umap'][:,0].max()-adata.obsm['X_umap'][:,0].min()
y_width=adata.obsm['X_umap'][:,1].max()-adata.obsm['X_umap'][:,1].min()

plt.rcParams['figure.figsize'] = 5, 5*y_width/x_width

sc.pl.embedding(
    adata,
    basis='X_umap',
    color=['cell_type'],
    size=40,frameon=False)

plt.rcParams['figure.figsize'] = 4, 4
代码语言:javascript
复制
lr_df=pd.read_csv('/data1/mdai/Result/single-cell/Methods/LARIS/tutorial/human_lr_database_CellChatDB_formatted_v2.csv',index_col=0)

rows_keep=np.logical_and( lr_df['ligand'].isin(adata.var_names), lr_df['receptor'].isin(adata.var_names) )
lr_df=lr_df.loc[rows_keep].copy()

%%time
lr_adata=la.tl.prepareLRInteraction(
    adata, # object used to construt the LR object
    lr_df, # dataframe to use for interactions
    number_nearest_neighbors=20,
    use_rep_spatial='X_spatial'
)

%%time
import warnings
warnings.filterwarnings("ignore")
LARIS_variable_interactions, res_LARIS=la.tl.runLARIS(
    lr_adata,
    adata,
    use_rep='X_spatial',
    n_nearest_neighbors=20,
    random_seed=27,
    n_repeats=5,
    mu = 0.40, # larger value indicates more consideration for specificity
    sigma=100,
    remove_lowly_expressed=False,
    expressed_pct=0.1,
    n_cells_expressed_threshold=100,
    n_top_lr=lr_adata.shape[1],

    by_celltype=True,
    ### Parameters for cell type-level inference when by_celltype set to True
    groupby='cell_type', # label to group by
    use_rep_spatial='X_spatial', # spatial coordinates
    mu_celltype=100, # higher value puts more emphasis on cell type specificity
    expressed_pct_celltype=0.1, # expression percentage cut off per cell type
    remove_lowly_expressed_celltype=False,
    mask_threshold=1e-6, # mask for cosg, lower value is less restrictive
    n_neighbors_permutation=30,
    score_threshold= 1e-10,
    spatial_weight = 3.0,
)

sc.pl.dotplot(lr_adata,
              LARIS_variable_interactions.index[:10],
              groupby='region_name',
             standard_scale='var',
             cmap='Spectral_r')
代码语言:javascript
复制
x_width=adata.obsm['X_spatial'][:,0].max()-adata.obsm['X_spatial'][:,0].min()
y_width=adata.obsm['X_spatial'][:,1].max()-adata.obsm['X_spatial'][:,1].min()

plt.rcParams['figure.figsize'] = 2.5, 2.5*y_width/x_width

sc.pl.embedding(
    lr_adata,
    basis='X_spatial',
    color=LARIS_variable_interactions.index[:4],
    cmap=pos_cmap,
 #   vmin=1,
  #  vmax=1.5,
      # palette=self_palette2,
       ncols=4,
    # size=80,
    frameon=False)
plt.rcParams['figure.figsize'] = 4, 4
代码语言:javascript
复制
x_width=adata.obsm['X_spatial'][:,0].max()-adata.obsm['X_spatial'][:,0].min()
y_width=adata.obsm['X_spatial'][:,1].max()-adata.obsm['X_spatial'][:,1].min()

plt.rcParams['figure.figsize'] = 2.5, 2.5*y_width/x_width

sc.pl.embedding(
    lr_adata,
    basis='X_spatial',
    color=res_LARIS['interaction_name'][:12].unique(),
    cmap=pos_cmap,
 #   vmin=1,
  #  vmax=1.5,
      # palette=self_palette2,
       ncols=3,
      # size=80,
    frameon=False)
plt.rcParams['figure.figsize'] = 4, 4

等等,链接在LARIS on human tonsil Slide-tags data, inference and visualization — LARIS 0.9.0 documentation

生活很好,有你更好。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 比起别人真的坎坷了,干啥也不顺。
  • 当然了,相逢既是缘分,我希望大家能学会技能,不要走我踩过的坑,偶尔罗嗦了一点,当然点到即止,科研的路还是要大家自己亲自去走。
  • 今天我们分享一个方法--LARIS,参考文献在
  • 其中最核心的地方在于结合空间位置信息分析配受体。
  • LARIS(空间转录组学中的配体与受体互作分析),这是一种精确且可扩展的方法,能够在单细胞或珠分辨率上识别细胞类型特异性及空间受限的配体-受体相互作用。LARIS兼容所有空间转录组技术,可量化互作特异性、推断信号发送-接收方向性,并检测差异相互作用如何随时间和空间变化。
  • LARIS通过结合计算模拟的配体-受体扩散过程与基于空间k近邻图的局部细胞异质性分析,以余弦相似度为度量,推断单细胞水平的配体-受体互作评分及空间特异性细胞间通讯。
  • 方法看起来值得研究一下。
  • 看看文献中的运用示例
  • 将LARIS应用于两个真实空间数据集——人扁桃体(揭示生发中心功能分区和关键信号枢纽)与发育中小鼠大脑皮层(解析细胞互作的时空动态规律),证明了其在复杂生物系统中发现新颖生物学洞察的能力。
  • LARIS对人扁桃体空间数据的分析结果
  • 大家注意依据通讯信息分析热点区域的这个分析方法。
  • 华大数据的运用,通讯的时空变化。
  • 这个方法主要针对的高精度,全流程的python代码。
  • 看其中一个示例
  • 等等,链接在LARIS on human tonsil Slide-tags data, inference and visualization — LARIS 0.9.0 documentation
  • 生活很好,有你更好。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档