multiSetMEs(exprData,
colors,
universalColors = NULL,
useSets = NULL,
useGenes = NULL,
impute = TRUE,
nPC = 1,
align = "along average",
excludeGrey = FALSE,
grey = ifelse(is.null(universalColors), ifelse(is.numeric(colors), 0, "grey"),
ifelse(is.numeric(universalColors), 0, "grey")),
subHubs = TRUE,
trapErrors = FALSE,
returnValidOnly = trapErrors,
softPower = 6,
verbose = 1, indent = 0)
checkSets
). A vector of lists,
with each list corresponding to one microarray dataset and expression data in the component data
,
that is expr[
color
.validColors
in the returned list will only contain colors for the genes
specified in useGenes
.TRUE
, expression data will be checked for the presence of NA
entries and if the latter are present, numerical data will be imputed, using function impute.knn
and probes from the same module as the missingNULL
. This will cause
all principal components to be computed, which is slalign = "along average"
, the default) or left as they are (align = ""
).
Any other value will trigger an error.colors
or universalColors
(whichever applies)
designating the improper module. Note that if the appropriate colors argument is a
factor of numbers, the default value will be incorrect.TRUE
, each missing eigengene (i.e., eigengene whose calculation failed and the error
was trapped) will be replaced by a weighted average of the most connected hub genNA
entries in expression data. If TRUE
, errors from calling these functions will be
trapped without abnormal exit.
If FALSE
, errors will cause tTRUE
), or whether
the data frame should have coluexprData
. For each set there is a list with the
following components:"ME"
prepended, e.g., MEturquoise
etc. Note that, when trapErrors == TRUE
and returnValidOnly==FALSE
,
this data frame also contains entries corresponding to
removed modules, if any. (validMEs
below indicates which eigengenes are valid and allOK
whether all module eigengens were successfully calculated.)align == "along average"
, a dataframe containing average normalized
expression in each module. The columns are named by the corresponding color with an "AE"
prepended, e.g., AEturquoise
etc.varExplained[PC, module]
giving the variance of module module
explained by the principal
component no. PC
. This is only accurate if all principal components have been computed (input
nPC = NULL
). At most 5 principal components are recorded in this dataframe.nPC
.data
)
is TRUE
if the corresponding eigengene is valid, and FALSE
if it is invalid. Valid eigengenes include both principal components and their hubgene
approximations.
When returnValidOnly==FALSE
, by definition all returned eigengenes are valid and the
entries of validMEs
are all TRUE
.universalColors
if set, otherwise
colors[, set]
) with entries corresponding to invalid modules set to
grey
if given, otherwise 0 if the appropriate input colors are numeric and "grey" otherwise.universalColors
is set, this flag
signals whether all eigengenes are valid in all sets.eigengenes
) is
TRUE
if the corresponding eigengene is the first principal component and FALSE
if it
is the hubgene approximation or is invalid.eigengenes
) is
TRUE
if the corresponding eigengene is the hubgene approximation and FALSE
if it
is the first principal component or is invalid.eigengenes
) is
TRUE
if the corresponding module average expression is valid.returnValidOnly==TRUE
does not imply allAEOK==TRUE
:
some invalid average expressions may be
returned if their corresponding eigengenes have been calculated correctly.moduleEigengenes
for each set in exprData
.Module eigengene is defined as the first principal component of the expression matrix of the
corresponding module. The calculation may fail if the expression data has too many missing entries.
Handling of such errors is controlled by the arguments subHubs
and
trapErrors
.
If subHubs==TRUE
, errors in principal component calculation will be trapped and a substitute
calculation of hubgenes will be attempted. If this fails as well, behaviour depends on
trapErrors
: if TRUE
, the offending
module will be ignored and the return value will allow the user to remove the module from further
analysis; if FALSE
, the function will stop.
If universalColors
is given, any offending
module will be removed from all sets (see validMEs
in return value below).
From the user's point of view, setting trapErrors=FALSE
ensures that if the function returns
normally, there will be a valid eigengene (principal component or hubgene) for each of the input
colors. If the user sets trapErrors=TRUE
, all calculational (but not input) errors will be
trapped, but the user should check the output (see below) to make sure all modules have a valid
returned eigengene.
While the principal component calculation can fail even on relatively sound data
(it does not take all that many "well-placed" NA
to torpedo the
calculation),
it takes many more irregularities in the data for the hubgene calculation to
fail. In fact such a failure signals there likely is something seriously wrong with the data.
moduleEigengenes