R version 4.3.3 (2024-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 24.04.3 LTS
Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.12.0 
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0
locale:
 [1] LC_CTYPE=en_US.UTF-8    LC_NUMERIC=C            LC_TIME=C              
 [4] LC_COLLATE=en_US.UTF-8  LC_MONETARY=C           LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=C              LC_NAME=C               LC_ADDRESS=C           
[10] LC_TELEPHONE=C          LC_MEASUREMENT=C        LC_IDENTIFICATION=C    
time zone: Europe/Brussels
tzcode source: system (glibc)
attached base packages:
 [1] parallel  grid      stats4    stats     graphics  grDevices utils    
 [8] datasets  methods   base     
other attached packages:
 [1] vcd_1.4-13                                         
 [2] UpSetR_1.4.0                                       
 [3] umap_0.2.10.0                                      
 [4] stringr_1.5.1                                      
 [5] scales_1.4.0                                       
 [6] RColorBrewer_1.1-3                                 
 [7] qs_0.27.3                                          
 [8] PCAtools_2.14.0                                    
 [9] missMethyl_1.36.0                                  
[10] IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0
[11] mCSEA_1.22.0                                       
[12] Homo.sapiens_1.3.1                                 
[13] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2            
[14] GO.db_3.18.0                                       
[15] OrganismDbi_1.44.0                                 
[16] GenomicFeatures_1.54.4                             
[17] mCSEAdata_1.22.0                                   
[18] org.Hs.eg.db_3.18.0                                
[19] IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.1 
[20] minfi_1.48.0                                       
[21] bumphunter_1.44.0                                  
[22] locfit_1.5-9.12                                    
[23] iterators_1.0.14                                   
[24] foreach_1.5.2                                      
[25] Biostrings_2.70.3                                  
[26] XVector_0.42.0                                     
[27] SummarizedExperiment_1.32.0                        
[28] MatrixGenerics_1.14.0                              
[29] matrixStats_1.5.0                                  
[30] Gviz_1.46.1                                        
[31] gridExtra_2.3                                      
[32] GenomicRanges_1.54.1                               
[33] GenomeInfoDb_1.38.8                                
[34] forcats_1.0.0                                      
[35] EnhancedVolcano_1.20.0                             
[36] ggrepel_0.9.6                                      
[37] ggplot2_3.5.2                                      
[38] edgeR_4.0.16                                       
[39] limma_3.58.1                                       
[40] DT_0.33                                            
[41] dplyr_1.1.4                                        
[42] DOSE_3.28.2                                        
[43] DMRcate_2.16.1                                     
[44] data.table_1.17.8                                  
[45] cowplot_1.2.0                                      
[46] clusterProfiler_4.10.1                             
[47] circlize_0.4.16                                    
[48] BiocSingular_1.18.0                                
[49] BiocParallel_1.36.0                                
[50] AnnotationDbi_1.64.1                               
[51] IRanges_2.36.0                                     
[52] S4Vectors_0.40.2                                   
[53] Biobase_2.62.0                                     
[54] BiocGenerics_0.48.1                                
loaded via a namespace (and not attached):
  [1] R.methodsS3_1.8.2             dichromat_2.0-0.1            
  [3] progress_1.2.3                nnet_7.3-19                  
  [5] HDF5Array_1.30.1              vctrs_0.6.5                  
  [7] RApiSerialize_0.1.4           digest_0.6.37                
  [9] png_0.1-8                     shape_1.4.6.1                
 [11] deldir_2.0-4                  permute_0.9-8                
 [13] MASS_7.3-60.0.1               reshape_0.8.10               
 [15] reshape2_1.4.4                httpuv_1.6.16                
 [17] qvalue_2.34.0                 withr_3.0.2                  
 [19] xfun_0.52                     ggfun_0.2.0                  
 [21] survival_3.8-3                doRNG_1.8.6.2                
 [23] memoise_2.0.1                 gson_0.1.0                   
 [25] zoo_1.8-14                    tidytree_0.4.6               
 [27] GlobalOptions_0.1.2           gtools_3.9.5                 
 [29] R.oo_1.27.1                   Formula_1.2-5                
 [31] prettyunits_1.2.0             KEGGREST_1.42.0              
 [33] promises_1.3.3                httr_1.4.7                   
 [35] restfulr_0.0.16               rhdf5filters_1.14.1          
 [37] stringfish_0.17.0             rhdf5_2.46.1                 
 [39] rstudioapi_0.17.1             generics_0.1.4               
 [41] base64enc_0.1-3               curl_6.4.0                   
 [43] zlibbioc_1.48.2               ScaledMatrix_1.10.0          
 [45] ggraph_2.2.1                  polyclip_1.10-7              
 [47] GenomeInfoDbData_1.2.11       quadprog_1.5-8               
 [49] ExperimentHub_2.10.0          SparseArray_1.2.4            
 [51] RBGL_1.78.0                   interactiveDisplayBase_1.40.0
 [53] xtable_1.8-4                  evaluate_1.0.4               
 [55] S4Arrays_1.2.1                BiocFileCache_2.10.2         
 [57] preprocessCore_1.64.0         hms_1.1.3                    
 [59] irlba_2.3.5.1                 colorspace_2.1-1             
 [61] filelock_1.0.3                reticulate_1.43.0            
 [63] lmtest_0.9-40                 magrittr_2.0.3               
 [65] readr_2.1.5                   later_1.4.2                  
 [67] viridis_0.6.5                 ggtree_3.10.1                
 [69] lattice_0.22-5                genefilter_1.84.0            
 [71] XML_3.99-0.18                 shadowtext_0.1.5             
 [73] Hmisc_5.2-3                   pillar_1.11.0                
 [75] nlme_3.1-164                  compiler_4.3.3               
 [77] beachmat_2.18.1               RSpectra_0.16-2              
 [79] stringi_1.8.7                 GenomicAlignments_1.38.2     
 [81] plyr_1.8.9                    crayon_1.5.3                 
 [83] abind_1.4-8                   BiocIO_1.12.0                
 [85] gridGraphics_0.5-1            graphlayouts_1.2.2           
 [87] bit_4.6.0                     fastmatch_1.1-6              
 [89] codetools_0.2-19              openssl_2.3.3                
 [91] biovizBase_1.50.0             multtest_2.58.0              
 [93] mime_0.13                     splines_4.3.3                
 [95] Rcpp_1.1.0                    dbplyr_2.5.0                 
 [97] sparseMatrixStats_1.14.0      HDO.db_0.99.1                
 [99] interp_1.1-6                  knitr_1.50                   
[101] blob_1.2.4                    BiocVersion_3.18.1           
[103] AnnotationFilter_1.26.0       fs_1.6.6                     
[105] checkmate_2.3.2               DelayedMatrixStats_1.24.0    
[107] ggplotify_0.1.2               tibble_3.3.0                 
[109] Matrix_1.6-5                  statmod_1.5.0                
[111] tzdb_0.5.0                    tweenr_2.0.3                 
[113] pkgconfig_2.0.3               tools_4.3.3                  
[115] cachem_1.1.0                  RSQLite_2.4.2                
[117] viridisLite_0.4.2             DBI_1.2.3                    
[119] fastmap_1.2.0                 rmarkdown_2.29               
[121] Rsamtools_2.18.0              AnnotationHub_3.10.1         
[123] patchwork_1.3.1               BiocManager_1.30.26          
[125] VariantAnnotation_1.48.1      graph_1.80.0                 
[127] scrime_1.3.5                  rpart_4.1.23                 
[129] farver_2.1.2                  tidygraph_1.3.1              
[131] scatterpie_0.2.5              yaml_2.3.10                  
[133] latticeExtra_0.6-30           foreign_0.8-86               
[135] rtracklayer_1.62.0            illuminaio_0.44.0            
[137] cli_3.6.5                     purrr_1.1.0                  
[139] siggenes_1.76.0               GEOquery_2.70.0              
[141] lifecycle_1.0.4               askpass_1.2.1                
[143] backports_1.5.0               annotate_1.80.0              
[145] gtable_0.3.6                  rjson_0.2.23                 
[147] ape_5.8-1                     jsonlite_2.0.0               
[149] bitops_1.0-9                  bit64_4.6.0-1                
[151] yulab.utils_0.2.0             base64_2.0.2                 
[153] RcppParallel_5.1.10           GOSemSim_2.28.1              
[155] dqrng_0.4.1                   R.utils_2.13.0               
[157] lazyeval_0.2.2                shiny_1.11.1                 
[159] htmltools_0.5.8.1             enrichplot_1.22.0            
[161] rappdirs_0.3.3                ensembldb_2.26.0             
[163] glue_1.8.0                    RCurl_1.98-1.17              
[165] treeio_1.26.0                 mclust_6.1.1                 
[167] BSgenome_1.70.2               jpeg_0.1-11                  
[169] igraph_2.1.4                  R6_2.6.1                     
[171] tidyr_1.3.1                   cluster_2.1.6                
[173] rngtools_1.5.2                Rhdf5lib_1.24.2              
[175] beanplot_1.3.1                aplot_0.2.8                  
[177] bsseq_1.38.0                  DelayedArray_0.28.0          
[179] tidyselect_1.2.1              ProtGenerics_1.34.0          
[181] htmlTable_2.4.3               ggforce_0.5.0                
[183] xml2_1.3.8                    rsvd_1.0.5                   
[185] S7_0.2.0                      nor1mix_1.3-3                
[187] htmlwidgets_1.6.4             fgsea_1.35.6                 
[189] biomaRt_2.58.2                rlang_1.1.6                  9 Take Home Message - Part 1
9.1 Lessons Learnt from this exploratory analysis
Let’s see what we have learnt so far from the molecular characterization of the kidney carcinomas:
- KICH, KIRC, and KIRP are kidney carcinomas that are classically classified by their histology. However, multi-omics integration show as well a clear molecular distinction between the three kidney carcinoma subtypes.
- KICH appears metabolically inert and genetically stable.
- KICH shows reduced glycolytic activity, a “cold” tumor microenvironment with low immune infiltration and preserved expression of epithelial markers like E-Cadherin and Claudin-7.
- Despite the higher abundance of CNV events, KICH shows lower mutation burden than KIRC and KIRP.
- KICH seems a more differentiated and less aggressive kidney carcinoma.
 
- KIRC presents a microenvironment that is immunosuppressed and adapted to hypoxia.
- Multi-omics data reveal that KIRC tumors strongly express hypoxia-responsive genes (HIF1A, VEGFA), glycolytic enzymes and pro-inflammatory immune markers.
- KIRC also has a high amount of infiltrating immune cells (including Tregs), suggesting a highly active but immunoevasive tumor.
 
- KIRP tumors are molecularly heterogeneous but less aggressive than KIRC tumor.
- KIRP shows MET mutations and moderate angiogenesis.
- KIRP has significantly less infiltrating immune cells than KIRC, but show infiltration of Macrophages M0 and M2.
 
- Factor 3 identifies a high-risk molecular signature that is in common between more advanced KIRC and KIRP tumors.
- Factor 3 strongly correlates with poor prognosis, residual disease, and advanced tumor staging.
- Factor 3 is associated with a cancer phenotype that is pro-inflammatory, EMT-enriched, complement-activated.
- Factor 3 tumor micro-environment is immuno-activated with features of immuno-evasion.
- Factor 3 seems driven by higher mutations burden in BAP1, PTEN, SETD2, VHL.
- Factor 3 could represents a signature for aggressive kidney carcinomas and could help provide novel insights for patients stratification and therapeutic targeting.
 
9.2 Study limitations
Despite the extensive molecular characterization of the three kidney carcinomas, this study also present several limitations:
- This study lacks comparisons with healthy individuals. Only differences between the three kidney carcinoma types were characterized. Drivers and molecular markers in common between them are overlooked because no comparison with healthy individuals were performed.
- The results are based on TCGA cohort, with its strengths and limitations:
- The TCGA cohort is composed mostly by white US males, and it is not representative of other patients groups.
- Most of the biopsies were from KIRC patients, while KICH patients were underrepresented. While this somewhat reflects real-world incidence of the kidney carcinomas, it may limit the study generalization.
- We have limited info on therapies and cares provided to the patients, and their correlation with the clinical outcome. This info would be pivotal for the development of prognostic biomarkers.
- TCGA data have restricted access: I do not have access to more granular genomics information that could provide insights on driver mutations and driver genes responsible for onsetting, progression and worse outcome of the different kidney carcinomas types. With the given data, all results, are in the end, just association between the gene and the outcome. This is a strong shortcoming especially for the mutations associated with Factor 3.
 
- All insights are limited to a single cohort, and should be further validated on other independent cohorts.
- In addition to that, TCGA study is observational, and a longitudinal validation is necessary to confirm all these findings.
- This is an in silico retrospective study, and functional experiments in the wetlab are essential to validate any of the findings (e.g.: regarding Factor 3 signature).
 
- We focused on similarities and differences between the three kidney carcinoma types, but we ignored known molecular subtypes (e.g.: KIRP Type 1 and Type 2). A subtype-specific analysis is fundamental to validate the Factor 3 signature across different established molecular subtypes.
- There is an outstanding question on whether Factor 3 is a molecular type of kidney carcinomas, or it just represent a general molecular signature of advanced carcinomas?
9.3 Next steps
We saw how Factor 3 could represents a signature for aggressive kidney carcinomas and could help provide novel insights for patients stratification and therapeutic targeting.
The next obvious step would be to identify any potential prognostic biomarkers out of Factor 3 multi-omics signature, and confirm it in an independent cohort.
Then, we could try address the outstanding question if Factor 3 represent a real molecular subtype of some kidney carcinomas, or it is just a general molecular signature of advanced carcinomas. In both cases, we could further dig into Factor 3 molecular features to identify additional therapeutic targets that could improve the worse outcome associated with it.