导语
GUIDE ╲
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 <- expressionsTCGA(COAD.mRNA, LUAD.mRNA,
extract.cols = c("TP53", "PTEN", "METTL3"))
expr
去掉dataset列的'.mRNA'后缀,方便后续可视化
#计数一下两种癌症的样本数
nb_samples <- table(expr$dataset)
nb_samples
expr$dataset <- gsub(pattern = ".mRNA", replacement = "", expr$dataset)
expr$bcr_patient_barcode <- paste0(expr$dataset, c(1:172, 1:32))
head(expr)
可以通过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") -> plot
pcaTCGA(plot, "cohort") -> plot
plot(plot)
03
生存分析
使用RTCGA.clinical包获取生存数据,按照癌症类型分为38个数据集,名称分别为COAD.clinical, LUAD.clinical等。
以COAD数据集为例,首先看一下数据集的内容:
library('RTCGA.clinical')
library('tidyverse')
clinical=COAD.clinical
head(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的各个数据类型!