前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用R语言的cgdsr包获取TCGA数据

使用R语言的cgdsr包获取TCGA数据

作者头像
生信技能树
发布2018-07-27 12:58:55
2.1K0
发布2018-07-27 12:58:55
举报
文章被收录于专栏:生信技能树生信技能树

前些天被TCGA的终结新闻刷屏,但是一直比较忙,还没来得及仔细研读,但是笔记本躺着的一些TCGA教程快发霉了,借此契机好好整理一下吧,预计二十篇左右的笔记

——jimmy

第一篇目录

  • TCGA数据源
  • 查看有多少不同的癌症数据集
  • 查看任意数据集的样本列表方式
  • 查看任意数据集的数据形式
  • 选定数据形式及样本列表后获取感兴趣基因的信息
  • 选定样本列表获取临床信息
  • 综合性获取
  • 从cBioPortal下载点突变信息
  • 从cBioPortal下载拷贝数变异数据
  • 把拷贝数及点突变信息结合画热图
  • 同理还可以下载所有其它TCGA的数据进行后续分析。

正文

TCGA数据源

众所周知,TCGA数据库是目前最综合全面的癌症病人相关组学数据库,包括的测序数据有:

  • DNA Sequencing
  • miRNA Sequencing
  • Protein Expression
  • mRNA Sequencing
  • Total RNA Sequencing
  • Array-based Expression
  • DNA Methylation
  • Copy Number

知名的肿瘤研究机构都有着自己的TCGA数据库探索工具,比如:

  • Broad Institute FireBrowse portal, The Broad Institute
  • cBioPortal for Cancer Genomics, Memorial Sloan-Kettering Cancer Center
  • TCGA Batch Effects, MD Anderson Cancer Center
  • Regulome Explorer, Institute for Systems Biology
  • Next-Generation Clustered Heat Maps, MD Anderson Cancer Center

其中cBioPortal更是被包装到R包里面:http://www.cbioportal.org/cgds_r.jsp

这里就介绍如何使用R语言的cgdsr包来获取任意TCGA数据吧。

查看有多少不同的癌症数据集

cBioPortal是按照发表文章的方式来组织TCGA数据的,当然,里面也还有很多非TCGA的数据集,所有的数据集如下所示:

代码语言:javascript
复制
library(cgdsr)library(DT)

# Get list of cancer studies at server## 获取有哪些数据集

mycgds <- CGDS("http://www.cbioportal.org/public-portal/")
all_TCGA_studies <- getCancerStudies(mycgds)

#all_TCGA_studies[1:3, 1:2]#write.csv(all_TCGA_studies,paste0(Sys.time(),"all_TCGA_studies.csv"),row.names = F) 

DT::datatable(all_TCGA_studies)

也可以去网站上面查看这些数据集的详细信息:http://www.cbioportal.org/data_sets.jsp

查看任意数据集的样本列表方式

上表的cancer_study_id其实就是数据集的名字,我们任意选择一个数据集,比如stad_tcga_pub ,可以查看它里面有多少种样本列表方式。

代码语言:javascript
复制
stad2014 <- "stad_tcga_pub"

## 获取在stad2014数据集中有哪些表格(每个表格都是一个样本列表)

all_tables <- getCaseLists(mycgds, stad2014)
dim(all_tables) ## 共11种样本列表方式
代码语言:javascript
复制
## [1] 11  5
代码语言:javascript
复制
DT::datatable(all_tables[,1:3])

查看任意数据集的数据形式

代码语言:javascript
复制
## 而后获取可以下载哪几种数据,一般是mutation,CNV和表达量数据all_dataset <- getGeneticProfiles(mycgds, stad2014)
DT::datatable(all_dataset,
                  extensions = 'FixedColumns',
                  options = list(                    #dom = 't',
                    scrollX = TRUE,
                    fixedColumns = TRUE
                  ))

一般来说,TCGA的一个项目数据就几种,如下:

选定数据形式及样本列表后获取感兴趣基因的信息

代码语言:javascript
复制
my_dataset <- 'stad_tcga_pub_rna_seq_v2_mrna'

my_table <- "stad_tcga_pub_rna_seq_v2_mrna" 

BRCA1 <- getProfileData(mycgds, "BRCA1", my_dataset, my_table)
dim(BRCA1)
代码语言:javascript
复制
## [1] 265   1
代码语言:javascript
复制
DT::datatable(BRCA1)

样本个数差异很大,不同癌症热度不一样。

选定样本列表获取临床信息

