【细胞通讯】LIANA

最近,其实我已经推荐了很多不同的细胞通讯的方法和工具,目前大多数的细胞通讯网络推理方法都是基于单细胞转录组数据。也有一些review来总结这些不同的方法(Armingol et al,. 2021[Nature Reviews]; Almet et al,. 2021[Current Opinion in Systems Biology])。但是,这些review重在总结并没有对不同方法进行比较研究,因此细胞通讯网络推理效果如何也无从知晓。

细胞通讯的预测通常由两部分组成:细胞间互作先验知识资源(主要是配体-受体互作数据)和计算识别方法。先验知识和计算方法选择对最终细胞通讯推理结果会产生很大影响。其具体影响如何,最近发表的这个文章中,作者系统的比较了16个细胞间互作先验知识资源和7种计算方法,外加一种集成方法。

关于不同细胞间互作先验知识资源,特异性配体-受体互作数据很少,都有不同程度的重合性配体-受体互作数据。通过研究细胞间互作先验知识资源与计算识别方法的所有可能组合发现:细胞间互作先验知识资源和计算识别方法的选择都对细胞通讯推理结果产生重大影响。通过空间共定位、细胞激素活性、受体蛋白丰度分析发现:不同细胞通讯推理方法普遍与这些数据模式是一致的。为了更好的整合不同细胞间互作先验知识资源和计算识别方法,文章作者还提供了一个框架(LIANA,如下图所示)帮助用户使用已有数据资源和计算识别方法进行细胞通讯网络构建。并且,在该框架下用户能够同时使用多种单一或组合方法对自己的数据集进行细胞通讯推理。

我们下面来看下主要结论和结果。

  1. Resource uniqueness and overlap (主要是数据库之间的对比,看一致的情况和不一致的情况)

首先是数据库的来源,Many of these resources share the same original data sources, including general biological databases such as KEGG, Reactome, and STRING,当然,还有很多其他的数据库。

首先查看一下各大数据库中配受体对的差异,As a consequence of their common origins, we noted limited uniqueness across the resources, with mean percentages of 6.4% unique receivers, 5.7% unique transmitters, and 10.4%unique interactions。结论就是:共有性非常低,各个软件都有其第一无二的配受体对,而且占比差异很大,如下图。

然后作者利用Jaccard index(这个指数其实很简单,一般就是交集除以并集,来衡量相似性)计算两两配受体数据库,结果作者发现超过60%的interactin是出现在其它库中的。

所以这部分配受体库差异总结来说:反正各个库都有差异,只是比例大小不同。

2. Resource prior knowledge bias (先验知识的一些偏好性)

首先把配体受体信息映射到一定的pathway或者生物学过程(SignaLink, NetPath, and CancerSEA)上,来说查看是否不同数据库之间有不同的偏好性。

结果发现:在SignalLink中,RTKJAK/STATTGFWNTNotch通路占比最大(下图A)。Ramilowski、ConnectomeDB、CellTalkDB、LRdb和iTALK显示出高度相似的模式,和第一个结果发现他们相似度较高也一致。它们都表现除了T-cell的pathway的显著富集(下图B)。通过和CancerSEA对比发现,CellphoneDB在inflammation, proliferation, and quiescence中比较富集(下图C)。然后作者还查看了disease marker的相关信息,发现大部分器官之间没有显著差异,除了Breast,Bone Marrow, Lymph Nodes, and the Hypothalamus。

3. Using LIANA to systematically compare CCC prediction

紧接着,作者比较利用不同方法之间,以及不同库之间的结果的一致性。作者比较的原则是:挑选每种组合预测出来的interaction的top1000(具体为啥是1000,没有交代),然后看他们之间的overlap情况。结果作者发现不管使用那种数据库,那种预测方法,预测出来的相互作用差异都很大(下图5)。平均的Jaccard index只有不到0.1。

