ESTIMATE计算免疫基质得分以及肿瘤纯度
1.概述
Estimate根据转录组数据来计算免疫基质得分,也可得到肿瘤样本的肿瘤纯度
其原理本质上是先收集好免疫基因集和基质基因集,通过ssGSEA来计算每个样本各自基因集的得分
2.官网
3.代码实现
安装estiamte包(安装不上可尝试本地安装)
rforge <- "http://r-forge.r-project.org"
install.packages("estimate", repos = rforge, dependencies = TRUE)
library(estimate)
准备数据:表达谱数据要是txt格式的,csv会报错,因为包内函数默认使用read.table来读取文件
个人拙见:以GSE116174数据为例,个人认为使用FPKM,TPM,count等类型数据差别不大,因为原理是用其表达值高低进行排序。但个人倾向用标化后数据进行处理
关于平台选择问题:官方提供三个选择,分别是"affymetrix", "agilent", "illumina",但是看原始代码可以发现,三个选择并不影响免疫、基质和总体得分,无论输入哪个平台,结果都是一致的。唯一不同的是在设置为"affymetrix"时候,会计算一个肿瘤纯度,至于测序数据能不能用这个肿瘤纯度,我也不敢确认,但是看到有些文献是直接用的,效果还不错,所以个人倾向不管什么数据都填"affymetrix"
library(estimate)
setwd("D:\\bioinformatics\\jupyter\\data")
##将准备好的表达谱保存为txt格式,这里是用ncbiid,如果是用genesymbol,改成id="GeneSymbol"即可
filterCommonGenes(input.f="GSE116174.txt", output.f="GSE116174.gct", id="EntrezID")
estimateScore(input.ds="GSE116174.gct", output.ds="GSE116174_estimate_score.gct", platform="affymetrix")
将结果保存为其他格式
estimate_score <- read.table("GSE116174_estimate_score.gct", skip = 2, header = TRUE)
##写出csv
write.csv(estimate_score,"GSE116174_est.csv",row.names = FALSE)
结果展示:三个得分+一个肿瘤纯度
终:写这个单纯记录一下过程,避免后面自己忘记了