Please use the devel version of the AnVIL
Bioconductor package.
library(cBioPortalData)
library(AnVIL)
The cBioPortal for Cancer Genomics website is a great resource for interactive exploration of study datasets. However, it does not easily allow the analyst to obtain and further analyze the data.
We’ve developed the cBioPortalData
package to fill this need to
programmatically access the data resources available on the cBioPortal.
The cBioPortalData
package provides an R interface for accessing the
cBioPortal study data within the Bioconductor ecosystem.
It downloads study data from the cBioPortal API (https://cbioportal.org/api) and uses Bioconductor infrastructure to cache and represent the data.
We use the MultiAssayExperiment
(@Ramos2017-er) package to integrate,
represent, and coordinate multiple experiments for the studies availble in the
cBioPortal. This package in conjunction with curatedTCGAData
give access to
a large trove of publicly available bioinformatic data. Please see our
publication here (@Ramos2020-ya).
We demonstrate common use cases of cBioPortalData
and curatedTCGAData
during Bioconductor conference
workshops.
This vignette is for users / developers who would like to learn more about
the available data in cBioPortalData
and to learn how to hit other endpoints
in the cBioPortal API implementation. The functionality demonstrated
here is used internally by the package to create integrative representations
of study datasets.
Note. To avoid overloading the API service, the API was designed to only query a part of the study data. Therefore, the user is required to enter either a set of genes of interest or a gene panel identifier.
Obtaining the cBioPortal API representation object
(cbio <- cBioPortal())
## Warning in readLines(url, encoding = "UTF-8"): incomplete final line found on
## '/tmp/Rtmps9JWjB/Rinst3c274d4612dc/cBioPortalData/service/cBioPortal/api.json'
## service: cBioPortal
## tags(); use cbioportal$<tab completion>:
## # A tibble: 65 × 3
## tag operation summary
## <chr> <chr> <chr>
## 1 Cancer Types getAllCancerTypesUsingGET Get all cance…
## 2 Cancer Types getCancerTypeUsingGET Get a cancer …
## 3 Clinical Attributes fetchClinicalAttributesUsingPOST Fetch clinica…
## 4 Clinical Attributes getAllClinicalAttributesInStudyUsingGET Get all clini…
## 5 Clinical Attributes getAllClinicalAttributesUsingGET Get all clini…
## 6 Clinical Attributes getClinicalAttributeInStudyUsingGET Get specified…
## 7 Clinical Data fetchAllClinicalDataInStudyUsingPOST Fetch clinica…
## 8 Clinical Data fetchClinicalDataUsingPOST Fetch clinica…
## 9 Clinical Data getAllClinicalDataInStudyUsingGET Get all clini…
## 10 Clinical Data getAllClinicalDataOfPatientInStudyUsingGET Get all clini…
## # ℹ 55 more rows
## tag values:
## Cancer Types, Clinical Attributes, Clinical Data, Copy Number
## Segments, Discrete Copy Number Alterations, Gene Panel Data, Gene
## Panels, Generic Assay Data, Generic Assays, Genes, Info, Molecular
## Data, Molecular Profiles, Mutations, Patients, Sample Lists, Samples,
## Server running status, Studies, Treatments
## schemas():
## AlleleSpecificCopyNumber, AlterationFilter,
## AndedPatientTreatmentFilters, AndedSampleTreatmentFilters,
## CancerStudy
## # ... with 62 more elements
Check available tags, operations, and descriptions as a tibble
:
tags(cbio)
## # A tibble: 65 × 3
## tag operation summary
## <chr> <chr> <chr>
## 1 Cancer Types getAllCancerTypesUsingGET Get all cance…
## 2 Cancer Types getCancerTypeUsingGET Get a cancer …
## 3 Clinical Attributes fetchClinicalAttributesUsingPOST Fetch clinica…
## 4 Clinical Attributes getAllClinicalAttributesInStudyUsingGET Get all clini…
## 5 Clinical Attributes getAllClinicalAttributesUsingGET Get all clini…
## 6 Clinical Attributes getClinicalAttributeInStudyUsingGET Get specified…
## 7 Clinical Data fetchAllClinicalDataInStudyUsingPOST Fetch clinica…
## 8 Clinical Data fetchClinicalDataUsingPOST Fetch clinica…
## 9 Clinical Data getAllClinicalDataInStudyUsingGET Get all clini…
## 10 Clinical Data getAllClinicalDataOfPatientInStudyUsingGET Get all clini…
## # ℹ 55 more rows
head(tags(cbio)$operation)
## [1] "getAllCancerTypesUsingGET"
## [2] "getCancerTypeUsingGET"
## [3] "fetchClinicalAttributesUsingPOST"
## [4] "getAllClinicalAttributesInStudyUsingGET"
## [5] "getAllClinicalAttributesUsingGET"
## [6] "getClinicalAttributeInStudyUsingGET"
searchOps(cbio, "clinical")
## [1] "getAllClinicalAttributesUsingGET"
## [2] "fetchClinicalAttributesUsingPOST"
## [3] "fetchClinicalDataUsingPOST"
## [4] "getAllClinicalAttributesInStudyUsingGET"
## [5] "getClinicalAttributeInStudyUsingGET"
## [6] "getAllClinicalDataInStudyUsingGET"
## [7] "fetchAllClinicalDataInStudyUsingPOST"
## [8] "getAllClinicalDataOfPatientInStudyUsingGET"
## [9] "getAllClinicalDataOfSampleInStudyUsingGET"
Get the list of studies available:
getStudies(cbio)
## # A tibble: 469 × 13
## name description publicStudy pmid citation groups status importDate
## <chr> <chr> <lgl> <chr> <chr> <chr> <int> <chr>
## 1 Adenoid Cyst… Whole-exom… TRUE 2368… Ho et a… "ACYC… 0 2023-12-0…
## 2 Adenoid Cyst… Targeted S… TRUE 2441… Ross et… "ACYC… 0 2023-12-0…
## 3 Adenoid Cyst… Whole-geno… TRUE 2686… Rettig … "ACYC… 0 2023-12-0…
## 4 Adenoid Cyst… WGS of 21 … TRUE 2663… Mitani … "ACYC… 0 2023-12-0…
## 5 Adenoid Cyst… Whole-geno… TRUE 2682… Drier e… "ACYC" 0 2023-12-0…
## 6 Adenoid Cyst… Whole exom… TRUE 2377… Stephen… "ACYC… 0 2023-12-0…
## 7 Basal Cell C… Whole-exom… TRUE 2695… Bonilla… "PUBL… 0 2023-12-0…
## 8 Acute Lympho… Comprehens… TRUE 2573… Anderss… "PUBL… 0 2023-12-0…
## 9 Ampullary Ca… Exome sequ… TRUE 2680… Gingras… "PUBL… 0 2023-12-0…
## 10 Hypodiploid … Whole geno… TRUE 2333… Holmfel… "" 0 2023-12-0…
## # ℹ 459 more rows
## # ℹ 5 more variables: allSampleCount <int>, readPermission <lgl>,
## # studyId <chr>, cancerTypeId <chr>, referenceGenome <chr>
Obtain the clinical data for a particular study:
clinicalData(cbio, "acc_tcga")
## # A tibble: 92 × 85
## patientId AGE AJCC_PATHOLOGIC_TUMOR_STAGE ATYPICAL_MITOTIC_FIGURES
## <chr> <chr> <chr> <chr>
## 1 TCGA-OR-A5J1 58 Stage II Atypical Mitotic Figures Abse…
## 2 TCGA-OR-A5J2 44 Stage IV Atypical Mitotic Figures Pres…
## 3 TCGA-OR-A5J3 23 Stage III Atypical Mitotic Figures Abse…
## 4 TCGA-OR-A5J4 23 Stage IV Atypical Mitotic Figures Abse…
## 5 TCGA-OR-A5J5 30 Stage III Atypical Mitotic Figures Pres…
## 6 TCGA-OR-A5J6 29 Stage II Atypical Mitotic Figures Abse…
## 7 TCGA-OR-A5J7 30 Stage III Atypical Mitotic Figures Pres…
## 8 TCGA-OR-A5J8 66 Stage III Atypical Mitotic Figures Pres…
## 9 TCGA-OR-A5J9 22 Stage II Atypical Mitotic Figures Abse…
## 10 TCGA-OR-A5JA 53 Stage IV Atypical Mitotic Figures Pres…
## # ℹ 82 more rows
## # ℹ 81 more variables: CAPSULAR_INVASION <chr>, CLIN_M_STAGE <chr>,
## # CT_SCAN_PREOP_RESULTS <chr>,
## # CYTOPLASM_PRESENCE_LESS_THAN_EQUAL_25_PERCENT <chr>,
## # DAYS_TO_INITIAL_PATHOLOGIC_DIAGNOSIS <chr>, DFS_MONTHS <chr>,
## # DFS_STATUS <chr>, DIFFUSE_ARCHITECTURE <chr>, ETHNICITY <chr>,
## # FORM_COMPLETION_DATE <chr>, HISTOLOGICAL_DIAGNOSIS <chr>, …
A table of molecular profiles for a particular study can be obtained by running the following:
mols <- molecularProfiles(cbio, "acc_tcga")
mols[["molecularProfileId"]]
## [1] "acc_tcga_rppa"
## [2] "acc_tcga_rppa_Zscores"
## [3] "acc_tcga_gistic"
## [4] "acc_tcga_linear_CNA"
## [5] "acc_tcga_mutations"
## [6] "acc_tcga_methylation_hm450"
## [7] "acc_tcga_rna_seq_v2_mrna"
## [8] "acc_tcga_rna_seq_v2_mrna_median_Zscores"
## [9] "acc_tcga_rna_seq_v2_mrna_median_all_sample_Zscores"
The data for a molecular profile can be obtained with prior knowledge of
available entrezGeneIds
:
molecularData(cbio, molecularProfileIds = "acc_tcga_rna_seq_v2_mrna",
entrezGeneIds = c(1, 2),
sampleIds = c("TCGA-OR-A5J1-01", "TCGA-OR-A5J2-01")
)
## $acc_tcga_rna_seq_v2_mrna
## # A tibble: 4 × 8
## uniqueSampleKey uniquePatientKey entrezGeneId molecularProfileId sampleId
## <chr> <chr> <int> <chr> <chr>
## 1 VENHQS1PUi1BNUoxLTA… VENHQS1PUi1BNUo… 1 acc_tcga_rna_seq_… TCGA-OR…
## 2 VENHQS1PUi1BNUoxLTA… VENHQS1PUi1BNUo… 2 acc_tcga_rna_seq_… TCGA-OR…
## 3 VENHQS1PUi1BNUoyLTA… VENHQS1PUi1BNUo… 1 acc_tcga_rna_seq_… TCGA-OR…
## 4 VENHQS1PUi1BNUoyLTA… VENHQS1PUi1BNUo… 2 acc_tcga_rna_seq_… TCGA-OR…
## # ℹ 3 more variables: patientId <chr>, studyId <chr>, value <dbl>
A list of all the genes provided by the API service including hugo symbols,
and entrez gene IDs can be obtained by using the geneTable
function:
geneTable(cbio)
## # A tibble: 1,000 × 3
## entrezGeneId hugoGeneSymbol type
## <int> <chr> <chr>
## 1 -3624 MIR-10A/10A miRNA
## 2 -3712 MIR-559/559 miRNA
## 3 -3042 MIR-4315-2/4315 miRNA
## 4 -3204 MIR-4535/4535 miRNA
## 5 -3763 MIR-607/607 miRNA
## 6 -3457 MIR-1269A/1269A miRNA
## 7 -3286 MIR-4679-1/4679 miRNA
## 8 -3295 MIR-4686/4686 miRNA
## 9 -3054 MIR-4325/4325 miRNA
## 10 -3510 MIR-124A-1/5P miRNA
## # ℹ 990 more rows
genePanels(cbio)
## # A tibble: 70 × 2
## description genePanelId
## <chr> <chr>
## 1 Targeted (27 cancer genes) sequencing of adenoid cystic carcinom… ACYC_FMI_27
## 2 Targeted panel of 232 genes. Agilent
## 3 Targeted panel of 8 genes. AmpliSeq
## 4 ARCHER-HEME gene panel (199 genes) ARCHER-HEM…
## 5 ARCHER-SOLID Gene Panel (62 genes) ARCHER-SOL…
## 6 Targeted sequencing of various tumor types via bait v3. bait_v3
## 7 Targeted sequencing of various tumor types via bait v4. bait_v4
## 8 Targeted sequencing of various tumor types via bait v5. bait_v5
## 9 Targeted panel of 387 cancer-related genes. bcc_unige_…
## 10 Research (CMO) IMPACT-Heme gene panel version 3. HemePACT_v3
## # ℹ 60 more rows
getGenePanel(cbio, "IMPACT341")
## # A tibble: 341 × 2
## entrezGeneId hugoGeneSymbol
## <int> <chr>
## 1 25 ABL1
## 2 84142 ABRAXAS1
## 3 207 AKT1
## 4 208 AKT2
## 5 10000 AKT3
## 6 238 ALK
## 7 242 ALOX12B
## 8 139285 AMER1
## 9 324 APC
## 10 367 AR
## # ℹ 331 more rows
gprppa <- genePanelMolecular(cbio,
molecularProfileId = "acc_tcga_rppa",
sampleListId = "acc_tcga_all")
gprppa
## # A tibble: 92 × 7
## uniqueSampleKey uniquePatientKey molecularProfileId sampleId patientId
## <chr> <chr> <chr> <chr> <chr>
## 1 VENHQS1PUi1BNUoxLTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 2 VENHQS1PUi1BNUoyLTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 3 VENHQS1PUi1BNUozLTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 4 VENHQS1PUi1BNUo0LTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 5 VENHQS1PUi1BNUo1LTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 6 VENHQS1PUi1BNUo2LTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 7 VENHQS1PUi1BNUo3LTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 8 VENHQS1PUi1BNUo4LTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 9 VENHQS1PUi1BNUo5LTAxO… VENHQS1PUi1BNUo… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## 10 VENHQS1PUi1BNUpBLTAxO… VENHQS1PUi1BNUp… acc_tcga_rppa TCGA-OR… TCGA-OR-…
## # ℹ 82 more rows
## # ℹ 2 more variables: studyId <chr>, profiled <lgl>
getGenePanelMolecular(cbio,
molecularProfileIds = c("acc_tcga_rppa", "acc_tcga_gistic"),
sampleIds = allSamples(cbio, "acc_tcga")$sampleId
)
## # A tibble: 184 × 7
## uniqueSampleKey uniquePatientKey molecularProfileId sampleId patientId
## <chr> <chr> <chr> <chr> <chr>
## 1 VENHQS1PUi1BNUoxLTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 2 VENHQS1PUi1BNUoyLTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 3 VENHQS1PUi1BNUozLTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 4 VENHQS1PUi1BNUo0LTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 5 VENHQS1PUi1BNUo1LTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 6 VENHQS1PUi1BNUo2LTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 7 VENHQS1PUi1BNUo3LTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 8 VENHQS1PUi1BNUo4LTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 9 VENHQS1PUi1BNUo5LTAxO… VENHQS1PUi1BNUo… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## 10 VENHQS1PUi1BNUpBLTAxO… VENHQS1PUi1BNUp… acc_tcga_gistic TCGA-OR… TCGA-OR-…
## # ℹ 174 more rows
## # ℹ 2 more variables: studyId <chr>, profiled <lgl>
getDataByGenes(cbio, "acc_tcga", genePanelId = "IMPACT341",
molecularProfileIds = "acc_tcga_rppa", sampleListId = "acc_tcga_rppa")
It uses the getAllGenesUsingGET
function from the API.
To display all available sample list identifiers for a particular study ID,
one can use the sampleLists
function:
sampleLists(cbio, "acc_tcga")
## # A tibble: 9 × 5
## category name description sampleListId studyId
## <chr> <chr> <chr> <chr> <chr>
## 1 all_cases_with_mrna_rnaseq_data Samp… Samples wi… acc_tcga_rn… acc_tc…
## 2 all_cases_in_study All … All sample… acc_tcga_all acc_tc…
## 3 all_cases_with_cna_data Samp… Samples wi… acc_tcga_cna acc_tc…
## 4 all_cases_with_mutation_and_cna_data Samp… Samples wi… acc_tcga_cn… acc_tc…
## 5 all_cases_with_mutation_and_cna_and_mr… Comp… Samples wi… acc_tcga_3w… acc_tc…
## 6 all_cases_with_methylation_data Samp… Samples wi… acc_tcga_me… acc_tc…
## 7 all_cases_with_methylation_data Samp… Samples wi… acc_tcga_me… acc_tc…
## 8 all_cases_with_rppa_data Samp… Samples pr… acc_tcga_rp… acc_tc…
## 9 all_cases_with_mutation_data Samp… Samples wi… acc_tcga_se… acc_tc…
One can obtain the barcodes / identifiers for each sample using a specific sample list identifier, in this case we want all the copy number alteration samples:
samplesInSampleLists(cbio, "acc_tcga_cna")
## CharacterList of length 1
## [["acc_tcga_cna"]] TCGA-OR-A5J1-01 TCGA-OR-A5J2-01 ... TCGA-PK-A5HC-01
This returns a CharacterList
of all identifiers for each sample list
identifier input:
samplesInSampleLists(cbio, c("acc_tcga_cna", "acc_tcga_cnaseq"))
## CharacterList of length 2
## [["acc_tcga_cna"]] TCGA-OR-A5J1-01 TCGA-OR-A5J2-01 ... TCGA-PK-A5HC-01
## [["acc_tcga_cnaseq"]] TCGA-OR-A5J1-01 TCGA-OR-A5J2-01 ... TCGA-PK-A5HC-01
allSamples(cbio, "acc_tcga")
## # A tibble: 92 × 6
## uniqueSampleKey uniquePatientKey sampleType sampleId patientId studyId
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 VENHQS1PUi1BNUoxLTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 2 VENHQS1PUi1BNUoyLTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 3 VENHQS1PUi1BNUozLTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 4 VENHQS1PUi1BNUo0LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 5 VENHQS1PUi1BNUo1LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 6 VENHQS1PUi1BNUo2LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 7 VENHQS1PUi1BNUo3LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 8 VENHQS1PUi1BNUo4LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 9 VENHQS1PUi1BNUo5LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 10 VENHQS1PUi1BNUpBLTAxO… VENHQS1PUi1BNUp… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## # ℹ 82 more rows
getSampleInfo(cbio, studyId = "acc_tcga",
sampleListIds = c("acc_tcga_rppa", "acc_tcga_cna"))
## # A tibble: 136 × 6
## uniqueSampleKey uniquePatientKey sampleType sampleId patientId studyId
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 VENHQS1PUi1BNUoyLTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 2 VENHQS1PUi1BNUozLTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 3 VENHQS1PUi1BNUo2LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 4 VENHQS1PUi1BNUo3LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 5 VENHQS1PUi1BNUo4LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 6 VENHQS1PUi1BNUo5LTAxO… VENHQS1PUi1BNUo… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 7 VENHQS1PUi1BNUpBLTAxO… VENHQS1PUi1BNUp… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 8 VENHQS1PUi1BNUpQLTAxO… VENHQS1PUi1BNUp… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 9 VENHQS1PUi1BNUpSLTAxO… VENHQS1PUi1BNUp… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## 10 VENHQS1PUi1BNUpTLTAxO… VENHQS1PUi1BNUp… Primary S… TCGA-OR… TCGA-OR-… acc_tc…
## # ℹ 126 more rows
The cBioPortal
API representation is not limited to the functions
provided in the package. Users who wish to make use of any of the endpoints
provided by the API specification should use the dollar sign $
function
to access the endpoints.
First the user should see the input for a particular endpoint as detailed in the API:
cbio$getGeneUsingGET
## getGeneUsingGET
## Get a gene
##
## Parameters:
## geneId (string)
## Entrez Gene ID or Hugo Gene Symbol e.g. 1 or A1BG
Then the user can provide such input:
(resp <- cbio$getGeneUsingGET("BRCA1"))
## Response [https://www.cbioportal.org/api/genes/BRCA1]
## Date: 2024-12-10 21:31
## Status: 200
## Content-Type: application/json
## Size: 69 B
which will require the user to ‘translate’ the response using httr::content
:
httr::content(resp)
## $entrezGeneId
## [1] 672
##
## $hugoGeneSymbol
## [1] "BRCA1"
##
## $type
## [1] "protein-coding"
For users who wish to clear the entire cBioPortalData
cache, it is
recommended that they use:
unlink("~/.cache/cBioPortalData/")
sessionInfo()
## R Under development (unstable) (2024-10-21 r87258)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.21-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0
##
## 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_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] survminer_0.5.0 ggpubr_0.6.0
## [3] ggplot2_3.5.1 survival_3.7-0
## [5] cBioPortalData_2.19.4 MultiAssayExperiment_1.33.1
## [7] SummarizedExperiment_1.37.0 Biobase_2.67.0
## [9] GenomicRanges_1.59.1 GenomeInfoDb_1.43.2
## [11] IRanges_2.41.2 S4Vectors_0.45.2
## [13] BiocGenerics_0.53.3 generics_0.1.3
## [15] MatrixGenerics_1.19.0 matrixStats_1.4.1
## [17] AnVIL_1.19.3 AnVILBase_1.1.0
## [19] dplyr_1.1.4 BiocStyle_2.35.0
##
## loaded via a namespace (and not attached):
## [1] jsonlite_1.8.9 magrittr_2.0.3
## [3] magick_2.8.5 GenomicFeatures_1.59.1
## [5] farver_2.1.2 rmarkdown_2.29
## [7] BiocIO_1.17.1 zlibbioc_1.53.0
## [9] vctrs_0.6.5 memoise_2.0.1
## [11] Rsamtools_2.23.1 RCurl_1.98-1.16
## [13] tinytex_0.54 rstatix_0.7.2
## [15] htmltools_0.5.8.1 S4Arrays_1.7.1
## [17] BiocBaseUtils_1.9.0 lambda.r_1.2.4
## [19] curl_6.0.1 broom_1.0.7
## [21] Formula_1.2-5 SparseArray_1.7.2
## [23] sass_0.4.9 bslib_0.8.0
## [25] htmlwidgets_1.6.4 httr2_1.0.7
## [27] zoo_1.8-12 futile.options_1.0.1
## [29] cachem_1.1.0 commonmark_1.9.2
## [31] GenomicAlignments_1.43.0 mime_0.12
## [33] lifecycle_1.0.4 pkgconfig_2.0.3
## [35] Matrix_1.7-1 R6_2.5.1
## [37] fastmap_1.2.0 GenomeInfoDbData_1.2.13
## [39] shiny_1.9.1 digest_0.6.37
## [41] colorspace_2.1-1 RaggedExperiment_1.31.1
## [43] AnnotationDbi_1.69.0 ps_1.8.1
## [45] RSQLite_2.3.9 labeling_0.4.3
## [47] filelock_1.0.3 RTCGAToolbox_2.37.0
## [49] km.ci_0.5-6 fansi_1.0.6
## [51] RJSONIO_1.3-1.9 httr_1.4.7
## [53] abind_1.4-8 compiler_4.5.0
## [55] bit64_4.5.2 withr_3.0.2
## [57] backports_1.5.0 BiocParallel_1.41.0
## [59] carData_3.0-5 DBI_1.2.3
## [61] ggsignif_0.6.4 rappdirs_0.3.3
## [63] DelayedArray_0.33.3 rjson_0.2.23
## [65] tools_4.5.0 chromote_0.3.1
## [67] httpuv_1.6.15 glue_1.8.0
## [69] restfulr_0.0.15 promises_1.3.2
## [71] gridtext_0.1.5 grid_4.5.0
## [73] gtable_0.3.6 KMsurv_0.1-5
## [75] tzdb_0.4.0 tidyr_1.3.1
## [77] websocket_1.4.2 data.table_1.16.4
## [79] hms_1.1.3 car_3.1-3
## [81] xml2_1.3.6 utf8_1.2.4
## [83] XVector_0.47.0 markdown_1.13
## [85] pillar_1.9.0 stringr_1.5.1
## [87] later_1.4.1 splines_4.5.0
## [89] ggtext_0.1.2 BiocFileCache_2.15.0
## [91] lattice_0.22-6 rtracklayer_1.67.0
## [93] bit_4.5.0.1 tidyselect_1.2.1
## [95] Biostrings_2.75.2 miniUI_0.1.1.1
## [97] knitr_1.49 gridExtra_2.3
## [99] bookdown_0.41 futile.logger_1.4.3
## [101] xfun_0.49 DT_0.33
## [103] stringi_1.8.4 UCSC.utils_1.3.0
## [105] yaml_2.3.10 evaluate_1.0.1
## [107] codetools_0.2-20 tibble_3.2.1
## [109] BiocManager_1.30.25 cli_3.6.3
## [111] xtable_1.8-4 munsell_0.5.1
## [113] processx_3.8.4 jquerylib_0.1.4
## [115] survMisc_0.5.6 Rcpp_1.0.13-1
## [117] GenomicDataCommons_1.31.0 dbplyr_2.5.0
## [119] png_0.1-8 XML_3.99-0.17
## [121] rapiclient_0.1.8 parallel_4.5.0
## [123] TCGAutils_1.27.0 readr_2.1.5
## [125] blob_1.2.4 bitops_1.0-9
## [127] scales_1.3.0 purrr_1.0.2
## [129] crayon_1.5.3 rlang_1.1.4
## [131] KEGGREST_1.47.0 rvest_1.0.4
## [133] formatR_1.14