RTCGA不是一个单独的包,而是一系列按TCGA数据类型分开的R包集合。
背景介绍
TCGA数据库作为癌症研究的首选公共数据库,整合了各种癌症的多组学数据,主要包含DNA、mRNA、miRNA、total RNA sequencing以及甲基化、拷贝数等多种数据类型,今天小编给大家带来的是一个针对TCGA多种数据类型进行下载和分析的工具--RTCGA! RTCGA的工作流程主要如下图所示: (参考链接:https://rtcga.github.io/RTCGA/index.html)
在作者的说明文件可以看到,目前最新的数据是更新到2016.1.28,数据类型主要包括:mutations,RNA-seq,clinical,mRNA,miRNA-seq,RPPA,CNV,methylation.
R包安装
首先用bioconductor安装RTCGA包,在获取不同类型的数据进行分析的过程中,都要先安装特定的包! BiocManager::install("RTCGA")library(RTCGA)#先用infoTCGA()看一下R包中的数据统计infoTCGA()
数据获取及分析
01 基因表达数据
在这里我们用COAD,LUAD两种癌症作为示例,基因选取TP53、PTEN、METTL3。 ##首先提取这三个基因在COAD、LUAD中的表达矩阵library(RTCGA.mRNA)expr
去掉dataset列的'.mRNA'后缀,方便后续可视化 #计数一下两种癌症的样本数nb_samples
可以通过ggpubr包对表达数据进行一个可视化统计: ggboxplot(expr, x = "dataset", y = c("TP53", "PTEN", "METTL3"), combine = TRUE, color = "dataset", palette = "jco", ylab = "Expression", add = "jitter", # Add jittered points add.params = list(size = 0.1, jitter = 0.2) # Point size and the amount of jittering)
可以标注一些显著的基因 ggboxplot(expr, x = "dataset", y = c("TP53", "PTEN", "METTL3"), combine = TRUE, color = "dataset", palette = "jco", ylab = "Expression", add = "jitter", # Add jittered points add.params = list(size = 0.1, jitter = 0.2), # Point size and the amount of jittering label = "bcr_patient_barcode", # column containing point labels label.select = list(top.up = 2, top.down = 2),# Select some labels to display font.label = list(size = 9, face = "italic"), # label font repel = TRUE # Avoid label text overplotting)
02 PCA分析
使用RTCGA.rnaseq包数据进行PCA分析,expressionsTCGA ()函数获取表达数据,在这里我们使用全部基因进行PCA。
expressionsTCGA()如指定参数extract.cols,则返回特定基因在各个样本的表达量,如果想返回特定基因,可将参数赋值为“Gene symbol|Gene ID”形式,如 'VENTX|27287'。
library(RTCGA.rnaseq)expressionsTCGA(COAD.rnaseq, LUAD.rnaseq) %>% rename(cohort = dataset) %>% filter(substr(bcr_patient_barcode, 14, 15) == "01") -> plotpcaTCGA(plot, "cohort") -> plotplot(plot)
03 生存分析
使用RTCGA.clinical包获取生存数据,按照癌症类型分为38个数据集,名称分别为COAD.clinical, LUAD.clinical等。
以COAD数据集为例,首先看一下数据集的内容:
library('RTCGA.clinical')library('tidyverse')clinical=COAD.clinicalhead(colnames(clinical))dim(clinical)
使用survivalTCGA()函数可以从RTCGA.clinical中获取临床数据,如果不注明extract.cols参数,那么结果只有三列:times 、bcr_patient_barcode、patient.vital_status,分别是生存时间、barcode及病人生存状态。
# 获取COAD和LUAD的生存数据survivalTCGA(COAD.clinical, LUAD.clinical, extract.cols = 'admin.disease_code') -> clinical_plot# kmTCGA绘图kmTCGA(clinical_plot, explanatory.names = 'admin.disease_code', pval = TRUE)kmTCGA(clinical_plot, explanatory.names = 'admin.disease_code', main = '',#设置随访时间xlim = c(0,4000))
小编总结
RTCGA作为一个专注于TCGA数据分析的工具,不仅仅可以让我们更加方便快捷的下载到所需的数据,并且内部还提供了丰富的分析和可视化工具,完美的契合了TCGA的各个数据。