代码语言:javascript
复制
## 如果我们需要绘制survival curve,那么需要获取clinical数据clinicaldata <- getClinicalData(mycgds, my_table)
DT::datatable(clinicaldata,
                  extensions = 'FixedColumns',
                  options = list(                    #dom = 't',
                    scrollX = TRUE,
                    fixedColumns = TRUE
                  ))

综合性获取

只需要根据癌症列表选择自己感兴趣的研究数据集即可,然后选择好感兴趣的数据形式及对应的样本量。就可以获取对应的信息:

代码语言:javascript
复制
library(cgdsr)

library(DT)
 mycgds <- CGDS("http://www.cbioportal.org/public-portal/")
 ##  mycancerstudy = getCancerStudies(mycgds)[25,1]

mycancerstudy = 'brca_tcga' 
 
 getCaseLists(mycgds,mycancerstudy)[,1]
代码语言:javascript
复制
##  [1] "brca_tcga_3way_complete"          "brca_tcga_all"                   
##  [3] "brca_tcga_protein_quantification" "brca_tcga_sequenced"             
##  [5] "brca_tcga_cna"                    "brca_tcga_methylation_hm27"      
##  [7] "brca_tcga_methylation_hm450"      "brca_tcga_mrna"                  
##  [9] "brca_tcga_rna_seq_v2_mrna"        "brca_tcga_rppa"                  
## [11] "brca_tcga_cnaseq"
代码语言:javascript
复制
getGeneticProfiles(mycgds,mycancerstudy)[,1]
代码语言:javascript
复制
##  [1] "brca_tcga_rppa"                          
##  [2] "brca_tcga_rppa_Zscores"                  
##  [3] "brca_tcga_protein_quantification"        
##  [4] "brca_tcga_protein_quantification_zscores"
##  [5] "brca_tcga_gistic"                        
##  [6] "brca_tcga_mrna"                          
##  [7] "brca_tcga_mrna_median_Zscores"           
##  [8] "brca_tcga_rna_seq_v2_mrna"               
##  [9] "brca_tcga_rna_seq_v2_mrna_median_Zscores"
## [10] "brca_tcga_linear_CNA"                    
## [11] "brca_tcga_methylation_hm450"             
## [12] "brca_tcga_mutations"
代码语言:javascript
复制
mycaselist ='brca_tcga_rna_seq_v2_mrna'  

mygeneticprofile = 'brca_tcga_rna_seq_v2_mrna'  

# Get data slices for a specified list of genes, genetic profile and case liste

xpr=getProfileData(mycgds,c('BRCA1','BRCA2'),mygeneticprofile,mycaselist)

DT::datatable(expr)

是不是很简单就得到了指定基因在指定癌症的表达量哦

代码语言:javascript
复制
# Get clinical data for the case listmyclinicaldata = getClinicalData(mycgds,mycaselist)
DT::datatable(myclinicaldata,
                  extensions = 'FixedColumns',
                  options = list(                    #dom = 't',
                    scrollX = TRUE,
                    fixedColumns = TRUE
                  ))
代码语言:javascript
复制
## Warning in instance$preRenderHook(instance): It seems your data is too
## big for client-side DataTables. You may consider server-side processing:
## http://rstudio.github.io/DT/server.html

从cBioPortal下载点突变信息

代码语言:javascript
复制
library(cgdsr)library(DT) 
mycgds <- CGDS("http://www.cbioportal.org/public-portal/")
mutGene=c("EGFR", "PTEN", "TP53", "ATRX")
mut_df <- getProfileData(mycgds, 
                         caseList ="gbm_tcga_sequenced", 
                         geneticProfile = "gbm_tcga_mutations",
                         genes = mutGene
)
mut_df <- apply(mut_df,2,as.factor)
mut_df[mut_df == "NaN"] = ""

mut_df[is.na(mut_df)] = ""

mut_df[mut_df != ''] = "MUT" 

DT::datatable(mut_df)

从cBioPortal下载拷贝数变异数据

把拷贝数及点突变信息结合画热图

下面的函数,主要是配色比较复杂,其实原理很简单,就是一个热图。

代码语言:javascript
复制
library(ComplexHeatmap)

代码不好排版,如下:

出图如下:

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

本文分享自 生信技能树 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TCGA数据源
  • 查看有多少不同的癌症数据集
  • 查看任意数据集的样本列表方式
  • 查看任意数据集的数据形式
  • 选定数据形式及样本列表后获取感兴趣基因的信息
  • 选定样本列表获取临床信息
  • 综合性获取
  • 从cBioPortal下载点突变信息
  • 从cBioPortal下载拷贝数变异数据
  • 把拷贝数及点突变信息结合画热图
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档