【生物信息】ESTIMATE 分析免疫评分和肿瘤纯度
ESTIMATE 分析免疫评分和肿瘤纯度
背景:
从病人身上获取的肿瘤组织不仅仅包括包括肿瘤细胞,还包括与肿瘤微环境相关的很多其他细胞,比如正常的基质细胞,免疫细胞、血管内皮和血管内的血细胞。
其中比较重要的就是免疫细胞,免疫细胞的种类很多,不同类型的免疫细胞在抗肿瘤和肿瘤免疫逃逸过程中又发挥了不同的作用,肿瘤的生长、侵袭和转移与肿瘤的生长、侵袭和转移,无不与免疫细胞相关。其次就是基质细胞,基质细胞也被认为在肿瘤生长、疾病进展和耐药性中起重要作用。
所以,有人就萌生了一个想法,如果能够把肿瘤组织中与肿瘤微环境相关的免疫细胞、基质细胞和肿瘤细胞的比例或者丰度计算出来,那是不是很有意义呢?
于是来自MD Anderson cancer center的开发者就提出了一种新的算法,利用癌症样本转录谱的来推断肿瘤细胞的含量,以及浸润的免疫细胞和基质细胞,称为Estimation of STromal and Immune cells in MAlignant Tumour tissues using Expression data,简称 ESTIMATE 。
Yoshihara, Kosuke et al. “Inferring tumour purity and stromal and immune cell admixture from expression data.” Nature communications vol. 4 (2013): 2612. doi:10.1038/ncomms3612
在Pubmed简单搜索,就有 3000+ 的记录,可见该方法很值得学习
与上述CIBERSORT和ssGSEA不同的是:(1)除了免疫细胞,还能分析肿瘤细胞纯度和基质细胞的丰度;(2)关于免疫细胞,仅能计算一个总的免疫细胞评分,而无法给出每种免疫细胞的具体比例。其分析方法其实和ssGSEA有些类似,具体分析流程如下
简单总结一下,作者从TCGA等公共数据库中筛选了不同平台的数据,包括Agilent, Affymetirx, Illumina RNASeq等平台,从中筛选出两个 signature,一个是Stromal signature(基质细胞特征基因),另一个是Immune signature(免疫细胞特征基因)。两个标签分别有141个基因。然后通过ssGSEA分别计算基质得分和免疫得分。最后联合这两个得分生成一个ESTIMATE score,并用于分析肿瘤纯度。该文章在2013年发表于Nature Communication杂志,
ESTIMATE官网上面有很多关于该软件的介绍,其中还对TCGA数据中的常见肿瘤进行了泛癌种的免疫浸润分析,感兴趣的同学可以访问ESTIMATE官方主页进行深入探索:
-官网链接: ESTIMATE: Homehttps://bioinformatics.mdanderson.org/estimate/index.html
案例:
计算肿瘤样本的免疫评分,这里用的是TCGA下载的FPKM格式的表达矩阵
estimate 包计算的不止免疫评分,还包括基质评分,estimate评分及肿瘤纯度
第一步:准备R包
###计算肿瘤样本免疫评分####清空环境变量
rm(list=ls())
options(stringsAsFactors = F)#安装estimate包
install.packages("estimate", repos="http://r-forge.r-project.org", dependencies=TRUE)#加载需要用的包
library(utils)
library(estimate)
第二步:准备表达矩阵,根据数据需要考虑是否进行Log转换
##读取表达文件
load("CESC_FPKM_tumor.Rda")#加载表达矩阵文件
expr <- log2(CESC_FPKM_tumor_final + 1) #将表达量进行log转换
write.table(expr, "FPKM_tumor_log2.txt",sep = "\t",row.names = T,col.names = NA,quote = F)
第三步:将表达值矩阵先转换为gct格式
##转换GCT表达谱格式
filterCommonGenes(input.f = "FPKM_tumor_log2.txt", #输入文件名output.f = "FPKM_tumor_log2.gct", #输出文件名id = "GeneSymbol") #行名为gene symbol
这一步会过滤掉没有信息的基因,如下:230个基因未匹配
[1] "Merged dataset includes 10182 genes (230 mismatched)."
第四步:进行estimate分析
estimateScore("FPKM_tumor_log2.gct", "FPKM_tumor_estimate_score.txt", platform="affymetrix") #默认平台
这里可以通过下方代码查看点图,但没有很大必要
plotPurity(scores="FPKM_tumor_estimate_score.txt")
第五步:进行格式转换,整理成适合分析的格式
est <- read.table("FPKM_tumor_estimate_score.txt", sep = "\t",row.names = 1,check.names = F,stringsAsFactors = F,header = T)
est <- est[,-1] #移除第一列
colnames(est) <- est[1,] #设置列名
est <- as.data.frame(t(est[-1,]))
rownames(est) <- colnames(expr)
write.table(est, file = "FPKM_tumor_estimate_score.txt",sep = "\t",row.names = T,col.names = NA,quote = F)
最终得到如下表所示结果
【生物信息】ESTIMATE 分析免疫评分和肿瘤纯度相关推荐
- VAF,MAF,肿瘤纯度,MCF,CCF的概念和计算方法 (转载)
VAF的概念和计算方法 VAF的全称是Variant Allele Frequency(变异等位基因频率)或Variant Allele Fraction(变异等位基因分数).简单来说就是在基因组某个 ...
- Front Immunol 复现 | 4. 使用estimate包评估肿瘤纯度
前几天有同学问了一篇文章里的一个方法的实现,看了一下这篇文章除了qPCR验证基本都是纯生信,今天就试着来复现一下.随缘复现哈,如果阅读数据不好看的话,可能就放弃了,希望大家多多点赞.在看,转发支持. ...
- ESTIMATE包计算肿瘤纯度
介绍 肿瘤组织中的正常细胞不仅在分子研究中影响肿瘤信号,而且在癌症生物学中也起着重要作用. 估计包使用基因表达数据预测肿瘤组织中基质细胞和免疫细胞的存在. 示例 首先使用通过Affymetrix U13 ...
- 免疫组库数据分析(二):Excel 分析免疫组库数据
免疫组库数据分析(二):Excel 分析免疫组库数据 前言 在系列文章第一篇<免疫组库数据分析(一):windows 系统下MiXCR的安装和使用>讲解了5'RACE实验数据如何在Wind ...
- R语言使用epiDisplay包的kap函数(kap.2.raters函数)计算Kappa统计量的值(总一致性、期望一致性)、对两个评分对象的结果进行一致性分析、评分的类别为多个类别
R语言使用epiDisplay包的kap函数(kap.2.raters函数)计算Kappa统计量的值(总一致性.期望一致性).对两个评分对象的结果进行一致性分析.评分的类别为多个类别 目录
- R语言使用epiDisplay包的kap函数(kap.m.raters)计算Kappa统计量的值(总一致性、期望一致性)、对多个评分对象的结果进行一致性分析、评分的类别为多个类别
R语言使用epiDisplay包的kap函数(kap.m.raters)计算Kappa统计量的值(总一致性.期望一致性).对多个评分对象的结果进行一致性分析.评分的类别为多个类别 目录
- R语言epiDisplay包的kap函数计算Kappa统计量的值(总一致性、期望一致性)、对多个评分对象的结果进行一致性分析、评分的类别为多个类别、如果评分中包含缺失值则标准误及其相关统计量则无法计算
R语言使用epiDisplay包的kap函数(kap.m.raters)函数计算Kappa统计量的值(总一致性.期望一致性).对多个评分对象的结果进行一致性分析.评分的类别为多个类别.如果评分中包含缺 ...
- R语言使用epiDisplay包的kap函数(kap.ByCategory)函数计算Kappa统计量的值(总一致性、期望一致性)、对多个评分对象的结果进行一致性分析、评分的类别为多个类别
R语言使用epiDisplay包的kap函数(kap.ByCategory)函数计算Kappa统计量的值(总一致性.期望一致性).对多个评分对象的结果进行一致性分析.评分的类别为多个类别 目录
- R在线性回归中的应用--分析豆瓣评分与票房之间关系的案例研究
一数据准备 二查看各国影片的票房概况 三通过简单线性回归研究豆瓣评分与票房之间的关系 四小结 一.数据准备 我们需要的票房数据来自CBO中国票房网,中国票房网记录了从2008年到目前为止的每年票房排名 ...
最新文章
- 如何在 Python 中开始机器学习?(小白必看)
- python语法错误修改_python基础之错误、调试(异常处理)
- re管理器Java_自定义布局管理器-FormLayout
- Jmeter参数化的理解
- android layoutparams,Android LayoutParams用法解析
- android app应用签名生成工具,android应用签名详细步骤
- readline/readline.h: No such file or directory
- 出租广告Java代码_Spring cloud 查询返回广告创意实例代码
- 在 SELECT 查询中使用透视
- SouthidcEditor编辑器如何支持上传png图片
- 干部人事数字档案管理系统,实现从“纸件”到“指尖”的安全蜕变
- 4.智能快递柜(通信篇-SOCKET)
- 手机进程设置多少个最好_手机打开,开发者选项中的这4个设置,性能瞬间提升一倍,不卡顿...
- 读博太孤独?一个人的苦行!
- 笔试面试常见逻辑题及答案
- [OpenGL] 几何着色器
- iphone充电图_为什么我的iPhone无法充电?
- PCDN服务接入实操手册
- 23.模拟拖动登录框效果
- matlab中合并分子分母,matlab – 将分子和分母多项式分解为偶数和奇数部分
热门文章
- [生而为人-思考] 沈定刚教授座谈会感悟记录
- [golang]-golang将中文转化为拼音
- 深度学习3—用三层全连接神经网络训练MNIST手写数字字符集
- 金融计量模型(六):金融时间序列及其特征
- IDEA在push出现Pushed master to new branch origin/master错误
- https://blog.csdn.net/xm_csdn/article/details/74419683
- Python小游戏之王者荣耀
- 基于vue+ionic+capacitor的图书借阅app
- CISA国际注册信息系统审计师
- idea设置主题皮肤(详细)