另外作者还进行了其它组合的测试,比如相同方法但是不同数据库,相同数据库但是不同方法。然后发现基于相同的方法,但是不同数据库的话,结果的一致性提高了一点。(这里就不仅怀疑,以前发表的paper,很多都是基于不同的细胞通讯方法,结果都说自己的合理的一面,既然差异这么大,不同人推测出不同的结果,应该如何对待。。emoji

4. Robustness to noise in resources and data

紧接着作者衡量了不同的noise对于不同方法的影响,例如随机cell的type信息,选取cell type的子集,替换配体-受体互作的信息等。结果发现:相对来说CellChat, CellPhoneDB, and SingleCellSignalR对待噪声,更加稳定。

5. Association between CCC predictions and cytokine expression signatures

由于整个的评估缺乏一个gold data,所以作者使用OmniPath,一个覆盖数据最完整的库,作为标准进行评估。

通过上面的分析,作者发现几乎所有的方法都能够检测出一些特异表达的受体蛋白。因为受体蛋白的水平并不能反应活性,作者利用已知的43个乳腺癌相关cytokine表达因子来进行评估。

Odds ratios were then calculated as the ratio between any CCC prediction with corresponding active cytokine in a given receiver cell type。

结果作者发现预测的配体-受体互作的rank和cytokine的活性呈现较强的正相关。

6. Enrichment of predicted interactions between spatially adjacent cell types

一般情况下,临近的cell有大概率互作的可能,所以作者下来利用空间转录组的信息来验证是否预测的cell-cell互作在空间上有距离的邻近性。然后作者发现空间转录组中细胞类型的共定位和单细胞中数据中预测的CCC的优先级有一定的正相关(下图)。

=======安装=======

if (!requireNamespace("BiocManager", quietly = TRUE))

install.packages("BiocManager")

if (!requireNamespace("remotes", quietly = TRUE))

install.packages("remotes")

remotes::install_github('saezlab/liana')

======例子测试=======

library(tidyverse)

library(magrittr)

library(liana)

liana提供通过OmnipathR获得并格式化的CCC资源,然后将其转换为每个方法的适当格式。

并且它集成了很多现有的方法,可以使用任何一种方法来使用和运行。

为了测试liana,我们将使用从SeuratData获得的人类PBMCs sRNA序列数据集。liana一般将Seurat和SingleCellExperiment对象作为输入,其中包含经过处理的counts和cell cluster结果。

liana_path <- system.file(package = "liana")

testdata <-readRDS(file.path(liana_path , "testdata", "input", "testdata.rds"))

testdata %>% dplyr::glimpse()

Liana_wrap函数可以调用许多方法,每个方法都可以使用提供的参数来运行。

现在我们测试一下调用liana中当前可用的所有方法。

在这里,我们只使用默认的CCC资源。

liana_test <- liana_wrap(testdata)

从结果可以看出,Liana返回一个结果列表,其中每个元素对应一个方法。

但是注意的是,默认情况下,LIANA目前提供的是他们重写的这些函数和方法。

另外,LIANA目前提供不同方法结果的等级排序,例如均值,中位数,综合排名等。

liana_test <- liana_test %>% liana_aggregate()

dplyr::glimpse(liana_test)

基本获得这个细胞通讯的基础数据之后,就可以进行一系列相关图片的绘制了。

=====点图(Dot plot)====

绘制B cell与其它三个类型的cell(NK, CD8 T, B)之间aggregate_rank最低的top25的受体-配体对:

liana_test %>% dplyr::filter(source =="B") %>% dplyr::top_n(25, desc(aggregate_rank)) %>%

liana_dotplot(source_groups = c("B"),target_groups = c("NK", "CD8 T", "B"))

其中SingleCellSignalR的LRscore表示配体和受体的表达量(Expression magnitude),NATMI的特异性权重表示给定相互作用对配体(L)和受体(R)细胞类型的特异性(interaction Specificity)。

======Frequency Heatmap=====

现在,我们将绘制每对潜在通信细胞类型的交互频率,这个功能在CellChat和CellPhoneDB中均有实现。

liana_trunc <- liana_test %>% filter(aggregate_rank <= 0.01)

heat_freq(liana_trunc)

注:我们首先通过aggregate_rank进行过滤,用于挑选显著的相互作用对。

=========Frequency Chord diagram======

和frequency heatmap类似,也可以化成circos形式的chord diagram图。

p <- chord_freq(liana_trunc,source_groups = c("CD8 T", "NK", "B"),target_groups = c("CD8 T", "NK", "B"))

当然,我们也可以利用LIANA只run其中的一个方法或者数据库。

例如下面一个例子就是只运行CellPhoneDB的方法和它的库:

sce <- readRDS(file.path(liana_path , "testdata", "input", "testsce.rds"))

cpdb_test <- liana_wrap(sce,method = 'cellphonedb',resource = c('CellPhoneDB'),permutation.params = list(nperms=100,parallelize=FALSE,workers=4))

cpdb_test %>%mutate(pvalue = -log10(pvalue + 1e-10)) %>% liana_dotplot(source_groups = c("c"),target_groups = c("c", "a", "b"),specificity = "pvalue",magnitude = "lr.mean",show_complex = TRUE)

所以说LIANA的一大优势似乎,常见的细胞通讯的方法在LIANA中都重新实现了,所以我们可以调用和组合想用的方法以及想要的库。

例如,我们可以基于cellphoneDB的库,调用多种其它方法组合:

complex_test <- liana_wrap(testdata,method = c('natmi', 'sca', 'logfc'),resource = c('CellPhoneDB'))

complex_test %>% liana_aggregate()

本文使用 文章同步助手 同步

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容