From 729140a05eb1de259a105b9dc88232ce2b3c4a08 Mon Sep 17 00:00:00 2001 From: Piero Palacios Bernuy Date: Tue, 30 Apr 2024 18:01:14 -0500 Subject: [PATCH] tcga commit --- .../notebooks/TCGA/execute-results/html.json | 4 ++-- notebooks/TCGA.qmd | 20 +++++++++++++++++- .../number_mut_genes_per_tumor_stage.jpeg | Bin 280357 -> 278777 bytes 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/_freeze/notebooks/TCGA/execute-results/html.json b/_freeze/notebooks/TCGA/execute-results/html.json index 4ae9e0f..81d6419 100644 --- a/_freeze/notebooks/TCGA/execute-results/html.json +++ b/_freeze/notebooks/TCGA/execute-results/html.json @@ -1,8 +1,8 @@ { - "hash": "ef20f1042b06780e7761a9aca04808aa", + "hash": "dc08553dbecf0ac0d417e1815f428244", "result": { "engine": "knitr", - "markdown": "---\ntitle: \"Integrative Analysis with TCGA Data\"\nsubtitle: \"Analysis of Mutation Data from The Cancer Genome Atlas (TCGA)\"\nformat: html\neditor: visual\n---\n\n::: {.cell .hidden}\n\n```{.r .cell-code .hidden}\n#| include: false\nlibrary(knitr)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'knitr' was built under R version 4.3.3\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\nknitr::opts_chunk$set(\n warning = FALSE,\n message = FALSE,\n dpi = 180,\n echo = TRUE\n)\n\nlibrary(tidyverse)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'ggplot2' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'tidyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'readr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'purrr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'dplyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'stringr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'lubridate' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.4 ✔ readr 2.1.5\n✔ forcats 1.0.0 ✔ stringr 1.5.1\n✔ ggplot2 3.5.0 ✔ tibble 3.2.1\n✔ lubridate 1.9.3 ✔ tidyr 1.3.1\n✔ purrr 1.0.2 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package () to force all conflicts to become errors\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\ntheme_set(theme_minimal())\n```\n:::\n\n\n## Introduction\n\nThe Cancer Genome Atlas (TCGA) is a massive cancer genomics project compiling high-throughput multi-omic data on dozens of cancer types for [public access](https://www.cancer.gov/ccg/research/genome-sequencing/tcga).\n\nWe are gonna use the `curatedTCGAData` package to manipulate locally to multiple high-throughput datasets from the project. The package provides access to TCGA data that has been curated and stored as a *MultiAssayExperiment* object on the Bioconductor [ExperimentHub](https://bioconductor.org/packages/release/bioc/html/ExperimentHub.html).\n\nFirst, let's load the packages needed.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(curatedTCGAData)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MultiAssayExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MultiAssayExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SummarizedExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SummarizedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MatrixGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MatrixGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: matrixStats\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'matrixStats' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'matrixStats'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:dplyr':\n\n count\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'MatrixGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,\n colCounts, colCummaxs, colCummins, colCumprods, colCumsums,\n colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,\n colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,\n colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,\n colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,\n colWeightedMeans, colWeightedMedians, colWeightedSds,\n colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,\n rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,\n rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,\n rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,\n rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,\n rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,\n rowWeightedMads, rowWeightedMeans, rowWeightedMedians,\n rowWeightedSds, rowWeightedVars\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomicRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: stats4\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: BiocGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'BiocGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'BiocGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n combine, intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:stats':\n\n IQR, mad, sd, var, xtabs\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n anyDuplicated, aperm, append, as.data.frame, basename, cbind,\n colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,\n get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,\n match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,\n Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,\n table, tapply, union, unique, unsplit, which.max, which.min\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Vectors\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Vectors'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n second, second<-\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n first, rename\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:tidyr':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:utils':\n\n findMatches\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n expand.grid, I, unname\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: IRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'IRanges'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:lubridate':\n\n %within%\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n collapse, desc, slice\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n reduce\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:grDevices':\n\n windows\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomeInfoDb\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GenomeInfoDb' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Biobase\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWelcome to Bioconductor\n\n Vignettes contain introductory material; view with\n 'browseVignettes()'. To cite Bioconductor, see\n 'citation(\"Biobase\")', and for packages 'citation(\"pkgname\")'.\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Biobase'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:MatrixGenerics':\n\n rowMedians\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n anyMissing, rowMedians\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(TCGAutils)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'TCGAutils' was built under R version 4.3.2\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(MultiAssayExperiment)\n```\n:::\n\n\n## Download the Data\n\nTo download the data we need to use `curatedTCGAData`function. The first argument is a four letter disease (cancer) code (A complete list of disease codes used by the TCGA project are available on the [NCI Genomic Data Commons website](https://gdc.cancer.gov/resources-tcga-users/tcga-code-tables/tcga-study-abbreviations)), the second argument is a vector of data types we want to download. We need to specify `dry.run = FALSE` to download the data.\n\nIn this specific case, we are gonna work with RNA-Seq data, mutation data and methylation data from Rectum Adenocarcinoma (READ). The clinical data is included by default.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData = curatedTCGAData(\"READ\", \n c(\"RNASeq2GeneNorm\", \"Mutation\", \"Methylation_methyl450\"), \n dry.run = FALSE, version = \"2.1.1\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Mutation-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"RaggedExperiment\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'RaggedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_RNASeq2GeneNorm-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Methylation_methyl450-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"rhdf5\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'rhdf5' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: HDF5Array\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'HDF5Array' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: DelayedArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'DelayedArray' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Matrix\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'Matrix' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Matrix'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:S4Vectors':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:tidyr':\n\n expand, pack, unpack\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Arrays\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'S4Arrays' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Arrays'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:abind':\n\n abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:base':\n\n rowsum\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SparseArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SparseArray' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'DelayedArray'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n simplify\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n apply, scale, sweep\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'HDF5Array'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:rhdf5':\n\n h5ls\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_colData-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_sampleMap-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_metadata-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nharmonizing input:\n removing 1903 sampleMap rows not in names(experiments)\n removing 2 colData rownames not in sampleMap 'primary'\n```\n\n\n:::\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData # this is a MultiAssayExperiment object\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nA MultiAssayExperiment object of 3 listed\n experiments with user-defined names and respective classes.\n Containing an ExperimentList class object of length 3:\n [1] READ_Mutation-20160128: RaggedExperiment with 22075 rows and 69 columns\n [2] READ_RNASeq2GeneNorm-20160128: SummarizedExperiment with 18115 rows and 177 columns\n [3] READ_Methylation_methyl450-20160128: SummarizedExperiment with 485577 rows and 106 columns\nFunctionality:\n experiments() - obtain the ExperimentList instance\n colData() - the primary/phenotype DataFrame\n sampleMap() - the sample coordination DataFrame\n `$`, `[`, `[[` - extract colData columns, subset, or experiment\n *Format() - convert into a long or wide DataFrame\n assays() - convert ExperimentList to a SimpleList of matrices\n exportClass() - save data to flat files\n```\n\n\n:::\n:::\n\n\n## Review the Clinical Metadata\n\nWe can see which patients have data for each assay. The assay column gives the experiment type, the primary column gives the unique patient ID and the colname gives the sample ID used as a identifier within a given experiment.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 352 rows and 3 columns\n assay primary colname\n \n1 READ_Methylation_methyl450-20160128 TCGA-AF-2687 TCGA-AF-2687-01A-02D..\n2 READ_Methylation_methyl450-20160128 TCGA-AF-2690 TCGA-AF-2690-01A-02D..\n3 READ_Methylation_methyl450-20160128 TCGA-AF-2693 TCGA-AF-2693-01A-02D..\n4 READ_Methylation_methyl450-20160128 TCGA-AF-3911 TCGA-AF-3911-01A-01D..\n5 READ_Methylation_methyl450-20160128 TCGA-AF-4110 TCGA-AF-4110-01A-02D..\n... ... ... ...\n348 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02G TCGA-AG-A02G-01\n349 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02N TCGA-AG-A02N-01\n350 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02X TCGA-AG-A02X-01\n351 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A032 TCGA-AG-A032-01\n352 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A036 TCGA-AG-A036-01\n```\n\n\n:::\n:::\n\n\nNot all patients have data for all assays, and some of them can have multiple data entries for one or more experiment type. This may correspond to multiple biopsies or matched tumor and normal samples from an individual patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData) |> \n as_tibble() |> \n pull(primary) |> \n table() |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 1 2 3 4 \n 5 147 7 8 \n```\n\n\n:::\n:::\n\n\nWe can see the metadata of the patients with `colData`. Note that there are more than 2000 columns of data per patient (not necessarily complete).\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin = colData(readData) |> \n as_tibble()\ndim(clin)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 167 2260\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(colnames(clin), 10) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"patientID\" \"years_to_birth\" \"vital_status\" \n [4] \"days_to_death\" \"days_to_last_followup\" \"tumor_tissue_site\" \n [7] \"pathologic_stage\" \"pathology_T_stage\" \"pathology_N_stage\" \n[10] \"pathology_M_stage\" \n```\n\n\n:::\n:::\n\n\nAs an example, for rectum adenocarcinoma, we can see the tumor stage.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin |> \n pull(pathology_T_stage) |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 t4a t4b \n 9 28 114 5 8 1 \n```\n\n\n:::\n:::\n\n\nStage T4 have subgroups. To simplify the analysis, let's combine all T4 tumors.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin <- clin |> \n mutate(t_stage = case_when(\n pathology_T_stage %in% c(\"t4\",\"t4a\",\"t4b\") ~ \"t4\",\n .default = pathology_T_stage\n ))\n\nclin$t_stage |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 \n 9 28 114 14 \n```\n\n\n:::\n:::\n\n\nAlso, we can see the vital status (alive=0, deceased=1)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin$vital_status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 0 1 \n139 28 \n```\n\n\n:::\n:::\n\n\nOr combine tumor status and vital status.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntable(clin$t_stage, clin$vital_status)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n \n 0 1\n t1 9 0\n t2 24 4\n t3 96 18\n t4 9 5\n```\n\n\n:::\n:::\n\n\n## Analyzing Mutation Data\n\nLet's begin analyzing the mutation data. Below is the code to retrieve the mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_data = readData[[1]]\n\nmut_data\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: RaggedExperiment \ndim: 22075 69 \nassays(34): Hugo_Symbol Entrez_Gene_Id ... COSMIC_Gene Drug_Target\nrownames: NULL\ncolnames(69): TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\n ... TCGA-AG-A032-01 TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nFrom the inspection of the sample IDs we can see that the mutation colnames match to the **primary** column from he clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids = colnames(mut_data)\nhead(mut_sample_ids)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2689-01A-01W-0831-10\" \"TCGA-AF-2691-01A-01W-0831-10\"\n[3] \"TCGA-AF-2692-01A-01W-0831-10\" \"TCGA-AF-3400-01A-01W-0831-10\"\n[5] \"TCGA-AF-3913-01\" \"TCGA-AG-3574-01A-01W-0831-10\"\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2687\" \"TCGA-AF-2689\" \"TCGA-AF-2690\" \"TCGA-AF-2691\" \"TCGA-AF-2692\"\n[6] \"TCGA-AF-2693\"\n```\n\n\n:::\n:::\n\n\nWe need to manipulate these by substracting 12 characters.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids <- mut_sample_ids |> \n stringr::str_sub(1,12)\n\nall(mut_sample_ids %in% clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] TRUE\n```\n\n\n:::\n:::\n\n\nIs important to note that the data stored in `assay(mut_data)` is difficult to work with because is a sparse matrix that has a row for each `GRanges` with a mutation in at least one sample.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nassay(mut_data)[1:3,1:3]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\nX:54241715-54241716:+ \"WNK3\" NA \n7:111899511:+ \"IFRD1\" NA \n7:113309556:+ \"PPP1R3A\" NA \n TCGA-AF-2692-01A-01W-0831-10\nX:54241715-54241716:+ NA \n7:111899511:+ NA \n7:113309556:+ NA \n```\n\n\n:::\n\n```{.r .cell-code}\n# Is a sparse matrix\n\nassay(mut_data)[1,] |> \n table(useNA=\"ifany\")\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nWNK3 \n 1 68 \n```\n\n\n:::\n:::\n\n\nWe can get more information if we look at the mutation information for each patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay = mut_data@assays\n\nmut_assay # GRangesList\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRangesList object of length 69:\n$`TCGA-AF-2689-01A-01W-0831-10`\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n\n...\n<68 more elements>\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay |> class()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"CompressedGRangesList\"\nattr(,\"package\")\n[1] \"GenomicRanges\"\n```\n\n\n:::\n\n```{.r .cell-code}\nlength(mut_assay)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 69\n```\n\n\n:::\n:::\n\n\nLet's inspect the data from the first patient. We can see from the metadata information the Hugo Symbol, mutation status and predicted effect of each mutation at variant classification.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay[[1]]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Hugo_Symbol\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"WNK3\" \"IFRD1\" \"PPP1R3A\" \"FAM71F1\" \"NOM1\" \"TRIM73\" \n [7] \"C7orf51\" \"DIDO1\" \"DNMT1\" \"CALR\" \"SIN3B\" \"ZNF569\" \n[13] \"SIGLEC12\" \"ZNF160\" \"NLRP4\" \"ENPP2\" \"TRPA1\" \"MMP16\" \n[19] \"GPR89A\" \"SLC9A11\" \"PAX7\" \"PLA2G5\" \"SLC26A9\" \"PIK3R3\" \n[25] \"LPPR4\" \"BCL9L\" \"PRDM11\" \"PEX3\" \"DCDC2\" \"KRT20\" \n[31] \"TP53\" \"CDH8\" \"SF3B3\" \"SLC9A10\" \"SLC7A14\" \"NLGN1\" \n[37] \"MYRIP\" \"CYP8B1\" \"TGM4\" \"COL7A1\" \"P2RX7\" \"KRAS\" \n[43] \"TPH2\" \"ANO4\" \"UBR1\" \"LBXCOR1\" \"PDLIM5\" \"ODZ1\" \n[49] \"SMARCA1\" \"CNKSR2\" \"RBM10\" \"RBM3\" \"HUWE1\" \"CYLC1\" \n[55] \"ATP6V1E2\" \"ASTN2\" \"TAF1L\" \"SGCG\" \"GBF1\" \"OGDHL\" \n[61] \"HELLS\" \"PSD2\" \"FBXO38\" \"GZMK\" \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Mutation_Status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nSomatic \n 64 \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Variant_Classification |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n Frame_Shift_Ins Missense_Mutation Nonsense_Mutation Silent \n 1 39 5 19 \n```\n\n\n:::\n:::\n\n\nNow, is kind of a trouble to inspect manually each patient. So, lets get all mutation information from Hugo symbol and Variant classification for all the patients.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nvar_class_df = mapply(function(sample_id, mutation_assay){\n \n d = mcols(mutation_assay)[,c(\"Hugo_Symbol\",\"Variant_Classification\")] |> \n as.data.frame()\n \n colnames(d) = c(\"symbol\",\"variant_class\")\n \n d$patientID = sample_id\n \n return(d)\n \n}, sample_id=mut_sample_ids, mutation_assay = mut_assay,SIMPLIFY = F, USE.NAMES = F)\n\n\nvar_class_df = do.call(rbind, var_class_df)\n\n\nhead(var_class_df)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n symbol variant_class patientID\n1 WNK3 Frame_Shift_Ins TCGA-AF-2689\n2 IFRD1 Missense_Mutation TCGA-AF-2689\n3 PPP1R3A Missense_Mutation TCGA-AF-2689\n4 FAM71F1 Silent TCGA-AF-2689\n5 NOM1 Missense_Mutation TCGA-AF-2689\n6 TRIM73 Nonsense_Mutation TCGA-AF-2689\n```\n\n\n:::\n:::\n\n\nWe can visualize the most common mutated genes genes in rectum adenocarcinoma\n\n\n::: {#cell-fig-genesmut .cell}\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\np <- var_class_df |> \n as_tibble() |> \n group_by(symbol,variant_class) |> \n summarise(n = n()) |> \n arrange(desc(n)) |> \n ungroup() |> \n slice_max(order_by = n, n = 20) |> \n ungroup() |> \n mutate(symbol = fct_reorder(symbol,n)) |> \n ggplot(aes(n, symbol,fill=variant_class)) +\n geom_col() +\n facet_wrap(~variant_class) +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\") +\n labs(x = \"Samples with specific mutation\", y=\"Gene Symbol\", fill=\"Variant Class\",\n title=\"Top 20 Samples with READ\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n`summarise()` has grouped output by 'symbol'. You can override using the\n`.groups` argument.\n```\n\n\n:::\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\npath <- \"images/\"\nggsave(paste0(path,\"samples_with_mut.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Samples with specific mutation per gene](images/samples_with_mut.jpeg)\n## Linking mutations and tumor stage\n\nNow that we are familiarized with the mutation data, we can link mutations to the tumor stage from the patients with rectum adenocarcinoma.\n\nWe can filter the clinical data with the patients that have mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nindex <- which( (var_class_df$patientID |> unique()) %in% clin$patientID)\n\nclin_and_mutation = clin[index,]\n\nhead(clin_and_mutation) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2,261\n patientID years_to_birth vital_status days_to_death days_to_last_followup\n \n1 TCGA-AF-2687 57 0 NA 1427\n2 TCGA-AF-2689 41 1 1201 NA\n3 TCGA-AF-2690 76 1 524 NA\n4 TCGA-AF-2691 48 0 NA 1309\n5 TCGA-AF-2692 54 0 NA 412\n6 TCGA-AF-2693 75 0 NA 1155\n# ℹ 2,256 more variables: tumor_tissue_site , pathologic_stage ,\n# pathology_T_stage , pathology_N_stage , pathology_M_stage ,\n# gender , date_of_initial_pathologic_diagnosis ,\n# days_to_last_known_alive , radiation_therapy ,\n# histological_type , tumor_stage , residual_tumor ,\n# number_of_lymph_nodes , ethnicity , admin.bcr ,\n# admin.day_of_dcc_upload , admin.disease_code , …\n```\n\n\n:::\n:::\n\n\nWe can count the number of genes with mutations per patient and then make a `left_join` to the clinical data to plot the mutated genes per tumor stage.\n\n\n::: {#cell-fig-plot1 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot1\n\ndf = var_class_df |> \n group_by(patientID) |> \n summarise(n = n())\n\np <- clin_and_mutation |> \n left_join(df, by = join_by(patientID)) |> \n ggplot(aes(t_stage,log(n), fill=t_stage))+\n geom_boxplot() +\n geom_jitter(width = 0.05, colour=\"red2\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(x = \"Tumor stage\", y=\"Number of mutated genes in log scale\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_genes_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing non-finite outside the scale range\n(`stat_boxplot()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n:::\n\n\n![Number of mutated genes per tumor stage](images/number_mut_genes_per_tumor_stage.jpeg)\n\nAlso, we can focus on a specific gene, e.g. [TP53](https://www.ncbi.nlm.nih.gov/gene/7157).\n\n\n::: {#cell-fig-plot_tp53 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot_tp53\n\nmut_on_tp53 <- var_class_df |> \n dplyr::filter(symbol == \"TP53\") \n\n\np <-clin_and_mutation |> \n dplyr::filter(patientID %in% mut_on_tp53$patientID) |> \n dplyr::select(t_stage, patientID) |> \n group_by(t_stage) |> \n summarise(n = n()) |> \n # mutate(t_stage = fct_reorder(t_stage,n)) |> \n ggplot(aes(n, t_stage, fill=t_stage, label=n)) +\n geom_col() +\n geom_label(fill=\"white\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(y = \"Tumor Stage\", x=\"N° of Mutations\", fill=\"Tumor Stage\", title=\"Number of Mutations on Gene TP53\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_tp53_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Number of mutations on gene TP53 per tumor stage](images/number_mut_tp53_per_tumor_stage.jpeg)\n\n# Linking expression and tumor stage\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrnaseq = readData[[2]]\n\nrnaseq\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 18115 177 \nmetadata(3): filename build platform\nassays(1): ''\nrownames(18115): A1BG A1CF ... ZZZ3 psiTPTE22\nrowData names(0):\ncolnames(177): TCGA-AF-2687-01 TCGA-AF-2689-11 ... TCGA-AG-A032-01\n TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(rnaseq) = colnames(rnaseq) |> \n stringr::str_sub(1,12)\n\nclin <- clin |> as.data.frame()\nrownames(clin) <- clin$patientID\n\nindex <- which(colnames(rnaseq) %in% rownames(clin))\n\ncolData(rnaseq) = as(clin[colnames(rnaseq),],\"DataFrame\")\n\n\nidx <- is.na(colData(rnaseq)$t_stage)\n\nrnaseq <- rnaseq[,!idx]\n```\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(limma)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'limma' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'limma'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:BiocGenerics':\n\n plotMA\n```\n\n\n:::\n\n```{.r .cell-code}\nmm = model.matrix(~t_stage, data=colData(rnaseq))\nf1 = lmFit(assay(rnaseq), mm)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Partial NA coefficients for 5 probe(s)\n```\n\n\n:::\n\n```{.r .cell-code}\nef1 = eBayes(f1)\ntopTable(ef1) |> \n arrange(desc(AveExpr))\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRemoving intercept from test coefficients\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n t_staget2 t_staget3 t_staget4 AveExpr F P.Value\nPAM -0.5791836 0.08813521 0.4984790 10.94216940 8.309141 3.409613e-05\nPAIP2 -0.3240061 0.18551765 0.0958645 10.29398797 9.056896 1.331550e-05\nSPP1 -0.3352086 1.56339367 2.6409082 9.61423581 9.316731 9.621982e-06\nNIPSNAP3A -0.9988818 -0.35051776 -0.6085837 9.38910637 8.712515 2.051165e-05\nASPN -0.7366657 0.75340984 1.9537316 7.45952050 8.323019 3.350393e-05\nOLR1 -0.2557879 1.39542897 2.1822156 4.97144475 8.531715 2.597133e-05\nSEMA5B 1.3576218 1.27252058 1.9271042 4.60337761 8.091237 4.490926e-05\nCPSF4L 1.0629502 -0.17984587 -1.4274556 0.70036223 8.955085 2.311056e-05\nGRM5 1.3027501 -0.14596612 -0.7395609 0.06134539 10.268851 7.301656e-06\nC1orf223 0.7830779 -0.40735736 -0.7062534 -0.35136703 9.681632 1.743477e-05\n adj.P.Val\nPAM 0.06860899\nPAIP2 0.06719153\nSPP1 0.06719153\nNIPSNAP3A 0.06719153\nASPN 0.06860899\nOLR1 0.06719153\nSEMA5B 0.07597995\nCPSF4L 0.06719153\nGRM5 0.06719153\nC1orf223 0.06719153\n```\n\n\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\npar(mfrow=c(1,2))\nboxplot(split(assay(rnaseq)[\"PAM\",], rnaseq$t_stage), main=\"PAM\") # higher expression in lower t_stage\nboxplot(split(assay(rnaseq)[\"PAIP2\",], rnaseq$t_stage), main=\"PAIP2\")\n```\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-25-1.png){width=1260}\n:::\n:::\n\n\n# Linking methylation and expression\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl <- readData[[3]]\n\nidx <- colnames(methyl) |> \n str_split(pattern = \"-\") |> \n map(4) |> \n enframe() |> \n unnest(value)\n\nidx <- which(idx$value == \"01A\")\n\nmethyl = methyl[,idx]\n\nmethyl\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 485577 95 \nmetadata(0):\nassays(1): counts\nrownames(485577): cg00000029 cg00000108 ... rs966367 rs9839873\nrowData names(3): Gene_Symbol Chromosome Genomic_Coordinate\ncolnames(95): TCGA-AF-2687-01A-02D-1734-05 TCGA-AF-2690-01A-02D-1734-05\n ... TCGA-G5-6572-01A-11D-1828-05 TCGA-G5-6641-01A-11D-1828-05\ncolData names(0):\n```\n\n\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(methyl) <- colnames(methyl) |> \n str_sub(start = 1,end = 12)\n```\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\ncolData(methyl) <- as(clin[colnames(methyl),],\"DataFrame\")\n\n\nintersect(colnames(methyl), colnames(rnaseq)) |> length()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 93\n```\n\n\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl_subset = methyl[,which(colnames(methyl) %in% colnames(rnaseq))]\nrnaseq_subset = rnaseq[,which(colnames(rnaseq) %in% colnames(methyl))]\n\nmethyl_genes = rowData(methyl_subset)\nmethyl_genes\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 485577 rows and 3 columns\n Gene_Symbol Chromosome Genomic_Coordinate\n \ncg00000029 RBL2 16 53468112\ncg00000108 C3orf35 3 37459206\ncg00000109 FNDC3B 3 171916037\ncg00000165 NA 1 91194674\ncg00000236 VDAC3 8 42263294\n... ... ... ...\nrs9363764 NA NA 0\nrs939290 NA NA 0\nrs951295 NA NA 0\nrs966367 NA NA 0\nrs9839873 NA NA 0\n```\n\n\n:::\n:::\n\n::: {.cell}\n\n```{.r .cell-code}\n#| label: figplot\n\nme_rna_cor = function(sym, mpick = 3){\n require(GGally)\n # subset methylation data to first mpick methylation sites for given gene symbol\n methyl_ind = which(methyl_genes$Gene_Symbol == sym)\n if (length(methyl_ind) > mpick){ \n methyl_ind = methyl_ind[1:mpick]\n }\n methyl_dat = assay(methyl_subset)[methyl_ind,] # subset to selected methylation sites\n\n # subset expression data to selected gene symbol\n expr_ind = which(rownames(rnaseq_subset) == sym) \n expr_dat = assay(rnaseq_subset)[expr_ind,]\n\n # combine methylation and expression data as data frame\n combined_dat = as(t(methyl_dat), \"DataFrame\")\n combined_dat$expr = expr_dat\n\n # plot pairs and calculate correlation coefficients between methylation and expression\n ggpairs(combined_dat) |> print()\n sapply(1:mpick, function(i){\n \n cor_to <- as.numeric(combined_dat[,mpick+1])\n \n df <- data.frame(v1= as.numeric(combined_dat[,i]),\n v2 = cor_to)\n \n df <- df |> na.omit()\n \n cor(df[,1], df[,2])\n })\n}\n\nme_rna_cor(\"TAC1\", mpick=3)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GGally\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GGally' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRegistered S3 method overwritten by 'GGally':\n method from \n +.gg ggplot2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing non-finite outside the scale range\n(`stat_density()`).\n```\n\n\n:::\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-30-1.png){width=1260}\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 0.0410095 0.1457715 0.0856926\n```\n\n\n:::\n:::\n\n\n## Conclusion\n", + "markdown": "---\ntitle: \"Integrative Analysis with TCGA Data\"\nsubtitle: \"Analysis of Mutation Data from The Cancer Genome Atlas (TCGA)\"\nformat: html\neditor: visual\n---\n\n::: {.cell .hidden}\n\n```{.r .cell-code .hidden}\n#| include: false\nlibrary(knitr)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'knitr' was built under R version 4.3.3\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\nknitr::opts_chunk$set(\n warning = FALSE,\n message = FALSE,\n dpi = 180,\n echo = TRUE\n)\n\nlibrary(tidyverse)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'ggplot2' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'tidyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'readr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'purrr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'dplyr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'stringr' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'lubridate' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.4 ✔ readr 2.1.5\n✔ forcats 1.0.0 ✔ stringr 1.5.1\n✔ ggplot2 3.5.0 ✔ tibble 3.2.1\n✔ lubridate 1.9.3 ✔ tidyr 1.3.1\n✔ purrr 1.0.2 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package () to force all conflicts to become errors\n```\n\n\n:::\n\n```{.r .cell-code .hidden}\n#| include: false\ntheme_set(theme_minimal())\n```\n:::\n\n\n## Introduction\n\nThe Cancer Genome Atlas (TCGA) is a massive cancer genomics project compiling high-throughput multi-omic data on dozens of cancer types for [public access](https://www.cancer.gov/ccg/research/genome-sequencing/tcga).\n\nWe are gonna use the `curatedTCGAData` package to manipulate locally to multiple high-throughput datasets from the project. The package provides access to TCGA data that has been curated and stored as a *MultiAssayExperiment* object on the Bioconductor [ExperimentHub](https://bioconductor.org/packages/release/bioc/html/ExperimentHub.html).\n\nFirst, let's load the packages needed.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(curatedTCGAData)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MultiAssayExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MultiAssayExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SummarizedExperiment\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SummarizedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: MatrixGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'MatrixGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: matrixStats\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'matrixStats' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'matrixStats'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:dplyr':\n\n count\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'MatrixGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,\n colCounts, colCummaxs, colCummins, colCumprods, colCumsums,\n colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,\n colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,\n colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,\n colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,\n colWeightedMeans, colWeightedMedians, colWeightedSds,\n colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,\n rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,\n rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,\n rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,\n rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,\n rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,\n rowWeightedMads, rowWeightedMeans, rowWeightedMedians,\n rowWeightedSds, rowWeightedVars\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomicRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: stats4\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: BiocGenerics\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'BiocGenerics' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'BiocGenerics'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n combine, intersect, setdiff, union\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:stats':\n\n IQR, mad, sd, var, xtabs\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n anyDuplicated, aperm, append, as.data.frame, basename, cbind,\n colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,\n get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,\n match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,\n Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort,\n table, tapply, union, unique, unsplit, which.max, which.min\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Vectors\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Vectors'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:lubridate':\n\n second, second<-\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n first, rename\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:tidyr':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:utils':\n\n findMatches\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n expand.grid, I, unname\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: IRanges\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'IRanges'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:lubridate':\n\n %within%\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:dplyr':\n\n collapse, desc, slice\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n reduce\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:grDevices':\n\n windows\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GenomeInfoDb\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GenomeInfoDb' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Biobase\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWelcome to Bioconductor\n\n Vignettes contain introductory material; view with\n 'browseVignettes()'. To cite Bioconductor, see\n 'citation(\"Biobase\")', and for packages 'citation(\"pkgname\")'.\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Biobase'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:MatrixGenerics':\n\n rowMedians\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:matrixStats':\n\n anyMissing, rowMedians\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(TCGAutils)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'TCGAutils' was built under R version 4.3.2\n```\n\n\n:::\n\n```{.r .cell-code}\nlibrary(MultiAssayExperiment)\n```\n:::\n\n\n## Download the Data\n\nTo download the data we need to use `curatedTCGAData`function. The first argument is a four letter disease (cancer) code (A complete list of disease codes used by the TCGA project are available on the [NCI Genomic Data Commons website](https://gdc.cancer.gov/resources-tcga-users/tcga-code-tables/tcga-study-abbreviations)), the second argument is a vector of data types we want to download. We need to specify `dry.run = FALSE` to download the data.\n\nIn this specific case, we are gonna work with RNA-Seq data, mutation data and methylation data from Rectum Adenocarcinoma (READ). The clinical data is included by default.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData = curatedTCGAData(\"READ\", \n c(\"RNASeq2GeneNorm\", \"Mutation\", \"Methylation_methyl450\"), \n dry.run = FALSE, version = \"2.1.1\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Mutation-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"RaggedExperiment\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'RaggedExperiment' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_RNASeq2GeneNorm-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_Methylation_methyl450-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nrequire(\"rhdf5\")\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'rhdf5' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: HDF5Array\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'HDF5Array' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: DelayedArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'DelayedArray' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: Matrix\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'Matrix' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'Matrix'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:S4Vectors':\n\n expand\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:tidyr':\n\n expand, pack, unpack\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: S4Arrays\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'S4Arrays' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'S4Arrays'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:abind':\n\n abind\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:base':\n\n rowsum\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: SparseArray\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'SparseArray' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'DelayedArray'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:purrr':\n\n simplify\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following objects are masked from 'package:base':\n\n apply, scale, sweep\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'HDF5Array'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:rhdf5':\n\n h5ls\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_colData-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_sampleMap-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWorking on: READ_metadata-20160128\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nsee ?curatedTCGAData and browseVignettes('curatedTCGAData') for documentation\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nloading from cache\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nharmonizing input:\n removing 1903 sampleMap rows not in names(experiments)\n removing 2 colData rownames not in sampleMap 'primary'\n```\n\n\n:::\n\n```{.r .cell-code}\n#| message: false\n#| warning: false\n#| label: read-data\n\nreadData # this is a MultiAssayExperiment object\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nA MultiAssayExperiment object of 3 listed\n experiments with user-defined names and respective classes.\n Containing an ExperimentList class object of length 3:\n [1] READ_Mutation-20160128: RaggedExperiment with 22075 rows and 69 columns\n [2] READ_RNASeq2GeneNorm-20160128: SummarizedExperiment with 18115 rows and 177 columns\n [3] READ_Methylation_methyl450-20160128: SummarizedExperiment with 485577 rows and 106 columns\nFunctionality:\n experiments() - obtain the ExperimentList instance\n colData() - the primary/phenotype DataFrame\n sampleMap() - the sample coordination DataFrame\n `$`, `[`, `[[` - extract colData columns, subset, or experiment\n *Format() - convert into a long or wide DataFrame\n assays() - convert ExperimentList to a SimpleList of matrices\n exportClass() - save data to flat files\n```\n\n\n:::\n:::\n\n\n## Review the Clinical Metadata\n\nWe can see which patients have data for each assay. The assay column gives the experiment type, the primary column gives the unique patient ID and the colname gives the sample ID used as a identifier within a given experiment.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 352 rows and 3 columns\n assay primary colname\n \n1 READ_Methylation_methyl450-20160128 TCGA-AF-2687 TCGA-AF-2687-01A-02D..\n2 READ_Methylation_methyl450-20160128 TCGA-AF-2690 TCGA-AF-2690-01A-02D..\n3 READ_Methylation_methyl450-20160128 TCGA-AF-2693 TCGA-AF-2693-01A-02D..\n4 READ_Methylation_methyl450-20160128 TCGA-AF-3911 TCGA-AF-3911-01A-01D..\n5 READ_Methylation_methyl450-20160128 TCGA-AF-4110 TCGA-AF-4110-01A-02D..\n... ... ... ...\n348 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02G TCGA-AG-A02G-01\n349 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02N TCGA-AG-A02N-01\n350 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A02X TCGA-AG-A02X-01\n351 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A032 TCGA-AG-A032-01\n352 READ_RNASeq2GeneNorm-20160128 TCGA-AG-A036 TCGA-AG-A036-01\n```\n\n\n:::\n:::\n\n\nNot all patients have data for all assays, and some of them can have multiple data entries for one or more experiment type. This may correspond to multiple biopsies or matched tumor and normal samples from an individual patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nsampleMap(readData) |> \n as_tibble() |> \n pull(primary) |> \n table() |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 1 2 3 4 \n 5 147 7 8 \n```\n\n\n:::\n:::\n\n\nWe can see the metadata of the patients with `colData`. Note that there are more than 2000 columns of data per patient (not necessarily complete).\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin = colData(readData) |> \n as_tibble()\ndim(clin)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 167 2260\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(colnames(clin), 10) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"patientID\" \"years_to_birth\" \"vital_status\" \n [4] \"days_to_death\" \"days_to_last_followup\" \"tumor_tissue_site\" \n [7] \"pathologic_stage\" \"pathology_T_stage\" \"pathology_N_stage\" \n[10] \"pathology_M_stage\" \n```\n\n\n:::\n:::\n\n\nAs an example, for rectum adenocarcinoma, we can see the tumor stage.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin |> \n pull(pathology_T_stage) |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 t4a t4b \n 9 28 114 5 8 1 \n```\n\n\n:::\n:::\n\n\nStage T4 have subgroups. To simplify the analysis, let's combine all T4 tumors.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin <- clin |> \n mutate(t_stage = case_when(\n pathology_T_stage %in% c(\"t4\",\"t4a\",\"t4b\") ~ \"t4\",\n .default = pathology_T_stage\n ))\n\nclin$t_stage |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n t1 t2 t3 t4 \n 9 28 114 14 \n```\n\n\n:::\n:::\n\n\nAlso, we can see the vital status (alive=0, deceased=1)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nclin$vital_status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n 0 1 \n139 28 \n```\n\n\n:::\n:::\n\n\nOr combine tumor status and vital status.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntable(clin$t_stage, clin$vital_status)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n \n 0 1\n t1 9 0\n t2 24 4\n t3 96 18\n t4 9 5\n```\n\n\n:::\n:::\n\n\n## Analyzing Mutation Data\n\nLet's begin analyzing the mutation data. Below is the code to retrieve the mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_data = readData[[1]]\n\nmut_data\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: RaggedExperiment \ndim: 22075 69 \nassays(34): Hugo_Symbol Entrez_Gene_Id ... COSMIC_Gene Drug_Target\nrownames: NULL\ncolnames(69): TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\n ... TCGA-AG-A032-01 TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nFrom the inspection of the sample IDs we can see that the mutation colnames match to the **primary** column from he clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids = colnames(mut_data)\nhead(mut_sample_ids)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2689-01A-01W-0831-10\" \"TCGA-AF-2691-01A-01W-0831-10\"\n[3] \"TCGA-AF-2692-01A-01W-0831-10\" \"TCGA-AF-3400-01A-01W-0831-10\"\n[5] \"TCGA-AF-3913-01\" \"TCGA-AG-3574-01A-01W-0831-10\"\n```\n\n\n:::\n\n```{.r .cell-code}\nhead(clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"TCGA-AF-2687\" \"TCGA-AF-2689\" \"TCGA-AF-2690\" \"TCGA-AF-2691\" \"TCGA-AF-2692\"\n[6] \"TCGA-AF-2693\"\n```\n\n\n:::\n:::\n\n\nWe need to manipulate these by substracting 12 characters.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_sample_ids <- mut_sample_ids |> \n stringr::str_sub(1,12)\n\nall(mut_sample_ids %in% clin$patientID)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] TRUE\n```\n\n\n:::\n:::\n\n\nIs important to note that the data stored in `assay(mut_data)` is difficult to work with because is a sparse matrix that has a row for each `GRanges` with a mutation in at least one sample.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nassay(mut_data)[1:3,1:3]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n TCGA-AF-2689-01A-01W-0831-10 TCGA-AF-2691-01A-01W-0831-10\nX:54241715-54241716:+ \"WNK3\" NA \n7:111899511:+ \"IFRD1\" NA \n7:113309556:+ \"PPP1R3A\" NA \n TCGA-AF-2692-01A-01W-0831-10\nX:54241715-54241716:+ NA \n7:111899511:+ NA \n7:113309556:+ NA \n```\n\n\n:::\n\n```{.r .cell-code}\n# Is a sparse matrix\n\nassay(mut_data)[1,] |> \n table(useNA=\"ifany\")\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nWNK3 \n 1 68 \n```\n\n\n:::\n:::\n\n\nWe can get more information if we look at the mutation information for each patient.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay = mut_data@assays\n\nmut_assay # GRangesList\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRangesList object of length 69:\n$`TCGA-AF-2689-01A-01W-0831-10`\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n\n...\n<68 more elements>\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay |> class()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"CompressedGRangesList\"\nattr(,\"package\")\n[1] \"GenomicRanges\"\n```\n\n\n:::\n\n```{.r .cell-code}\nlength(mut_assay)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 69\n```\n\n\n:::\n:::\n\n\nLet's inspect the data from the first patient. We can see from the metadata information the Hugo Symbol, mutation status and predicted effect of each mutation at variant classification.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmut_assay[[1]]\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nGRanges object with 64 ranges and 34 metadata columns:\n seqnames ranges strand | Hugo_Symbol Entrez_Gene_Id\n | \n [1] X 54241715-54241716 + | WNK3 65267\n [2] 7 111899511 + | IFRD1 3475\n [3] 7 113309556 + | PPP1R3A 5506\n [4] 7 128146325 + | FAM71F1 84691\n [5] 7 156447624 + | NOM1 64434\n ... ... ... ... . ... ...\n [60] 10 50616059 + | OGDHL 55753\n [61] 10 96343335 + | HELLS 3070\n [62] 5 139173166 + | PSD2 84249\n [63] 5 147800932 + | FBXO38 81545\n [64] 5 54365356 + | GZMK 3003\n Center NCBI_Build Variant_Classification Variant_Type\n \n [1] hgsc.bcm.edu 36 Frame_Shift_Ins INS\n [2] hgsc.bcm.edu 36 Missense_Mutation SNP\n [3] hgsc.bcm.edu 36 Missense_Mutation SNP\n [4] hgsc.bcm.edu 36 Silent SNP\n [5] hgsc.bcm.edu 36 Missense_Mutation SNP\n ... ... ... ... ...\n [60] hgsc.bcm.edu 36 Silent SNP\n [61] hgsc.bcm.edu 36 Silent SNP\n [62] hgsc.bcm.edu 36 Nonsense_Mutation SNP\n [63] hgsc.bcm.edu 36 Silent SNP\n [64] hgsc.bcm.edu 36 Missense_Mutation SNP\n Reference_Allele Tumor_Seq_Allele1 Tumor_Seq_Allele2 dbSNP_RS\n \n [1] - - T novel\n [2] A A G novel\n [3] T T C novel\n [4] G G A novel\n [5] A A G novel\n ... ... ... ... ...\n [60] G G A novel\n [61] T T C novel\n [62] C C T novel\n [63] G G A novel\n [64] T T A novel\n dbSNP_Val_Status Matched_Norm_Sample_Barcode Match_Norm_Seq_Allele1\n \n [1] unknown TCGA-AF-2689-10A-01W.. -\n [2] unknown TCGA-AF-2689-10A-01W.. A\n [3] unknown TCGA-AF-2689-10A-01W.. T\n [4] unknown TCGA-AF-2689-10A-01W.. G\n [5] unknown TCGA-AF-2689-10A-01W.. A\n ... ... ... ...\n [60] unknown TCGA-AF-2689-10A-01W.. G\n [61] unknown TCGA-AF-2689-10A-01W.. T\n [62] unknown TCGA-AF-2689-10A-01W.. C\n [63] unknown TCGA-AF-2689-10A-01W.. G\n [64] unknown TCGA-AF-2689-10A-01W.. T\n Match_Norm_Seq_Allele2 Tumor_Validation_Allele1 Tumor_Validation_Allele2\n \n [1] - - T\n [2] A A G\n [3] T T C\n [4] G . .\n [5] A A G\n ... ... ... ...\n [60] G . .\n [61] T . .\n [62] C C T\n [63] G G A\n [64] T T A\n Match_Norm_Validation_Allele1 Match_Norm_Validation_Allele2\n \n [1] - -\n [2] A A\n [3] T T\n [4] . .\n [5] A A\n ... ... ...\n [60] . .\n [61] . .\n [62] C C\n [63] G G\n [64] T T\n Verification_Status Validation_Status Mutation_Status Sequencing_Phase\n \n [1] Unknown Valid Somatic Phase_I\n [2] Unknown Valid Somatic Phase_I\n [3] Unknown Valid Somatic Phase_I\n [4] Unknown Unknown Somatic Phase_I\n [5] Unknown Valid Somatic Phase_I\n ... ... ... ... ...\n [60] Unknown Unknown Somatic Phase_I\n [61] Unknown Unknown Somatic Phase_I\n [62] Unknown Valid Somatic Phase_I\n [63] Unknown Valid Somatic Phase_I\n [64] Unknown Valid Somatic Phase_I\n Sequence_Source Validation_Method Score BAM_file Sequencer\n \n [1] Capture 454 SOLID\n [2] Capture 454 SOLID\n [3] Capture 454 SOLID\n [4] Capture . SOLID\n [5] Capture 454 SOLID\n ... ... ... ... ... ...\n [60] Capture . SOLID\n [61] Capture . SOLID\n [62] Capture 454 SOLID\n [63] Capture 454 SOLID\n [64] Capture 454 SOLID\n TranscriptID Exon ChromChange AAChange COSMIC_Codon\n \n [1] NM_001002838 exon23 c.4999_5000insA p.L1667fs .\n [2] NM_001550 exon10 c.A1043G p.E348G .\n [3] NM_002711 exon2 c.A838G p.T280A .\n [4] NM_032599 exon3 c.G639A p.T213T .\n [5] NM_138400 exon5 c.A1651G p.T551A .\n ... ... ... ... ... ...\n [60] NM_001143996 exon18 c.C2286T p.S762S .\n [61] NM_018063 exon18 c.T2061C p.D687D .\n [62] NM_032289 exon3 c.C460T p.Q154X .\n [63] NM_205836 exon21 c.G3327A p.R1109R .\n [64] NM_002104 exon5 c.T640A p.S214T .\n COSMIC_Gene Drug_Target\n \n [1] . .\n [2] . .\n [3] . .\n [4] . .\n [5] . .\n ... ... ...\n [60] . .\n [61] . .\n [62] . .\n [63] . .\n [64] . .\n -------\n seqinfo: 24 sequences from NCBI36 genome; no seqlengths\n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Hugo_Symbol\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n [1] \"WNK3\" \"IFRD1\" \"PPP1R3A\" \"FAM71F1\" \"NOM1\" \"TRIM73\" \n [7] \"C7orf51\" \"DIDO1\" \"DNMT1\" \"CALR\" \"SIN3B\" \"ZNF569\" \n[13] \"SIGLEC12\" \"ZNF160\" \"NLRP4\" \"ENPP2\" \"TRPA1\" \"MMP16\" \n[19] \"GPR89A\" \"SLC9A11\" \"PAX7\" \"PLA2G5\" \"SLC26A9\" \"PIK3R3\" \n[25] \"LPPR4\" \"BCL9L\" \"PRDM11\" \"PEX3\" \"DCDC2\" \"KRT20\" \n[31] \"TP53\" \"CDH8\" \"SF3B3\" \"SLC9A10\" \"SLC7A14\" \"NLGN1\" \n[37] \"MYRIP\" \"CYP8B1\" \"TGM4\" \"COL7A1\" \"P2RX7\" \"KRAS\" \n[43] \"TPH2\" \"ANO4\" \"UBR1\" \"LBXCOR1\" \"PDLIM5\" \"ODZ1\" \n[49] \"SMARCA1\" \"CNKSR2\" \"RBM10\" \"RBM3\" \"HUWE1\" \"CYLC1\" \n[55] \"ATP6V1E2\" \"ASTN2\" \"TAF1L\" \"SGCG\" \"GBF1\" \"OGDHL\" \n[61] \"HELLS\" \"PSD2\" \"FBXO38\" \"GZMK\" \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Mutation_Status |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\nSomatic \n 64 \n```\n\n\n:::\n\n```{.r .cell-code}\nmut_assay[[1]]$Variant_Classification |> \n table()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n\n Frame_Shift_Ins Missense_Mutation Nonsense_Mutation Silent \n 1 39 5 19 \n```\n\n\n:::\n:::\n\n\nNow, is kind of a trouble to inspect manually each patient. So, lets get all mutation information from Hugo symbol and Variant classification for all the patients.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nvar_class_df = mapply(function(sample_id, mutation_assay){\n \n d = mcols(mutation_assay)[,c(\"Hugo_Symbol\",\"Variant_Classification\")] |> \n as.data.frame()\n \n colnames(d) = c(\"symbol\",\"variant_class\")\n \n d$patientID = sample_id\n \n return(d)\n \n}, sample_id=mut_sample_ids, mutation_assay = mut_assay,SIMPLIFY = F, USE.NAMES = F)\n\n\nvar_class_df = do.call(rbind, var_class_df)\n\n\nhead(var_class_df)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n symbol variant_class patientID\n1 WNK3 Frame_Shift_Ins TCGA-AF-2689\n2 IFRD1 Missense_Mutation TCGA-AF-2689\n3 PPP1R3A Missense_Mutation TCGA-AF-2689\n4 FAM71F1 Silent TCGA-AF-2689\n5 NOM1 Missense_Mutation TCGA-AF-2689\n6 TRIM73 Nonsense_Mutation TCGA-AF-2689\n```\n\n\n:::\n:::\n\n\nWe can visualize the most common mutated genes genes in rectum adenocarcinoma\n\n\n::: {#cell-fig-genesmut .cell}\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\np <- var_class_df |> \n as_tibble() |> \n group_by(symbol,variant_class) |> \n summarise(n = n()) |> \n arrange(desc(n)) |> \n ungroup() |> \n slice_max(order_by = n, n = 20) |> \n ungroup() |> \n mutate(symbol = fct_reorder(symbol,n)) |> \n ggplot(aes(n, symbol,fill=variant_class)) +\n geom_col() +\n facet_wrap(~variant_class) +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\") +\n labs(x = \"Samples with specific mutation\", y=\"Gene Symbol\", fill=\"Variant Class\",\n title=\"Top 20 Samples with READ\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n`summarise()` has grouped output by 'symbol'. You can override using the\n`.groups` argument.\n```\n\n\n:::\n\n```{.r .cell-code}\n#| label: fig-genesmut\n#| message: false\n#| warning: false\n\npath <- \"images/\"\nggsave(paste0(path,\"samples_with_mut.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Samples with specific mutation per gene](images/samples_with_mut.jpeg)\n## Linking mutations and tumor stage\n\nNow that we are familiarized with the mutation data, we can link mutations to the tumor stage from the patients with rectum adenocarcinoma.\n\nWe can filter the clinical data with the patients that have mutation data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nindex <- which( (var_class_df$patientID |> unique()) %in% clin$patientID)\n\nclin_and_mutation = clin[index,]\n\nhead(clin_and_mutation) \n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2,261\n patientID years_to_birth vital_status days_to_death days_to_last_followup\n \n1 TCGA-AF-2687 57 0 NA 1427\n2 TCGA-AF-2689 41 1 1201 NA\n3 TCGA-AF-2690 76 1 524 NA\n4 TCGA-AF-2691 48 0 NA 1309\n5 TCGA-AF-2692 54 0 NA 412\n6 TCGA-AF-2693 75 0 NA 1155\n# ℹ 2,256 more variables: tumor_tissue_site , pathologic_stage ,\n# pathology_T_stage , pathology_N_stage , pathology_M_stage ,\n# gender , date_of_initial_pathologic_diagnosis ,\n# days_to_last_known_alive , radiation_therapy ,\n# histological_type , tumor_stage , residual_tumor ,\n# number_of_lymph_nodes , ethnicity , admin.bcr ,\n# admin.day_of_dcc_upload , admin.disease_code , …\n```\n\n\n:::\n:::\n\n\nWe can count the number of genes with mutations per patient and then make a `left_join` to the clinical data to plot the mutated genes per tumor stage.\n\n\n::: {#cell-fig-plot1 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot1\n\ndf = var_class_df |> \n group_by(patientID) |> \n summarise(n = n())\n\np <- clin_and_mutation |> \n left_join(df, by = join_by(patientID)) |> \n ggplot(aes(t_stage,log(n), fill=t_stage))+\n geom_boxplot() +\n geom_jitter(width = 0.05, colour=\"red2\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(x = \"Tumor stage\", y=\"Number of mutated genes in log scale\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_genes_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing non-finite outside the scale range\n(`stat_boxplot()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 20 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n:::\n\n\n![Number of mutated genes per tumor stage](images/number_mut_genes_per_tumor_stage.jpeg)\n\nAlso, we can focus on a specific gene, e.g. [TP53](https://www.ncbi.nlm.nih.gov/gene/7157).\n\n\n::: {#cell-fig-plot_tp53 .cell}\n\n```{.r .cell-code}\n#| label: fig-plot_tp53\n\nmut_on_tp53 <- var_class_df |> \n dplyr::filter(symbol == \"TP53\") \n\n\np <-clin_and_mutation |> \n dplyr::filter(patientID %in% mut_on_tp53$patientID) |> \n dplyr::select(t_stage, patientID) |> \n group_by(t_stage) |> \n summarise(n = n()) |> \n # mutate(t_stage = fct_reorder(t_stage,n)) |> \n ggplot(aes(n, t_stage, fill=t_stage, label=n)) +\n geom_col() +\n geom_label(fill=\"white\") +\n paletteer::scale_fill_paletteer_d(\"awtools::a_palette\")+\n labs(y = \"Tumor Stage\", x=\"N° of Mutations\", fill=\"Tumor Stage\", title=\"Number of Mutations on Gene TP53\")\n\npath <- \"images/\"\nggsave(paste0(path,\"number_mut_tp53_per_tumor_stage.jpeg\"), device = \"jpeg\")\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nSaving 7 x 5 in image\n```\n\n\n:::\n:::\n\n\n![Number of mutations on gene TP53 per tumor stage](images/number_mut_tp53_per_tumor_stage.jpeg)\n\n# Linking expression and tumor stage\n\nWe also can link the expression data (RNA-Seq) with the tumor stage data from the clinical metadata. [Check the TCGA RNA-Seq protocol online]{.aside}\n\n\n::: {.cell}\n\n```{.r .cell-code}\nrnaseq = readData[[2]]\n\nrnaseq\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 18115 177 \nmetadata(3): filename build platform\nassays(1): ''\nrownames(18115): A1BG A1CF ... ZZZ3 psiTPTE22\nrowData names(0):\ncolnames(177): TCGA-AF-2687-01 TCGA-AF-2689-11 ... TCGA-AG-A032-01\n TCGA-AG-A036-01\ncolData names(0):\n```\n\n\n:::\n:::\n\nAs before, we need to shorten the sample IDs so they can match to the clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(rnaseq) = colnames(rnaseq) |> \n stringr::str_sub(1,12)\n\nclin <- clin |> as.data.frame()\nrownames(clin) <- clin$patientID\n\nindex <- which(colnames(rnaseq) %in% rownames(clin))\n\ncolData(rnaseq) = as(clin[colnames(rnaseq),],\"DataFrame\")\n\n\nidx <- is.na(colData(rnaseq)$t_stage)\n\nrnaseq <- rnaseq[,!idx]\n```\n:::\n\n\nThen, we can use the `limma` package to proceed with the differential expression analysis. In this case, we'll ise the tumor stage as a variable to explain the expression of the genes. \n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(limma)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'limma' was built under R version 4.3.1\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\n\nAttaching package: 'limma'\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nThe following object is masked from 'package:BiocGenerics':\n\n plotMA\n```\n\n\n:::\n\n```{.r .cell-code}\nmm = model.matrix(~t_stage, data=colData(rnaseq))\nf1 = lmFit(assay(rnaseq), mm)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Partial NA coefficients for 5 probe(s)\n```\n\n\n:::\n\n```{.r .cell-code}\nef1 = eBayes(f1)\ntopTable(ef1) |> \n arrange(desc(AveExpr))\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRemoving intercept from test coefficients\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n t_staget2 t_staget3 t_staget4 AveExpr F P.Value\nPAM -0.5791836 0.08813521 0.4984790 10.94216940 8.309141 3.409613e-05\nPAIP2 -0.3240061 0.18551765 0.0958645 10.29398797 9.056896 1.331550e-05\nSPP1 -0.3352086 1.56339367 2.6409082 9.61423581 9.316731 9.621982e-06\nNIPSNAP3A -0.9988818 -0.35051776 -0.6085837 9.38910637 8.712515 2.051165e-05\nASPN -0.7366657 0.75340984 1.9537316 7.45952050 8.323019 3.350393e-05\nOLR1 -0.2557879 1.39542897 2.1822156 4.97144475 8.531715 2.597133e-05\nSEMA5B 1.3576218 1.27252058 1.9271042 4.60337761 8.091237 4.490926e-05\nCPSF4L 1.0629502 -0.17984587 -1.4274556 0.70036223 8.955085 2.311056e-05\nGRM5 1.3027501 -0.14596612 -0.7395609 0.06134539 10.268851 7.301656e-06\nC1orf223 0.7830779 -0.40735736 -0.7062534 -0.35136703 9.681632 1.743477e-05\n adj.P.Val\nPAM 0.06860899\nPAIP2 0.06719153\nSPP1 0.06719153\nNIPSNAP3A 0.06719153\nASPN 0.06860899\nOLR1 0.06719153\nSEMA5B 0.07597995\nCPSF4L 0.06719153\nGRM5 0.06719153\nC1orf223 0.06719153\n```\n\n\n:::\n:::\n\n\nLet's visualize two of the most expressed genes.\n\n\n::: {.cell}\n\n```{.r .cell-code}\npar(mfrow=c(1,2))\nboxplot(split(assay(rnaseq)[\"PAM\",], rnaseq$t_stage), main=\"PAM\") # higher expression in lower t_stage\nboxplot(split(assay(rnaseq)[\"PAIP2\",], rnaseq$t_stage), main=\"PAIP2\")\n```\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-25-1.png){width=1260}\n:::\n:::\n\n\n# Linking methylation and expression\n\nFinally, we can use the methylation data with the expression data. This is important because methylated cytosines of the DNA change the expression of the genes.\n\nSome patients have methylation data for multiples tissue types. This information is encoded in the fourth component of the sample names. The code `01A` correspond to primary tumor samples and the code `11A` correspond to normal tissue. We'll keep the primary tumor samples.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl <- readData[[3]]\n\nidx <- colnames(methyl) |> \n str_split(pattern = \"-\") |> \n map(4) |> \n enframe() |> \n unnest(value)\n\nidx <- which(idx$value == \"01A\")\n\nmethyl = methyl[,idx]\n\nmethyl\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nclass: SummarizedExperiment \ndim: 485577 95 \nmetadata(0):\nassays(1): counts\nrownames(485577): cg00000029 cg00000108 ... rs966367 rs9839873\nrowData names(3): Gene_Symbol Chromosome Genomic_Coordinate\ncolnames(95): TCGA-AF-2687-01A-02D-1734-05 TCGA-AF-2690-01A-02D-1734-05\n ... TCGA-G5-6572-01A-11D-1828-05 TCGA-G5-6641-01A-11D-1828-05\ncolData names(0):\n```\n\n\n:::\n:::\n\n\nAs before, let's truncate the names of the sample to match the clinical data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolnames(methyl) <- colnames(methyl) |> \n str_sub(start = 1,end = 12)\n```\n:::\n\n\nWe can add the clinical data to the methyl object and count the number of patients with methylation and transcription data.\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncolData(methyl) <- as(clin[colnames(methyl),],\"DataFrame\")\n\n\nintersect(colnames(methyl), colnames(rnaseq)) |> length()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 93\n```\n\n\n:::\n:::\n\n\nLet's subset common sample names and check the methylation data as row ranges.\n\n\n::: {.cell}\n\n```{.r .cell-code}\nmethyl_subset = methyl[,which(colnames(methyl) %in% colnames(rnaseq))]\nrnaseq_subset = rnaseq[,which(colnames(rnaseq) %in% colnames(methyl))]\n\nmethyl_genes = rowData(methyl_subset)\nmethyl_genes\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nDataFrame with 485577 rows and 3 columns\n Gene_Symbol Chromosome Genomic_Coordinate\n \ncg00000029 RBL2 16 53468112\ncg00000108 C3orf35 3 37459206\ncg00000109 FNDC3B 3 171916037\ncg00000165 NA 1 91194674\ncg00000236 VDAC3 8 42263294\n... ... ... ...\nrs9363764 NA NA 0\nrs939290 NA NA 0\nrs951295 NA NA 0\nrs966367 NA NA 0\nrs9839873 NA NA 0\n```\n\n\n:::\n:::\n\n\nThis function takes a gene symbol and returns a scatter plot showing the relationship between 3 different sites near that gene and gene expression.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n#| label: figplot\n\nme_rna_cor = function(sym, mpick = 3){\n require(GGally)\n # subset methylation data to first mpick methylation sites for given gene symbol\n methyl_ind = which(methyl_genes$Gene_Symbol == sym)\n if (length(methyl_ind) > mpick){ \n methyl_ind = methyl_ind[1:mpick]\n }\n methyl_dat = assay(methyl_subset)[methyl_ind,] # subset to selected methylation sites\n\n # subset expression data to selected gene symbol\n expr_ind = which(rownames(rnaseq_subset) == sym) \n expr_dat = assay(rnaseq_subset)[expr_ind,]\n\n # combine methylation and expression data as data frame\n combined_dat = as(t(methyl_dat), \"DataFrame\")\n combined_dat$expr = expr_dat\n\n # plot pairs and calculate correlation coefficients between methylation and expression\n ggpairs(combined_dat) |> print()\n sapply(1:mpick, function(i){\n \n cor_to <- as.numeric(combined_dat[,mpick+1])\n \n df <- data.frame(v1= as.numeric(combined_dat[,i]),\n v2 = cor_to)\n \n df <- df |> na.omit()\n \n cor(df[,1], df[,2])\n })\n}\n\nme_rna_cor(\"TAC1\", mpick=3)\n```\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nLoading required package: GGally\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: package 'GGally' was built under R version 4.3.2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nRegistered S3 method overwritten by 'GGally':\n method from \n +.gg ggplot2\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\nWarning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :\nRemoved 5 rows containing missing values\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\nRemoved 5 rows containing missing values or values outside the scale range\n(`geom_point()`).\n```\n\n\n:::\n\n::: {.cell-output .cell-output-stderr .hidden}\n\n```\nWarning: Removed 5 rows containing non-finite outside the scale range\n(`stat_density()`).\n```\n\n\n:::\n\n::: {.cell-output-display}\n![](TCGA_files/figure-html/unnamed-chunk-30-1.png){width=1260}\n:::\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 0.0410095 0.1457715 0.0856926\n```\n\n\n:::\n:::\n", "supporting": [ "TCGA_files" ], diff --git a/notebooks/TCGA.qmd b/notebooks/TCGA.qmd index cf7c00d..687ba9a 100644 --- a/notebooks/TCGA.qmd +++ b/notebooks/TCGA.qmd @@ -319,12 +319,15 @@ ggsave(paste0(path,"number_mut_tp53_per_tumor_stage.jpeg"), device = "jpeg") # Linking expression and tumor stage +We also can link the expression data (RNA-Seq) with the tumor stage data from the clinical metadata. [Check the TCGA RNA-Seq protocol online]{.aside} + ```{r} rnaseq = readData[[2]] rnaseq ``` +As before, we need to shorten the sample IDs so they can match to the clinical data. ```{r} @@ -345,6 +348,8 @@ rnaseq <- rnaseq[,!idx] ``` +Then, we can use the `limma` package to proceed with the differential expression analysis. In this case, we'll ise the tumor stage as a variable to explain the expression of the genes. + ```{r} library(limma) @@ -356,6 +361,8 @@ topTable(ef1) |> ``` +Let's visualize two of the most expressed genes. + ```{r} par(mfrow=c(1,2)) boxplot(split(assay(rnaseq)["PAM",], rnaseq$t_stage), main="PAM") # higher expression in lower t_stage @@ -364,6 +371,10 @@ boxplot(split(assay(rnaseq)["PAIP2",], rnaseq$t_stage), main="PAIP2") # Linking methylation and expression +Finally, we can use the methylation data with the expression data. This is important because methylated cytosines of the DNA change the expression of the genes. + +Some patients have methylation data for multiples tissue types. This information is encoded in the fourth component of the sample names. The code `01A` correspond to primary tumor samples and the code `11A` correspond to normal tissue. We'll keep the primary tumor samples. + ```{r} methyl <- readData[[3]] @@ -381,11 +392,15 @@ methyl = methyl[,idx] methyl ``` +As before, let's truncate the names of the sample to match the clinical data. + ```{r} colnames(methyl) <- colnames(methyl) |> str_sub(start = 1,end = 12) ``` +We can add the clinical data to the methyl object and count the number of patients with methylation and transcription data. + ```{r} colData(methyl) <- as(clin[colnames(methyl),],"DataFrame") @@ -394,6 +409,8 @@ intersect(colnames(methyl), colnames(rnaseq)) |> length() ``` +Let's subset common sample names and check the methylation data as row ranges. + ```{r} methyl_subset = methyl[,which(colnames(methyl) %in% colnames(rnaseq))] @@ -404,6 +421,8 @@ methyl_genes ``` +This function takes a gene symbol and returns a scatter plot showing the relationship between 3 different sites near that gene and gene expression. + ```{r} #| label: figplot @@ -444,4 +463,3 @@ me_rna_cor("TAC1", mpick=3) ``` -## Conclusion diff --git a/notebooks/images/number_mut_genes_per_tumor_stage.jpeg b/notebooks/images/number_mut_genes_per_tumor_stage.jpeg index ea511f979f3412eacf30861ab0ed5a862d806d12..39ec99b6ee3789ee63ad56e0273236a7f2659c4a 100644 GIT binary patch literal 278777 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

5G9k}wb760p^m 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 J1f)*C{}=0a@Mi!3

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
5l9i)gY{Y{Z{L(EsZ9)lJ_`2_F2=pVtG9+uMMF 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 G)Bge3D4>}D literal 280357 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
K6v8)QRMT)Loc5S;*%D*a$jyW1oU^SV;W8^XgC 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