细胞通讯(Cell-cell communication,CCC)是指细胞之间通过化学信号进行信息交换的过程。这些信号可以是蛋白质、肽、核酸、脂质或小分子,它们通过特定的受体在细胞表面或内部被接收,从而触发细胞内的信号传导途径,影响细胞的行为和功能。细胞通讯对于维持组织功能、协调细胞行为、发育过程以及免疫反应等至关重要。目前,基于空间转录组学进行细胞通讯的分析软件非常多,比如单细胞改良版软件cellphoneDB、CellChat、Nichenet、以及专门为空转通讯分析的stlearn、COMMOT等。本文主要介绍COMMOT软件的分析方法。
COMMOT(最佳传输的通讯分析)通过同时考虑空间转录组学数据或空间注释scRNA-seq数据的大量配体-受体对来推断CCC,这些数据配备了根据成对空间成像数据估计的细胞之间的空间距离;总结和比较空间信号的方向;使用树模型识别CCC对基因表达的下游影响;并为各种分析提供可视化工具。
使用集体最优传输理论处理复杂的分子相互作用和空间限制,这种方法允许同时考虑多种配体和受体之间的相互作用
对CCC实施空间距离约束,避免连接空间上相距较远的细胞,以更准确地模拟实际的细胞间通讯
能够同时考虑空间转录组学数据或空间注释的scRNA-seq数据中的大量配体-受体对
使用树模型识别CCC对基因表达的下游影响,并提供可视化工具来展示分析结果
1. 数据准备
该软件数据读取依赖python:scanpy,该软件读取空间数据时要求的格式为spaceranger生成的h5文件以及spatial文件夹,其中spatial文件夹对应的文件信息如下:
但HD数据无tissue_positions.csv,使用的格式是tissue_positions.parquet,如果想读取数据,需要将对应的表格输出,具体的指令如下:
library(arrow)
tissue.positions <-
read_parquet('./binned_outputs/square_008um/spatial/tissue_positions.parquet')
tissue.positions[, 'pxl_row_in_fullres']<-round(tissue.positions[, 'pxl_row_in_fullres'])
tissue.positions[, 'pxl_col_in_fullres']<-round(tissue.positions[, 'pxl_col_in_fullres'])
# 导出空转位置数据
write.csv(tissue.positions,file = "./binned_outputs/square_008um/spatial/tissue_positions.csv" ,row.names = F)
2. 数据分析
以10Xgenomics官方小鼠脑组织数据为例
sp_input = "Brain1/outs" #输入数据路径
species = 'mouse' #物种信息
outdir = "output" #输出路径,需要先创建输出的路径
#载入python模块
import os
import gc
import ot
import pickle
import anndata
import scanpy as sc
import pandas as pd
import numpy as np
from scipy import sparse
from scipy.stats import spearmanr, pearsonr
from scipy.spatial import distance_matrix
import matplotlib.pyplot as plt
import commot as ct
adata = sc.read_visium(sp_input) #读取空转数据
#数据预处理
adata.var_names_make_unique()
adata.raw = adata
sc.pp.normalize_total(adata, inplace=True) #数据标准化处理
sc.pp.log1p(adata)
#使用 scRNA-seq 数据的常用方法对数据进行基本聚类
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') #pca分析
sc.pp.neighbors(adata, n_neighbors=10, n_pcs=40)
sc.tl.umap(adata) #umap降维
sc.tl.leiden(adata, resolution=0.4)
#图片绘制
sc.pl.spatial(adata, color='leiden',return_fig=True)
plt.savefig(outdir + '/' + "spatial.umap.pdf")
plt.savefig(outdir + '/' + "spatial.umap.png",dpi=600) #保存图片
#空间通信推理
#database可选:CellChat/CellPhoneDB_v4.0
#signaling_type:对于CellChat可选择'Secreted Signaling', 'Cell-Cell Contact', 或者 'ECM-Receptor',对于CellPhoneDB_v4.0可选择'Secreted Signaling' 或者 'Cell-Cell Contact'
df_cellchat = ct.pp.ligand_receptor_database(species=species, signaling_type='Secreted Signaling', database='CellChat')
#过滤
df_cellchat_filtered = ct.pp.filter_lr_database(df_cellchat, adata_dis500, min_cell_pct=0.05)
# 通讯分析
ct.tl.spatial_communication(adata_dis500,database_name='cellchat', df_ligrec=df_cellchat_filtered, dis_thr=500, heteromeric=True, pathway_sum=True)
adata_dis500.obs['leiden'] = adata.obs['leiden']
adata_dis500.write(outdir + '/' + "adata_dis500.h5ad") #结果保存
#不同通路对应的绘图
for pathway in list(set(df_cellchat_filtered.iloc[:,2])):
ct.tl.communication_direction(adata_dis500, database_name='cellchat', pathway_name=pathway, k=5)
ct.pl.plot_cell_communication(adata_dis500, database_name='cellchat', pathway_name=pathway, plot_method='grid', background_legend=True,scale=0.0008, ndsize=8, grid_density=0.4, summary='sender', background='image', clustering='leiden', cmap='Alphabet',normalize_v = True, normalize_v_quantile=0.995) #scale用于矢量场图的比例参数。值越小,箭头越长。可根据实际情况,进行参数的调整
plt.savefig(outdir + '/' + pathway + '.signal.arrow.grid.spatial.pdf')
plt.savefig(outdir + '/' + pathway + '.signal.arrow.grid.spatial.png',bbox_inches = 'tight',dpi=300) #图片保存,png设置相应的dpi,默认的dpi较小
ct.pl.plot_cell_communication(adata_dis500, database_name='cellchat', pathway_name=pathway, plot_method='stream', background_legend=True,scale=0.00001, ndsize=8, grid_density=0.4, summary='sender', background='image', clustering='leiden', cmap='Alphabet',normalize_v = True, normalize_v_quantile=0.995)
plt.savefig(outdir + '/' + pathway + '.signal.arrow.stream.spatial.png',bbox_inches = 'tight',dpi=300) #图片保存,png设置相应的dpi,默认的dpi较小
以PASP通路结果为例:
图片意义:通路的信号传导方向。可通过信号流图识别细胞间的通讯方向,了解信号是如何在细胞间传递的。但该图的解读应结合具体的生物学背景和研究问题,以确保分析结果的准确性和生物学意义。
Zixuan, Cang,Yanxiang, Zhao,Axel A, Almet et al. Screening cell-cell communication in spatial transcriptomics via collective optimal transport.[J] .Nat Methods, 2023, 20: 0.
CytoTRACE:细胞分化潜能分析|生信开发实战
Visium HD数据分析之Bin2Cell |生信开发实战
ROC分析介绍|生信开发实战
如果使用find_circ来鉴定circRNA|生信开发实战
本文系联川生物公众号原创文章,未经授权禁止转载,侵权必究! 扫描下方二维码 点分享
点点赞
点在看