Note: as of 2009/03/10, changes that lead to different calculational results are marked as DIFF.
2023/01/07: 1.72
. Version bump for release
2022/12/29: 1.71-7
. Small changes in default position of legend label in labeledHeatmap
. C code reorganized to conform to the requirement of declaring all
function prototypes before definition
. Fixed version numbers in changelog.
2022/11/01: 1.71-6
. Bugfix in modulePreservation fixes checking for testNetworks out of
range. The bug made no difference for valid inputs.
2022/10/24: 1.71-5
. Function overlapTable nwo also returns a matrix of expected overlap
counts and a matrix of ratios of observed and expected overlap
counts.
. Bugfix in individualTOMs that fixes a crash in
hierarchicalConsensusModules when networkOptions are given as a
single object of class networkOptions.
. Internal functions for creating heatmaps with legend are improved.
2022/09/14: 1.71-4
. Function overlapTable now optionally returns logarithms of the
overlap p-values.
2022/07/03: 1.71-3
. Function prependZeros now gets the number of characters correctly
even for numbers like 100000 which were previously formatted to
1e05.
2022/07/02: 1.71-2
. Functions matchLabels and overlapTable now work also in the case
where one set of labels consists entirely of ignored labels.
. Function imputeByModule only imputes data in those modules that
actually contain missing data.
2022/05/22: 1.71-1
. empiricalBayesLM is a bit informative about failed initial
regressions.
2022/04/22: 1.71
. Version bumb for release
2022/04/08: 1.70-80
. Bugfix in blueWhiteRed and greenWhiteRed that makes the pallettes
symmetric for small odd values of n.
. Function sampleModules now runs nRuns sampled calculations (and
optionally also the unsampled calculation) rather than always
running precisely nRuns calculations.
. Function blueWhiteRed now accepts arguments giving the blue end, red
end and middle colors.
. Fixed bug in positioning color legend label for labeledHeatmap and
related functions.
. verboseIplot now accepts argument showMSE that can supress printing
of MSE in the title of the plot.
. verboseScatterplot now accepts argument showPValue that can suppress
printing of the p-value in the title of the plot.
. addGrid now accepts arguments linesPerTick.horiz and
linesPerTick.vert allowing the user to set the number of lines per
tick separately for the vertical and horizontal lines
. empiricalBayesLM now accepts argument scaleMeansOfSamples that works
in conjunction with scaleMeansToSamples to fine tune how the
adjustment is applied.
2021/03/01: 1.70-4
. plotColorUnderTree and plotDendroAndColor now work also when there
the 'colors' argument has length zero, producing an empty color
plot.
. Improvements in internal code plotting legends for labeledHeatmap.
2021/02/17: 1.70-3:
. Bugfixes of bugs introduced in 1.70-2
2021/02/13: 1.70-2:
. Fixed problem in moduleEigengenes with argument 'expr' not having
'rownames'.
2021/02/13: 1.70-1:
. Fixed several old web links in help files
2021/02/10: 1.69-86, 1.70
. Internal code for generating axis ticks now works when the limits
have zero range.
. Help files for blockwiseIndividualTOMs and blockwiseConsensusModules
updated.
2020/12/18: 1.69-85
. Internal code for plotting legends for heatmaps expanded to be able
to plot several color columns per legend.
2020/11/03: 1.69-84
. Internal code for plotting color scale/axis for heatmaps can now add
an axis label.
. Corrected help files.
2020/07/12: 1.69-83:
. Code for labeledHeatmap.multipage was simplified by taking advantage
of arguments showRows and showCols to labeledHeatmap. This also
solves incorrect font size and colors for the row and column labels.
2020/05/08: 1.69-82:
. blockwiseConsensusModules and friends now use make.unique before
assigning rownames, to guard against duplicate rownames errors.
2020/04/30: 1.69-81
. Bugfix in internal code fixes failure of labeledHeatmap with only
one column or row.
2020/03/03: 1.69-80
. Minor enhancements in internal code (function
.plotOrderedColorSubplot).
2020/02/28: 1.68-86, 1.69
. Argument nameOut to userListEnrichment now accepts value NULL to
suppress generating a file with the results.
. lmRob has been removed as an automatically supported optional
initial fit function in empiricalBayesLM (due to the package
'robust' having been orphaned and archived on CRAN).
. labeledHeatmap and internal function heatmapWithLegend now take
optional argument colorMat allowing the user to specify the cell
colors explicitly.
. Internal function heatmapWithLegend shoudl be able to use handle
transparent as color for missing data.
. Bugfix in internal function used in plotColorUnderTree and
plotOrderedColor.
2020/02/08: 1.68-84
. Further bugfixes in plotOrderedColor.
2020/02/06: 1.68-83
. plotOrderedColors, plotColorUnderTree and plotDendroAndColors gain argument
separatorLine.col to set (or omit) separator lines between color
rows.
. plotOrderedColors also gains argument align to provide some degree
of control over alignment of color rectangles.
2020/02/03: 1.68-82
. Bugfixes in prependZeros and internal code
(.boxDimensionsForHeatmapWithLegend).
. Internal change: plotOrderedColor is now split into user-facing
wrapper and the workhorse internal function that can be called from
other functions as well.
. Internal change: split off labeledHeatmap into is own file.
. prependZeros now handles fractional numbers better.
. goodSamplesMS and goodSamplesGenesMS now copy the 'names' attribute
of the input 'multiExpr' to the output.
. Function hierarchicalConsensusModules and
pruneAndMergeConsensusModules now calculate eigengenes with more
regard to resource utilization, skipping the some unneeded
calcualtions.
. Bugfix in labeledHeatmap and related functions; showing two
separators at the same position now works.
. metaAnalysis now works with a single data set.
. Example for chooseTopHubInEachModule has been simplified.
. DIFF: Argument scaleMeanToSamples for function empiricalBayesLM now
defaults to fitToSamples. This will produce adjusted data wwith
different means than before if non-trivial fitToSamples is used.
(The variation of the adjusted data is unchanged, i.e., correlations
of the adjusted data will be the same as before.) To reproduce old
results, use scaleMeanToSamples = NULL when calling empiricalBayesLM.
2019/06/18: 1.68-80
. binarizeCategoricalColumns.forPlots now accepts argument checkNames.
2019/06/02: 1.68-2
. Internal code checking and scaling multiData weights is now more
general.
2019/05/30: 1.68-1
. Function matchLabels is now nearly two orders of magnitude faster.
. Bugfix in sizeRestrictedClusterMerge fizes an error that ocurred
when some clusters were of size 1
2019/05/22: 1.68
. Bugfix in sizeRestrictedClusterMerge which also benefits
projectiveKMeans and blockwiseModules fixes an occasional crash.
Bug reports and assistance of several users, especially Luis Revilla,
is gratefully acknowledged.
. Bugfixes in blockwiseModules, blockwiseConsensusModules and
individualTOMs fix non-propagation of randomSeed to
projectiveKMeans. The default randomSeed for the 3 functions has
changed to match that of projectiveKMeans and
consensusProjectiveKMeans to make previous results reproducible.
. plotOrderedColor now returns some of the plotting information,
useful for adding to the plot.
. modulePreservation gains arguments multiWeights representing
optional observation weights of expression data, and goldName that
can be used to change the label used for all-network sample.
. Adding arguments horizontalSeparator.interval and
verticalSeparator.interval to labeledHeatmap
. Change in sampledHierarchicalModules: saveIndividualTOMs and
saveConsensusTOM arguments for the underlying
hierarchicalConsensusModules can be set as arguments rather than
being hardcoded.
2019/05/05: 1.67-90
. Bugfix in sizeRestrictedClusterMerge and projectiveKMeans that calls
it fixes occassional crash (reported on Stackexchange by user holly)
. Bugfix in modulePreservation: empty rownames of certain
matrices do not cause a crash anymore.
. New (experimental) versions of Topological Overlap (TOM) are
available.
. bugfix in exportNetworkToVisANT thanks to Guangjian Du
. consensusProjectiveKMeans is a bit more efficient, especially when
the number of sets is 1.
. goodGenes should be faster when weights are not supplied
2019/04/11: 1.67
. moduleEigengenes and derived functions (multiSetMEs) now copy
row names of the input data as row names of the output matrices.
. blockwiseModules, blockwiseConsensusModules, their 'recut' versions
and blockwiseHierarchicalModules now copy the column names of input
data into names of output module labels and colors. Row names of
input data are copied into row names of the corresponding module
eigengene matrices.
. Startup message regarding setting up multi-threading is now
disabled.
2019/04/09: 1.66-92
. bugfix in labeledHeatmap makes vertical separator lines better
aligned with standard position of labels.
. exportNetworkToCytoscape does not check column names in nodeAttr for
being valid language names.
2019/02/25: 1.66-90
. Bugfix in consensusTOM: saving calibrated TOMs should work now.
. Function formatLabels now accepts optional argument font.
. Function hierarchicalConsensusKME now accepts argument
getMetaColsFor1Set that controls whether meta-statistics are
returned when the consensus only has 1 input set.
. One more bugfix in internal code (.interleave)
. Bugfix in internal code (.interleave) fixes crashes in
hierarchicalConsensusKME
. Bugfix in multiGrep fixes sorting order when returning values rather
than indices.
. Functions consensusKME and hierachicalConsensusKME now don't throw
an error on duplicate column names in input data.
. Changed default for argument saveConsensusData from TRUE to NULL
(automatically determined from input data) in function
consensusCalculation
. Signed TOM described by Nowick et al (PNAS, 2009) is implemented and
can be accessed using TOMType = "signed Nowick" for all TOM
calculation and module identification functions that take argument
TOMType. Argument suppressNegativeTOM can be used to automatically
set all negative TOM values to zero.
. New argument suppressNegativeResults for newConsensusOptions.
. New function sizeRestrictedClusterMerge for merging clusters such
that the resulting clusters do not exceed a specified size.
. hierarchicalConsensusKME is now more robust and works with a single
module as well.
2018/10/22: 1.66
. Function consensusDissTOMandTree is now a it faster because of more
efficient garbage collection.
. Function verboseBarplot can now optionally add text labels to the
(also optional) scatterplot.
. In internal functions plotting heatmap legends, widths are now
specified in inches rather than in user coordinates.
. Hierarchical consensus module merging is now more robust to unusual
cases with 0 or only 1 module.
. Bugfix in hierarchicalConsensusModules: supplying a single
networkOptions dows not produce an error.
. pruneAndMergeConsensusModules now checks for presence of at least
one module; if no modules are present, it returns the input labels
rather than throwing an error.
. DIFF: Bugfix in hierarchicalConsensusModules changes the order of
imputation and removal of genes and samples with too many missing
values. This may lead to slightly different module eigengenes.
2018/10/02: 1.65
. Bugfix in modulePreservation fixes duplicate rownames error.
. Function signedKME now checks that colnames of the input data are
unique and makes them unique if not.
. Consensus calculations now return origin count for all consensus
quantiles and the mean consensus. Origin count for each set is the
number of (calibrated) values from the set that are less than or equal
the consensus.
. New function consensusTreeInputs for getting inputs of a consensus
tree.
2018/09/24: 1.64-81
. Fixed crash in softConnectivity when weights are used.
. Fixed bug in labeledHeatmap that transposed a 1-row matrix into a
1-column one.
. Fixed minor typos in errors emitted by labeledHeatmap.
2018/09/14: 1.64-80
. empiricalBayesLM now accepts optional argument fitToSamples that can
restrict the fitting process to a subset of samples. The argument
order was also rearranged to make the order more logical.
2018/09/09: 1.64-1
. binarizeCategoricalColumns.for... have re-ordered and in some cases
added arguments to make them more useful.
2018/09/05: 1.64
. Web site link updated
. Documentation for cor has been improved by making more precise what
nThreads actually affects
. Documentation for pickSoftThreshold.fromSimilarity has been improved
thanks to a suggestion from Paolo Inglese.
. Function signedKME has been streamlined and a bug in which gene
names in the output were passed through check.names in coercing the
input to a data frmae is now fixed.
. New functions binarizeCategoricalVariable,
binarizeCategoricalColumns, and related wrappers for binarizing
categorical covariates into sets of binary indicators
. labeledHeatmap now accepts arguments showRows and showCols that
allow one show a subset of the heatmap without having to explicitly
subset all row- and column-specific arguments
. branchSplitFromStabilityLabels.individualFraction can now work with
missing entries in cluster labels
. New function signifNumeric for rounding numeric columns of a data
frame.
. Bugfix in corFast: argument 'use' is now interpreted properly
(thanks to Thomas Mohr for the report).
. Argument networkType has been removed from the function
pickSoftThreshold.fromSimilarity where it has not been used; help
file has been adjusted accordingly (thanks to Max Moldovan for
reporting the issue).
. mtd.mapply now prints a more informative error message.
. bugfix in GOenrichmentAnalysis which now works again.
2018/03/21: 1.63-2
. TOM calculation now gives 0 for completely unconnected nodes,
instead of returning NaN
2018/02/26: 1.63
. Bugfix in blockwiseModules fixes a crash caused by supplying weights
to bicor
. DIFF: correlation options such as maxPOutliers are now by default
used throughout function blockwiseModules. New argument
useCorOptionsThroughout can be used to switch to old behaviour where
the arguments were used only for network construction.
2018/02/10: 1.62
. New functions sampledBlockwiseModules and
sampledHierarchicalConsensusModules carry out network analysis
repeatedly on resampled data.
. TOM calculations can optionally use internal matrix algebra rather
than R- (or system-)provided BLAS, controlled by argument
useInternalMatrixAlgebra.
. Pearson correlation (function cor) now accepts individual sample
weights for arguments x and y. When both weights are supplied (and
for correlation of a columns in a single matrix), the weights are a
product of the weights for the two vectors being correlated.
Denominators are calculated separately using separate weights, which
leads to slightly different results than standard weighted
correlation.
. Most network construction functions now also accept optional weights.
. hierarchicalConsensusModules can now optionally perform gene/module
pruning and merging iteratively.
. New functions pruneConsensusModules and
pruneAndMergeConsensusModules implement the pruning and iterative
pruning/merging of hierarchical consensus modules.
. Network construction functions now accept argument
suppressTOMForZeroAdjacencies whose effect is to set TOM to zero for
all node pairs with zero adjacency.
. Bugfix in individualTOMs: function now works with default
useDiskCache
. Module eigengenes returned by blockwiseConsensusModules now carry
names copied from names of multiExpr
. New function imputeByModule
. Bugfix in verboseBoxplot and verboseBarplot: the function now
honors the setting of addScatterplot and correctly interprets point
color and other arguments when they are vectors.
. Enhancements and bugfixes in TOMplot which should work with all
data sizes and dendrogram complexities.
. Function formatLabels now avoids over-splitting labels that already
contain a newline character.
. Function labeledHeatmap can plot row labels on the right, specified
via argument yLabPosition.
. Bugfix in internal function .networkCalculation
2017/08/04: 1.61
. Bugfix in consensusCalculation: function works with mean consensus.
. New arguments pch and plotPriority for verboseScatterplot.
. Function pmin has been removed since it incorrectly duplicates
base::pmin.
. Function GOenrichmentAnalysis is deprecated. Please use function
enrichmentAnalysis from R package anRichment, available from
https://labs.genetics.ucla.edu/horvath/htdocs/CoexpressionNetwork/GeneAnnotation/
2017/07/07: 1.60
. empiricalBayesLM expanded with additional arguments allowing
specification of initial fit function
. DIFF: New branch split function that works with stability labels,
branchSplitFromStabilityLabels.individualFraction, that tweaks the
branch dissimilarity measure to work better when one branch is large
and one small. To reproduce old results, use argument
stabilityCriterion = "Common fraction" to functions
hierarchicalConsensusModules and blockwiseConsensusModules.
. verboseBoxplot and verboseBarplot can now optionally overlay
scatterplots of the underlying data (thanks to Zhijin (Jean) Wu for
suggestion and code).
. Bugfix in enrichmentAnalysis: function does work when the number of
reported terms is zero. (Thanks to Zhijie Cao for bug report and
fix.)
. New functionality that allows a hierarchical calculation of
consensus modules, with multiple new functions.
. New arguments colorHeightBase, colorHeightMax control layout in
function plotDendroAndColors
. Arguments controlling the legend size in heatmaps with legends
been tweaked to make the legend width independent of the width of
the plotting region.
. The horizontal adjusting of row labels in labeledHeatmap can now be
set using the new argument x.adj.lab.y.
. Bugfix in mtd.susbet: function now works properly when invert is
TRUE.
. formatLabels can now format strings to a maximum width in user
coordinates and shorten the results to a given number of lines.
. Limitation to block sizes less than the integer addressing limit
(sqrt(2^31)) has been removed.
. Multiple mtd.... functions now return NULL when the input multiData
argument has length zero.
. Function adjacency now accepts corOptions in both character and list
formats.
. New function minWhichMin that calculates the row- or column-wise
minimum and index of the minimum.
. New functions pmin.fromList, pmean.fromList, pquantile.fromList, for
parallel minimum, mean and quantile whose input is a list of
identically sized arrays; functions pmin, pmean and pquantile now
use compiled code and should be substantially faster and more memory
efficient.
. Bugfix in function blockwiseModules: corrected conditional module
removal if too few genes remain.
. pickSoftThreshold is now faster thanks to Alexey Sergushichev; new
argument gcInterval allows the user to fine tune frequency of garbage
collection to suit the size of the data.
. verboseBarplot now takes argument ylim which defaults to
incorporating all bar heights plus error bars (if requested)
. Cleanup in function labeledHeatmap: incorrect text and color label
offsets and widths fixed. The corresponding arguments xColorWidth,
yColorWidth are now measured in user units rather than fractions of
overall width and height.
. New functions bicovWeightFactors and bicovWeightsFromFactors
2016/05/30: 1.52
. New function plotMultiHist for plotting multiple histograms in one
plot
. New functions multiGrep, multiGrepl, multiSub, multiGSub
. New argument invert in mtd.subset allows consistent excluding of
rows and columns from multiData structures.
. Bugfix in modulePreservation: accuracy statistics now work also with
a single module. Thanks to Victor Hanson-Smith for pointing this
out.
. mtd.rbindSelf now warns when colnames of the individual data sets do
not agree.
2016/03/08: 1.51
. DIFF: Defaults for the number of pre-clustering centers in
blockwise[Consensus]Modules, projectiveKMeans and
consensusProjectiveKMeans have changed to prevent the
pre-clustering from becoming too long. To reproduce old results, use
(nPreclusteringCenters or nCenters) = min(nGenes/20,
maxBlockSize^2/nGenes), where nGenes is the number of genes (variables)
in the input data.
2016/02/23: 1.50
. Bugfix in function cor: function now correctly handles cases where
columns have missing data placed such that the remaining entries
(after removing missing values) have zero variance. Thanks to Pasha
Mazin for pointing this out.
. New function consensusRepresentatives for selecting consensus representatives
from multi-data.
. Cleanup in plotOrderedColors should results in better placement of
'rowText' under blocks of colors.
. Minor change in spacing for row text in plotOrderedColors that also affects
plotColorUnderTree and plotDendroAndColors
. TOM calculation functins (TOMsimilarity, blockwiseIndividualTOMs,
blockwiseModules) now accept argument replaceMissingAdjacencies that
allows the underlying code to replace missing adjacencies with an
appropriate value for zero-strength link.
. moduleEigengenes is now more resistant to problems with missing data
and zero-variance variables.
2015/12/27: 1.49
. DIFF: goodGenes, goodGenesMS, goodSamplesGenes, goodSamplesGenesMS get an
argument `tol' to compare the variance against, rather than against
zero. This prevents erroneous retaining of zero-variacen genes
because of numeric under/overflow errors in the fast calculation of
variance. This may possibly result in removal of genes that were
retained in WGCNA versions 1.47-2 and newer, but should remove the
same genes as 1.47-1 and older.
2015/12/16: 1.48-2
. Bugfix in our local copy of heatmap, called from TOMplot, based on
the bug report
https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16583 . Thanks to
Duncan Murdoch for pointing it out
. Function goodSamplesGenesMS can now work with data frames within the
multiExpr structure, rather than just matrices.
2015/11/03: 1.48-1
. TOMplot now uses my own dendrogram drawing routine which should not
run into the stack/memory allocation problems of the standard
plot.dendrogram function.
2015/10/29: 1.48
. Bugfix in pickHardThreshold (and pickHardThreshold.fromSimilarity):
when the input is a similarity matrix rather than expression data,
the function no longer crashes.
2015/10/09: 1.47-6
. Bug in consensusTOM fixed that caused a spurious error
"File names to save blocks of consensus TOM are not unique."
when calculating with more than on block.
. DIFF: Function consensusProjectiveKMeans can (and will by default) impute
missing data. This may cause differences in preclustering when
missing data are present. To reproduce old results, use
argument imputeMissing = FALSE.
2015/09/30: 1.47-5
. Function consensusKME is now using internal code for re-arranging
rather than relying on reshape's melt-cast combination due to
performance issues with larger data sets.
. Imports from/dependence on reshape have been dropped.
. blockwiseConsensusModules accepts argument cacheBase which replaces
the default "." that has been used.
. labelPoints now returns a data frame with the label positions, and
accepts argument doPlot that optionally turns off the plotting of
the labels.
. bicor now produces a better-worded warnings about zero or missing
MAD.
2015/08/07: 1.47-4
. DIFF: projectiveKMeans now by default imputes missing data in
datExpr at the start of the function.
This can lead to somewhat different output; old
behaviour can be forced by setting imputeMissing = FALSE. This
change does not affect blockwiseModules since blockwiseModules
imputed missing data before calling projectiveKMeans.
. Internal code cleanup: several ifelse calls changed to if else
constructs to avoid issues with ifelse generics defined by
bioconductor
. pickHardThreshold is now more resistant to genes (columns) that have
zero variance. However, their connectivity is considered 0.
. DIFF: Bugfix in internal code fixes an error in blockwiseModules and
blockwiseConsensusModules where blocks determined by pre-clustering
were incorrectly merged. In rare cases this may cause differences to previous
results. Thanks to Elmar Tobi for reporting this.
2015/06/27: 1.47-2
. goodGenes and goodSamples, along with their MS versions, should now
run faster thanks to a code clean-up
2015/06/18: 1.47-1
. Bugfix in empiricalBayesLM fixes a crash in the function.
2015/06/13: 1.47
. Functions plotCor, plotMat and rgcolors.func from sma have been re-introduced
. empiricalBayesLM is now more robust to missing values, particularly
when OLS regression fails due to missing values making some of the
covariates constant.
. Bugfix in bicovWeights fixes crash when there is one variable with
MAD = 0.
. Function blockwiseModules can now optionally use module merging
criteria derived from stability studies.
. Functions blockwiseModules, blockwiseIndividualTOMs and
consensusBlockwiseModules now accept argument blockSizePenaltyPower
that lets the user specify the severity of penalty for blocks
exceeding maximum size.
. Functions projectiveKMeans and consensusProjectiveKMeans now accept
Inf for sizePenaltyPower.
. Function labeledHeatmap.multiPage now accepts more explicit
arguments (rather than relying on ... as before)
and correctly handles separator lines.
2015/03/28: 1.46
. Functions inherited from the now-defunct package sma have been
removed.
2015/03/27: 1.45
. New function empiricalBayesLM for removing unwanted variation due to
given covariates from high-dimensional data
. New function bicovWeights for assigning weights to observations
based on whether they are suspected outliers
. labeledHeatmap and friends now accept argument keepLegendSpace
. labeledHeatmap now returns information about positions of individual
boxes in the heatmap.
. labeledHeatmap now accepts argumens xColorOffset and yColorOffset
controling the gap between color labels and the heatmap itself.
2015/02/06: 1.43-11
. Bugfix in C code fixes memory allocation errors with large data
sets. The C code was also made more consistent in the use of
size_t whenever needed and possible.
. Bugfix in labeledHeatmap fixes the direction of extended separator
lines for x-axis labels with angle other than the default 45
degrees.
2015/01/23: 1.43-10
. Bugfix in function blockwiseIndividualTOMs and functions that use it
(blockwiseConsensusModules, consensusTOM) fixes a bug that caused
crashes when more than one blocks were used.
2015/01/15: 1.43
. Package now imports AnnotationDbi and GO.db
. Function blueWhiteRed gains argument endSaturation that allows the
user to lighten the colors at the end of the range, at the expense of
saturation.
. Function labeledHeatmap gains additional arguments allowing the user
to place horizontal and vertical divider lines into the heatmap.
. Bugs introduced into GOenrichmentAnalysis in the previous release
are now fixed.
2014/11/25: 1.42
. Function TrueTrait has been re-worked and the argument Strata to it
is no longer accepted.
. labeledHeatmap.multiPage now works with 1-column or 1-row matrices.
. The textMatrix argument to labeledHeatmap and
labeledHeatmap.multiPage is now allowed to be a (dimensionless)
vector as long as its length is consistent with the dimensions of
the input Matrix.
. Bugfix in function formatLabels fixes sometimes incorrect start of
formatted labels.
. Bugfixes in function TrueTrait
. DIFF: Bugfix in mtd.branchEigengeneDissim that primarilly affects
blockwiseConsensusModules. The consensus quantile was incorrectly
applied, which led to overly aggressive module merging. The bugfix
will lead to a different final modules if useBranchEigengeneDissim
was TRUE. To reproduce old behavior, use argument
reproduceBranchEigennodeQuantileError = TRUE.
. New function consensusTOM implements calculation of consensus TOM
in a stand-alone function; this calculation was previously hidden
inside blockwiseConsensusModules.
. Network calibration methods in consensusTOM now include full
quantile normalization
. DIFF: bugfix in blockwiseIndividualTOMs that affects
blockwiseIndividualTOMs as well as blockwiseConsensusModules: The
soft-thresholding power for set 1 was used for all sets. This bug
has bow been fixed; to reproduce old calculations, change the old
code to use the same power for all sets. I apologize for this rather
serious omission.
. blockwiseIndividualTOMs gains additional output components.
. Internal C code changed some index variables from int to size_t.
. Function individualTOMs now uses a more memory-efficient way to call
the internal compiled code.
. Bugfix in mtd.apply fixes occasional spurious crashes
. Function mtd.apply now copies the 'names' attribute from input to
the output
. Function mtd.subset can now subset columns based on column names,
not just numeric indices.
. Function votingLinearPredictor can now tolerate missing data in the
predictor variables (features).
. blockwiseModules gains a new argument loadTOM.
2014/06/13: 1.41-1
. DUP = FALSE removed from all .C calls since the argument is
deprecated. This means that memory requirements may increase in some
situations.
2014/06/12: 1.41
. New function shortenStrings
. Changed several packages we depend on from Depends: to Imports:
. New functions prependZeros and formatLabels
. Bugfix in userListEnrichment: function no longer crashes when there
are no "significant" overlaps
. New function intramodularConnectivity.fromExpr
2014/05/07: 1.40
. Functions blockwise[Consensus]Modules and
recut[Blockwise,Consensus]Trees get new arguments minSplitHeight and
minAbsSplitHeight that get passed to cutreeDynamic.
. Arguments for blockwiseModules have been re-ordered to group them
and make it easier to find the right setting.
2014/04/28: 1.39
. Function exportNetworkToVisANT can now restrict connections to a
given number of top connections.
. Function exportNetworkToVisANT returns the resulting data frame
invisibly.
. Function modulePreservation gains the ability to run the
calculations in parallel, controlled by argument
'parallelCalculation'.
. Function modulePreservation gains the ability to explicitly specify
test sets for each reference network, via parameter testNetworks.
. Functions matchLabels and overlapTable have been expanded with new
functionality and arguments. matchLabels now works with any labels
(not just numeric or color labels) and can handle missing labels by
removing them.
. Bug in function multiData2list fixed: function now returns a simpler
(and correct) list.
. Crash-causing bug in mtd.rbindSelf fixed.
2014/01/08: 1.37
. New functions multiUnion and multiIntersect
. New function labeledHeatmap.multiPage produces labeled heatmaps
divided into multiple plots (pages).
. plotColorUnderTree and plotOrderedColorsnow produce more precise
"center" and "right" text alignment.
. Maximum block size in blockwiseModules, blockwiseConsensusModules
and blockwiseIndividualTOMs (argument 'maxBlockSize') is now limited
to be less than sqrt(2^31) to prevent problems with C and Fortran
routines. The same limitation also applies to the 'preferredSize'
argument of projectiveKMeans and consensusProjectiveKMeans.
. Occasional bug when saving and loading permutation test results in
modulePreservation fixed.
2013/11/22: 1.36
. Needs dynamicTreeCut 1.61 or higher.
. Bugfix in mtd.mapply fixes a crash.
. Warning message in mtd.subset cleaned up.
. New function multiData to conveniently create multiData structures.
. The color palette of blueWhiteRed has been tweaked to provide
lighter extreme colors which makes it easier to read black text
superimposed on the strongest colors.
. More descriptive error message in cor() and bicor() when input
contains missing data and 'use = "all.observations"'.
2013/11/04: 1.35
. Function accuracyMeasures now works also with factors.
. Function moduleEigengenes calls impute.knn only if there are any
missing data.
. Functions mtd.apply, mtd.applyToSubset, and mtd.mapply gain
arguments controling whether and how progress should be displayed;
they also gain arguments that let the user specify calculation on
only a subset of the input sets.
2013/10/10: 1.34
. Function verboseBarplot gains argument addCellCounts that enables
display of counts above each bar.
. Function mtd.subset gains the argument 'permissive' that allows
subsetting of "loose" multiData structures as well as 'drop' that
controls dropping of dimensions with extent 1.
. Internal: Depends and Imports fields were cleaned up as per new CRAN
requirements. Users should be aware that loading and attaching WGCNA
now does not automatically attach all packages from which WGCNA imports.
. Potentially serious bug has been fixed in the internal C code for
calculations of correlation (function cor()). This bug seems to have led to
correlation sometimes returning 0 where it should have returned an NA.
2013/08/29: 1.33
. mtd.apply and mda.applyToSubset gain argument mdaCopyNonData that controls whether
non-data components of input should be copied to output
. Bug in matchLabels fixed that led to non-integer color labels if two
reference modules had the same size.
. New function plotOrderedColors that extends plotColorUnderTree to
the case where the plot 'above' is not a dendrogram but a general plot
(a useful example is a barplot).
. DIFF: bugfix in blockwiseModules, recutBlockwiseTrees,
blockwiseConsensusModules, recutConsensusTrees: gene reassignment by
kME now reassigns correct genes. Previously, the the reassigned
genes were incorrectly chosen. This may make a small difference in
the module assignments if reassignThreshold was above zero (as it
was by default). The default was also changed to not perform module
re-assignment.
. Switching to dynamicTreeCut 1.60: this dynamicTreeCut uses external
criteria that are supplied by the blockwise* functions. The
criteria are implemented in functions branchEigengeneDissim,
mtd.branchEigengeneDissim, branchSplit, branchSplit.dissim
To preserve results of older calculations, new features are disabled
by default.
. New functions for convenient handling of multiData structures:
mtd.apply, mtd.applyToSubset, mtd.mapply, mtd.rbindSelf,
mtd.setAttr, mtd.colnames, mtd.setColnames mtd.simplify
mtd.subset, list2multiData, multiData2list, isMultiData
. Function randomGLMPredictor has been removed. Please use the package
randomGLM and the function randomGLM in that package.
. Internal C code has been simplified.
2013/07/20: 1.30
. Functions blockwiseModules and TOMsimilarityFromExpr are now more
memory-efficient: only 2 copies of the potentially large TOM matrix
are needed, down from 3 before.
. Function mergeCloseModules can now optionally perform quantile
equalization (normalization) on to make eigengene (dis-)similarities
comparable across the data sets.
. Argument order in mergeCloseModules has changed to a more logical
order
2013/07/18: 1.29
. Functions determining the number of available cores are now more
robust.
. labeledHeatmap gains argument naColor that controls the color for
missing values.
2013/07/09: 1.28
. Help files formatted to narrower line width.
. bugfix in pickSoftThreshold when dataIsExpr is FALSE: function now
correctly checks similarity (thanks to Lourdes Pena Castillo for
reporting it).
. updateProgInd now only updates display if the value to be displayed
is actually different from the one already displayed. This can lead
to somewhat better performance if updateProgInd is the performance
bottleneck.
. DIFF: Bug fix in GOenrichmentAnalysis: all evidence codes listed on
http://www.geneontology.org/GO.evidence.shtml are now recognized.
This will likely may change GO enrichment results. We apologize for
this omission.
. Bug fix in userListEnrichment: p-values of comparisons with no
overlapping genes are now 1, instead of 0.
. plotColorUnderTree and plotDendroAndColors gain new arguments
rowTextAlignment and rowTextIgnore that afford more flexibility in
how the row text is formatted.
2013/04/01: 1.27-1 ("This one's no April 1 joke!")
. userListEnrichment now contains a new set of gene lists compiled mostly by Mike
Palazzolo and Jim Wang at CHDI.
. userListEnrichment now runs faster
. Bug fix in verboseBarplot: p-values are now consistently diplayed
with two significant digits.
. Bug fix in blockwiseConsensusModules: function now works correctly
(and faster) when not using disk cache
2013/03/06: 1.26 ("Spring growth")
. Bug fix in blockwiseModules, blockwiseConsensusModules and
blockwiseIndividualTOMs: functions now use consisten block labels
[thanks to Austin Hilliard for pointing it out].
. Function accuracyMeasures has been re-written to accept directly
vectors of predicted and observed values, and work also for
prediction of continuous outcomes. The new function is
backwards-compatible with older versions except for the name of the
first argument.
. Function verboseScatterplot gains a new argument displayAsZero that
allows displaying small correlations as 0 (rather than say 1e-13).
. New function returnGeneSetsAsList returns gene sets used by function
userListEnrichment.
2012/12/01: 1.25-2 ("We ain't done fixin' yet")
. Bugfix in blockwise[Consensus]Modules fixes a crash under certain
circumstances (when some of the initial modules are removed).
[Thanks to Nicola Soranzo for pointing this out.]
. Bad choice of return value in WGCNAnThreads() that caused a crash in
pickSoftThreshold is now fixed. [Thanks to multiple users who
noticed this.]
2012/11/09: 1.25-1 ("The Election Fix")
. Internal C++ code now compliant with older compilers that don't
implement vector::data()
2012/11/06: 1.25 ("The Election Issue", pardon the pun.)
. DIFF: bugfix in function modulePreservation: the function now
respects the corFnc and corOptions arguments throughout the
calculations. This bug affected calculations that used correlation
functions other than the default "cor" and options other than
the default "use = 'p'".
. Introducing parallelization to user-level R functions through the use
of packages parallel, foreach and the doParallel backend. The parallelization
should work on all R-supported platforms. This change does not
affect C-level workhorse functions for calculating correlations.
. New function blockSize that attempts to choose a suitable block size
for most functions that use a block-wise approach to fit
calculations into memory.
. Function labels2colors is now more robust and should work for
data.frames as well
. Function verboseBoxplot gains arguments notch and varwidth that are
passed to the underlying boxplot call.
. Functions plotDendroUnderTree and plotDendroAndColors now
display missing color values as grey.
. Function verboseBarplot can now handle binary variables as well and
will print Fisher exact test p-value.
. Function colQuantileC now ignores missing data
. Internal C code cleaned up and small memory leaks plugged.
. Function labelPoints has a new argument protectEdges that can
prevent labels from going outside of the plot area.
. verboseScatterplot now has explicit arguments col and bg to specify
colors and fill (background) of the plotting symbols. This makes
specifying col and bg work also when only a sample of all points is
plotted.
. GOenrichmentAnalysis can now optionally shorten output by omitting
details of highest-enriched GO terms.
. Defaults in randomGLMpredictor have been slightly tweaked for better
performance.
. New function transposeBigData for transposing big matrices.
2012/08/02: 1.23-1
. Examples in help files are now shorter to speed up execution as per
CRAN requests.
2012/07/27: 1.23
. Function userListEnrichment is now improved with more categories of
gene lists
. DIFF: bugfix in functions corAndPvalue and bicorAndPvalue:
calculation of the Z statistic is now corrected. This bug did not
affect the calculetion of Student t statistics nor the p-values.
. Function standardScreeningBinaryTrait gains argument areaUnderROC
(default TRUE) that allows the user to turn off AUC calculation and
thus achieve a substantial speedup for large data sets.
. Function metaAnalysis now by default turns off AUC calculation,
making it much faster on large data sets. The AUC calculation can be
enabled using the new argument getAreaUnderROC.
. New function randomGLMpredictor that implements an ensemble predictor based on
bootstrap aggregation (bagging) of generalized linear models whose covariates
are selected using forward stepwise regression according to AIC criteria.
2012/06/18: 1.22
. DIFF: Bugfix in function blockwiseConsensusModules: the module colors are
now correct (and not scrambled) when some genes are excluded due to
too many missing entries. Apologies for any non-sense results this
error may have generated.
. Bugfix in the function modulePreservation when used on adjacency
input: clustering coefficient calculations are now corrected.
. Function modulePreservation gains an additional argument
calculateClusterCoeff, with default value FALSE, that can be used to
enable/disable clustering coefficient calculations. These tend to be
slow and for efficiency purposes the default is FALSE.
. DIFF: because of the above, clustering coefficient calculations in
function modulePreservation are disabled as a default.
. Error message in modulePreservation about input containing genes
with too many missing values is now more informative.
. Bugfix in function numbers2colors: function now properly accounts
for the presence of positive and negative entries when automatically
deciding whether the input should be considered signed or unsigned.
. Function rankPvalue now doesn't warn about weights not summing to 1.
. DIFF: bugfix in function userListEnrichment corrects output.
Previously, UNcorrected p-values were returned when corrected
p-values were requested, and no p-values were returned when
uncorrected p-values were requested.
. p-value display in function verboseBarplot is now cleaned up by
properly arranging spaces.
. Bugfix in mergeCloseModules: function now completes correctly when
all modules are merged into a single module.
. Internal bugfix in C function minWhichMin: function now works
correctly when the first entry is NA or NaN.
2012/04/23: 1.20
. New function blueWhiteRed that produces a color sequence
distinguishable by people with the most common kind of color
blindness (green-red color blindness). The currently much-used
greenWhiteRed now outputs a warning to that effect. We recommend
that users switch to blueWhiteRed.
. The default color palette for numbers2colors is now blueWhiteRed.
. Function TOMsimilarity now forces the diagonal of the input
adjacency matrix to be 1. The diagonal is not really meaningful in a
network analysis, but the underlying C code assumes the diagonal to
be 1 since it simplifies calculations. This change also applies to
TOMdist (which calls TOMsimilarity).
. Function blockwiseConsensusModules now accepts argument
trimmingConsensusQuantile and makes the consensus in module trimmimg
consistent with the consensus in network construction and
module identification.
. Function recutConsensusTrees now accepts arguments trimmingConsensusQuantile
and mergeConsensusQuantile with the same effect as in
blockwiseConsensusModules.
. Removed argument minKMEtoJoin from blockwise* and recut* functions as it has
not been used by the actual code.
. Function verboseBarplot now accepts argument horiz and is capable of
creating horizontal barplots.
. Internal: C function minWhichMin now ignores missing values.
2012/02/28: 1.19
. Argument name change in function TOMplot: colors and colorsLeft are
now Colors and ColorsLeft to avoid conflict with argument col to
functions heatmap and image.
. Bugfix in internal function .consensusMEDissimilarity that caused crashes
mergeCloseModules.
. DIFF: blockwiseConsensusModules now passes the argument mergeConsensusQuantile
to mergeCloseModules, which can lead to different module merging
compared to previous versions. Use mergeConsensusQuantile = 0 to
reproduce results from older versions of this package.
. Function mergeCloseModules now takes arguments consensusQuantile,
corFnc and corOptions
. New function blockwiseIndividualTOMs to calculate individual TOMs
across multi-set expression data
. New functionality in blockwiseConsensusModules that can now utilize
pre-calculated individual TOMs, giving more flexibility
. New utility function lowerTri2matrix
. Internal change: default chunk size in consensus module calculation
is now 1e8 instead of 1e7. Most computers with at least 2GB of
memory should be able to handle as much; the size can be lowered (or
increased) if necessary.
. Function sizeGrWindow now calls dev.new rather than X11
. New function nSets to directly return the number of sets in a
multi-set variable.
. Function verboseBarplot now returns the midpoints of the drawn bars
(as the function barplot does) augmented by the bar heights as
attribute "height".
. Minor changes and cleanup in code
. New citation added for our JSS article
2012/01/12: 1.18-2
. Bugfix in function consensusKME fixes column names of output
2012/01/04: 1.18-1
. Bugfix in function GOenrichmentAnalysis fixes occasional crash of
the function
2011/12/22: 1.18
. DIFF: p-value calculation in userListEnrichment is now corrected
to give the probability of overlap **as strong or stronger** than observed,
rather than that of overlap **stronger** than observed. The resulting
p-values are more conservative; the difference can be large for very small
categories.
. metaAnalysis and consensusKME now also calculate meta-analysis
statistics using weights proportional to the square root
of the number of samples
. Added citation information for the package. The citation is available
by typing the command citation("WGCNA"). Please cite the package
if you use it in published research. (The citation("WGCNA") gives
somewhat mis-formatted results on older R versions, sorry.)
2011/12/20: 1.17-1
. Minor clean-up of greeting message
. Functions goodSamples and goodGenes as well as their combined and
multi-set versions now properly respect settings of minNSamples and
minNGenes
2011/12/06: 1.17
. Function consensusKME now returns additional statistics based on 3
different sets of weights
. Bugfix in function TOMplot: the heatmap is now drawn correctly
. GOenrichmentAnalysis is now about 40% faster
. nearestCentroidPredictor is now more robust to constant variables
. Bugfix in function standardScreeningNumericTrait: default value for
argument corOptions is now correct
2011/11/16: 1.16
. Bugfix in standardScreeningBinaryTrait: sign of `signed' Kruskal test
statistic is now calculated correctly
. Function metaAnalysis now (optionally) also calculates meta-analysis
statistics using the rankPvalue function.
. Function consensusKME now also optionally uses rankPvalue for
meta-analysis of kME results across input data sets
2011/11/14: 1.15
. Due to CRAN requirements, R versions below 2.10 are not supported anymore.
. New function multiData.eigengeneSignificance for calculating module eigengene
significances in multi-set situations.
. DIFF: bugfix in function pickSoftThreshold, subtraction of
self-connectivity is now corrected which may lead to slightly
different scale-free analysis results (thanks to Michael Linderman
for reporting it).
2011/11/08: 1.14
. The default value of argument calculateCor.KIMall in function
modulePreservation is now FALSE to speed up execution.
. New function consensusKME to calculate "consensus" kME across
several data sets.
. Function standardScreeningBinaryTrait now takes arguments corFnc and
corOptions.
. Argument 'signed' to function 'numbers2colors' now has a default
value that is TRUE if the input contains data with both positive and
negative signs.
. labels2colors now accepts missing data in input, and the input
labels can be non-numeric
. Bugfix in standardScreeningNumericTrait: setting qvalues=FALSE
now works as intended.
. Bugfix in votingLinearPredictor: function now works when xTest is
NULL.
. DIFF bugfix in rankPvalue: function now returns correct values also when
column weights are specified
. Default value of argument var.equal in function
standardScreeningBinaryTrait has been changed to FALSE to make it
consistent with the defaults of function t.test.
. Function pickSoftThreshold now alos accepts similarity matrix as
input.
. Function nearestCentroidPredictor now works also without specifying
test data (xtest).
. Function nearestCentroidPredictor lost multiple input arguments that
related to un-loved sample network options and removal of PCs.
. Function accuracyMeasures now also outputs the naive accuracy rate.
. New data set SCsList containing stemm cell marker genes that can be
used with userListEnrichment.
. New function metaAnalysis to calculate meta-analysis significance
statistics
2011/08/17: 1.13
. Multi-threading is now disabled by default but can be enabled by
setting the environment variable ALLOW_WGCNA_THREADS=
or using the function allowWGCNAThreads().
2011/08/16: 1.12
. Code cleanup to satisfy CRAN package check
. Functions plot.cor and plot.mat renamed to plotCor and plotMat to avoid
confusion with methods for the plot generic
. Function userListEnrichment now returns a slightly more informative
output in which the type of the refrence category is also indicated.
2011/07/06: 1.11-3
. bugfix in modulePreservation fixes an additional bug that was introduced in 1.11-1
. bugfix in votingLinearPredictor: function now produces valid output
when some (but not all!) features have zero variance
. fixed names of output in votingLinearPredictor
2011/06/06: 1.11-2
. bugfix in blockwiseConsensusModules fixes a crash of the function
2011/05/31: 1.11-1
. bugfix in modulePreservation fixes internal errors that appeared under certain circumstances
. small changes in compiled code should make the code compatible with older gcc versions
2011/05/11: 1.11
. bugfix in conformityDecomposition: calculation corrected
. bugfix in userListEnrichment: internal data sets are now used
correctly
. bugfix in collapseRows that affected the group2row component in the returned value.
The bug caused some of the returned representative rows to be incorrect but had
no effect on the collapsed data.
. bicor now issues a warning when any of the input variables
(or their columns) have zero MAD.
. numbers2colors gains the argument commonLim to specify whether
limits should be column-specific or universal
. bug fix in numbers2colors: having missing data and out of range data
at the same time will not cause an error anymore
2011/04/20: 1.10-2
. Bug in function cor fixed that caused an unncessary slowdown. Results were not affected.
. Typos in several help files fixed: use = 'Spearman' is now corrected
to use = 'spearman' (thanks to Eric L. Du for pointing it out).
2011/04/19: 1.10
. New function accuracyMeasures for summarizing 2x2 confusion tables
. New prediction function votingLinearPredictor and
nearestCentroidPredictor
. New functions proportionsInAdmixture.R and populationMeansInAdmixture.R
for estimating proportions and populations meanspopulations means in
admixtures
. Several additional functions by Jeremy Miller:
chooseOneHubInEachModule, consensusDissTOMandTree, kMEcomparisonScatterplot,
moduleMergeUsingKME, orderBranchesUsingHubGenes, overlapTableUsingKME,
stratifiedBarplot, swapTwoBranches, reflectBranches, selectBranch, userListEnrichment
. New function mutualInfoAdjacency by Lin Song
. New functions coClustering and coClustering.permutationTest
. Due to excessive problems with Tcl/Tk, we dropped the dependency on
package qvalue and incorporated the necessary R code directly into
WGCNA
. plotColorUnderTree and plotDendroAndColors gain additional
flexibility when working with rows of text labels.
. The argument 'colorText' to the above functions has been renamed to
'rowText'. Sorry for any code that becomes broken because of this!
. VerboseScatterplot gains arguments to set the regression line color and type.
. Colors for text labels in labeledHeatmap can now be set.
2011/02/05: 1.00
. Functions standardScreeningBinaryTrait and standardScreeningNumericTrait can now optionally turn
off the calculation of q-values as the latter sometimes leads to problems.
. Character expansion for axis labels in labeledHeatmap can be set separately
for x and y axis.
. The ubiquitous corOptions argument can now take the value of an empty string ("").
. New utility function prepComma.
. New set of functions that calculate adjacency from a given similarity matrix.
2010/12/17: 0.99
. Functions [bi]cor gain the ability to calculate cosine [bi]correlations,
invoked using the argument cosine = TRUE. Similar functionality added
to blockwise[Consensus]Modules and TOMsimilarityFromExpr.
For most other functions using correlations, the argument corOptions can be
used to request cosine correlations.
. Corrected error message in function adjacency
. Functions [bi]corAndPvalue now also return the number of
observations for each p-value
2010/11/12: 0.98
. Bugfix in functions [bi]corAndPvalue that gave incorrect p-values
when input y = NULL
. Functions [bi]corAndPvalue now also return the Student t statistic
from which the p-values are calculated.
. Function standardScreeningNumericTrait now accepts arguments corFnc
and corOptions
2010/10/29: 0.97
. Functions [bi]corAndPvalue now also return the Fisher Z statistics.
. Function adjacency can now calculate distance-based networks as well,
via type="distance". Various distance functions and options can be used.
. Functions signedKME and networkScreening now accept arguments cor
and corOptions that can be used to specify the correlation function
to be used in the calculations.
. Argument 'y' in [bi]corAndPvalue now has a default value NULL
. DIFF: displayed value of correlation p-value in function
verboseScatterplot is now based on Student distribution instead of
Fisher normal approximation. This change only affects plots.
2010/09/23: 0.96
. New functions pquantile, pmean, pmedian for calculation of
"parallel" quantiles, means, and medians.
. Functions cor and bicor now give a more descriptive error description when
an argument with one dimension equal zero is passed to the functions.
2010/09/16: 0.95
. More changes to function collapseRows: renamed arguments, changed defaults,
code cleaned up and bugs fixed. The function collapseRows should still be
considered experimental.
2010/09/05: 0.94
. DIFF: big fixed in modulePreservation that put incorrect input into
Zconnectivity.preservation which also affected Zsummary. We apologize
for this error.
. Bug fixes in function collapseRows
2010/08/25: 0.93
. modulePreservation now also calculates density and connectivity
statistics based on clustering coefficient and maximum adjacency
ratio.
. New functions mutualInfoAdjacency and AUV2predicted provide basic
interfacing between mutual information methods and weighted networks
. Minor cleanup of help files
2010/07/26: 0.92-3
. Package file cleanup, nothing changed from user perspective
2010/07/14: 0.92-1
. Bug in compiled calculation of adjacency fixed. This may have
affected calculations of TOM when TOMType = "signed". Apologies if
important results were affected.
2010/06/24: 0.92
. DIFF: in modulePreservation, by default Zsummary is only calculated
from meanAdj, cor.kIM and cor.Adj.
. DIFF: in modulePreservation, a new option includekMEallInSummary (default FALSE)
controls whether cor.kMEall should be included in summary statistis
. output of modulePreservation now has names in permutationDetails to facilitate
detailed studies of permutation results
2010/06/10: 0.91
. DIFF: in modulePreservation, values of cor.kME, cor.kMEall and
meanSignAwarekME are now stripped of their sign, both in observed
values and in permutations. This is done because the eigengene may
flip sign between data sets, leading to artificially low
preservation scores.
. DIFF: p-values calculated by modulePreservation are now returned as logarithms in base 10
(previously they were returned as natural logarithms). Names of the returned components also
changed slightly to emphasize that the p-values are returned as logarithms.
. Additional summarycolumns added to the output of modulePreservation
for observed and permutation preservation statistics
. Function collapseRows now selects a single probe to represent each gene
2010/06/05: 0.90
. modulePreservation now also returns p-values and optionally the q-values corresponding to the
permutation Z scores
. simulateDatExpr now sets (artificial) gene and sample names, for easier integration with some
analysis functions (notably modulePreservation)
. incompatibilities with new versions of R in exportNetworkTo[Visant,Cytoscape] fixed
. new function subsetTOM to efficiently calculate TOM among a subset
of network nodes
. bugs in vectorTOM fixed
. DIFF: modulePreservation now limits the size of the gold module to
at most half the total number of genes in the comparison, to make
sampling and permutation calculations meaningful. This may slightly affect
calculated results for the gold module, but will not affect results of
any other modules.
2010/05/21: 0.89
. DIFF: definition of cluster coefficient has been slightly changed,
which affects approximate conformity-based network concepts
. new functions rankPvalue and metaZfunction
. new function standardScreeningNumericTrait
. bug in automatic labeling of axes in verboseBoxplot has been fixed
. several help files added and updated
. minor changes in standardScreeningBinaryTrait, standardScreeningCensoredTime
. scaleFreeFitIndex now does not calculate a log(log(..)) based fit
that often led to errors
. new function collapseRows by Jeremy Miller to convert probe-level
expression to gene-level expression
2010/05/07: 0.88-2
. unnecessary dependence on package fields removed.
2010/05/07: 0.88-1
. DIFF: bug in cor(x) and bicor(x) fixed that produced incorrect results
when a column of x was all missing (NA). We aplogize for any incovenience
this error may have caused.
2010/03/17: 0.88
. new functions corAndPvalue and bicorAndPvalue that calculate (bi)correlation p-values efficiently
for matrices of correlations
2010/02/19: 0.87
. bicor gets a new argument pearsonFallback that lets the user specify
the handling of cases with zero median absolute deviation that would
normally lead to NA values.
. mergeCloseModules (and blockwise[Consensus]Modules) now more robust:
works also in the case of a single module
. DIFF: A bug was fixed that affected bicor(x) calculation with missing data on Windows
(calculations of 2-variable bicor, single-variable bicor without missing data, and any
calculations where multi-threading is available [most platforms except Windows] were
not affected by this bug). The bug caused some calculations to be a bit off.
We apologize for any problems this may have caused.
2010/02/10: 0.86
. bug in colQuantileC fixed.
. EXPERIMENTAL: a major addition to modulePreservation now allows
module preservation calculations based on general adjacency matrices.
. bugfix in labelPoints fixes a warning message
2009/12/26: 0.85
. DIFF: in modulePreservation, separability now correctly works for
signed and signed hybrid networks.
. modulePreservation gains argument to specify correlation function
2009/12/05: 0.84
. new function spaste
. addtions and corrections to help files
. bugfix in standardScreeningCensoredTime
. bugfix in blockwiseModules: module colors are now not scrambled when
some genes are excluded because they don't pass goodSamplesGenes
. improved labelPoints: more consistent label offsets and fixed
meaning of 'offs' in help file
2009/11/24: 0.83-1
. help cleaned up
. Windows package now compatible with R-2.10
2009/11/22: 0.83
. new function modulePreservation calculates module preservation
statistics between independent data sets
. new dependence on package splines
. new function labelPoints to semi-inteligently label points in a
scatterplot.
. extended functions pickSoftThreshold, pickHardThreshold
. minor bugfix in scaleFreePlot
. new function standardScreeningCensoredTime
. new function scaleFreeFitIndex
2009/11/17: 0.82-1
. bugfix in plotEigengeneNetworks (thanks to Ronnie Alves for pointing it out)
. bugfix in heatmapWithLegend when used with mixed color and text labels
2009/11/10: 0.82
. new function standardScreeningBinaryTrait
. bugfix in verboseBarplot: the function now passes the ... arguments to barplot
. verboseScatterplot gets argument sample for better handling of large vectors
. labeledHeatmap gets arguments xColorWidth and yColorWidth that control the witdth
of the color labels
2009/10/29: 0.81-2
. bugfix in blockwise[Consensus]Modules: function now works when number of modules
exceeds number of available colors
. bugfix in exportNetworkToCytoscape: all nodes are now included in
the node file (thanks to Tim Gernat for pointing it out and suggesting
the fix)
2009/10/22: 0.81-1
. addTraitToMEs now works with colnames instead of names
. bugfix in bicor(x): when x has missing data, bicor now does not crash
. minor bugfix in plotEigengeneNetworks: printAdjacency is now respected
2009/10/19: 0.81
. several functions from the now defunct package sma were added, mainly
to allow our users to run all tutorials smoothly. Note that if
sma package is used concurrently, identical copies of the duplicated
functions will be available. Warning messages about this fact can be
disregarded safely.
. labeledHeatmap re-written to use an internal heatmapWithLegend
function. This means labeledHeatmap now works also in complicated
sectionings using layout(), which was not the case before.
2009/09/18: 0.80-1
. crash in blockwise[Consensus]Modules and TOM calculations when using
bicor fixed; blockwise[Consensus]Modules and TOM calculations using
compiled code get a new argument maxPOutliers corresponding to the
bicor argument of the same name (see news in 0.80).
2009/09/13: 0.80
. new functions conformityBasedNetworkConcepts and fundamentalNetworkConcepts
calculate network concepts (indices)
. bicor gains the argument maxPOutliers specifying the maximum
fraction of data that can be considered outliers
. new function verboseBarplot to produce annotated barplots
. verboseBarplot, verboseBoxplot and verboseScatterplot now have
complete help files
2009/09/01: 0.79-4
. bug in networkConcepts fixed
. goodGenesMS and goodSamplesMS now a bit more robust
. new function vectorizeMatrix to turn a matrix into a vector of non-redundant components
. orderMEs now works also on the single set output of moduleEigengenes.
. plotColorUnderTree, plotDendroAndColors, and plotClusterTreeSamples
are now capable of displaying text labels that identify the
displayed colors by name.
. overlapTable now works when the arguments are 1xn or nx1 matrices.
2009/08/07: 0.79-3
. GOenrichmentAnalysis now works for yeast data as well. Yeast GO
mappings are given in a slightly different database (ORF identifiers
instead of Entrez) and previous versions of the function did not
handle this difference (thanks to Maryam Anwar for pointing this out).
2009/08/05: 0.79-2
. Default color in addGuideLines now darker ((grey30 instead of grey70).
. Default color in addGrid now darker (grey30 instead of grey70).
. Error in bicor help file corrected.
. moduleEigengenes gets the option to turn off scaling expression data
before calculating the singular value decomposition. This should only
be used to speed up calculation if the data has been scaled
previously.
. Bugfix in simulateMultiExpr: the function now works when leaveOut=NULL
. Minor changes to diagnostic messages in TOM calculations
. Minor changes to printed values in verboseBoxplot
. GOenrichmentAnalysis a bit more stable
. GOenrichmentAnalysis can now analyze several sets of labels at the same time;
the idea is to give the user the option to quickly calculate enrichments
for a collection of competing module assignments.
. Enrichment calculations can optionally be restricted to a subset of modules
2009/06/05: 0.79-1
. GOenrichmentAnalysis now faster and a bug in returned genePositions fixed.
. function plotEigengeneNetworks gained two additional arguments controling the printing of
numerical values into the adjacency heatmaps.
2009/06/01: 0.79
. Added (experimental) function GOenrichmentAnalysis for automatic GO enrichment
analysis
2009/05/26: 0.78
. Package qvalue becomes optional. If it is not installed, q values
will not be calculated in the network screening functions.
2009/05/18: 0.77-1
. Hubgene calculation in moduleEigengenes now works even if only
one gene has valid data.
. Bug in labeledBarplot fixed that crashed the function if no error bars were given.
2009/05/05: 0.77
. DIFF: reverting to default TOM denominator method "min"
. Bug fix in .clustOrder affecting consensusOrderMEs and
mergeCloseModules when there is only one proper module present.
2009/04/02: 0.76
. Display of p-value in verboseScatterplot improved: small p values now shown more accurately
. Spurious warning message in matchLabels is now suppressed
. additional TOM option added: use mean denominator instead of minimum
. DIFF: default TOM denominator method is mean. Use TOMDenom = "min" where necessary to reproduce
older results
. help files for [unsigned]adjacency corrected
2009/03/18: 0.75
. fixed a bug in matchLabels that caused unrelated modules to be
matched
. faster correlation calculations are now implemented both for [bi]cor(x)
as wellas [bi]cor(x,y). On platforms where POSIX threads are
available, certain parts of the [bi]cor calculations are threaded
. functions [bi]cor, blockwise[Consensus]Modules, TOMsimilarityFromExpr
now have additional parameters providing control over threading and
over the tradeoff between speed and precision in handling missing data
in the correlation calculations
. fixed a bug in bicor(x,y) that was present when any of the columns
consisted of only missing data and that caused incorrect NAs and 0s
in the result.
. DIFF: softConnectivity now subtracts 1 from the sum of adjacencies to remove
the adjacency of a gene with itself.
. DIFF: order of parameters in softConnectivity has changed.
. DIFF: default number of centers in [consensus]projectiveKMeans is
now an attempt to fully utilize resources estimated from preferredSize.
. softConnectivity now accepts parameter 'type' that can specify the
network type to be used;
. fixed a bug in function adjacency that would crash the function in
certain circumstances.
2009/03/04: 0.73
. default p value threshold in matchLables relaxed to 5e-2
. DIFF: [consensus]ProjectiveKMeans now default to a much higher number
since that seems to lead to better results.
. Faster versions of correlation and bicorrelation implemented. Fast correlation available
for general use in function cor1.
. bugfix in labeledHeatmap: xLabels and xSymbols do not overlap anymore
. goodGenes, goodGenesMS, etc now resistant to whole gene profiles containing only NAs
. minor changes in verbosity of [consensus]projectiveKMeans
2009/02/18: 0.72
. corPvalueStudent now correctly returns small values instead of zero
. minor changes in default sectioning in plotDendroAndColors
. plotDendroAndColors and plotColorUnderTree now plot colors top to bottom
(previously was bottom to top)
. faster median calculation in C implementation of bicor
. added function overlapTable for computing significance of module overlaps
. added function matchLabels for relabeling modules in a source partition
to best approximate module labels in a given reference partition
2009/02/06: 0.71-1
. minor changes in verbosity of TOM calculations
. blockwise[Consensus]Modules: random seed is now set only if it is non-NULL; this allows the
user to force the functions to run without setting a seed, which was not possible before.
2009/02/05: 0.71
. package flashClust that implements fast hierarchical clustering is now required and used
throughut.
2009/01/29: 0.70
. adapted for dynamicTreeCut-1.20: PAM stage in the dynamic tree cut
used in blockwise module detection functions can now optionally
respect the dendrogram in the sense an object can be PAM-assigned
only to clusters that lie below it on the branch that the object is
merged into. Note that this requires dynamicTreeCut 1.20 or higher.
. TOM calculation: "Rough guide to max array..." now respects verbose parameter
2009/01/25: 0.67-2
. bug in recutBlockwiseTrees fixed (only visible if some genes or samples were bad)
. bug in clusterCoef fixed
. typos in help files fixed (cutreeStatic[Color])
. drawing of color label rectangles slightly modified in labeledHeatmap to
prevent excessively large rectangles
2008/12/23: 0.67-1
. help file for intramodularConnectivity corrected
. corPvalueFisher corrected when twoSided=TRUE: used to give p-values inflated by a factor of 2
2008/12/09: 0.67
. addTraitToMEs now works also when the multiMEs only contain the eigengenes but no average
expression
. labeledBarplot now accepts xLabelsAngle
. fixed interpretation of grey name in orderMEs, consensusOrderMEs
. scaleTOMs in consensusBlockwiseModules now actually has an effect
2008/12/04: 0.66
. new function exportNetworkToCytoscape
2008/12/04: 0.65-3
. new function networkConcepts
. Bug fix in plotEigengeneNetworks when only one set is given
. Minor changes and cleanup in help files and printed diagnostics
2008/11/05: 0.65-2
. Bugfix in exportNetworkToVisANT: no more spurious errors when probe to gene name translation
table is given.
2008/11/02: 0.65-1
. Bugfix in reassigning genes between modules when KME difference too significant:
an empty set of reassign candidates doesn't throw an error anymore.
. Several help files added
2008/10/25: 0.65
. added function preservationNetworkAdjacency
2008/10/09: 0.64
. different versions of package impute are now supported.
. help files expanded
. help files' syntax corrected so all item descriptions are now
displayed properly.
2008/10/01: 0.63-1
. bug in [consensus]ProjectiveKMeans fixed that would cause a crash if
the center with highest index became empty
. numbers2colors resistant to values out of range of the given min and max.
. p-value in verboseScaterplot now corresponds to the actual correlation printed instead of
the Pearson correlation value. However, the p-values are always calculated assuming the
correlation value is actually Pearson.
2008/09/18: 0.63
. [automaticN|n]etworkScreening now accept option getQValue that can be used to turn off q value
calculations; they also report counts of module eigengenes with gene
significances in specific intervals.
2008/09/17: 0.62-1
. C implementation of column quantile (i.e., apply(data, 2, quantile)) giving immense speedup
of consensus quantile calculations in new function colQuantileC
2008/09/17: 0.62
. Fixed bugs in blockwiseConsensusModules when disk cache not in use, and when consensusQuantile>0
. Added function exportNetworkToVisANT to export a network to VisANT.
. Help files for several functions added
2008/09/13: 0.61
. TOMdist function added, defined simply as 1-TOMsimilarity, for easier migration of older code.
2008/09/10: 0.60-3
. [consensus]projectiveKMeans now resistant to an svd failure, using a weighted mean if svd
returns an error.
2008/09/05: 0.60-2
. Bug fix in C implementation of bicor (bad bug!!)
2008/09/04: 0.60-1
. Big fixes in blockwiseConsensusModules related to TOM sampling
2008/09/02: 0.60
. minCoreKME default now 0.5 (was 0.7 for Consensus functions, which didn't make much sense)
. blockwise functions now complete all blocks even if there is a block
with no modules detected or with an error during ME calculation.
. consensusProjectiveKMeans can now optionally use mean as definition
of consensus distance, improving convergence in multiple set situations
. several help files added
. bicor now implemented consistently in R code and in compiled code:
both call the same set of C functions and treat NAs correctly and
consistently. Functions bicov and bicorNAy are removed.
. pickSoftThreshold now accepts networkType argument
. blockwiseConsensusModules can now optionally save samples used for TOM scaling
2008/08/29: 0.55
. Changes of input arguments and output for blockwise[Consenus]Modules
. Errors in pre-clustering and calculation of signed networks fixed
. New functions for re-cutting dendrograms produced in blockwise[Consenus]Modules
. Bug in the return value of blockwise[Consensus]Modules fixed: blockGenes now correctly refer to
all genes instead of goodGenes;
. New function numbers2colors
2008/08/26: 0.50-2
. Fixed bugs in blockwiseConsensusModules causing a crash when module eigengene calculation fails
2008/08/20: 0.50-1
. fixed bug in compiled code bicor1 function that used quick calculation whenever at least one of
the x,y had the correct NAs instead of both.
. fixed crash in consensusBlockwiseModules when data not checked for missing entries
. added info printing when merging clusters in consensusProjectiveKMeans
2008/08/15: 0.50
. [consensus]projectiveKMeans improved: no crash when some clusters become empty, faster
. blockwise[Consensus]Modules: additional parameter checkMissingData can optionally turn off
checking for missing data when it's not necessary.
. a few help files added
2008/08/05
. Added random seed setting to blockwise[Consensus]Modules and [consensus]ProjectiveKMeans
for repeatability
. Lowered reassignThreshold to 1e-6 to prevent too many reassigned genes.
2008/08/03: 0.42-2
. Fixed bug causing a crash when no modules are detected.
2008/08/02: 0.42-1
. More complete help pages, bug in blockwiseModules fixed (reported by Anatole Ghazalpour)
2008/07/23: 0.41
. Many enhancements, improvements and bugfixes
2008/06/02:
. Changes to TOMplot to make the dendrograms on the side more informative
. Changes to scaleFreePlot to pass more of ... to the plotting
function (removed separate title() command).
2008/05/29: 0.12
. Performance improvements, extra parameters in blockwiseConsensusModules
2008/05/16: 0.11-1
. nearestNeighborConnectivity (and softConnectivity) now work even when there is 1 gene in the
last block
. More bug fixes.
2008/05/15: 0.11-0
. Numerous bug fixes
. blockwise[Consensus]Modules fixed (ub-broken) from the change of batch to block.
. blockwise[Consensus]Modules get an option to choose the TOM function.
0.1.0: Basic functions in place.