库(cBioPortalData)库(砧)
癌症基因组学的c生物门户网站是一个伟大的资源,用于研究数据集的交互式探索。但是,它不容易让分析人员获得并进一步分析数据。
我们已经开发了cBioPortalData
包来满足这一需求,以编程方式访问cBioPortal上可用的数据资源。
的cBioPortalData
包提供了一个R接口,用于访问Bioconductor生态系统中的cBioPortal研究数据。
它可以从cBioPortal API下载研究数据(完整的API规范可以在这里找到)https://cbioportal.org/api),并使用Bioconductor基础架构来缓存和表示数据。
我们使用MultiAssayExperiment
(@Ramos2017-er)包集成,表示,并协调多个实验的研究可用在cBioPortal。此套餐连同curatedTCGAData
提供大量公开的生物信息学数据。请参阅我们的刊物在这里(@Ramos2020-ya).
的常见用例cBioPortalData
而且curatedTCGAData
在Bioconductor会议期间研讨会.
数据以单个形式提供MultiAssayExperiment
/研究。的MultiAssayExperiment
表示法通常包含SummarizedExperiment
对象用于表达式数据和RaggedExperiment
对象用于突变和cnv类型数据。RaggedExperiment
是一个表示“不规则”基因组位置数据的数据类,这意味着每个样本的测量值不同。
有关更多信息,请参阅RaggedExperiment
而且SummarizedExperiment
小插曲。
当我们处理数据时,有一些数据不能表示为MultiAssayExperiment
对象。这可能是由于许多原因造成的,例如数据处理的方式、不匹配的标识符、无效的数据类型等。要了解哪些数据集目前没有构建,我们可以参考getStudies ()
与builreport = TRUE
论点。
cbio <- cBioPortal()
## service_validate_md5sum(api_reference_url, api_reference_md5sum,: service version different from validated version ## service url: https://www.cbioportal.org/api/api-docs ## observed md5sum: 456be3b7a6b5871a1b41f1233ecbae85 ## expected md5sum: 1615443badbeaada68463859c34f15f8
getStudies(cbio, buildReport = TRUE) head(studies)
## #小猫咪:6×15 # #名称描述publicStudy组状态importDate allSampleCount # # <空空的> <空空的> < lgl > <空空的> < int > <空空的> < int > # # 1 Adrenocortica…“TCGA肾上腺…真正的“出版…0 2022-03-0……92 # # 2膀胱通过“整个挂式…真正的““0 2022-03-0 - 34 # # 3基底细胞Ca…”Whole-exo…真正的“出版…0 2022-03-0…293 # # 4急性Lymphob…”综合…真正的“出版…0 2022-03-0…93 # # 5壶腹车…”外显子组seq…真正的“出版…0 2022-03-0…160 # # 6膀胱Uroth…”整个挂式…真正的“出版…0 2022-03-0…50 ## # ... 有8variables: readPermission , studyId , ## # cancerTypeId , referenceGenome , pmid , citation , ## # api_build , pack_build
最后两列将显示每种方法的可用性studyId
任何一种下载方法(pack_build
为cBioDataPack
而且api_build
为cBioPortalData
).
有两个主要面向用户的函数用于从cBioPortal API下载数据。
cBioDataPack
利用研究数据的tarball分布。当用户想要从cBioPortal.org网站下载和分析全部数据时,这是非常有用的。
cBioPortalData
允许更灵活的方法来获得基于可用参数的研究数据,如分子剖面标识符。这个选项对于那些拥有一组基因符号或标识符并希望获得与特定分子特征相对应的数据的较小子集的用户是有用的。
这个函数将从MultiAssayExperiment访问打包的数据并返回一个综合的MultiAssayExperiment表示。
##使用ask=FALSE非交互式使用laml <- cBioDataPack("laml_tcga", ask=FALSE
MultiAssayExperiment对象,包含12个实验,用户自定义名称和各自的类。包含一个长度为12的ExperimentList类对象:seg: ragizeexperiment with 13571行和191列## [3]linear_cna: summarizeexperiment with 24776行和191列## [4]methylation_hm27: summarizeexperiment with 10968行和194列## [6]mrna_seq_rpkm: summarizeexperiment with 19720行和179列## [7]mrna_seq_rpkm_zscores_ref_all_samples:SummarizedExperiment 19720行和179列# # [8]mrna_seq_rpkm_zscores_ref_diploid_samples: SummarizedExperiment 19719行和179列# # [9]mrna_seq_v2_rsem: SummarizedExperiment 20531行和173列# # [10]mrna_seq_v2_rsem_zscores_ref_all_samples: SummarizedExperiment 20531行和173列# # [11]mrna_seq_v2_rsem_zscores_ref_diploid_samples: SummarizedExperiment 20440行和173列# #[12]突变:功能:##实验()-获取实验者列表实例## colData() -主/表型数据帧## sampleMap() -样本协调数据帧## ' $ ','[','[[' -提取colData列,子集,或实验## *格式()-转换成一个长或宽的数据帧## assays() -转换实验者列表到一个矩阵的简单列表## exportClass() -保存数据到平面文件
这个函数提供了一个更灵活和颗粒状的方式来请求一个MultiAssayExperiment对象,从一个研究ID,分子剖面,基因面板,样本列表。
acc <- cBioPortalData(api = cbio, by = "hugoGeneSymbol", studyId = "acc_tcga", genePanelId = "IMPACT341", molecarprofileids = c("acc_tcga_rppa", "acc_tcga_linear_CNA"))
##协调输入:##删除1个colData行名不在sampleMap 'primary'中
acc
一个MultiAssayExperiment对象,包含2个列出的实验,使用用户自定义名称和各自的类。包含一个长度为2的ExperimentList类对象:## [1]acc_tcga_rppa: summarizeexperiment with 57行和46列## [2]acc_tcga_linear_CNA: summarizeexperiment with 339行和90列## experiments() -获取ExperimentList实例## colData() -主/表型DataFrame ## sampleMap() -样本协调DataFrame ## ' $ ', '[', '[[' -提取colData列,子集,或实验## *格式()-转换为长或宽的DataFrame ## assays() -转换ExperimentList为矩阵的SimpleList ## exportClass() -保存数据到平面文件
请注意。为了避免API服务过载,API被设计为只查询部分研究数据。因此,用户需要输入一组感兴趣的基因或一个基因面板标识符。
在下载中断的情况下,用户可能会遇到损坏的缓存。方法可以为特定的研究清除缓存removeCache
函数。注意,此函数仅适用于通过cBioDataPack
函数。
removeCache(“laml_tcga”)
对于希望清除整个cBioPortalData
缓存,建议他们使用:
分离(~ / .cache / cBioPortalData /)
我们可以利用信息colData
用一些变量画一个K-M图colData
槽位号MultiAssayExperiment
.首先,我们加载必要的包:
库(生存)库(survminer)
我们可以检查数据以寻找任何问题。
表(colData (laml) OS_STATUS美元)
## ## 0:活着1:死去## 67 133
类(colData (laml) OS_MONTHS美元)
##[1]“字符”
现在,我们稍微清理一下数据,以确保变量的类型适合后续的生存模型拟合。
collaml <- colData(laml) collaml[collaml$OS_MONTHS == "[Not Available]", "OS_MONTHS"] <- NA collaml$OS_MONTHS <- as.numeric(collaml$OS_MONTHS) colData(laml) <- collaml . collaml$ os_month . collaml$ os_month
我们指定一个简单的生存模型使用性
作为协变量,我们画K-M图。
fit <- survfit(Surv(OS_MONTHS, as。numeric(substr(OS_STATUS, 1, 1))) ~ SEX, data = colData(laml)) ggsurvplot(fit, data = colData(laml), risk。表= TRUE)
sessionInfo ()
## R版本4.2.0 RC (2022-04-21 r82226) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_GB LC_COLLATE= c# # [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# # [9] LC_ADDRESS=C lc_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 stats graphics grDevices utils datasets methods ##[8]基础## ##其他附加包:[7] SummarizedExperiment_1.27.1 Biobase_2.57.1 ## [9] GenomicRanges_1.49.0 GenomeInfoDb_1.33.3 ## [11] IRanges_2.31.0 S4Vectors_0.35.0 ## [13] BiocGenerics_0.43.0 MatrixGenerics_1.9.0 ## [17] matrixStats_0.62.0 AnVIL_1.9.2 ## [17] dplyr_1.0.9 BiocStyle_2.25.0 ## ##通过命名空间加载(并且没有附加):[1] backports_1.4.1 biocfilecache_1 .2.2 splines_4.2.0 ## [5] BiocParallel_1.31.4 TCGAutils_1.17.2 ## [5] digest_0.6.29 htmltools_0.5.2 ## [9] magick_2.7.3 fansi_1.0.3 ## [11] magrittr_2.0.3 memoise_2.0.1 ## [13] tzdb_0.3.0 limma_3.53.2 ## [15] Biostrings_2.65.0 readr_2.1.2 ## [17] vroom_1.5.7 prettyunits_1.1.1 ## [19] colorspace_2.0-3 blob_1.2.3 ## [21] rvest_1.0.2 rappdirs_0.3.3 ## [23] xfun_0.31 crayon_1.5.1 ## [25] RCurl_1.98-1.6 jsonlite_1.8.0 ## [27]RaggedExperiment_1.21.0 zlibbioc_1.43.0 ## [33] XVector_0.37.0 DelayedArray_0.23.0 ## [35] car_3.0-13 abind_1.4-5 ## [37] scales_1.2.0 futile.options_1.0.1 ## [39] DBI_1.1.2 rstatix_0.8.0 xtable_1.8-4 ## [43] progress_1.2.2 gridtext_0.1.4 ## [45] bit_4.0.4 km.ci_0.5-6 ## [47] httr_1.4.3 ellipsis_0.3.2 ## [49] pkgconfig_2.0.3 XML_3.99-0.9 ## [51] rapiclient_0.1.3 farver_2.1.0 ## [53] sass_0.4.1dbplyr_2.1.1 ## [55] utf8_1.2.2 rjsonio_1 . 1.6 ## # [57] tidyselect_1.1.2 labeling_0.4.2 ## [59] rlang_1.0.2 AnnotationDbi_1.59.1 ## [61] munsell_0.5.0 tools_4.2.0 ## [63] cachem_1.0.6 cli_3.3.0 ## [65] generics_0.1.2 RSQLite_2.2.14 ## [67] broom_0.8.0 evaluate_0.15 ## [69] string_1 .4.0 fastmap_1.1.0 ## [71] yaml_2.3.5 knitr_1.39 ## [73] bit64_4.0.5 survMisc_0.5.6 ## [77] formatR_1.12 xml2_1.3.3 ## [79] biomaRt_2.53.2 compiler_4.2.0 ## [81] filelock_1.0.2curl_4.3.2 ## [83] png_0.1-7 ggsignif_0.6.3 ## [87] tibble_3.1.7 bslib_0.9 ## [89] futil .logger_1.4.3基因组features_1 .49.4 ## [91] lattice_0.20-45 Matrix_1.4-1 ## [93] markdown_1.1 kmsurv_0.1 .1-5 ## [95] RTCGAToolbox_2.27.0 vctrs_0.4.1 ## [97] pillar_1.7.0 lifecycle_1.0.1 ## [99] BiocManager_1.30.18 jquerylib_0.1.4 ## [101] data.table_1.14.2 bitops_1.0-7 ## [105] BiocIO_1.7.1 bookdown_0.26 ## [107] gridExtra_2.3 codetools_0.2-18 ## [109] lambda.r_1.2.4 assertthat_0.2.1 ## [111] rjson_0.2.21 withr_2.5.0 ## [113] GenomicAlignments_1.33.0 Rsamtools_2.13.2 ## [115] GenomeInfoDbData_1.2.8 parallel_4.2.0 ## [117] hms_1.1.1 ggtext_0.1.1 ## [119] grid_4.2.0 tidyr_1.2.0 ## [121] rmarkdown_2.14 carData_3.0-5 ## [123] restfulr_0.0.13