是否所有的癌症的TNM分期都有生存预测意义

在前面的教程 指定病人的指定基因的突变全景瀑布图,和 带临床信息的肿瘤突变maf文件分析维度更多,我们初步认识了TCGA数据库的33个癌症类型里面病人的临床信息,基本上都是在 TCGA-Clinical Data Resource (CDR) Outcome  文件里面。

在 https://gdc.cancer.gov/about-data/publications/pancanatlas 页面下载 即可,简单的归纳整理后:

> table(phe$type,phe$new_stage)
      
       other  s1  s2  s3  s4
  ACC      2   9  44  19  18
  BLCA     2   2 131 141 136
  BRCA    24 183 621 249  20
  CESC   307   0   0   0   0
  CHOL     0  20  11   4  10
  COAD    11  76 178 129  65
  DLBC    48   0   0   0   0
  ESCA    23  18  79  56   9
  GBM    596   0   0   0   0
  HNSC    75  27  74  82 270
  KICH     0  54  33  19   7
  KIRC     3 269  57 125  83
  KIRP    30 173  21  52  15
  LAML   200   0   0   0   0
  LGG    515   0   0   0   0
  LIHC    24 175  87  86   5
  LUAD     8 279 124  85  26
  LUSC     4 245 163  85   7
  MESO     0  10  16  45  16
  OV     587   0   0   0   0
  PAAD     3  21 152   4   5
  PCPG   179   0   0   0   0
  PRAD   500   0   0   0   0
  READ     9  33  51  52  25
  SARC   261   0   0   0   0
  SKCM    59  77 140 171  23
  STAD    27  59 130 183  44
  TGCT    53  55  12  14   0
  THCA     2 285  52 113  55
  THYM   124   0   0   0   0
  UCEC   548   0   0   0   0
  UCS     57   0   0   0   0
  UVM      1   0  39  36   4

可以看到并不是所有的癌症类型都有 临床指标 ajcc_pathologic_tumor_stage  ,有几个癌症需要去看 clinical_stage 信息 。

对于表格末端,比如SARC,THYM和UCEC以及UCS癌症,就没有区分好的ajcc_pathologic_tumor_stage  ,因为肿瘤背景知识不够,所以这里我也不清楚为什么!

认识一下TNM分期

TNM分期系统首先由法国人Pierre Denoix于1943年至1952年间提出,后来美国癌症联合委员会(AJCC,American Joint Committee on Cancer)和国际抗癌联盟(UICC,Union for International Cancer Control)逐步开始建立国际性的分期标准,并于1968年正式出版了第1版《恶性肿瘤 TNM分类法》手册。

权威性毋庸置疑了!TNM分类法在《百度百科》详解如下:

  • T(“T”是肿瘤一词英文“Tumor”的首字母)指肿瘤原发灶的情况,随着肿瘤体积的增加和邻近组织受累范围的增加,依次用T1~T4来表示。
  • N(“N”是淋巴结一词英文“Node”的首字母)指区域淋巴结(regional lymph node)受累情况。淋巴结未受累时,用N0表示。随着淋巴结受累程度和范围的增加,依次用N1~N3表示
  • M(“M”是转移一词英文“metastasis”的首字母)指远处转移(通常是血道转移),没有远处转移者用M0表示,有远处转移者用M1表示。

在此基础上,用TNM三个指标的组合(grouping)划出特定的分期(stage)。

批量针对stage这样的分组做生存分析

再次回顾一下前面的代码:

phe$new_stage = ifelse(phe$ajcc_pathologic_tumor_stage %in% c( 'Stage I','Stage IA','Stage IB'),'s1',
                      ifelse(phe$ajcc_pathologic_tumor_stage %in% c('Stage II' ,'Stage IIA','Stage IIB','Stage IIC'),'s2',
                             ifelse(phe$ajcc_pathologic_tumor_stage %in% c('Stage III','Stage IIIA','Stage IIIB','Stage IIIC'),'s3',
                                    ifelse(phe$ajcc_pathologic_tumor_stage %in% c( 'Stage IV','Stage IVA' ,'Stage IVB','Stage IVC'),'s4','other'
                                    )  ) ) )

因为前面指出来了,有一些癌症 比如SARC,THYM和UCEC以及UCS癌症,就没有区分好的ajcc_pathologic_tumor_stage  , 所以剔除它们:

library(survminer) 
library(survival)
load(file = 'phe_stage.Rdata')
phe=phe[phe$new_stage != 'other',]
table(phe$type,phe$new_stage) 
tp=unique(phe$type)
tp
stage_sur_list <- lapply(tp, function(x){
  #x=tp[1]
  this_phe=phe[phe$type==x,]
  # 这里先看 os 
  survival_dat=this_phe[,c('new_stage','OS','OS.time')]
  colnames(survival_dat)=c('group','event','time')
  survival_dat$time =  survival_dat$time/365
  fit <- survfit(Surv(time, event) ~ group,
                 data = survival_dat)
  survp=ggsurvplot(fit,data = survival_dat, #这里很关键,不然会报错
                   legend.title = x,
                   pval = T, #在图上添加log rank检验的p值 
                   risk.table = F, #在图下方添加风险表
                   xlab = "Time in years", #x轴标题
                   xlim = c(0, 10), #展示x轴的范围
                   break.time.by = 1, #x轴间隔
                   size = 1.5#线条大小
                   )
  return(survp)
})

x=3;y=7
all_plot <- arrange_ggsurvplots(stage_sur_list,
                                print = F,
                                ncol =x, nrow = y)
all_plot

x=15;y=35
ggsave(all_plot,filename = 'stage_sur_plot.pdf',
       width = x,height = y)

可以看到 ajcc_pathologic_tumor_stage  这个临床信息还是很容易区分病人生存情况的啊:

ajcc_pathologic_tumor_stage  区分生存

以及:

ajcc_pathologic_tumor_stage 区分生存效果好

简单肉眼看了看,在 MESO 不显著,挺奇怪的:

MESO 的ajcc_pathologic_tumor_stage 无法区分生存

是不是意味着 MESO 的ajcc_pathologic_tumor_stage  这个临床信息判断方式有问题,需要更新了?

另外,既然这么多癌症, 每个都需要出图,看起来也很麻烦,实际上我们需要的仅仅是p值,是否统计学显著而已,所以理论上我们不需要出图,可以survdiff代替 survfit ,直接计算p值和HR值。我们下一讲继续哈!

(0)

相关推荐