介紹
惡性實體瘤組織不僅包括腫瘤細胞,還包括與腫瘤相關的正常上皮和間質細胞、免疫細胞和血管細胞。基質細胞被認為在腫瘤生長、疾病進展和耐藥性中起重要作用; 浸潤性免疫細胞的作用具有上下文依賴性。浸潤的間質細胞和免疫細胞構成了腫瘤組織中正常細胞的主要組成部分,不僅在分子研究中干擾了腫瘤信號,在腫瘤生物學中也起著重要的作用。
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包計算腫瘤純度
感謝大佬們的無私分享
學習總結如果有不對的地方,歡迎大家指正