From de9e59f31adf06420a241c5764294ba787b080c8 Mon Sep 17 00:00:00 2001 From: Anand Mayakonda Date: Wed, 11 Sep 2024 17:01:44 +0200 Subject: [PATCH] add segSummarize --- DESCRIPTION | 4 +- NAMESPACE | 1 + R/segSummarize.R | 177 ++++++++++++++++++++++++++ inst/extdata/LAML_CBS_segments.tsv.gz | Bin 0 -> 52578 bytes inst/extdata/hg19_cytobands.tsv.gz | Bin 0 -> 6333 bytes inst/extdata/hg38_cytobands.tsv.gz | Bin 0 -> 6291 bytes man/segSummarize.Rd | 57 +++++++++ vignettes/maftools.Rmd | 15 ++- 8 files changed, 251 insertions(+), 3 deletions(-) create mode 100644 R/segSummarize.R create mode 100644 inst/extdata/LAML_CBS_segments.tsv.gz create mode 100644 inst/extdata/hg19_cytobands.tsv.gz create mode 100644 inst/extdata/hg38_cytobands.tsv.gz create mode 100644 man/segSummarize.Rd diff --git a/DESCRIPTION b/DESCRIPTION index d00d34c..4ba80a1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -27,7 +27,8 @@ Imports: RColorBrewer, Rhtslib, survival, - DNAcopy + DNAcopy, + pheatmap Suggests: berryFunctions, Biostrings, @@ -43,7 +44,6 @@ Suggests: RaggedExperiment, rmarkdown, S4Vectors, - pheatmap, curl LinkingTo: Rhtslib, diff --git a/NAMESPACE b/NAMESPACE index 6824b16..7f04222 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -62,6 +62,7 @@ export(rainfallPlot) export(read.maf) export(readGistic) export(sampleSwaps) +export(segSummarize) export(segmentLogR) export(setdiffMAF) export(signatureEnrichment) diff --git a/R/segSummarize.R b/R/segSummarize.R new file mode 100644 index 0000000..3a2262c --- /dev/null +++ b/R/segSummarize.R @@ -0,0 +1,177 @@ +#' Summarize CBS segmentation results +#' @details +#' A handy function to summarize CBS segmentation results. Takes segmentation results generated by DNAcopy package \code{\link{segment}} and summarizes the CN for each cytoband and chromosomal arms. +#' +#' @param seg segmentation results generated from \code{DNAcopy} package \code{\link{segment}}. Input should be a multi-sample segmentation file or a data.frame. First six columns should correspond to sample name, chromosome, start, end, Num_Probes, Segment_Mean in log2 scale. (default output format from DNAcopy) +#' @param build genome build. Default hg19. Can be hg19, hg38. If other than these, use `cytoband` argument +#' @param cytoband cytoband data from UCSC genome browser. Only needed if `build` is other than `hg19` or `hg38` +#' @param thr threshold to call amplification and deletion. Any cytobands or chromosomal arms with median logR above or below this will be called. Default 0.3 +#' @param verbose Default TRUE +#' @param maf optional MAF +#' @param genes Add mutation status of these genes as an annotation to the heatmap +#' @param topanno annotation for each sample. This is passed as an input to `annotation_col` of `pheatmap` +#' @param topannocols annotation cols for `topanno`. This is passed as an input to `annotation_colors` of `pheatmap` +#' @return List of median CN values for each cytoband and chromosomal arm along with the plotting matrix +#' @export +#' @examples +#' laml.seg <- system.file("extdata", "LAML_CBS_segments.tsv.gz", package = "maftools") +#' segSummarize(seg = laml.seg) +#' +#' #Heighlight some genes as annotation +#' laml.maf = system.file("extdata", "tcga_laml.maf.gz", package = "maftools") #MAF file +#' laml.clin = system.file('extdata', 'tcga_laml_annot.tsv', package = 'maftools') #clinical data +#' laml = read.maf(maf = laml.maf, clinicalData = laml.clin) +#' +#' segSummarize(seg = laml.seg, maf = laml, genes = c("FLT3", "DNMT3A")) + +segSummarize = function(seg = NULL, build = "hg19", cytoband = NULL, thr = 0.3, verbose = TRUE, maf = NULL, genes = NULL, topanno = NULL, topannocols = NA){ + + if(is.null(cytoband)){ + build = match.arg(arg = build, choices = c("hg19", "hg38")) + cytoband <- system.file("extdata", paste0(build, "_cytobands.tsv.gz"), package = "maftools") + if(!file.exists(cytoband)){ + stop("Cytoband file does not exist!") + } + } + + if (is(object = seg, class2 = "data.frame")) { + seg = data.table::as.data.table(seg) + }else { + seg = data.table::fread(input = seg) + } + colnames(seg)[1:6] = c("Sample", "Chromosome", "Start", "End", "Num_Probes", "Segment_Mean") + seg$Chromosome = gsub(pattern = "^chr", replacement = "", x = seg$Chromosome) + data.table::setkey(x = seg, Chromosome, Start, End) + + if(nrow(seg[,.N,Sample]) < 3){ + stop("Not enough samples to proceed (N: ", nrow(seg[,.N,Sample]), ")") + } + + cy = data.table::fread(input = cytoband) + colnames(cy) = c("Chromosome", "Start", "End", "name", "stain") + cy$arm = substr(cy$name, 1, 1) + cy$Chromosome = gsub(pattern = "^chr", replacement = "", x = cy$Chromosome) + data.table::setkey(x = cy, Chromosome, Start, End) + + seg_events = lapply(split(seg, seg$Sample), function(x){ + .seg2arm(se = x, cy = cy, thr = thr) + }) + + cy[, id := paste(Chromosome, name, sep = "_")] + cy[, arm := paste(Chromosome, substr(name, 1, 1), sep = "_")] + + #Summarize CN per chromosomal cytoband + cytoband_events = lapply(seg_events, function(x) x$seg) |> data.table::rbindlist(idcol = "Tumor_Sample_Barcode") + cytoband_events = data.table::dcast(data = cytoband_events, formula = chromosome+arm ~ Tumor_Sample_Barcode, value.var = "cn") + + cytoband_events[, id := paste(chromosome, arm, sep = "_")] + cytoband_events$chromosome = NULL + cytoband_events$arm = NULL + data.table::setDF(x = cytoband_events, cytoband_events$id) + cytoband_events$id = NULL + cytoband_events = cytoband_events[cy[id %in% rownames(cytoband_events), id],,] + cytoband_events[cytoband_events > 4] = 4 + cytoband_events = cytoband_events[complete.cases(cytoband_events),] + + ##row anno + cn_band_anno = as.data.frame(cy[id %in% rownames(cytoband_events)]) + cn_band_anno = data.frame(row.names = cn_band_anno$id, chr = cn_band_anno$Chromosome, arm = substr(x = cn_band_anno$name, 1, 1)) + + #order by chromosome for human build + chr_ord = intersect(c(1:22, "X", "Y"), names(split(cn_band_anno, cn_band_anno$chr))) + cn_band_anno = cn_band_anno[unlist(lapply(split(cn_band_anno, cn_band_anno$chr)[chr_ord], rownames), use.names = FALSE), , drop = FALSE] + cytoband_events = cytoband_events[rownames(cn_band_anno),, drop = FALSE] + + ##Heatmap colors + cols_chromosome = setNames(object = rep(c("#95a5a6", "#7f8c8d"), length(unique(cn_band_anno$chr))), nm = unique(cn_band_anno$chr)) + cols_chromosome = cols_chromosome[unique(cn_band_anno$chr)] + cols_chromosome_arms = setNames(object = c("#ecf0f1", "#bdc3c7"), nm = c("p", "q")) + + gene2barcode = gene2barcode_cols = NA + show_annotation_legend = FALSE + + if(!is.null(maf)){ + if(!is.null(genes)){ + gene2barcode = genesToBarcodes(maf = maf, genes = genes, justNames = TRUE) + print(gene2barcode) + gene2barcode = lapply(gene2barcode, function(x) data.table::data.table(Tumor_Sample_Barcode = x, status = 'yes')) |> data.table::rbindlist(idcol = "Hugo_Symbol") |> data.table::dcast(formula = Tumor_Sample_Barcode ~ Hugo_Symbol, value.var = "status") + data.table::setDF(x = gene2barcode, rownames = gene2barcode$Tumor_Sample_Barcode) + gene2barcode = gene2barcode[, 2:ncol(gene2barcode), drop = FALSE] + gene2barcode_cols = lapply(X = colnames(gene2barcode), function(x) setNames(object = "#34495e", nm = "yes")) + names(gene2barcode_cols) = colnames(gene2barcode) + } + } + + if(!is.null(topanno)){ + if(!is.null(nrow(gene2barcode))){ + gene2barcode = merge(gene2barcode, topanno, by = "row.names", all = TRUE) + rownames(gene2barcode) = gene2barcode$`Row.names` + gene2barcode$`Row.names` = NULL + }else{ + gene2barcode = topanno + } + show_annotation_legend = TRUE + } + + pheatmap::pheatmap( + cytoband_events, + cluster_rows = FALSE, + cluster_cols = TRUE, + show_colnames = FALSE, + annotation_row = cn_band_anno, + color = grDevices::colorRampPalette(rev(brewer.pal( + n = 7, name = "PiYG" + )))(100), + annotation_colors = c(list( + chr = cols_chromosome, + arm = cols_chromosome_arms + ), gene2barcode_cols, topannocols), + show_rownames = FALSE, + border_color = 'black', annotation_legend = show_annotation_legend, legend_breaks = seq(0, 4, 1), legend_labels = c("0", "1", "2", "3", ">4"), annotation_col = gene2barcode, na_col = "gray" + ) + + #Arm events + arm_events = lapply(seg_events, function(x) x$arm) |> data.table::rbindlist(fill = TRUE, use.names = TRUE, idcol = "Tumor_Sample_Barcode") + arm_events = arm_events[!is.na(Variant_Classification)][order(chromosome)] + arm_events_n = arm_events[,.N,.(arm,Variant_Classification)][!is.na(Variant_Classification)][order(-N)] + + if(verbose){ + message("Recurrent chromosomal arm aberrations") + print(arm_events_n) + } + + #Focal band events + band_events = lapply(seg_events, function(x) x$seg) |> data.table::rbindlist(fill = TRUE, use.names = TRUE, idcol = "Tumor_Sample_Barcode") + band_events = band_events[!is.na(Variant_Classification)][order(chromosome)] + colnames(band_events)[3] = "cytoband" + band_events_n = band_events[,.N,.(chromosome, cytoband,Variant_Classification)][!is.na(Variant_Classification)][order(-N)] + + attr(cytoband_events, "meta") = list(top_anno = gene2barcode, top_anno_cols = gene2barcode_cols) + + list(heatmap_matrix = cytoband_events, arm_events = arm_events, band_events = band_events) +} + +.seg2arm = function (se, cy = NULL, thr = 0.3) { + + data.table::setkey(x = se, Chromosome, Start, End) + se_olaps = data.table::foverlaps(x = cy, y = se) + cytoband_mean = se_olaps[, median(Segment_Mean, na.rm = TRUE), + .(Chromosome, name)] + colnames(cytoband_mean) = c("chromosome", "arm", "logR") + cytoband_mean[, `:=`(cn, 2 * (2^logR))] + cytoband_mean$Variant_Classification = ifelse(cytoband_mean$logR > + thr, "Amp", no = ifelse(cytoband_mean$logR < -thr, yes = "Del", + no = NA)) + cytoband_mean = cytoband_mean[!chromosome %in% c("chrX", + "chrY")] + arm_mean = se_olaps[, median(Segment_Mean, na.rm = TRUE), + .(Chromosome, arm)] + colnames(arm_mean) = c("chromosome", "arm", "logR") + arm_mean[, `:=`(cn, 2 * (2^logR))] + arm_mean$Variant_Classification = ifelse(arm_mean$logR > + thr, "Gain", no = ifelse(arm_mean$logR < -thr, yes = "Loss", + no = NA)) + arm_mean$arm = paste(arm_mean$chromosome, arm_mean$arm, sep = "_") + arm_mean = arm_mean[!chromosome %in% c("chrX", "chrY")] + list(arm = arm_mean, seg = cytoband_mean) +} diff --git a/inst/extdata/LAML_CBS_segments.tsv.gz b/inst/extdata/LAML_CBS_segments.tsv.gz new file mode 100644 index 0000000000000000000000000000000000000000..c206ed43cebdfa225e5cb09ef69e0dfcb607d24a GIT binary patch literal 52578 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�dAJFg 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 literal 0 HcmV?d00001 diff --git a/inst/extdata/hg19_cytobands.tsv.gz b/inst/extdata/hg19_cytobands.tsv.gz new file mode 100644 index 0000000000000000000000000000000000000000..d431db043189263286f067ef2dab67e72e3c725e GIT binary patch literal 6333 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