乐于分享
好东西不私藏

基于最优传输的通讯分析工具COMMOT学习

基于最优传输的通讯分析工具COMMOT学习

COMMOT(基于最优传输的通讯分析,COMMunication analysis by Optimal Transport),用于推断空间转录组中的细胞间通讯。该工具充分考虑了不同配体与受体物种之间的竞争关系,以及细胞间的空间距离。COMMOT采用创新的集体最优传输算法,有效解决了空间转录组分析中复杂的分子相互作用与空间约束难题,不仅能精准处理配体-受体间的竞争关系,还集成了一套基于机器学习的下游分析工具,用于推断空间信号的传导方向及受其调控的靶基因。

分析流程

1.导入
import osimport gcimport otimport pickleimport anndataimport scanpy as scimport pandas as pdimport numpy as npfrom scipy import sparsefrom scipy.stats import spearmanr, pearsonrfrom scipy.spatial import distance_matriximport matplotlib.pyplot as pltimport commot as ct
2.示例数据读取
adata = sc.datasets.visium_sge(sample_id='V1_Mouse_Brain_Sagittal_Posterior')
3.数据预处理

在此分析中,需要使用能够合理反映分子丰度的非负值。仅对数据进行了最基本的预处理,包括总计数归一化和 log1p转换,但研究者也可以根据需求执行更详尽的预处理步骤,例如通过回归分析剔除细胞周期基因的影响。

adata.var_names_make_unique()adata.raw = adatasc.pp.normalize_total(adata, inplace=True)sc.pp.log1p(adata)adata_dis500 = adata.copy()

细胞降维聚类分群

sc.pp.highly_variable_genes(adata, min_mean=0.0125, max_mean=3, min_disp=0.5)adata = adata[:, adata.var.highly_variable]sc.tl.pca(adata, svd_solver='arpack')sc.pp.neighbors(adata, n_neighbors=10, n_pcs=40)sc.tl.umap(adata)sc.tl.leiden(adata, resolution=0.4)sc.pl.spatial(adata, color='leiden')
4.空间通讯推断

使用CellChatDB配体-受体数据库,且仅使用其中的分泌型信号配体-受体对。

df_cellchat = ct.pp.ligand_receptor_database(species='mouse', signaling_type='Secreted Signaling', database='CellChat')print(df_cellchat.shape)

随后对配体-受体对进行筛选,仅保留那些配体和受体在至少5%的spots中均有表达的配对。

df_cellchat_filtered = ct.pp.filter_lr_database(df_cellchat, adata_dis500, min_cell_pct=0.05)print(df_cellchat_filtered.shape)# (250, 4)
print(df_cellchat_filtered.head())#       0              1     2                   3#0  Tgfb1  Tgfbr1_Tgfbr2  TGFb  Secreted Signaling#1  Tgfb2  Tgfbr1_Tgfbr2  TGFb  Secreted Signaling#2  Tgfb3  Tgfbr1_Tgfbr2  TGFb  Secreted Signaling#3  Tgfb1  Acvr1b_Tgfbr2  TGFb  Secreted Signaling#4  Tgfb1  Acvr1c_Tgfbr2  TGFb  Secreted Signaling

对这250个配体-受体对进行空间通讯推断,设定空间距离上限为500。CellChat数据库考虑了异源多聚体结构单元。推断得到的信号传导结果以spot-to-spot矩阵的形式存储在 nnData 对象的obsp插槽中。例如,通过配体-受体对 Wnt4–Fzd4_Lrp6,从 spot i 向 spot j 发送信号的得分可从 adata_dis500.obsp[‘commot-cellchat-Wnt4-Fzd4_Lrp6’][i, j] 中获取。

ct.tl.spatial_communication(adata_dis500,    database_name='cellchat', df_ligrec=df_cellchat_filtered, dis_thr=500, heteromeric=True, pathway_sum=True)

确定某条信号通路(例如PSAP通路)的空间方向。其中,各spots发出信号的方向经过插值后存储在adata_dis500.obsm[‘commot_sender_vf-cellchat-PSAP’] 中,而各空间点接收信号的来源方向则存储在 adata_dis500.obsm[‘commot_receiver_vf-cellchat-PSAP’] 中。

ct.tl.communication_direction(adata_dis500, database_name='cellchat', pathway_name='PSAP', k=5)ct.pl.plot_cell_communication(adata_dis500, database_name='cellchat', pathway_name='PSAP', plot_method='grid', background_legend=True,    scale=0.00003, ndsize=8, grid_density=0.4, summary='sender', background='image', clustering='leiden', cmap='Alphabet',    normalize_v = True, normalize_v_quantile=0.995)

箭头代表了信号传导的方向与强度:

  1. 方向(Direction): 箭头指向的方向表示信号(如配体)从发送细胞(Sender)向接收细胞(Receiver)物理扩散/传导的趋势。
  2. 长度/粗细(Magnitude): 箭头的长短或粗细通常代表通讯强度的相对大小。箭头越明显,说明该区域的信号传导越活跃或方向越一致。
  3. 物理意义: 在你的 PSAP 通路例子中,如果这是 sender_vf(发送端向量场),箭头就指向配体分子扩散的目标区域;如果是 receiver_vf(接收端向量场),则表示该点接收到的信号主要来自哪个方位。或者也可以将信号传导结果汇总到生成的Leiden聚类上。对PSAP信号通路也进行了此项汇总,结果存储在adata_dis500.uns[‘commot_cluster-leiden-cellchat-PSAP’] 中。
adata_dis500.obs['leiden'] = adata.obs['leiden']ct.tl.cluster_communication(adata_dis500, database_name='cellchat', pathway_name='PSAP', clustering='leiden',    n_permutations=100)

可视化

ct.pl.plot_cluster_communication_network(adata_dis500, uns_names=['commot_cluster-leiden-cellchat-PSAP'],    nx_node_pos=None, nx_bg_pos=False, p_value_cutoff = 5e-2, filename='PSAP_cluster.pdf', nx_node_cmap='Light24')
ct.tl.cluster_position(adata_dis500, clustering='leiden')ct.pl.plot_cluster_communication_network(adata_dis500, uns_names=['commot_cluster-leiden-cellchat-PSAP'], clustering='leiden',    nx_node_pos='cluster', nx_pos_idx=np.array([01]), nx_bg_pos=True, nx_bg_ndsize=0.25, p_value_cutoff=5e-2,    filename='PSAP_cluster_spatial.pdf', nx_node_cmap='Light24')

左边是教程中的图,右边是跑出来的图,存在很大区别。

5.下游分析

下游分析中虽可识别与信号传导相关的差异表达基因,但该功能还依赖低版本R环境。若要使用,需降级R。

参考资料:

  1. Trajectory-based differential expression analysis for single-cell sequencing data. Nat Commun. 2020 Mar 5;11(1):1201.
  2. COMMET github: https://github.com/zcang/COMMOT
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 基于最优传输的通讯分析工具COMMOT学习

猜你喜欢

  • 暂无文章