基于基因表达数据通过mMCP-counter估计小鼠样本组织浸润免疫和基质细胞组成

引言

在生物信息学分析中,相信目前估计样本免疫细胞浸润是必不可少的。目前,在R中有多种方法可以实现上述目的,例如ESTIMATE、CIBERSORT、xCell、MCPcounter、TIMER和ssGSEA等算法,以下是对这些算法的简单介绍。

ESTIMATE(Estimation of STromal and Immune cells in MAlignant Tumor tissues using Expression data)是一种基于基因表达数据估计肿瘤组织中免疫和间质细胞浸润水平的方法。其原理为利用肿瘤组织中基因表达的信号,通过估计免疫和间质组分的相对含量,来反映免疫细胞浸润的程度。

CIBERSORT(Cell-type Identification By Estimating Relative Subsets Of RNA Transcripts)是一种用于定量估计复杂混合组织样本中免疫细胞亚群的方法。其原理是基于基因表达数据,通过使用已知免疫细胞类型的基因表达签名,推断样本中免疫细胞亚群的相对比例。

xCell是一种基于基因表达数据的计算工具,用于预测免疫细胞类型的相对丰度。其原理是通过使用已知免疫细胞类型的基因表达特征,结合机器学习算法,预测样本中免疫细胞类型的相对含量。

MCPcounter(Microenvironment Cell Populations counter)通过基因表达数据对肿瘤组织中的免疫和非免疫细胞进行定量估计。其原理是基于免疫和非免疫细胞类型的基因表达特征,通过线性回归模型,估计肿瘤组织中不同细胞类型的含量。

TIMER(Tumor IMmune Estimation Resource)是一个在线工具,用于估计肿瘤组织中免疫细胞浸润水平,并提供相应的R软件包。其原理是基于基因表达数据,通过统计方法和基于免疫细胞标记基因的算法,估计肿瘤组织中免疫细胞的含量。

ssGSEA(single-sample gene set enrichment analysis)是一种基于基因集富集分析的方法,用于评估单个样本中的免疫细胞浸润程度。其原理为通过将样本的基因表达数据与预定义的免疫细胞相关基因集进行比较,计算样本中各免疫细胞类型的富集得分。

当然,以上算法的使用对象主要基于人,那如何实现小鼠样本的免疫细胞浸润估计呢?今天我们向大家介绍一个R包—mMCP-counter,可以通过小鼠的基因表达矩阵来估计样本中组织浸润免疫细胞和基质细胞的丰度。其实这项工作已于2020年发表于Genome Medicine。

Petitprez, F., Levy, S., Sun, CM. et al. The murine Microenvironment Cell Population counter method to estimate abundance of tissue-infiltrating immune and stromal cell populations in murine samples using gene expression. Genome Med 12, 86 (2020).

我们只需要提供自己测序样本的表达矩阵,进行简单的标准化之后就可以估计每个样本中免疫细胞和基质细胞的浸润情况,运行速度很快,输出结果为数据框,可以供我们进一步可视化。

我们主要看看mMCP-counter的工作原理以及实际操作。

背景

对于许多疾病,如炎症性疾病或癌症,准确确定疾病发展过程中组织中的细胞组成(免疫和间质细胞种群)通常至关重要。有多种方法可从人体样本中获取这些数据,包括IHC或FCM,或通过转录组学数据进行估计。

对于肿瘤研究,分析组织中的免疫和间质组成尤为重要。事实上,肿瘤是高度异质的组织,有各种免疫和间质细胞浸润。研究表明,免疫细胞浸润密度通常与疾病预后有关。例如,在大多数癌症中,CD8+ T细胞浸润密度与患者的生存期延长相关,而极化为M2表型的巨噬细胞通常与不良预后相关。

组织样本的转录组测序可以得到样本中所有细胞的基因的平均表达情况。由于一些基因在特定细胞亚群中独特表达,因此可以利用它们的表达量来确定潜在细胞亚群的丰度。基于这一特点,作者既往开发了MCP-counter算法,用于定量人体组织中的免疫浸润,并且该算法具有良好的表现性能。

虽然小鼠模型被广泛用于解析各种疾病(包括炎症性疾病和癌症)的病理生理机制,但与人体样本相比,目前用于测量小鼠组织免疫和间质细胞组成的计算方法非常有限,如DCQ(Digital Cell Quantification)和基于CIBERSORT算法改进的ImmuCC算法等。

