Releases: epurdom/clusterExperiment
Releases · epurdom/clusterExperiment
v2.1.5
Changes in version 2.1.5 ( Release date: 2018-06-28)
Changes:
- Add functionality to
getBestFeaturesto allowedgeRfor DE, as well as weights used withedgeRforzinbwavecompatability. As part of this change:- Removed
isCountargument and replaced with more fine-grainedDEMethodargument ingetBestFeatures,mergeClusters; ormergeDEMethodinRSEC. - Change to class definition: added slot
merge_demethodto keep track of the DE method used in merging
- Removed
- Change function names (old function name is now depricated):
combineMany->makeConsensusremoveUnclustered->removeUnassigned
- Arguments to functions changed:
combineProportion->consensusProportioninRSECcombineMinSize->consensusMinSizeinRSECsampleData->colDatato matchSummarizedExperimentsyntax (in many plotting functions).alignSampleData->alignColDatainplotHeatmap
ignoreUnassignedVar->filterIgnoresUnassignedinmergeClusters(and other functions) for clarity.removeNegative->removeUnassignedingetBestFeaturesfor uniformity- Removed
largeDatasetoption tosubsampleClusteringbecause no longer provides advantage. nBlank->nBlankFeaturesinmakeBlankDatato allow for samples
- Created functions:
primaryClusterLabelandprimaryClusterTypegetReducedDataassignUnassigned: assigns unassigned samples to nearest clusterrenameClustersandrecolorClusters: assign new names/colors to clusters within a particular clustering
clusterMatrixColors: wrapper toconvertClusterLegendto return matrix likeclusterMatrixonly with colors in place of the internal cluster ids (like existingclusterMatrixNamed)plotClustersTablefor plotting a heatmap showing the results oftableClusterssubsetByClusterfor subsetting CE object to only those samples in a particular cluster(s) of a clustering.plotFeatureScatterfor a scatter plot of 2+ features (genes) colored by clusteraddToColDataandcolDataClustersadding clustering information to colData of object.addToColDatareturns object withcolDataaugmented, whilecolDataClustersjust returns theDataFramewith clusterings added.updateObjectto update historical object created from previous versions to the current class definitions.
- Added arguments:
whichAssayto all functions to allow the user to select the assay on which the operations will be performed.stopOnErrorstoRSECnColLegendtoplotReducedDimssubsampleandsequentialtoRSECto allow for opting out of those options (but default isTRUEunlikeclusterMany)nBlankSamplesandgroupsOfSamplestomakeBlankDatato allow for separating samples (columns)addandlocationtoplotClusterLegend
makeBlankDatawill now allow for making blank columns to separate groups of samples.plotDendrogramnow allows for plotting ofcolData(previouslysampleData) likeplotHeatmaporplotClustersclusterManynow allows user-definedClusterFunctionobjects to argumentclusterFunction.- Removed restriction in
plotClustersWorkflowthat onlyclusterType="clusterMany"allowed. - Allow
getClusterManyParamsto search oldclusterManyruns as well. - Added
tablemethod toplotHeatmap(for plotting heatmap of results oftablefunction) - Added error catch if try to give argument
whichClustertomergeCluster. - Added error catch if give param
whichClustersto functions that only takewhichCluster(singular) as an argument plotFeatureBoxplotnow returns (invisibly) the colors and clusterIds along with the boxplot information.
Bugs:
- Add check for merge_nodeMerge table that
mergeClusterIdcolumn can't be NA for entries whereisMerged=TRUE - Fix internal .makeIntegerClusters so that if given values
1:Kfor input clustering will retain these same values (Issue #227) mergeClustersnow returned object saves the merge information (and deletes old info and updates clusterType/clusterLabel of existing merge clusters), even ifmergeMethod="none".- Fix
removeClusteringsso doesn't loose merge info unless deleting relevant clusterings.
v. 2.1.2
Changes in version 2.1.2 ( Release date: 2018-05-17)
2.1.1 and 2.1.2 are purely bug fixes found in 2.0.0 after Bioconductor release 3.7. The following are the list of bug fixes.
Bugs:
- Fix so that estimates of the proportion non-null in
mergeClustersare always positive. - Fix so that calculation of filter with
ignoreUnassignedVardoesn't delete existing base filter of same type. - Fix
plotClustersWorkflowwhere wrong cluster was grabbed to plot. - Fix bug in
plotDendrogramwhere colors of clusters plotted with could be subsumbed by color of previous clustering. (git Issue #220 ) - Fixed error introduced in 2.0.0 where arguments to
mergeCutoffandmergeLogFCcutoffwhere passed instead todendroNDims.
v.1.3.6
Changes:
- MAJOR CHANGE TO DEFINITION OF CLASS: Added slots to
ClusterExperimentobject so that the object keeps the information about the merging, and added corresponding helper functions (see documentation). This means previous versions made of aClusterExperimentobject will no longer be valid objects! Old, saved objects from previous versions must be manually adapted to have these slots (withNULLorNAvalues as appropriate). - Add function
plotClustersWorkflow, see documentation - Add function
plotDimReducefor plotting low-dim pca with points labeled by cluster. - Add function
plotContrastHeatmapto plot the significant genes that are result of getBestFeatures getBestFeatures: can now be run on result of mergeClusters without having to call makeDendrogram again for the merged clusters.- Change argument to
plotClustersandplotBarplotfromclusterstoobject makeDendrogram: default in is nowdimReduce="mad"to avoid accidentally calling it withdimReduce="none"(previous default), which can kill interactive R sessions.- Changes to
plotHeatmap:- default in
plotHeatmaptoclusterSamplesData="dendrogramValue". - Changed handling of
clusterSamplesDataargument inplotHeatmapso that if argument equalsdendrogramValueorprimaryClusterand gives bad results / errors, will give warning and change argument appropriately. - Added arguments to
plotHeatmapallowing more user control regarding making blank lines for when have gene groupings.
- default in
mergeClustersnow aligns the colors frommergeClustersandcombineManyinternally.mergeClustersnow suppresses warnings created by the estimation of the percentage non-null unlessshowWarnings=TRUE.plotDendrogram:- has new argument
clusterLabelAngleallowing user to change the angle of the clusterLabel printed on top (when plot is of type "colorblock") - argument
labelTypehas been changed toplotType
- has new argument
Bugs:
- Arguments passed to
mergeClusters, ClusterExperiment version, via the...command will now go first to themergeClustersmatrix version and then onto the plotting, as stated in documentation (plotting arguments were being ignored on the clusterExperiment version of the function).
v. 1.3.4
Changes:
- Add argument
clusterLabelstoplotClustersto allow user to set clusterLabels without changing the object. - Added data object of run of RSEC. Changed
lazyLoadtofalsebecause loading this object on installation was creating errors. - Updated vignette to more completely cover RSEC.
- Change default
clusterFunctionargument toRSECto be "hierarchical01" rather than all 01 methods (previous default). This reduces load of making simple call. - Updated validity checks to reduce memory load, and dropped
validObjectcalls. - Added function
getClusterManyParamsto parse the parameter values in the clusterLabels from clusterMany - Removed old dependency on diagram (from previous vignette, no longer needed)
Bugs:
- Fixed error in subsetting of clusterExperiment object when dendrogram is attached (previously didn't reset dendro_outbranch to NA)
v 1.3.3
v1.3.2
Changes:
- Default for
top.canin seqCluster are changed to betop.can=5. - makeDendrogram now has the default argument
ignoreUnassignedVar=TRUElike in RSEC - add ClusterFunction class and update all functions to work on this. All built in cluster functions are now given ClusterFunction Objects, so all built in clustering functions can now work for either
subsampleClusteringormainClustering. This will also make it easier for a user to define their own ClusterFunction object and have it be used by functions likeclusterSingle. This is a major change in how some of the underlying functions work, but should not impact common functions likeclusterManyandRSEC. Some of the more notable changes in the arguments for programmers are:clusterDandclusterDArgshave been changed tomainClusteringandmainClusterArgs. This change was made to make these arguments more clear as to their role in the clustering workflow (and because the clusterD refered to clustering a dissimilarity but it has clustered either x or D for many versions now. )seqClusterandclusterSingleno longer take the argumentclusterFunction.clusterFunctionmust be given viamainClusterArgsandsubsampleArgsto be passed tomainClusteringorsubsamplingCluster, respectively. Now only the upper-level functionclusterManytakesclusterFunctiondirectly as an argument.mainClustering(previouslyclusterD) andsubsampleClusteringno longer takeknoralphaas a direct argument. These arguments, like all arguments used directly by the cluster function, now need to be passed to the clustering function in a list viaclusterArgs.- The list of available built-in clustering routines provided by the package can now be accessed via
listBuiltInFunctions(). The functions that are used for these functions are now available to the user via their ClusterFunction object that the user can access with the functiongetBuiltInFunction. (see ?listBuiltInFunctions)
hiearchical01clustering now has a different default, namely to applyas.distto the inputdissin order to get adistobject, rather thandist(1-diss)which was previously the default for historical reasons. This is controlled by argumentwhichHierDist, and can be set to the previous version by passingwhichHierDist="dist"to theclusterArgsargument in eithersubsampleArgsormainClusterArgs, depending on wherehierarchical01is being used.- Spectral clustering is now available (
"spectral") via thespeccfunction ofkernlab. clusterSinglenow only returns the dissimilarity matrix in thecoClusteringslot ifsubsample=TRUEin the call. Furthermore, for the resulting dissimilarity to replace an existingcoClusteringslot value, the user must request it by settingreplaceCoClustering=TRUEin the call toclusterSingle.- Removed default value for argument
proportionincombineMany. The previous default wasproportion=1but didn't match most common use cases and was accidentally called by upper functions like RSEC. - If the
clusterFunctionargument is not given tosubsampleArgsby the user explicitly, and theclusterFunctionofmainClusterArgsis appropriate, it will be used forsubsampleClustering; if theclusterFunctioninmainClusterArgsis not appropriate (e.g.subsampleClusteringneeds a typeKbecausesequential=TRUE), then the default for thesubsampleClusteringwill be'pam'. This changes the previous behavior ofsubsampleClusteringwhere the default was 'pam' in all cases where not explicitly given by the user. This change should have no impact on RSEC: since theclusterFunctionfor themainClusteringterms is a'01'type in RSEC and thesubsampleClusteringhas to be type'K'whensequential=TRUE, it will revert to the default"pam"as before.
Bugs:
- Fixed error so where if
clusterSinglewas called on existing clusterExperiment object it would overwrite the information of the existingclusterExperimentobject. - Fixed
RSECso now if rerun on existingclusterExperimentobject, it will grab defaults from the matrix version (previously defaults were those of the underlying function, which were not always the same, e.g.combineProportiondefault was previously 1) - Fixed
clusterManyso now it explicitly setsdimReduce="none"in call toclusterSingle. Before, might have been calling all of thedimReducedefaults (i.e. all of them!). - Fixed so gives error if whichClusters in
plotBarplotdoesn't match anything.
v.1.3.1
Changes in version 1.3.1 ( Release date: 2017-06-14 )
Changes:
- change how
plotHeatmaphandles visualizeData argument, so not required to have same number of genes as original, only same number of samples. - Now if color of vectors given in
clusterLegenddoes not have names,plotHeatmapwill give them names matching the variable so that they will be used byaheatmap(previously would have left all colors white because do not have matching names). - Large changes to how dendrograms are plotted by
plotDendrogramandmergeClusters. This includes the ability to see the before and after clusterings along side the mergeClusters result, as well as a new slot added to the clusterExperiment class (dendro_outbranch). The names of several arguments tomergeClustersandplotDendrogramwere changed for clarity:leavesis nowleafTypeinplotDendrogram.plotTypeis nowplotInfoinmergeClustersdoPlotis nowplotinmergeClustersleafTypeis now an option formergeClustersas well.- Now when
plotInfo(previouslyplotType) is set tonone, the plot is still drawn, but just no information about the merging is added to the plot. To not plot the dendrogram at all, setplot=FALSE. - The option
labelTypein eitherplotDendrogramormergeClusterscontrols whether names (name) or rectangular color blocks corresponding to the cluster (colorblock) are put at the tips of the dendrogram to label the clusters/samples.
- added
dendroClusterIndexthat behaves similarly toprimaryClusterIndex - added ability to give
dendroas charater option towhichClustersargument - added
transformation<-to be able to assign manually the transformation slot - Move MAST into 'suggests' pacakge so that not need R 3.4 to run the package.
- Change calculation of PCA dimensionality reduction to use
svdsfromRSpectrapackage to improve speed
Bugs:
- Fixed bug in RSEC where
combineProportionargument was being ignored (set to 1) - Fixed bug in definition of
transformso that extends existing generic rather than masking it.
v1.3.0
Changes:
plotHeatmapacceptsdata.frameorExpressionSetobjects for the data argument (callsdata.matrixorexprson object and sends to matrix version)- Added
plotBarplotto plot a barplot for 1 cluster or comparison of 2 clusters along with tests. - Added
whichClustersargument toclusterMatrixto return only clusters corresponding to certain clusters. Mainly relevant for using arguments likeworkflowthat are used by other commands (otherwise could just index the complete matrix manually...)
Bug fixes:
plotHeatmapnow goes through theclusterLegendinput and removes levels that do not exist in the sampleData; this was causing incorrect coloring when theclusterLegendhad more (or less) levels that it assigned color to than thesampleDatadid (e.g. ifsampleDatawas a subset of larger dataset upon which the original colors were assigned.) NOTE: that this now has the effect of NOT plotting all values in the clusterLegend if they are not represented in the data, thus changing the previous behavior ofplotHeatmaplegend.- fixed bug in how
plotHeatmapchecked that the dimensions of user-supplied dendrogram match that of data (matrix version). - fixed
convertClusterLegendso whenoutputismatrixNamesormatrixColors, the resulting matrix has thecolnamesequal to cluster labels, likeclusterMatrix.
1.2.0
Changes:
- RSEC now has option
rerunClusterMany, which if FALSE will not rerun the clusterMany step if RSEC is called on an existing clusterExperiment object (assuming of course, clusterMany has been run already on the object) - setBreaks now has option
makeSymmetricto force symmetric breaks around zero when using the quantile option. - setBreaks now has a default for breaks (i.e. for minimal use, the user doesn't have to give the argument, just the data) in which case setBreaks will automatically find equal-spaced breaks of length 52 filling the range of data compatible with aheatmap. The order of the arguments
dataandbreakshas been switched, however, to better accomodate this usage. - plotClusters can now handle NA values in the colData
- plotClusters for
clusterExperimentobject now allows for settingsampleData=TRUEto indicate the plotting all of the sampleData in the colData slot. - nPCADims now allows values between 0,1 to allow for keeping proportion of variance explained.
- addClusters now allows for argument
clusterLabelto assign a clusterLabel when the added cluster is a vector (if matrix, then clusterLabel is just the column names of the matrix of cluster assignments)
Bug fixes:
- fixed bug in clusterExperiment subsetting to deal with orderSamples correctly.
- fixed bug in mergeClusters unable to plot when too big of edge lengths (same as plotDendrogram)
- fixed bug in subsetting, where unable to subset samples by character
- fixed bug in removeClusters so that correctly updates dendro_index and primary_index slots after cluster removed.
v1.1.1
Changes:
- Inverted definition of contrast for one-versus-all so now is X-ave(all but X); this means logFC positive -> cluster X greater than average of rest
Bug fixes:
- add check in clusterMany that non-zero dimensions
- changed 'warning' to 'note' in combineMany when no clusters specified.
- fixed bug in plotDendrogram unable to plot when makeDendrogram used dimReduce="mad"
- fixed bug in clusterMany where beta set to NA if clusteringFunction is type K. Added check that beta cannot be NA.
- Added check that alpha and beta in (0,1)