Browse code

- plotFeatureClasses now works if classes is column name of data frame. - prepareData warning for variable name conversion for modelling.

Dario Strbenac authored on 27/09/2022 00:50:16
Showing 3 changed files

... ...
@@ -10,7 +10,7 @@ Maintainer: Dario Strbenac <dario.strbenac@sydney.edu.au>
10 10
 VignetteBuilder: knitr
11 11
 Encoding: UTF-8
12 12
 biocViews: Classification, Survival
13
-Depends: R (>= 4.1.0), generics, methods, S4Vectors (>= 0.18.0), MultiAssayExperiment (>= 1.6.0), BiocParallel, survival
13
+Depends: R (>= 4.1.0), generics, methods, S4Vectors, MultiAssayExperiment, BiocParallel, survival
14 14
 Imports: grid, genefilter, utils, dplyr, tidyr, rlang, randomForest
15 15
 Suggests: limma, edgeR, car, Rmixmod, ggplot2 (>= 3.0.0), gridExtra (>= 2.0.0), cowplot,
16 16
         BiocStyle, pamr, PoiClaClu, parathyroidSE, knitr, htmltools, gtable,
... ...
@@ -171,6 +171,12 @@ setMethod("plotFeatureClasses", "DataFrame", function(measurements, classes, use
171 171
     groupBy <- list(legends = factor(groupBy, levels = levelsOrder),
172 172
                     facets = factor(paste(groupingName, "is", groupBy), levels = paste(groupingName, "is", levelsOrder)))
173 173
   }
174
+  if(is.character(classes) || is.integer(classes))
175
+    classes <- measurements[, classes] # Otherwise an independent factor.
176
+  if(is.character(classes)) classes <- factor(classes)
177
+
178
+  if(length(colours) != length(levels(classes)))
179
+    colours <- scales::hue_pal()(length(levels(classes)))
174 180
   
175 181
   if(!requireNamespace("ggplot2", quietly = TRUE))
176 182
     stop("The package 'ggplot2' could not be found. Please install it.")
... ...
@@ -57,6 +57,7 @@ setMethod("prepareData", "DataFrame",
57 57
   # Won't ever be true if input data was MultiAssayExperiment because wideFormat already produces valid names.  
58 58
   if(all.equal(colnames(measurements), make.names(colnames(measurements))) != TRUE)
59 59
   {
60
+    warning("Unsafe feature names in input data. Converted into safe names.")
60 61
     mcols(measurements)$feature <- colnames(measurements) # Save the originals.
61 62
     colnames(measurements) <- make.names(colnames(measurements)) # Ensure column names are safe names.
62 63
   }