因此,作者基于MCP-counter方法开发了适用于小鼠免疫和基质细胞组成估计的算法—小鼠微环境细胞种群计数器(mMCP-counter)。mMCP-counter可以作为R软件包使用(https://github.com/cit-bioinfo/mMCP-counter)。它的输入文件为基因表达矩阵,输出文件为样本中16种细胞的RNA丰度。其工作原理如下图。

mMCP-counter的工作原理

主要结果

mMCP-counter可以鉴定哪些细胞类型

基于mMCP-counter可以鉴定16中细胞亚群,其中12种为免疫细胞成分(T cells, CD8+ T cells, NK cells, B-derived cells, memory B cells, monocytes/macrophages, monocytes, granulocytes, mast cells, eosinophils, neutrophils, 和basophils),4种为基质细胞成分(vessels, lymphatics, endothelial cells, 和fibroblasts),每种细胞的marker如下。

免疫/间质细胞marker

流式细胞验证

那么mMCP-counter的表现能力如何呢?其结果是否可靠?作者同其他已发表的方法做了比较。此外,作者也通过小鼠组织进行了验证。作者使用流式细胞术和RNA-Seq分析了14个样本,包括脾脏(n=4),外周血(n=4),腹腔(n=4)和TC1肿瘤(n=2),并使用FCM估计的每种细胞类型的比例作为参考。不考虑组织来源,作者将所有样本合并,使用mMCP-counter算法基于RNA-Seq数据估计了免疫细胞组成,并计算了流式细胞术估计值与mMCP-counter评分之间的相关性。作者发现大多数细胞亚群的mMCP-counter的评分与流式细胞术得到的比例之间存在良好的一致性,相关性介于0.629(嗜酸性粒细胞)和0.975(CD8+ T细胞)之间。

流式细胞验证

mMCP-counter区分肿瘤类型和对免疫检查点阻断的应答

基于小鼠的临床前研究模型在药物临床试验中发挥着至关重要的作用。免疫治疗在多种肿瘤中显示出良好的抗肿瘤有效性,并且改变了多种肿瘤的治疗格局,那么mMCP-counter能否预测免疫治疗的应答呢。因此,作者将mMCP-counter应用于接受了CTLA-4和PD-L1联合阻断治疗的肾癌和间皮瘤小鼠模型,以研究mMCP-counter是否能够检测到在免疫检查点阻断中与治疗应答与否相关的肿瘤微环境组成的差异。结果表明mMCP-counter可以很好的区分不同肿瘤类型以及对免疫治疗应答与否的患者。通过mMCP-counter发现在两种肿瘤模型中对治疗应答的肿瘤具有更高水平的T细胞、CD8+ T细胞和单核细胞/巨噬细胞浸润。然而,对于不同的肿瘤类型,对治疗应答的肿瘤与非应答的肿瘤具有不同的微环境组成。

mMCP-counter区分肿瘤类型和对免疫检查点阻断的应答

mMCP-counter识别早期阿尔茨海默病发病的免疫和基质相关因素

最后,作者在AD动物模型中验证了mMCP-counter的表现性能。首先作者从CK-p25小鼠的海马体中获取了RNA-seq数据,随后将其标记为AD小鼠,并在神经退行性发生的2或6周时获取了相似的对照CK小鼠的数据。使用mMCP-counter,作者观察到样本的免疫和基质组成可以很好地将AD小鼠与CK小鼠区分开,表明AD影响了海马体的免疫浸润和血管生成。

mMCP-counter识别早期阿尔茨海默病发病的免疫和基质相关因素

mMCP-counter的实际应用

我们基于RNAseq数据看下mMCP-counter的具体使用方法。
首先我们安装mMCP-counter包并加载相关包

library(devtools)
install_github("cit-bioinfo/mMCP-counter")
library(mMCPcounter)
library(tidyverse)

读入数据并做预处理

#读入数据
expressionData <-read.table("Expression.csv",header = T,sep = ",",row.names =NULL)
#去除重复基因名
expressionData<-expressionData[!duplicated(expressionData$Name),]
#第一列转换为行名
rownames(expressionData) <- expressionData[,1]
expressionData <- expressionData[,-1]
#标准化+log2转化
#去除在所有样本里表达量都为零的基因
expressionData<-expressionData[rowSums(expressionData)>0,]
expressionData <- log(expressionData+1)

接下来是重点,估计免疫细胞浸润

Immune<- mMCPcounter.estimate(expressionData, features =c("Gene.Symbol","ENSEMBL.ID","Probes")[1])

通过以上步骤我们就得到了每个样本16种细胞的浸润水平。


16种免疫/间质细胞浸润水平

然后我们就可以进行相关的可视化了,这里我选择用热图可视化。

#绘制免疫细胞浸润热图
library(pheatmap)
#列注释
annol_col<-data.frame(Group=factor(rep(c("A","B"),each=3)))
row.names(annol_col)=colnames(Immune)
annol_color<-list(Group=c(A='#66C2A5',B="#FC8D62"))

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

推荐阅读更多精彩内容