专栏名称: 生信师兄
本公众号旨在帮助广大的生信小白更好、更轻松的入门生信,专注生信干货分享。
目录
相关文章推荐
涵江时讯  ·  早安!涵江! ·  2 天前  
涵江时讯  ·  早安!涵江! ·  2 天前  
51好读  ›  专栏  ›  生信师兄

细胞通讯之CellChat分析及可视化!

生信师兄  · 公众号  ·  · 2025-02-12 10:05

正文

熟悉师兄公众号的都应该清楚,师兄之前的推文主要集中在各种类型的科研绘图上!但是不少粉丝小伙伴们还是反应,只知道绘图,数据不会分析,还是不行的呀!没错,拿不到可靠的分析结果,只知道绘图,这当然是远远不够的!因此, 学习各种常用的生信数据分析则必然成为了每一个生信人必须要经历的事情。 因此,后续的推文中,师兄会尽可能地多更新一些有关数据分析的内容,可能包含的系列包括《R语言数据处理基本技巧》、《从零开始学单细胞转录组》、《从零开始学空间转录组》等;

本系列,师兄将 从单细胞转录组学开始 ,带领大家一起 从零开始学单细胞 !系列内容可以详见下方大纲!

说明: 由于本系列教程还是强调 面对完全零基础小白 ,所以很多内容师兄会介绍的非常细,对于部分已经入门的老手来说可能比较多余,所以 大家选择性阅读即可!

本系列主要内容目录及单细胞学习交流群,请看Part 1;

本期主要内容,请看Part 2;

合作服务器推荐及生信师兄粉丝专属优惠详情,请看Part 3;

如果您觉得本系列文章对你有帮助的话,欢迎 点赞、收藏、在看+转发 !您的支持是师兄持续更新的最大动力!

Part 1 系列介绍

1.1 内容大纲

单细胞转录组系列教程目录
单细胞转录组系列教程目录

1.2 生信师兄单细胞学习交流群

当然了,好的学习过程离不开详尽地交流讨论和重难点答疑!因此,在发布教程的同时,师兄也成立了 《生信师兄单细胞学习交流群》 用于本系列内容的学习交流。需要的小伙伴可以扫描下方二维码,添加师兄微信后备注 “单细胞学习交流群” 后付费加群!

师兄微信

1.2.1 群内资源

  • 本系列所有免费及付费内容的配套学习资源、代码资源及示例数据;
群内资源(以上图课程目录为准)
群内资源(以上图课程目录为准)

1.2.2 入群费用

  • 入群费用: ¥299元(每集赞1个抵扣1元,至多抵扣100元!此优惠永久有效!)

1.2.3 本系列不含视频教程

  • 目前,师兄还没有足够的时间进行视频课程的录制,所以 本系列教程不包含视频课程 !但是如果大家需要,师兄也一定会尽可能抽时间录制课程!

  • 如果后续推出视频课程 ,还是和《R语言科研绘图进阶版视频教程》一样, 加群的小伙伴届时可凭借入群截图,抵扣购课差价。 所以,早入群早享受吧!

1.2.4 声明

  • 是否加群,纯属自愿! 本系列的大部分内容会是免费阅读, 所以完全支持白嫖! 但是看完还请动动你的手指, 点个赞!点个在看!如果能转发那就太感谢了!
  • 加群可以 获取本系列所有付费部分内容,代码,示例数据,以及定期答疑的交流群
  • 如果考虑好加群,就 早加早享受,随着群内资源的增加,入群的费用也可能会随之增加
  • 优惠方式 点赞 + 在看,并转发这个系列任意一篇文章至朋友圈,每集赞1个抵扣1元,至多抵扣100元!此优惠永久有效哦!

Part2 主要内容

在单细胞高级分析的过程中,我们经常会看到 细胞通讯或者细胞互作 的相关分析内容。那么 什么是细胞通讯?为什么要研究细胞通讯?以及怎么研究细胞通讯呢?

在这篇文章中,师兄就带着大家从小白开始一同探究细胞通讯的内在奥秘!此外,用于细胞通讯分析的R包和其它软件工具包非常多,师兄会在本系列重点介绍 两个用得最多 的细胞通讯工具: CellChat和CellPhoneDB

由于内容较多,今天我们先介绍 CellChat 及其对应的数据库 CellChatDB CellPhoneDB 我们放到下一节再讲!

2.1 细胞通讯简介

2.1.1 什么是细胞通讯?

  • 细胞间相互作用(Cell–cell interactions,CCI) 是多细胞生物生命活动的基石,它确保了细胞能够在复杂的群落环境中协同工作,共同执行集体功能。这一过程 依赖于细胞通过产生多样化的分子和膜结构来相互影响 ,这些分子和膜结构作为信号触发器,激活邻近细胞的信号传导路径,进而协调它们的基因表达模式。这种精细的调控机制随后驱动着细胞执行各种生理功能。

  • CCI涉及多种介质,包括结构与功能蛋白、小分子化合物、细胞外基质成分、膜突出结构以及细胞外囊泡。

  • 在这些相互作用的机制中, 配体与细胞上同源受体的结合,即配体-受体相互作用(LRI),扮演着核心角色 。LRI不仅介导了细胞间的直接信号传递,也构成了 细胞间通信(Cell-cell communication,CCC) 的主要形式。

2.1.2 为什么要研究细胞通讯?

  • 理解生命现象 :细胞通讯是生命活动的基本过程之一,研究细胞通讯有助于深入理解生物体的生长、发育、代谢、免疫等生命现象。
  • 疾病机制探索 :许多疾病的发生发展与细胞通讯异常密切相关,研究细胞通讯可以揭示疾病的发生机制,为疾病诊断和治疗提供新靶点。
  • 推动技术进步 :随着高通量测序和单细胞技术的快速发展,研究细胞通讯的方法和工具不断更新,推动了相关领域的技术进步。

