前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >必会的TCGA数据挖掘工具之RTCGA

必会的TCGA数据挖掘工具之RTCGA

作者头像
作图丫
发布2022-03-29 11:34:47
4430
发布2022-03-29 11:34:47
举报
文章被收录于专栏:作图丫

导语

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包,在获取不同类型的数据进行分析的过程中,都要先安装特定的包!

代码语言:javascript
复制
BiocManager::install("RTCGA")
library(RTCGA)
#先用infoTCGA()看一下R包中的数据统计
infoTCGA()

数据获取及分析

01

基因表达数据

在这里我们用COAD,LUAD两种癌症作为示例,基因选取TP53、PTEN、METTL3。

代码语言:javascript
复制
##首先提取这三个基因在COAD、LUAD中的表达矩阵
library(RTCGA.mRNA)
expr <- expressionsTCGA(COAD.mRNA, LUAD.mRNA,
                        extract.cols = c("TP53", "PTEN", "METTL3"))
expr

去掉dataset列的'.mRNA'后缀,方便后续可视化

代码语言:javascript
复制
#计数一下两种癌症的样本数
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包对表达数据进行一个可视化统计:

代码语言:javascript
复制
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
)

可以标注一些显著的基因

代码语言:javascript
复制
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'。

代码语言:javascript
复制
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数据集为例,首先看一下数据集的内容:

代码语言:javascript
复制
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及病人生存状态。

代码语言:javascript
复制
# 获取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的各个数据类型!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作图丫 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档