本插图展示了如何加载TCGA多分析数据集并将其转换为Bioconductor核心对象(ExpressionSet, GRanges和GRangesList)。它使用RTCGAToolbox Bioconductor库,但目前你必须使用预开发版本:
库(BiocInstaller) biocLite(“LiNk-NY / RTCGAToolbox”)
从TCGA中可访问的所有完全开放的数据firehose_get命令行程序。
你必须为处理过的数据选择一个“运行日期”:
RTCGAToolbox (rundates <- getFirehoseRunningDates())
[1]“20150402”“20150204”“20141017”“20140902”“20140715”##[7]“20140614”“20140416”“20140316”“20140215”“20140115”##[13]“20131210”“20131114”“20131010”“20130923”“20130523”“20130508”“20130421”“20130406”##[25]“20130326”“20130309”“20130222”“20130203”“20130116”“20121221”##[37]“20121004”“20120913”“20120825”“20120804”“20120725”“20120707”##[43]“20120623”“20120606”“20120525”“20120515”“20120425”“20120412”##[43]“20120321”“20120306”“20120217”“20120124”“20120110”“20111230”##[43]“20111206”“20111128”“20111115”“20111026”
以及用于分析数据的“分析日期”,例如GISTIC2区域的循环拷贝数变化:
(analysisdates <- getFirehoseAnalyzeDates())
[1]“20141017”“20140715”“20140416”“20130923”“20130523”“20130421”“20130326”“20130222”“20130116”“20121221”“20121024”##[13]“20120913”“20120825”“20120725”“20120525”“20120425”##[19]“20120321”“20120217”“20120124”“20111230”“20111128”“20111026”##[25]“20110921”“20110728”“20110525”“20110327”“20110217”##[31]“20110114”“20101223”
为了获得精确的可重现结果,你需要硬编码其中一个,因为数据会随着时间的推移而改变,比如添加样本或者使用新的算法进行处理和分析,但是这里只使用最新版本的runates[1]和analysisdates[1]。
以下命令(未计算)将获取五种癌症类型的数据:
ov <- getFirehoseData(" ov ", runDate=rundates[1], gistic2_Date=analysisdates[1], RNAseq_Gene=TRUE, miRNASeq_Gene=TRUE, RNAseq2_Gene_Norm=TRUE, CNA_SNP=TRUE, CNV_SNP=TRUE, CNA_Seq=TRUE, CNA_CGH=TRUE,甲基化=TRUE,突变=TRUE, mRNA_Array=TRUE, miRNA_Array=TRUE, ristic2_date =analysisdates[1], RNAseq_Gene=TRUE, miRNASeq_Gene=TRUE, RNAseq2_Gene_Norm=TRUE, CNA_SNP=TRUE, CNV_SNP=TRUE, CNA_CGH=TRUE, RNAseq_Gene=TRUE, RNAseq2_Gene_Norm=TRUE, CNA_SNP=TRUE, CNV_SNP=TRUE, CNA_CGH=TRUE甲基化= TRUE,突变= TRUE, mRNA_Array = TRUE, miRNA_Array = TRUE, RPPA = TRUE, todir = NULL) coad < - getFirehoseData(“coad runDate = rundates [1], gistic2_Date = analysisdates [1], RNAseq_Gene = TRUE, miRNASeq_Gene = TRUE, RNAseq2_Gene_Norm = TRUE, CNA_SNP = TRUE, CNV_SNP = TRUE, CNA_Seq = TRUE, CNA_CGH = TRUE,甲基化= TRUE,突变= TRUE, mRNA_Array = TRUE, miRNA_Array = TRUE, RPPA = TRUE, todir = NULL) laml < getFirehoseData(“laml runDate = rundates [1], gistic2_Date = analysisdates [1],RNAseq_Gene = TRUE, miRNASeq_Gene = TRUE, RNAseq2_Gene_Norm = TRUE, CNA_SNP = TRUE, CNV_SNP = TRUE, CNA_Seq = TRUE, CNA_CGH = TRUE,甲基化= TRUE,突变= TRUE, mRNA_Array = TRUE, miRNA_Array = TRUE, RPPA = TRUE, todir = NULL) blca < getFirehoseData(“blca runDate = rundates [1], gistic2_Date = analysisdates [1], RNAseq_Gene = TRUE, miRNASeq_Gene = TRUE, RNAseq2_Gene_Norm = TRUE, CNA_SNP = TRUE, CNV_SNP = TRUE, CNA_Seq = TRUE, CNA_CGH = TRUE,甲基化= TRUE,突变= TRUE, mRNA_Array = TRUE,miRNA_Array = TRUE, RPPA = TRUE, todir = NULL)
相反,我们只是从bioc2015multiomicsworkshop中加载卵巢癌数据集进行演示:
库(bioc2015multiomicsworkshop)
##加载所需包:ozymandias ##加载所需包:CopyNumber450k ##加载所需包:minfi ##加载所需包:lattice ##加载所需包:summarizeexperimental ##加载所需包:Biostrings ##加载所需包:XVector ##加载所需包:bumphunter ##加载所需包:foreach ##加载所需包:iterators ##加载所需包:设置选项('download.file.method.GEOquery'='auto')
## rgl中的警告。init(initValue, onlyNULL): RGL:无法打开X11显示
## fun(libname, pkgname)中的警告:rgl_init中有错误
##加载所需包:DNAcopy
##警告:在“plotPCA”中发现多个方法表
## ##加载包:'CopyNumber450k' ## ##从'package:DNAcopy'中屏蔽了以下对象:## ## plotSample ## ##从'package:bumphunter'中屏蔽了以下对象:## ## getSegments ## ##从'package:BiocGenerics'中屏蔽了以下对象:## ## plotPCA ## ##加载所需包:ConsensusClusterPlus ##加载所需包:RPMM ##加载所需包:cluster ##加载所需包:在“mclust”版本5.0.2中输入“citation(“mclust”)”用于在出版物中引用此R包。##加载所需的包:生存
##警告:当##加载“ozymandias”时,替换之前导入的“GenomicRanges::rowRanges”
注意:包“jsonlite”中的S3类“AsIs”的规范似乎等同于包“BiocGenerics”中的规范:不要为这个类打开重复的类定义。## #加载包:'jsonlite' ## #从'package:utils'中屏蔽以下对象:## #视图##加载所需包:erccdashboard ##加载所需包:ggplot2 ##加载所需包:gridExtra ##加载所需包:ReactomePA ##加载所需包:DBI ## ##加载所需包:'ReactomePA' ## ##从'package:lattice'中屏蔽以下对象:## # dotplot ## #加载所需包:limma ## #加载包:'limma' ## ##下面的对象从'package:RPMM'被屏蔽:## ## ebayes ## ##下面的对象从'package:BiocGenerics'被屏蔽:## ## plotMA ## ##加载所需的包:richmentbrowser ##加载所需的包:GSEABase ##加载所需的包:annotate ##加载所需的包:AnnotationDbi ##加载所需的包:XML ##加载所需的包:graph ## ##加载所需的包:'graph' ## ##下面的对象从'package:XML'被屏蔽:## ## addNode ## ##从'package:Biostrings'中屏蔽以下对象:## ## complement ## ##加载所需包:pathview ##加载所需包:KEGGgraph ## ##加载包:'KEGGgraph' ## ##从'package:graphics'中屏蔽以下对象:## ## plot ## ##加载所需包:org.Hs.eg.db ## ## ############################################################################## ## Pathview软件包是一个开源的分布式在GNU通用# #公共许可证版本3 (GPLv3)。关于GPLv3的详细信息,请访问## http://www.gnu.org/licenses/gpl-3.0.html。## ##路径视图下载并使用KEGG数据。学术用户可以免费使用KEGG网站http://www.kegg.jp/或其镜像网站GenomeNet ## http://www.genome.jp/kegg/。学术用户也可以自由链接到KEGG ##网站。非学术用户可以将KEGG网站作为最终用户用于非商业目的,但任何其他用途都需要许可协议##(详情请参阅http://www.kegg.jp/kegg/legal.html)。 ## ############################################################################## ## ## ## Attaching package: 'EnrichmentBrowser' ## ## The following object is masked from 'package:BiocGenerics': ## ## normalize ## ## Loading required package: Homo.sapiens ## Loading required package: OrganismDbi ## Loading required package: GenomicFeatures ## Loading required package: GO.db ## Loading required package: TxDb.Hsapiens.UCSC.hg19.knownGene ## Now getting the GODb Object directly ## Now getting the OrgDb Object directly ## Now getting the TxDb Object directly ## Loading required package: Mus.musculus ## Loading required package: org.Mm.eg.db ## ## Loading required package: TxDb.Mmusculus.UCSC.mm10.knownGene ## Now getting the GODb Object directly ## Now getting the OrgDb Object directly ## Now getting the TxDb Object directly ## Loading required package: RUVSeq ## Loading required package: EDASeq ## Loading required package: ShortRead ## Loading required package: BiocParallel ## Loading required package: Rsamtools ## Loading required package: GenomicAlignments ## ## Attaching package: 'GenomicAlignments' ## ## The following objects are masked from 'package:locfit': ## ## left, right ## ## Note: the specification for S3 class "trellis" in package 'ShortRead' seems equivalent to one from package 'ggbio': not turning on duplicate class definitions for this class. ## Loading required package: edgeR ## Loading required package: ssizeRNA ## Loading required package: tools ## ## Attaching package: 'tools' ## ## The following object is masked from 'package:XML': ## ## toHTML ## ## Note: the specification for class "SimpleListAssays" in package 'artemis' seems equivalent to one from package 'SummarizedExperiment': not turning on duplicate class definitions for this class.
数据(laml) laml
# # # # LAML FirehoseData对象标准数据运行日期:20150402 # #分析运行日期:20141017 # #可用插槽:# # @Clinical:一个数据帧,暗淡:200 14 # # @RNASeqGene:一个矩阵withraw读计数或归一化数据,昏暗的:19990 179 # # @RNASeq2GeneNorm:一个矩阵withraw读计数或归一化数据,昏暗的:20501 173 # # @CNASNP: data.frame,暗淡:874897 6 # # @CNVSNP: data.frame,暗淡:28324 6 # # @Methylation:包含FirehoseMethylationArray对象列表(s),长度:1 # # @Mutations:data.frame, dim: 2585 64
我们真正需要的是Bioconductor核心数据对象。来自RTCGAToolbox的extract()函数创建适当的对象。如果临床=FALSE,它将创建简单矩阵和grange,如果临床=TRUE,它将创建ExpressionSet和summarizeexperiment对象。
请注意,我们在上面laml对象的show方法中看到的测试名称与getFirehoseData()的参数之间存在不幸的不一致。extract()函数使用与getFirehoseData()参数中相同的数据类型,匹配时不区分大小写和下划线。有以下几种选择:
选择< -低(gsub ("_", "", c(“RNAseq_Gene”、“miRNASeq_Gene”,“RNAseq2_Gene_Norm”、“CNA_SNP”、“CNV_SNP”、“CNA_Seq”、“CNA_CGH”、“甲基化”、“突变”,“mRNA_Array”、“miRNA_Array”、“RPPA”)))
例如,对于copy number,我们得到一个GRangesList:
cna <- extract(laml, " cnnasnp ",临床=TRUE) cna
# # GRangesList对象长度392:# # $ tcga - ab - 2802 - 03年与56357范围和2 # #农庄组织对象元数据列:# # seqnames范围链| Num_Probes Segment_Mean # # < Rle > < IRanges > < Rle > | <数字> <数字> # # [1]chr1(61735、804456)* 64 (|)-0.0308 # # [2]chr1(809773、1478153)* 146 (|)-2.8237 # # [3]chr1(1481049、1481049)* -1.5591 | 45 # # [4]chr1(1709167、1709167)* -0.6314 | 53 # # [5]chr1(1791259、1791259)* 0.6844 | 5 ## ... ... ... ... ... ... ...## [56353] chr24 [27190752, 27648670] * | 82 -0.3631 ## [56354] chr24 [27651378, 28468768] * | 287 0.357 ## [56355] chr24 [28470990, 28584494] * | 40 -0.8857 ## [56356] chr24 [28588835, 28741069] * | 99 -0.2521 ## [56357] chr24[28741868, 59018259] * | 26 -1.2785 ## ##…## <391个元素> ## ------- ## seqinfo:来自未指定基因组的24个序列;没有seqlengths
对于RNAseq,我们得到一个ExpressionSet:
rnaseq <- extract(laml, "rnaseqgene",临床=TRUE) rnaseq
## ExpressionSet (storageMode: lockedEnvironment) ## assayData: 19990个特征,179个样本##元素名称:exprs ##协议数据:none ##表型数据## sampleNames: tcga-ab-2803-03 tcga-ab-2805-03…tcga-ab-3012-03 ## (179 total) ## varLabels: vital_status days_to_death…## varMetadata: labelDescription ## featureData: none ##实验者数据:使用“实验者数据(对象)”##注释:
在患者中有部分但不完全重叠:
summary(names(cna) %in% sampleNames(rnaseq))
##模式FALSE TRUE NA的##逻辑216 176 0
它们有相同的临床数据,只是作为GRangesList的数据框架和ExpressionSet的注解数据框架:
elementMetadata (cna) [1:2, 1:4]
##数据帧2行4列## vitital_status days_to_death days_to_last_followup ## <因子> <因子> <因子> ## tcga-ab-2802-03 1 365 NA ## tcga-ab-2802-11 1 365 NA ## primary_site_of_disease ## <因子> ## tcga-ab-2802-03骨髓## tcga-ab-2802-11骨髓
pData (rnaseq) [1:2, 1:4]
## vitital_status days_to_death days_to_last_followup ## tcga-ab-2805-03 1 792 ## tcga-ab-2805-03 1 577 ## primary_site_of_disease ## tcga-ab-2803-03骨髓## tcga-ab-2805-03骨髓
请注意,在cna对象的前两行中,我们对同一个患者有两个不同的样本(tcga-ab-2802是患者标识符,-03和-11是样本类型)。看到TCGA条码信息,以及代码表报告以了解示例类型的解释。03代表“原发性肿瘤-外周血”,11代表“实体组织正常”