前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCGA生存分析③

TCGA生存分析③

作者头像
用户1359560
发布2018-12-05 10:29:46
1.2K0
发布2018-12-05 10:29:46
举报
文章被收录于专栏:生信小驿站

TCGA 癌症基因组图谱(TCGA)是国家癌症研究所(NCI)和国家人类基因组研究所(NHGRI)之间的合作,收集了33种癌症类型的大量临床和基因组数据。 整个TCGA数据集的基因表达超过2PB,数据类型包括CNV分析,SNP基因分型,DNA甲基化,miRNA分析,外显子组测序和其他类型的数据。 可以在cancergenome.nih.gov上了解有关TCGA的更多信息。 数据现在位于Genomic Data Commons Portal。 有很多方法可以访问TCGA数据而无需实际下载和解析来自GDC的数据。 我们将在下面介绍更多这些内容。 但首先,让我们看一个R包,它提供方便,直接的TCGA数据访问。

代码语言:javascript
复制
# Try http:// if https:// doesn't work.
source("https://bioconductor.org/biocLite.R")
# Install the main RTCGA package
biocLite("RTCGA")
# Install the clinical and mRNA gene expression data packages
biocLite("RTCGA.clinical")
biocLite("RTCGA.mRNA")

让我们加载RTCGA包,并使用infoTCGA()函数获取有关每种癌症类型可用数据类型的一些信息。

代码语言:javascript
复制
library(RTCGA)
infoTCGA()

RTCGA临床数据的生存分析 接下来,让我们加载RTCGA.clinical软件包,并获得一些有关可用内容的帮助。

代码语言:javascript
复制
library(RTCGA.clinical)
?clinical

这告诉我们所有可用于每种癌症类型的临床数据集。 如果我们只关注乳腺癌,请查看数据有多大! 仅此数据中有1098行乘3703列。 我们来看一些变量名。 这里要小心使用View(),数据太大,使用view会可能卡。

我们将使用RTCGA包中的survivalTCGA()函数从临床数据中提取生存信息。 它通过查看生命状态(死亡或活着)并创建一个时间变量来实现这一点,该变量既可以是死亡天数,也可以是随访天数。 查看有关生存TCGA的帮助以获取更多信息。 您可以为其提供一个临床数据集列表,以及要提取的变量的字符向量。 让我们来看看乳腺癌,卵巢癌和多形性胶质母细胞瘤。 我们只是提取癌症类型(admin.disease_code)。

代码语言:javascript
复制
# Create the clinical data
clin <- survivalTCGA(BRCA.clinical, OV.clinical, GBM.clinical, 
                     extract.cols="admin.disease_code")
# Show the first few lines
head(clin)
> head(clin)
  times bcr_patient_barcode patient.vital_status admin.disease_code
1  3767        TCGA-3C-AAAU                    0               brca
2  3801        TCGA-3C-AALI                    0               brca
3  1228        TCGA-3C-AALJ                    0               brca
4  1217        TCGA-3C-AALK                    0               brca
5   158        TCGA-4H-AAAK                    0               brca
6  1477        TCGA-5L-AAT0                    0               brca
代码语言:javascript
复制
> # How many samples of each type?
> table(clin$admin.disease_code)

brca  gbm   ov 
1098  595  576 
代码语言:javascript
复制
# Tabulate by outcome
xtabs(~admin.disease_code+patient.vital_status, data=clin) %>% addmargins()

                  patient.vital_status
admin.disease_code    0    1  Sum
              brca  994  104 1098
              gbm   149  446  595
              ov    279  297  576
              Sum  1422  847 2269

现在让我们针对疾病代码运行Cox PH模型。 默认情况下,它会将乳腺癌作为基线,因为按字母顺序排在第一位。 但是如果你想使用因子(),你可以重新排序。

代码语言:javascript
复制
> coxph(Surv(times, patient.vital_status)~admin.disease_code, data=clin)
Call:
coxph(formula = Surv(times, patient.vital_status) ~ admin.disease_code, 
    data = clin)

                        coef exp(coef) se(coef)    z      p
admin.disease_codegbm  2.887    17.948    0.113 25.6 <2e-16
admin.disease_codeov   1.547     4.697    0.115 13.4 <2e-16

Likelihood ratio test=904  on 2 df, p=0
n= 2269, number of events= 847 

这告诉我们,与基线brca组相比,GBM患者的危害增加了约18倍,卵巢癌患者的生存率降低了约5倍。 让我们创建一个生存曲线,用Kaplan-Meier图显示它,并显示前5年存活率的表格。

代码语言:javascript
复制
sfit <- survfit(Surv(times, patient.vital_status)~admin.disease_code, data=clin)
summary(sfit, times=seq(0,365*5,365))

Call: survfit(formula = Surv(times, patient.vital_status) ~ admin.disease_code, 
    data = clin)

                admin.disease_code=brca 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0   1096       0    1.000 0.00000        1.000        1.000
  365    588      13    0.981 0.00516        0.971        0.992
  730    413      11    0.958 0.00851        0.942        0.975
 1095    304      20    0.905 0.01413        0.878        0.933
 1460    207       9    0.873 0.01719        0.840        0.908
 1825    136      14    0.799 0.02474        0.752        0.849

                admin.disease_code=gbm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0    595       2   0.9966 0.00237       0.9920       1.0000
  365    224     257   0.5110 0.02229       0.4692       0.5567
  730     75     127   0.1998 0.01955       0.1649       0.2420
 1095     39      31   0.1135 0.01617       0.0858       0.1500
 1460     27       9   0.0854 0.01463       0.0610       0.1195
 1825     12       9   0.0534 0.01259       0.0336       0.0847

                admin.disease_code=ov 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0    576       0    1.000  0.0000        1.000        1.000
  365    411      59    0.888  0.0139        0.861        0.915
  730    314      55    0.761  0.0198        0.724        0.801
 1095    210      59    0.602  0.0243        0.556        0.651
 1460    133      49    0.451  0.0261        0.402        0.505
 1825     78      39    0.310  0.0260        0.263        0.365
代码语言:javascript
复制
ggsurvplot(sfit, conf.int=TRUE, pval=TRUE)

从上面图可以看出,不同数据集的生存曲线明显存在差异。最好的乳腺癌,其次胶质母细胞瘤,最差的是卵巢癌。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.10.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档