2.1.3 细胞通讯的研究方法有哪些?

细胞通讯的研究方法
细胞通讯的研究方法
  • 2024年1月份,Armingol等人在Nature reviews genetics上发表了题为 The diversification of methods for studying cell–cell interactions and communication 的高分综述,详细的汇总和阐述了目前基于各种不同的方式开发出来的细胞通讯研究工具。
  • 其中,各种核心工具(如 CellPhoneDB CellChat 等),一般基于配体和受体的表达,通过核心评分函数(如表达平均值、表达产物、表达相关性、基于表达的Hill函数和差异组合)推断CCIs。

2.2 CellChat简介

2.2.1 简介

CellChat 是一个强大的工具,用于 分析和可视化细胞间通信(Cell-Cell Communication, CCC) ,特别是在单细胞测序数据背景下。它结合了 基因表达数据、细胞空间位置信息以及已知的配体-受体相互作用数据库(如 CellChatDB),以推断和模拟细胞间的通信网络 。CellChat第一版于2021年发表在Nature Communications上,目前CellChat已经发布了V2版本,虽然文章还没有正式发表,但是已经可以使用了!

参考文献:

  • CellChat V1:https://www.nature.com/articles/s41467-021-21246-9
  • CellChat V2:https://www.biorxiv.org/content/10.1101/2023.11.05.565674v1.full

2.2.2 基本原理

cellchat v2
cellchat v2
  • 输入数据 :单细胞基因表达数据和细胞分群信息,如果应用于空间转录组,还需要提供细胞的空间位置信息;

  • CellChatDB v2: 是一个手动整理的数据库,专注于 人类与小鼠中基于文献证据的配体-受体相互作用 。该数据库收录了约3,300种经过严格验证的分子间交互,涵盖了广泛的作用机制,如分泌性自分泌/旁分泌信号传导(约占40%)、细胞外基质(ECM)与受体的结合(约占17%)、直接的细胞-细胞接触(约占13%),以及非传统蛋白质信号传导模式(约占30%)。相较于CellChatDB v1, v2版本新增了超过一千种蛋白质与非蛋白质(诸如代谢物和突触信号分子)的相互作用 。此外,对于在单细胞RNA测序(scRNA-seq)数据中未直接体现的分子,CellChatDB v2通过识别并利用这些分子的核心介体或酶作为桥梁,间接估算配体与受体的表达水平,从而洞察并纳入非蛋白质介导的潜在细胞间通讯机制,提升了数据库的实用性与前瞻性。

  • 建模和推断: CellChat根据质量作用定律对通信概率进行建模,并使用排列测试识别重要的通信。在所有配体受体对上所有细胞组之间的推断通信概率由三维数组表示。CellChat 通过利用社交网络指标、模式识别方法和多种学习方法来分析推断的网络。

  • 可视化: CellChat 提供了多种直观的可视化输出,以方便对不同分析任务进行数据解释。除了分析单个数据集外,CellChat 还描绘了不同条件下的信号变化。还指示了不同部分的“程序”步骤编号,以便将“程序”部分与整体方案链接起来。

Tips: 关于CellChatDB的详细内容,以及CellChat的计算原理,大家可以参考这篇推文:

  • https://mp.weixin.qq.com/s/r_ZUvqVZ1dZM7nX3r_vbYQ

2.3 CellChat实操

2.3.1 CellChat及其依赖包的安装与加载

######################### CellChat及其依赖包的安装与加载 -----------------
# 安装:
if (!requireNamespace("NMF", quietly = TRUE)) install.packages("NMF")
if (!requireNamespace("circlize", quietly = TRUE)) install.packages("circlize")
if (!requireNamespace("ComplexHeatmap", quietly = TRUE)) BiocManager::install("ComplexHeatmap")
if (!requireNamespace("CellChat", quietly = TRUE)) devtools::install_github("jinworks/CellChat")

# 加载:
library(CellChat)
library(patchwork)
options(stringsAsFactors = FALSE)

2.3.2 CellChat对象的数据输入、处理和初始化

############# 整理数据的样本来源信息 ------------
# ifnb数据集的细胞来源信息可以通过以下链接进行下载:
# https://raw.githubusercontent.com/yelabucsf/demuxlet_paper_code/master/fig3
ctrl "ye1.ctrl.8.10.sm.best.txt", head = T, stringsAsFactors = F)
stim "ye2.stim.8.10.sm.best.txt", head = T, stringsAsFactors = F)
info 
# 将BARCODE重新命名为和ifnb数据集相对应的形式:
info$BARCODE "\\-", replacement = "\\.", info$BARCODE)

# 仅保留高质量的细胞,即包含SNG的细胞:
info "SNG", x = info$BEST), ]

# 移除重复的BARCODE:
info T), ]

# 将样本信息添加到Seurat对象的metadata中:
rownames(info) info "BEST"), drop = F]
names(info) "donor_id")
# 这个函数会自动将info和ifnb根据行名进行map:
ifnb 
# 另外,还需要将Seurat对象中没有样本信息的细胞移除掉:
# 这样,ifnb里面所有细胞都有了对应的样本信息:
ifnb$donor_id[is.na(ifnb$donor_id)] "unknown"
ifnb "unknown")
table(ifnb$donor_id)
# SNG-101 SNG-1015 SNG-1016 SNG-1039  SNG-107 SNG-1244 SNG-1256 SNG-1488
# 1197     3116     1438      663      652     1998     2363     2241

2.3.3 推断细胞间通讯网络







请到「今天看啥」查看全文