Relabel module labels to best match the given reference labels
Given a source
and reference
vectors of module labels, the function produces a module
labeling that is equivalent to source
, but individual modules are re-labeled so that modules with
significant overlap in source
and reference
have the same labels.
matchLabels(source, reference, pThreshold = 5e-2, na.rm = TRUE, ignoreLabels = if (is.numeric(reference)) 0 else "grey", extraLabels = if (is.numeric(reference)) c(1:1000) else standardColors() )
source |
a vector or a matrix of reference labels. The labels may be numeric or character. |
reference |
a vector of reference labels. |
pThreshold |
threshold of Fisher's exact test for considering modules to have a significant overlap. |
na.rm |
logical: should missing values in either |
ignoreLabels |
labels in |
extraLabels |
a vector of labels for modules in |
Each column of source
is treated separately. Unlike in previous version of this function, source
and reference labels can be any labels, not necessarily of the same type.
The function calculates the overlap of the source
and reference
modules using Fisher's
exact test. It then attempts to relabel source
modules such that each source
module gets the
label of the reference
module that it overlaps most with, subject to not renaming two source
modules to the same reference
module. (If two source
modules point to the same
reference
module, the one with the more significant overlap is chosen.)
Those source
modules that cannot be matched to a reference
module are labeled using
those labels from extraLabels
that do not occur in either of source
, reference
or
ignoreLabels
.
A vector (if the input source
labels are a vector) or a matrix (if the input source
labels are a matrix) of the new labels.
Peter Langfelder
overlapTable
for calculation of overlap counts and p-values;
standardColors
for standard non-numeric WGCNA labels.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.