026 肿瘤突变负荷与生存相关性分析,在完成肿瘤突变负荷相关性分析之后进行其相关的生存分析,能更进一步地验证其结果所对应地价值

一、生信分析的目的

肿瘤突变负荷是评价基因突变频率高低的指标。肿瘤基因突变越多,其细胞表面所带抗原数量就会提高。这样的肿瘤细胞就越容易被免疫系统识别。因此,检测恶性肿瘤的肿瘤突变负荷,就可以预测患者对免疫治疗的效果。 此外,其对免疫系统的刺激也能间接提高肿瘤患者生存预后。在肿瘤突变负荷相关性分析之后进行其相关的生存分析,能更进一步地验证其结果所对应地价值。

在肿瘤突变负荷相关性分析之后进行其相关的生存分析,能更进一步地验证其结果所对应地价值。

二、具体的代码

remove(list = ls()) ##清空当前环境
setwd("D:/生信代码复现/33.肿瘤突变负荷与生存相关性分析/33.肿瘤突变负荷与生存相关性分析") ##💚💚💚设置路径


#引用包
library(limma)
library(survival)

tmbFile="TMB.txt"      #💛💛💛这个是肿瘤突变的打分文件
cliFile="time.txt"     #💛💛💛这个生存曲线文件,需要到网站下载,然后自己通过excel进行整理                                        

#读取TMB文件,并对输入文件整理
rt=read.table(tmbFile,sep="\t",header=T,check.names=F,row.names=1)
data=as.matrix(rt)
row.names(data)=gsub("(.*?)\\-(.*?)\\-(.*?)\\-(.*?)\\-.*","\\1\\-\\2\\-\\3",row.names(data))
data=avereps(data)

#读取生存数据
cli=read.table(cliFile,sep="\t",check.names=F,header=T,row.names=1)

#数据合并并输出结果
sameSample=intersect(row.names(data),row.names(cli))
data=data[sameSample,]
cli=cli[sameSample,]
surData=cbind(cli,TMB=data)

surData$futime=surData$futime/365          
var="TMB"
a=ifelse(surData[,var]<=median(surData[,var]),"Low","High")
diff=survdiff(Surv(futime, fustat) ~a,data = surData)
pValue=1-pchisq(diff$chisq,df=1)
if(pValue<0.001){
	pValue="p<0.001"
}else{
	pValue=paste0("p=",sprintf("%.03f",pValue))
}
fit <- survfit(Surv(futime, fustat) ~ a, data = surData)

#绘制生存曲线
pdf(file="TMBsurvival.pdf", width=5, height=5)      #💜💜💜最终会生成目标基因的肿瘤突变负荷和生存曲线之间的
plot(fit, 
     lwd=2,
     col=c("red","blue"),
     xlab="Time (year)",
     mark.time=T,
     ylab="Survival rate",
     main=paste0(var,"(",pValue,")") )
legend("topright", 
     c("High TMB","Low TMB"), 
     lwd=2, 
     col=c("red","blue"))
dev.off()

#查看高低TMB组五年生存率
summary(fit)

三、最终的效果

①R语言中的效果:
image.png

结果显示突变负荷高低组之间的生存状态存在差异。
且高突变组生存状态高于低突变组,这结果正符合了本文开篇所提及的“免疫系统刺激”。
肿瘤突变负荷不仅仅局限于为免疫治疗提供参考,其免疫调动效应对肿瘤患者的生存预后往往是具有价值的,但常常被研究者们忽略。
②文件效果:
image.png

四、遇到的问题

五、参考

①具体代码参考——公众号《叉叉滴同学的生信笔记》