介绍
恶性实体瘤组织不仅包括肿瘤细胞,还包括与肿瘤相关的正常上皮和间质细胞、免疫细胞和血管细胞。基质细胞被认为在肿瘤生长、疾病进展和耐药性中起重要作用; 浸润性免疫细胞的作用具有上下文依赖性。浸润的间质细胞和免疫细胞构成了肿瘤组织中正常细胞的主要组成部分,不仅在分子研究中干扰了肿瘤信号,在肿瘤生物学中也起着重要的作用。
Estimate是一种使用基因表达特征来推断肿瘤样本中间质和免疫细胞比例的方法,全称为Estimation of STromal and Immune cells in MAlignant Tumor tissues using Expression data(使用表达数据估计恶性肿瘤中的间质和免疫细胞),即可以通过ESTIMATE算法用表达数据来估计恶性肿瘤组织中的基质细胞和免疫细胞的含量,预测出免疫评分和基质评分,从而预测其含量,以及计算每个肿瘤样本中的肿瘤纯度,如果基质细胞和免疫细胞含量多了,那么肿瘤纯度就低,反之肿瘤纯度就高了
参考文献:《Inferring tumour purity and stromal and immune cell admixture from expression data》
关于输出结果
结果 | 解释 |
---|---|
stromal scor | 基质细胞评分 |
immune score | 免疫细胞评分 |
estimate score | 综合评分(基质细胞打分和免疫细胞打分的加和) |
TumorPurity | 肿瘤纯度 |
关于代码
一、下载R包
library(utils)
rforge <- "http://r-forge.r-project.org"
install.packages("estimate", repos=rforge, dependencies=TRUE)
二、加载数据
#打开R包
library(estimate)
# 加载示例数据(即表达矩阵)
Expr <- system.file("extdata", "sample_input.txt", package="estimate")
read.table(Expr)[1:4,1:4] # 查看一下数据
## s516 s518 s519 s520
## C9orf152 4.881540 4.575656 3.739469 3.695996
## ELMO2 7.298054 7.555440 7.533202 7.382355
## CREB3L1 5.569164 5.700406 5.959730 5.770007
## RPS11 13.389937 13.848820 13.642862 13.654622
# 对于我们平时输入的表达矩阵可以用这个标准化
Expr=log2(edgeR::cpm(Expr)+1) # 本次不运,因为示例数据在格式上需要转化一下
可以通过示例数据看出,我们需要的输入数据是一个行名是基因名GeneSymbol (或 EntrezGeneID),列是样本的表达矩阵
三、计算
ESTIMATE 综合了多个平台,计算得分之前必须将表达文件转化成gct格式
#准备 gct格式 的表达谱文件
filterCommonGenes(input.f=Expr, #刚刚准备的表达矩阵的名字
output.f="Estimate_gene.gct", #输出的gct格式文件名
id="GeneSymbol") #标注好是GeneSymbol 还是EntrezGeneID
# 成功表达谱转换为 gct 格式,并且保存到Estimate_gene.gct文件中
# 计算得分
estimateScore(input.ds = "Estimate_gene.gct", # 刚刚转化好的gct文件
output.ds="Estimate_score.gct", # 计算得分输出的文件名
platform="affymetrix") # 数据来源的平台
# 读取并整理得分文件
scores=read.table("Estimate_score.gct",skip = 2,header = T) #读取
rownames(scores)=scores[,1]
scores=t(scores[,3:ncol(scores)])
scores
#输出文件
write.csv(scores,"scores.csv")
write.table(scores,"scores.txt",sep = "\t",row.names=T,col.names = T)

& 关于计算得分的平台“platform”
数据 | 设置 |
---|---|
芯片数据 | plotform 的值设置为 affymetrix |
二代测序数据 | platform 的值设置为 illumina |
注意!由于R包的个性化设定,当平台plotform="illumina" 时,输出结果无肿瘤纯度
四、画图
ESTIMATE 可以生成一个 ESTIMATE评分 与 肿瘤纯度 关系的一个图:
plotPurity(
"Estimate_score.gct", #计算得分输出的文件名
samples = "s520", # 样本名
platform = "affymetrix", #平台
output.dir = "figs" #图片保存的地方
)

学习的教程:
生信技能树的使用ESTIMATE计算肿瘤的免疫得分
obwteESTIMATE包计算肿瘤纯度
感谢大佬们的无私分享
学习总结如果有不对的地方,欢迎大家指正
网友评论