`%>%` <- magrittr::"%>%"
# show.flag <- if ((data$meta$basic$source == "microarray") & (data$meta$basic$manufacturer == "Affymetrix")) TRUE else FALSE
knitr::opts_knit$set(base.dir = tempdir())




cat('# Microarray Information\n')
DT::datatable(data = array.df, rownames = FALSE, caption = "", class = "cell-border display", selection = "none", filter = "none", extensions = list("Buttons" = NULL), options = list(dom = "Bt", lengthChange = FALSE, paging = FALSE, info = FALSE, autoWidth = FALSE, ordering = FALSE, buttons = list('copy', list(extend = 'print', message = paste0("Microarray information export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export')))) %>% DT::formatStyle(colnames(array.df), "text-align" = "center")
cat("<HR><HR><BR><BR>\n")
cat('# WES Data Information\n')
## Insert table here !
cat("<HR><HR><BR><BR>\n")
cat("# Microarray Intensity Plot\n")
cat(paste0("\n![](", intplotf, ")\n"))
cat("<HR><HR><BR><BR>\n")
cat("# Coverage Plot\n")
cat(paste0("\n![](", covplotf, ")\n"))
cat("<HR><HR><BR><BR>\n")
cat("# QC Metrics\n")
DT::datatable(data = qc.df, rownames = FALSE, caption = "", class = "cell-border display", selection = "none", filter = "none", extensions = list("Buttons" = NULL), options = list(dom = "Bt", lengthChange = FALSE, paging = FALSE, info = FALSE, autoWidth = FALSE, ordering = FALSE, columnDefs = list(list(targets = c(7:9), visible = FALSE)), buttons = list('copy', list(extend = 'print', message = paste0("QC metrics table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export')))) %>% DT::formatStyle('MAPD', 'mapd.flag', backgroundColor = qc.df$mapd.flag) %>% DT::formatStyle('SNPQC', 'snpqc.flag', backgroundColor = qc.df$snpqc.flag) %>% DT::formatStyle('WavinessSd', 'waviness.flag', backgroundColor = qc.df$waviness.flag) %>% DT::formatStyle(colnames(qc.df), "text-align" = "center") %>% DT::formatRound(columns = 1:4, 3)
cat("<BR>\n<I>MAPD : Good < 0.20 ; Acceptable < 0.25<BR>SNPQC : Good >= 26<BR>WavinessSd : Good < 0.12</I><HR><HR><BR><BR>\n")

CNA Genomic Plots {.tabset .tabset-fade .tabset-pills}

Normalized, centered, segmented and called.

# pdisp <- c("L2R + BAF", "L2R", "BAF", "Predicted Germline")
pdisp <- c("L2R + BAF", "L2R", "BAF")
for (p in c(1:length(pdisp))) {
  cat(paste0("\n## ", pdisp[p], "\n"))
  gpng <- gplotlist[p]
  cat(paste0("\n![](", gpng, ")\n"))
}





CNA Karyotypic Plot

Normalized, centered, segmented and called.

cat(paste0("\n![](", karyoplotf, ")\n"))




Genomic Instability Metrics Table

DT::datatable(data = gi.df, rownames = FALSE, caption = "", class = "cell-border display", selection = "none", filter = "none", extensions = list("Buttons" = NULL), plugins = "natural", options = list(dom = "Bt", lengthChange = FALSE, paging = FALSE, info = FALSE, autoWidth = FALSE, ordering = FALSE, buttons = list('copy', list(extend = 'print', message = paste0("Genomic instability mùetrics table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export')))) %>% DT::formatStyle(colnames(gi.df)[1], "text-align" = "left") %>% DT::formatStyle(colnames(gi.df)[2:6], "text-align" = "right") %>% DT::formatRound(columns = 6, 2)




Segments Table {.tabset .tabset-fade .tabset-pills}

Any value (including gene symbols) can be queried in the 'Search' box. To search for an exact symbol try adding a coma (,) at the end of your query. Case is insensitive.

L2R

DT::datatable(data = segtab.df, rownames = FALSE, class = "cell-border display", filter = list(position = "bottom", clear = TRUE, plain = FALSE), extensions = list("Buttons" = NULL, "Scroller" = NULL, "ColReorder" = NULL), options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, scrollY = "700px", scrollCollapse = TRUE, paging = TRUE, deferRender = TRUE, scrollX = TRUE, info = TRUE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), autoWidth = FALSE, columnDefs = list(list(targets = c(11,12), visible = FALSE), list(type = 'natural', targets = 0)), ordering = TRUE, buttons = list('copy', list(extend = 'collection', buttons = list('csv', 'excel'), text = 'Export'), I("colvis")), scroller = TRUE, colReorder = list(realtime = FALSE))) %>% DT::formatCurrency(c("Start", "End", "Width"), currency = "", interval = 3, mark = ",", digits = 0) %>% DT::formatStyle('Status', backgroundColor = DT::styleEqual(l2r.segstat, l2r.segcol), fontWeight = 'bold', color = "white") %>% DT::formatStyle('L2R', 'l2rbold', fontWeight = DT::styleEqual(c(0, 1), c('normal', 'bold'))) %>% DT::formatStyle(colnames(segtab.df)[c(1,5,6,7)], "text-align" = "center") %>% DT::formatStyle(colnames(segtab.df)[c(2:4)], "text-align" = "right")

BAF

DT::datatable(data = segbaf.df, rownames = FALSE, class = "cell-border display", filter = list(position = "bottom", clear = TRUE, plain = FALSE), extensions = list("Buttons" = NULL, "Scroller" = NULL, "ColReorder" = NULL), plugins = "natural", options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, scrollY = "700px", scrollCollapse = TRUE, paging = TRUE, deferRender = TRUE, scrollX = TRUE, info = TRUE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), autoWidth = FALSE, columnDefs = list(list(targets = c(10), visible = FALSE), list(type = 'natural', targets = 0)), ordering = TRUE, buttons = list('copy', list(extend = 'collection', buttons = list('csv', 'excel'), text = 'Export'), I("colvis")), scroller = TRUE, colReorder = list(realtime = FALSE))) %>% DT::formatCurrency(c("Start", "End", "Width"), currency = "", interval = 3, mark = ",", digits = 0) %>% DT::formatStyle('Status', backgroundColor = DT::styleEqual(baf.segstat, baf.segcol), fontWeight = 'bold', color = "white") %>% DT::formatStyle(colnames(segtab.df)[c(1,5,6,7)], "text-align" = "center") %>% DT::formatStyle(colnames(segtab.df)[c(2:4)], "text-align" = "right")





Target Genes Table

Any value can be queried in the 'Search' box. Case is insensitive.

DT::datatable(data = targ.regz, escape = FALSE, rownames = FALSE, class = "cell-border display", filter = list(position = "bottom", clear = TRUE, plain = FALSE), extensions = list("Buttons" = NULL, "FixedColumns" = NULL, "Scroller" = NULL, "ColReorder" = NULL), plugins = "natural", options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, scrollY = "700px", scrollCollapse = TRUE, paging = TRUE, deferRender = TRUE, scrollX = TRUE, info = TRUE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), autoWidth = TRUE, ordering = TRUE, columnDefs = list(list(targets = c(16), visible = FALSE), list(type = 'natural', targets = c(0,1))), buttons = list('copy', list(extend = 'print', message = paste0("Targets table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export'), I("colvis")), fixedColumns = TRUE, scroller = TRUE, colReorder = list(realtime = FALSE, fixedColumnsLeft = 1))) %>% DT::formatCurrency(c("Gene Start", "Gene End", "Gene Width", "Match Start", "Match End", "Match Width", "L2R Segment Width", "BAF Segment Width"), currency = "", interval = 3, mark = ",", digits = 0) %>% DT::formatStyle('L2R Status', backgroundColor = DT::styleEqual(l2r.segstat, l2r.segcol), fontWeight = 'bold', color = "white") %>% DT::formatStyle('BAF Status', backgroundColor = DT::styleEqual(baf.segstat, baf.segcol), fontWeight = 'bold', color = "white") %>% DT::formatStyle('L2R Value', 'l2rbold', fontWeight = DT::styleEqual(c(0, 1), c('normal', 'bold'))) %>% DT::formatStyle('Target Symbol', fontWeight = 'bold') %>% DT::formatStyle(colnames(targ.regz)[c(1,2,6,7,11,14)], "text-align" = "center") %>% DT::formatStyle(colnames(targ.regz)[c(3:5,8:10,12,13,15,16)], "text-align" = "right")




Truncated Genes Table

Any value can be queried in the 'Search' box. Case is insensitive.

Blank cells correspond to genomic regions for which BAF is non-determined (no covering probe, thus no BAF segment).

Found r length(unique(trunc.regz[["Gene Symbol"]])) truncated gene(s).

if (length(gen.trunk.idx) > 0) {
  DT::datatable(data = trunc.regz, escape = FALSE, rownames = FALSE, class = "cell-border display", filter = list(position = "bottom", clear = TRUE, plain = FALSE), extensions = list("Buttons" = NULL, "FixedColumns" = NULL, "Scroller" = NULL, "ColReorder" = NULL), plugins = "natural", options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, scrollY = "700px", scrollCollapse = TRUE, paging = TRUE, deferRender = TRUE, scrollX = TRUE, info = TRUE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), autoWidth = TRUE, ordering = TRUE, columnDefs = list(list(targets = c(16), visible = FALSE), list(type = 'natural', targets = c(0,1))), buttons = list('copy', list(extend = 'print', message = paste0("Targets table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export'), I("colvis")), fixedColumns = TRUE, scroller = TRUE, colReorder = list(realtime = FALSE, fixedColumnsLeft = 1))) %>% DT::formatCurrency(c("Gene Start", "Gene End", "Gene Width", "Match Start", "Match End", "Match Width", "L2R Segment Width", "BAF Segment Width"), currency = "", interval = 3, mark = ",", digits = 0) %>% DT::formatStyle('L2R Status', backgroundColor = DT::styleEqual(l2r.segstat, l2r.segcol), fontWeight = 'bold', color = "white") %>% DT::formatStyle('BAF Status', backgroundColor = DT::styleEqual(baf.segstat, baf.segcol), fontWeight = 'bold', color = "white") %>% DT::formatStyle('L2R Value', 'l2rbold', fontWeight = DT::styleEqual(c(0, 1), c('normal', 'bold'))) %>% DT::formatStyle('Gene Symbol', fontWeight = 'bold') %>% DT::formatStyle(colnames(trunc.regz)[c(1,2,6,7,11,14)], "text-align" = "center") %>% DT::formatStyle(colnames(trunc.regz)[c(3:5,8:10,12,13,15,16)], "text-align" = "right")
} else print("No truncated gene found.")




CNA Chromosomal Plots {.tabset .tabset-fade .tabset-pills}

Normalized, centered, segmented and called.

for (kr in 1:length(krA)) {
    cat(paste0("\n## ", krA[kr], "\n"))
    cat(paste0("\n![](", kplotlist[kr], ")\n"))
}





cat('# Annotated Regions\n')
#cat(paste0("<a href='", samplename, "_solo.", genome, "/chr", l2r.seg.obj$pos$Chrom[1], ".html' target=_new> Open SOLO </a>\n"))
# cat(paste0("<a href='", samplename, "_solo.", genome, "/", unlist(cs$chr2chrom[segtab.df$Chr[segtab.df$Status != "Normal"][1]]), ".html' target=_new> Open SOLO </a>\n"))
cat(paste0("<a href='", samplename, "_solo.", genome, "/", segtab.df$Chr[segtab.df$Status != "Normal"][1], ".html' target=_new> Open SOLO </a>\n"))
cat("<HR><HR><BR><BR>\n")

Miscellaneous Information {.tabset .tabset-fade .tabset-pills}

R Session Info

sessionInfo()

Data summary

meta.basic.unl <- unlist(data$meta$basic)
meta.basic.df <- data.frame(Parameter = names(meta.basic.unl), Value = meta.basic.unl, stringsAsFactors = FALSE)
DT::datatable(data = meta.basic.df, rownames = FALSE, class = "cell-border display", selection = "none", filter = "none", extensions = list("Buttons" = NULL, "Scroller" = NULL), options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, paging = TRUE, info = FALSE, autoWidth = FALSE, ordering = FALSE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), scrollY = "700px", scrollCollapse = TRUE, buttons = list('copy', list(extend = 'print', message = paste0("Parameters table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export')), scroller = TRUE))

EaCoN Parameters

meta.eacon.unl <- unlist(data$meta$eacon)
meta.eacon.df <- data.frame(Parameter = names(meta.eacon.unl), Value = meta.eacon.unl, stringsAsFactors = FALSE)
DT::datatable(data = meta.eacon.df, rownames = FALSE, class = "cell-border display", selection = "none", filter = "none", extensions = list("Buttons" = NULL, "Scroller" = NULL), options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, paging = TRUE, info = FALSE, autoWidth = FALSE, ordering = FALSE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), scrollY = "700px", scrollCollapse = TRUE, buttons = list('copy', list(extend = 'print', message = paste0("Parameters table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export')), scroller = TRUE))
cat("## Affymetrix Parameters\n")
meta.affy.unl <- unlist(data$meta$affy)
meta.affy.df <- data.frame(Parameter = names(meta.affy.unl), Value = meta.affy.unl, stringsAsFactors = FALSE)
meta2clean <- grep(pattern =  "affymetrix-partial-dat-header", x = meta.affy.df$Parameter)
if(length(meta2clean) > 0) for(l in meta2clean) meta.affy.df$Value[l] <- gsub(x = meta.affy.df$Value[l], pattern = "[ ]+\024", replacement = "")
DT::datatable(data = meta.affy.df, rownames = FALSE, class = "cell-border display", selection = "none", filter = "none", extensions = list("Buttons" = NULL, "Scroller" = NULL), options = list(dom = "Bfti", searchHighlight = FALSE, lengthChange = FALSE, paging = TRUE, info = FALSE, autoWidth = FALSE, ordering = FALSE, search = list(regex = TRUE, smart = FALSE, caseInsen = TRUE), scrollY = "700px", scrollCollapse = TRUE, buttons = list('copy', list(extend = 'print', message = paste0("Parameters table export for sample ", samplename)), list(extend = 'collection', buttons = list('csv', 'excel', list(extend = 'pdf', orientation = "landscape", pageSize = "A4")), text = 'Export')), scroller = TRUE))





gustaveroussy/EaCoN documentation built on Oct. 20, 2021, 2:41 a.m.