From 6509af70efc837f4b299091ce16f99f2598b0757 Mon Sep 17 00:00:00 2001 From: spocks Date: Tue, 7 Feb 2017 13:54:58 -0500 Subject: [PATCH] updated --- NAMESPACE | 1 - R/Gao2015_Data.R | 37 --- R/mRECIST.R | 88 +++---- R/plot_mRECIST.R | 49 +++- R/plot_mRECIST_old.R | 473 ---------------------------------- man/getmRECIST.Rd | 28 -- man/plotmRECIST.Rd | 9 +- vignettes/getting-started.R | 9 +- vignettes/getting-started.Rmd | 9 +- vignettes/getting-started.pdf | Bin 475728 -> 475342 bytes 10 files changed, 89 insertions(+), 614 deletions(-) delete mode 100644 R/plot_mRECIST_old.R delete mode 100644 man/getmRECIST.Rd diff --git a/NAMESPACE b/NAMESPACE index a31b200..76b86f7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -35,7 +35,6 @@ exportMethods(getExpDesignDF) exportMethods(getExperiment) exportMethods(getTimeVarData) exportMethods(getTreatment) -exportMethods(getmRECIST) exportMethods(mapModelSlotIds) exportMethods(modelInfo) exportMethods(plotDrugResponse) diff --git a/R/Gao2015_Data.R b/R/Gao2015_Data.R index cc07be9..406977d 100644 --- a/R/Gao2015_Data.R +++ b/R/Gao2015_Data.R @@ -1,40 +1,3 @@ -read_curveMetrics <- function() -{ - - rd = readRDS("~/CXP/XG/Data/Gao_2015_NatureMed/nm.3954-S2_PCT_raw_data.Rda") - rdv = unique(rd[, c("Model","Tumor.Type")]) - #naModID = dzv[is.na(dzv$Tumor.Type), "Model"] - #dzv[dzv$Model%in%naModID,] - ##--- remove NA - rdv = rdv[!is.na(rdv$Tumor.Type),] - ##--- read and merge the curve matrix --------------------------------------- - fl = "~/CXP/XG/Data/Gao_2015_NatureMed/nm.3954-S2_PCT_curve_metrics.Rda" - cvm = readRDS(fl) - - cvm = merge(cvm, rdv, by.x = "Model", by.y = "Model") - pubLung = unique(cvm[cvm$Tumor.Type=="NSCLC", c("Model","Treatment")]) - table(pubLung$Treatment) - - data(pdxe) - dfx = getmRECIST(pdxe) - dfMap = mapModelSlotIds(object=pdxe, id=dfx$model.id, id.name="model.id", - map.to="tumor.type", unique=TRUE) - - dfx = merge(dfx, dfMap, by.x = "model.id", by.y = "model.id") - lungDf = dfx[dfx$tumor.type=="NSCLC",] - - pubLung[!(pubLung$Model %in% lungDf$biobase.id),] - - lungDf[!(lungDf$biobase.id %in% pubLung$Model), "biobase.id"] - - - - - - -} - - processRawData <- function() { diff --git a/R/mRECIST.R b/R/mRECIST.R index 8c18b3d..2770eb4 100644 --- a/R/mRECIST.R +++ b/R/mRECIST.R @@ -192,49 +192,49 @@ setMethod( f="setmRECIST<-", } ) -###=============================================================================================== -###=============================================================================================== -#' getmRECIST Generic -#' Generic for getmRECIST method +#' ###=============================================================================================== +#' ###=============================================================================================== +#' #' getmRECIST Generic +#' #' Generic for getmRECIST method +#' #' +#' #' @examples +#' #' data(pdxe) +#' #' # calculate mRECIST for each experiment +#' #' setmRECIST(pdxe)<- setmRECIST(pdxe) +#' #' getmRECIST(pdxe, group.by="biobase.id") +#' #' @param object The \code{XevaSet} to retrieve mRECIST from +#' #' @param group.by The name of column which will be mapped to model.id +#' #' @return a \code{data.frame} with the mRECIST values, rows are drugs and columns are model.id +#' setGeneric(name = "getmRECIST", def = function(object, group.by="biobase.id") {standardGeneric("getmRECIST")} ) #' -#' @examples -#' data(pdxe) -#' # calculate mRECIST for each experiment -#' setmRECIST(pdxe)<- setmRECIST(pdxe) -#' getmRECIST(pdxe, group.by="biobase.id") -#' @param object The \code{XevaSet} to retrieve mRECIST from -#' @param group.by The name of column which will be mapped to model.id -#' @return a \code{data.frame} with the mRECIST values, rows are drugs and columns are model.id -setGeneric(name = "getmRECIST", def = function(object, group.by="biobase.id") {standardGeneric("getmRECIST")} ) - - -#' @export -setMethod( f=getmRECIST, - signature="XevaSet", - definition= function(object, group.by) - { - rtx = data.frame(matrix(NA, nrow = length(object@experiment), ncol = 3)) - colnames(rtx) = c("drug.join.name", "model.id", "mRECIST") - dfI = 1 - for(I in object@experiment) - { - if(is.null(I$mRECIST)) - { - msg = sprintf("mRECIST not present for model %s\nRun setmRECIST(object)<- setmRECIST(object) first\n", I$model.id) - stop(msg) - } - rtx[dfI, ] <- c(I$drug$join.name, I$model.id, I$mRECIST) - dfI = dfI+1 - } - rownames(rtx)= NULL - - ##----map to patient id ----------------- - #rtx[, group.by] = subset(object@model, object@model$model.id %in% rtx$model.id)[,group.by] - rtx = merge(rtx, object@model[, c("model.id", group.by)], by.x = "model.id", by.y = "model.id") - - dataColName = c(group.by, "model.id", "drug.join.name", "mRECIST") - rtx = BBmisc::sortByCol(rtx , dataColName, asc = rep(TRUE, length(dataColName))) - return(rtx[,dataColName]) - } - ) +#' +#' #' @export +#' setMethod( f=getmRECIST, +#' signature="XevaSet", +#' definition= function(object, group.by) +#' { +#' rtx = data.frame(matrix(NA, nrow = length(object@experiment), ncol = 3)) +#' colnames(rtx) = c("drug.join.name", "model.id", "mRECIST") +#' dfI = 1 +#' for(I in object@experiment) +#' { +#' if(is.null(I$mRECIST)) +#' { +#' msg = sprintf("mRECIST not present for model %s\nRun setmRECIST(object)<- setmRECIST(object) first\n", I$model.id) +#' stop(msg) +#' } +#' rtx[dfI, ] <- c(I$drug$join.name, I$model.id, I$mRECIST) +#' dfI = dfI+1 +#' } +#' rownames(rtx)= NULL +#' +#' ##----map to patient id ----------------- +#' #rtx[, group.by] = subset(object@model, object@model$model.id %in% rtx$model.id)[,group.by] +#' rtx = merge(rtx, object@model[, c("model.id", group.by)], by.x = "model.id", by.y = "model.id") +#' +#' dataColName = c(group.by, "model.id", "drug.join.name", "mRECIST") +#' rtx = BBmisc::sortByCol(rtx , dataColName, asc = rep(TRUE, length(dataColName))) +#' return(rtx[,dataColName]) +#' } +#' ) diff --git a/R/plot_mRECIST.R b/R/plot_mRECIST.R index 1d632fd..c7e402e 100644 --- a/R/plot_mRECIST.R +++ b/R/plot_mRECIST.R @@ -147,10 +147,28 @@ creatSideBarPlot <- function(mat, colPalette, splitBy=";", scaleRow=TRUE, scaleC } +.mRcolPalette <- function(mr) +{ + # cp <- list("CR" = "#eff3ff", "CR-->PD" = "#9ecae1", "CR-->-->PD" = "#3182bd", + # "PR" = "#d9ef8b", "PR-->PD" = "#91cf60", "PR-->-->PD" = "#1a9850", + # "SD" = "#fed976", "SD-->PD" = "#ffeda0", "SD-->-->PD" = "#fed976", + # "PD"= "#e41a1c") + + #colPalette = list("CR" = "#4daf4a", "PR" = "#377eb8", "SD"= "#e41a1c", "PD"= "#984ea3") + #colPalette = list("CR" = "#377eb8", "PR" = "#4daf4a", "SD"= "#fec44f", "PD"= "#e41a1c") + cp <- list("CR" = "#0033CC", "CR-->PD" = "#3182bd", "CR-->-->PD" = "#bf8ef2", + "PR" = "#1a9850", "PR-->PD" = "#91cf60", "PR-->-->PD" = "#BFB35A", + "SD" = "#fed976", "SD-->PD" = "#ffeda0", "SD-->-->PD" = "#fed976", + "PD"= "#e41a1c") + + colPal <- cp[mr] + return(colPal) +} ##============================================================================ -#' Plot mRECIST for models and drugs -#' \code{plot.mRECIST} plots the mRECIST +#' To plot mRECIST values +#' +#' \code{plotmRECIST} plots the mRECIST matrix obtained from \code{summarizeResponse} #' #' @param object The \code{Xeva} dataset #' @param model.id The \code{model.id} @@ -165,17 +183,30 @@ creatSideBarPlot <- function(mat, colPalette, splitBy=";", scaleRow=TRUE, scaleC #' @import ComplexHeatmap #' @import grid plotmRECIST <- function(mat, control.name = NA, control.col="green", drug.col="black", - colPalette = list("CR" = "#377eb8", "PR" = "#4daf4a", "SD"= "#fec44f", "PD"= "#e41a1c"), - name = "Drug & Models") + colPalette = NULL, name = "Drug & Models") { control.name = c(control.name) - #mat = .castDataFram(df, row.var="drug.join.name", col.var = groupBy, value="mRECIST") - matRC = .sortPlotMat(mat, controlD=control.name, control.col=control.col, drug.col=drug.col) - mat = as.matrix(matRC$mat) - #colPalette = list("CR" = "#4daf4a", "PR" = "#377eb8", "SD"= "#e41a1c", "PD"= "#984ea3") + unqMat <- unique(unlist(lapply(colnames(mat), function(x) unique(mat[,x]) ))) + unqMat <- unqMat[!is.na(unqMat)] + if(is.null(colPalette)) - { colPalette = list("CR" = "#377eb8", "PR" = "#4daf4a", "SD"= "#fec44f", "PD"= "#e41a1c") } + { + colPalette <- .mRcolPalette(unqMat) + } else + { + colPre <- sapply(unqMat, function(x) is.null(colPalette[[x]])) + if(any(colPre)==TRUE) + { + colAbName <- names(colPre[colPre==TRUE]) + colAb <- paste(colAbName,collapse = "\n") + msg1 = sprintf("color for these values are not present in colPalette\n%s", colAb) + stop(msg1) + } + } + + matRC = .sortPlotMat(mat, controlD=control.name, control.col=control.col, drug.col=drug.col) + mat = as.matrix(matRC$mat) nameSpc = unique(as.vector(as.matrix(mat))) backgroundCol = "gray" diff --git a/R/plot_mRECIST_old.R b/R/plot_mRECIST_old.R deleted file mode 100644 index 02891a7..0000000 --- a/R/plot_mRECIST_old.R +++ /dev/null @@ -1,473 +0,0 @@ - -if(1==2){ - -library(ComplexHeatmap) - -mat = read.table(textConnection( - ",s1,s2,s3 -g1,snv;indel,snv,indel -g2,,snv;indel,snv -g3,snv,,indel;snv"), row.names = 1, header = TRUE, sep = ",", stringsAsFactors = FALSE) -mat = as.matrix(mat) - -mat -mat[2,1] = "indel;snv;snv;snv" -col = c(snv = "red", indel = "blue", mut="green") - -#alter_fun = list( -# snv = function(x, y, w, h) grid.rect(x, y, w*0.9, h*0.9, gp = gpar(fill = col["snv"], col = NA)), -# indel = function(x, y, w, h) grid.rect(x, y, w*0.9, h*0.4, gp = gpar(fill = col["indel"], col = NA)) -#) - -alter_fun <-function(x, y, w, h, v) - { - vt = v[v==TRUE] - lv = length(vt) - #if(length(v[v==TRUE])==2){ grid.rect(x, y, w, h, gp = gpar(fill = "blue", col = NA))} - grid.rect(x, y, w, h, gp = gpar(fill = "grey", col = NA)) - if(lv==0){return(NULL)} - if(lv>0 & lv<4) - { - grid.rect(x, (y - h*0.5 + 1:lv/lv*h), w*0.95, h*(1/lv)*0.95, - gp = gpar(fill = col[names(vt)], col = NA), just = "top") - - } - if(lv==4){ grid.rect(x, y, w*0.9, h*0.9, gp = gpar(fill = "yellow", col = NA)) } - - } - - -oncoPrint(mat, get_type = function(x) strsplit(x, ";")[[1]],row_order=NULL, column_order= NULL, - alter_fun = alter_fun, col = col) - -oncoPrint(mat, get_type = function(x) strsplit(x, ";")[[1]], - alter_fun = alter_fun, col = col, - row_order=NULL, column_order= NULL) - - - - -################============================================= -mat = read.table(paste0(system.file("extdata", package = "ComplexHeatmap"), - "/tcga_lung_adenocarcinoma_provisional_ras_raf_mek_jnk_signalling.txt"), - header = TRUE,stringsAsFactors=FALSE, sep = "\t") -mat[is.na(mat)] = "" -rownames(mat) = mat[, 1] -mat = mat[, -1] -mat= mat[, -ncol(mat)] -mat = t(as.matrix(mat)) -mat[1:3, 1:3] - -mat[1,1:3] = c("HOMDEL;", "AMP;", "MUT;") -mat[2,1:3] = c("HOMDEL;AMP;", "HOMDEL;MUT;", "") -mat[3,1:3] = c("AMP;MUT", "", "AMP;HOMDEL;MUT;") -mat = mat[1:5,1:5] - -alter_fun = list( - background = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "#CCCCCC", col = NA)) - }, - HOMDEL = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "blue", col = NA)) - }, - AMP = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "red", col = NA)) - }, - MUT = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h*0.33, gp = gpar(fill = "#008000", col = NA)) - } -) - -col = c("MUT" = "#008000", "AMP" = "red", "HOMDEL" = "blue") - -oncoPrint(mat, get_type = function(x) strsplit(x, ";")[[1]], - alter_fun = alter_fun, col = col, - row_order=NULL, column_order= NULL, - column_title = "OncoPrint for TCGA Lung Adenocarcinoma, genes in Ras Raf MEK JNK signalling", - heatmap_legend_param = list(title = "Alternations", at = c("AMP", "HOMDEL", "MUT"), - labels = c("Amplification", "Deep deletion", "Mutation"))) - - - -oncoPrintX(mat, get_type = function(x) strsplit(x, ";")[[1]], - alter_fun = alter_fun, col = col, - row_order=NULL, column_order= NULL, - column_title = "OncoPrint for TCGA Lung Adenocarcinoma, genes in Ras Raf MEK JNK signalling", - heatmap_legend_param = list(title = "Alternations", at = c("AMP", "HOMDEL", "MUT"), - labels = c("Amplification", "Deep deletion", "Mutation"))) - - -################============================================= - - - - - - - -##------creat barplot matrix -------- -computeColumnStat <- function(dfx, idMap, groupBy) -{ - unqID = unique(idMap[,groupBy]) - rtx = data.frame(matrix(NA, nrow = length(unqID), ncol = 4)) - colnames(rtx) = c("CR", "PR", "SD", "PD") - rownames(rtx) = unqID - - for(I in unqID) - { - Ix = subset(idMap, idMap[ , groupBy]==I) - modx = dfx[, Ix$model.id] - modv = as.vector(as.matrix(modx)) - modv = modv[!is.na(modv)] - rtx[I, ]= sapply(c("CR", "PR", "SD", "PD"), function(x) sum(modv==x) ) - } - return(rtx) -} - -plotmRECIST <- function(df) -{ - mRcol = c("CR" = "blue", "PR" = "green", "SD" = "yellow", "PD"="red") - - library(ComplexHeatmap) - groupBy = "biobase.id" - - data(pdxe) - #setmRECIST(pdxe)<- setmRECIST(pdxe) - df = getmRECIST(pdxe) - df = df[1:500,] - #df$model.mR = paste(df$model.id, df$mRECIST, sep=" = ") - - dfx = .castDataFram(df, row.var="drug.join.name", col.var = "model.id", value="mRECIST") - - idMap = df[, c(groupBy, "model.id")] - idMap = BBmisc::sortByCol(idMap, c(groupBy, "model.id") ) - dfx = dfx[, idMap$model.id] - - colBarpltMat = computeColumnStat(dfx, idMap, groupBy) - - - column_ha = HeatmapAnnotation(colBarpltMat = anno_barplot(colBarpltMat, axis = TRUE, - gp = gpar(fill = mRcol), - width = unit(2, "cm"))) - - - #Heatmap(mat, top_annotation = column_ha, - # top_annotation_height = unit(2, "cm"), km = 2) #+ row_ha - oncoPrint(dfx, get_type = function(x) strsplit(x, ";")[[1]], - alter_fun = alter_fun, col = col, - column_title = "OncoPrint", - heatmap_legend_param = list(title = "Alternations", at = c("CR", "PR", "SD", "PD"), - labels = c("CR", "PR", "SD", "PD")), - top_annotation = column_ha) - - - ##------------------------------------- - ##------creat barplot matrix - - - foo1 = matrix(abs(rnorm(30)), ncol = 3) - #foo1[1, ] = -foo1[1, ] - column_ha = HeatmapAnnotation(foo1 = anno_barplot(foo1, axis = TRUE, - gp = gpar(fill = c("red", "blue", "green")), - width = unit(2, "cm"))) - #foo2 = matrix(abs(rnorm(24)), ncol = 2) - #row_ha = rowAnnotation(foo2 = row_anno_barplot(foo2, axis = TRUE, axis_side = "top", - # gp = gpar(fill = c("red", "blue"))), width = unit(2, "cm")) - - Heatmap(mat, top_annotation = column_ha, top_annotation_height = unit(2, "cm"), km = 2) #+ row_ha - - - - ##----------------------------------- - - library(circlize) - - RColorBrewer::brewer.pal(10) - - annoCol = list() - annoCol[[groupBy]] = colorRamp2(c(0, 20), c("white", "red")) - - - df = data.frame(type = c(rep("a", 5), rep("b", 5))) - ha = HeatmapAnnotation(df = df, col = list(type = c("a" = "red", "b" = "blue"))) - draw(ha, 1:100) - - ha = HeatmapAnnotation(df = modelMap, col = annoCol) - #draw(ha, 1:100) - - - - drgNames = c("HDM201", "BYL719 + LJM716", "BYL719", "CLR457", "untreated", "BKM120", "binimetinib", "LEE011") - dfx = dfx[drgNames, ] - dfx = dfx[, colSums(is.na(dfx)) != nrow(dfx)] - - dfx[is.na(dfx)] = "" - dfx = as.matrix(dfx) - - #dfx = dfx[1:10,1:500] - - alter_fun = list( - background = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "#CCCCCC", col = NA)) - }, - CR = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "blue", col = NA)) - }, - PR = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "green", col = NA)) - }, - SD = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "yellow", col = NA)) - }, - PD = function(x, y, w, h) { - grid.rect(x, y, w-unit(0.5, "mm"), h-unit(0.5, "mm"), gp = gpar(fill = "red", col = NA)) - } - ) - - - col = c("CR" = "blue", "PR" = "green", "SD" = "yellow", "PD"="red") - - oncoPrint(dfx, get_type = function(x) strsplit(x, ";")[[1]], - alter_fun = alter_fun, col = col, - column_title = "OncoPrint", - heatmap_legend_param = list(title = "Alternations", at = c("CR", "PR", "SD", "PD"), - labels = c("CR", "PR", "SD", "PD")), - top_annotation = hpx) - - - - - - - - - - - ##---------------------------------------- - head(dfx) - - mRColPalette = c("CR" = "blue", "PR" = "green", "SD" = "yellow", "PD"="red") - - getColorForCell <- function(mod.mr) - { - mod.mr = c(mod.mr) - mR = sapply(mod.mr, function(x){ strsplit(mod.mr, " = ")[[1]][2] }) - if(length(mR)>0 & all(is.na(mR))==FALSE) - { return(mRColPalette[mR]) } - #mR = strsplit(mod.mr, " = ")[[1]][2] - #if(!is.na(mR)){ return(mR.col[mR]) } - return("black") - } - - alter_fun <-function(x, y, w, h, v) - { - vt = v[v==TRUE] - lv = length(vt) - grid.rect(x, y, w, h, gp = gpar(fill = "grey", col = NA)) - if(lv==0){return(NULL)} - if(lv>0) - { - grid.rect(x, (y - h*0.5 + 1:lv/lv*h), w*0.95, h*(1/lv)*0.95, - gp = gpar(fill = getColorForCell(names(vt)), col = NA), just = "top") - - } - - } - - - oncoPrint(dfx, get_type = function(x) strsplit(x, ";")[[1]],row_order=NULL, column_order= NULL, - alter_fun = alter_fun, col = mRColPalette) - - - - getTextforCell <- function(V) - { - #if(V==0) { return("") } - return(sprintf("%1.1f", V)) - } - - - - heatX = Heatmap(mat, name = "Drug & Models", col=c("blue", "green", "yellow", "red"), - cluster_rows = FALSE, cluster_columns = FALSE, - #column_dend_height = unit(5, "cm"), - show_row_dend = FALSE, - show_row_names = TRUE, row_names_side = "left", - show_column_names = TRUE, column_names_side = "top", - rect_gp = gpar(col = "white", lty = 1, lwd = 1), - show_heatmap_legend = FALSE, - #top_annotation = ha1 - cell_fun = function(j, i, x, y, width, height, col) - { - #grid.text(getTextforCell(mat[i, j]), x, y, gp = gpar(fontsize = 12,col = "black")) - grid.rect(x, y, width*0.9, height*0.4, gp = gpar(fill = "black", col = NA)) - } ) - - - - draw(heatX, padding = unit(c(10, 10, 10, 10), "mm")) - - - -} - - - - -plotHeatmapX <- function() -{ - - library(ComplexHeatmap) - getCol<- function(mr) - { - mRColPalette = c("CR" = "blue", "PR" = "green", "SD" = "yellow", "PD"="red") - strsplit(mr, ";")[[1]] - } - - - - mat = matrix(NA, nrow = 5, ncol = 4) - mat[1,] = c("CR", "PR", "SD", "PD") - mat[2,] = c("CR;PR",NA, "SD;PD", "PD") - mat[3,] = c("CR;PR;CR","SD;PD;PD;SD", "PD;PD", "PR") - mat[4,] = c("PR","CR", "SD", "PR") - mat[5,] = c("CR","SD;SD", "PR;PD", "SD") - - nameSpc = unique(as.vector(mat)) - backgroundCol = rep("gray", length(nameSpc)) - - - getSqrPoint <- function(x,y,l) - { - X = c(x-l, x-l, x+l, x+l) - Y = c(y-l, y+l, y+l, y-l) - return(list(X=X,Y=Y)) - } - - cell_fun_old = function(j, i, x, y, width, height, fill) - { - #grid.polygon(x = rep(x[c("left", "right", "right", "left")], 2), - # y = y[rep(c("bottom", "top", "bottom", "mid"), each = 2)], - # id = rep(1:2, each = 4), - # gp = gpar(fill = c(NA, "blue"))) - - - grid.polygon(#x=c(0, 0, 1, 1), y=c(0, 1, 1, 0), - x=c(0.05, 0.05, 0.95, 0.95), y=c(0.05, 0.95, 0.95, 0.05), - #id = rep(1:2, each = 4), - gp = gpar(fill = "blue")) - - #z=list(j, i, x, y, width, height, fill) - #saveRDS(z, file="tmp.Rda") - #grid.rect(x, y, width*0.9, height*0.4, gp = gpar(fill = "black", col = NA)) - #grid.circle(x, y, r, gp = gpar(fill = "red", col = NA)) - - #grid.polygon(#x=c(0, 0, 1, 1), y=c(0, 1, 1, 0), - # x=c(0.05, 0.05, 0.95, 0.95), y=c(0.05, 0.95, 0.95, 0.05), - # #id = rep(1:2, each = 4), - # gp = gpar(fill = "blue")) - - } - - cell_fun_old2 = function(j,i, x, y, w, h, v) { - z=list(j,i, x, y, w, h, v) - saveRDS(z, file="tmp.Rda") - - #w = convertWidth(w, "cm")*0.9 - #h = convertHeight(h, "cm")*0.9 - l = min(unit.c(w, h))*0.5 - - #grid.circle(x, y, l*0.5, gp = gpar(fill = "red", col = NA)) - #sc = getSqrPoint(x,y,l) - #w = z[[5]]; h=z[[6]] - #w = convertWidth(w, "cm")*0.9 - #h = convertHeight(h, "cm")*0.9 - #l = min(unit.c(w, h)) - - #x=z[[3]]; y=z[[4]]; - #x=convertX(z[[3]], "cm", valueOnly = FALSE) - #y=convertX(z[[4]], "cm", valueOnly = FALSE) - a=convertX(x-l, "npc", valueOnly = FALSE) - b=convertX(x+l, "npc", valueOnly = FALSE) - c=convertX(y-l, "npc", valueOnly = FALSE) - d=convertX(y+l, "npc", valueOnly = FALSE) - #b=x+l - #c=y-l ; d=y+l - #grid.polygon(x = c(x-l, x-l, x+l, x+l), - # y = c(y-l, y+l, y+l, y-l), - # gp = gpar(fill = "blue")) - - grid.polygon(x = c(a, a, b, b), - y = c(c, d, d, c), - gp = gpar(fill = "blue")) - - #grid.circle(c, d, l*0.5, gp = gpar(fill = "red", col = NA)) - - - - } - - -z=list() ; saveRDS(z, file="tmp.Rda") - cell_funX = function(j,i, x, y, w, h, v, value) { - factR = 0.95 - wr=w*0.5*factR; hr=h*0.5*factR - a=x-wr; b=x+wr - c=y-hr; d=y+hr - a=convertX(a, "npc", valueOnly = FALSE) - b=convertX(b, "npc", valueOnly = FALSE) - c=convertX(c, "npc", valueOnly = FALSE) - d=convertX(d, "npc", valueOnly = FALSE) - - z=readRDS("tmp.Rda") - z[[length(z)+1]] = list(j,i, x, y, w, h, a,b,c,d, value) - saveRDS(z, file="tmp.Rda") - - grid.polygon(x = c(a, a, b, b), - y = c(c, d, d, c), - gp = gpar(fill = "blue")) - } - - Heatmap(mat, name = "Drug & Models", col=backgroundCol, - cluster_rows = FALSE, cluster_columns = FALSE, - #column_dend_height = unit(5, "cm"), - show_row_dend = FALSE, - show_row_names = TRUE, row_names_side = "left", - show_column_names = TRUE, column_names_side = "top", - rect_gp = gpar(col = "white", lty = 1, lwd = 1), - show_heatmap_legend = FALSE, - cell_fun =function(j, i, x, y, width, height, fill) - { cell_funX(j, i, x, y, width, height, fill, mat[i,j])} - ) - - - #cell_fun = function(j, i, x, y, width, height, fill) - #{ - # #grid.text(getTextforCell(mat[i, j]), x, y, gp = gpar(fontsize = 12,col = "black")) - # grid.rect(x, y, width*0.9, height*0.4, gp = gpar(fill = "black", col = NA)) - # - #} - #) - - - - - - - -ht = Heatmap(pheudo, col = col, rect_gp = gpar(type = "none"), - cluster_rows = FALSE, cluster_columns = FALSE, row_order = row_order, column_order = column_order, - cell_fun = function(j, i, x, y, width, height, fill) { - z = arr[i, j, ] - names(z) = dimnames(arr)[[3]] - af(x, y, width, height, z) - }, - heatmap_legend_param = heatmap_legend_param) - - - - -} - - -} diff --git a/man/getmRECIST.Rd b/man/getmRECIST.Rd deleted file mode 100644 index 4e6ee0d..0000000 --- a/man/getmRECIST.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/mRECIST.R -\name{getmRECIST} -\alias{getmRECIST} -\title{getmRECIST Generic -Generic for getmRECIST method} -\usage{ -getmRECIST(object, group.by = "biobase.id") -} -\arguments{ -\item{object}{The \code{XevaSet} to retrieve mRECIST from} - -\item{group.by}{The name of column which will be mapped to model.id} -} -\value{ -a \code{data.frame} with the mRECIST values, rows are drugs and columns are model.id -} -\description{ -getmRECIST Generic -Generic for getmRECIST method -} -\examples{ -data(pdxe) -# calculate mRECIST for each experiment -setmRECIST(pdxe)<- setmRECIST(pdxe) -getmRECIST(pdxe, group.by="biobase.id") -} - diff --git a/man/plotmRECIST.Rd b/man/plotmRECIST.Rd index 31dda94..7fa0008 100644 --- a/man/plotmRECIST.Rd +++ b/man/plotmRECIST.Rd @@ -2,12 +2,10 @@ % Please edit documentation in R/plot_mRECIST.R \name{plotmRECIST} \alias{plotmRECIST} -\title{Plot mRECIST for models and drugs -\code{plot.mRECIST} plots the mRECIST} +\title{To plot mRECIST values} \usage{ plotmRECIST(mat, control.name = NA, control.col = "green", - drug.col = "black", colPalette = list(CR = "#377eb8", PR = "#4daf4a", SD = - "#fec44f", PD = "#e41a1c"), name = "Drug & Models") + drug.col = "black", colPalette = NULL, name = "Drug & Models") } \arguments{ \item{object}{The \code{Xeva} dataset} @@ -18,8 +16,7 @@ plotmRECIST(mat, control.name = NA, control.col = "green", plot } \description{ -Plot mRECIST for models and drugs -\code{plot.mRECIST} plots the mRECIST +\code{plotmRECIST} plots the mRECIST matrix obtained from \code{summarizeResponse} } \examples{ data(pdxe) diff --git a/vignettes/getting-started.R b/vignettes/getting-started.R index 6d901ed..0673d8b 100644 --- a/vignettes/getting-started.R +++ b/vignettes/getting-started.R @@ -71,16 +71,9 @@ plotmRECIST(pdxe.lung, control.name = "untreated") ## ---- echo=TRUE, fig.width = 12, fig.height = 10------------------------- data(pdxe) #select lung cancer PDXE data -pdxe.brca <- summarizeResponse(pdxe, response.measure = "mRECIST_recomputed", +pdxe.brca <- summarizeResponse(pdxe, response.measure = "mRECIST", group.by="patient.id", tumor.type="BRCA") -pdxe.brca <- summarizeResponse(pdxe, response.measure = "mRECIST_recomputed", - group.by="patient.id", tumor.type="BRCA") - - -pdxe.time.last_published <- summarizeResponse(pdxe, response.measure = "time.last_published", - group.by="patient.id", tumor.type="BRCA") - ## plot matrix plotmRECIST(pdxe.brca, control.name = "untreated", control.col = "#238b45") diff --git a/vignettes/getting-started.Rmd b/vignettes/getting-started.Rmd index 9fde470..fcdbfc7 100644 --- a/vignettes/getting-started.Rmd +++ b/vignettes/getting-started.Rmd @@ -124,16 +124,9 @@ Create mRECIST plot for PDXE Breast Cancer data ```{r, echo=TRUE, fig.width = 12, fig.height = 10} data(pdxe) #select lung cancer PDXE data -pdxe.brca <- summarizeResponse(pdxe, response.measure = "mRECIST_recomputed", +pdxe.brca <- summarizeResponse(pdxe, response.measure = "mRECIST", group.by="patient.id", tumor.type="BRCA") -pdxe.brca <- summarizeResponse(pdxe, response.measure = "mRECIST_recomputed", - group.by="patient.id", tumor.type="BRCA") - - -pdxe.time.last_published <- summarizeResponse(pdxe, response.measure = "time.last_published", - group.by="patient.id", tumor.type="BRCA") - ## plot matrix plotmRECIST(pdxe.brca, control.name = "untreated", control.col = "#238b45") ``` diff --git a/vignettes/getting-started.pdf b/vignettes/getting-started.pdf index 4a4a815409c78f02568599ef5e9def16e56ff4dc..5a6dd75472074e4cb9a5895ccf43791131c8723a 100644 GIT binary patch delta 49267 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ǧ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 delta 49779 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 tVm)fKBXrQ5XWdh%0h45N-6o$