Releases: epurdom/clusterExperiment
Releases · epurdom/clusterExperiment
v2.1.5
Changes in version 2.1.5 ( Release date: 2018-06-28)
Changes:
- Add functionality to
getBestFeatures
to allowedgeR
for DE, as well as weights used withedgeR
forzinbwave
compatability. As part of this change:- Removed
isCount
argument and replaced with more fine-grainedDEMethod
argument ingetBestFeatures
,mergeClusters
; ormergeDEMethod
inRSEC
. - Change to class definition: added slot
merge_demethod
to keep track of the DE method used in merging
- Removed
- Change function names (old function name is now depricated):
combineMany
->makeConsensus
removeUnclustered
->removeUnassigned
- Arguments to functions changed:
combineProportion
->consensusProportion
inRSEC
combineMinSize
->consensusMinSize
inRSEC
sampleData
->colData
to matchSummarizedExperiment
syntax (in many plotting functions).alignSampleData
->alignColData
inplotHeatmap
ignoreUnassignedVar
->filterIgnoresUnassigned
inmergeClusters
(and other functions) for clarity.removeNegative
->removeUnassigned
ingetBestFeatures
for uniformity- Removed
largeDataset
option tosubsampleClustering
because no longer provides advantage. nBlank
->nBlankFeatures
inmakeBlankData
to allow for samples
- Created functions:
primaryClusterLabel
andprimaryClusterType
getReducedData
assignUnassigned
: assigns unassigned samples to nearest clusterrenameClusters
andrecolorClusters
: assign new names/colors to clusters within a particular clustering
clusterMatrixColors
: wrapper toconvertClusterLegend
to return matrix likeclusterMatrix
only with colors in place of the internal cluster ids (like existingclusterMatrixNamed
)plotClustersTable
for plotting a heatmap showing the results oftableClusters
subsetByCluster
for subsetting CE object to only those samples in a particular cluster(s) of a clustering.plotFeatureScatter
for a scatter plot of 2+ features (genes) colored by clusteraddToColData
andcolDataClusters
adding clustering information to colData of object.addToColData
returns object withcolData
augmented, whilecolDataClusters
just returns theDataFrame
with clusterings added.updateObject
to update historical object created from previous versions to the current class definitions.
- Added arguments:
whichAssay
to all functions to allow the user to select the assay on which the operations will be performed.stopOnErrors
toRSEC
nColLegend
toplotReducedDims
subsample
andsequential
toRSEC
to allow for opting out of those options (but default isTRUE
unlikeclusterMany
)nBlankSamples
andgroupsOfSamples
tomakeBlankData
to allow for separating samples (columns)add
andlocation
toplotClusterLegend
makeBlankData
will now allow for making blank columns to separate groups of samples.plotDendrogram
now allows for plotting ofcolData
(previouslysampleData
) likeplotHeatmap
orplotClusters
clusterMany
now allows user-definedClusterFunction
objects to argumentclusterFunction
.- Removed restriction in
plotClustersWorkflow
that onlyclusterType="clusterMany"
allowed. - Allow
getClusterManyParams
to search oldclusterMany
runs as well. - Added
table
method toplotHeatmap
(for plotting heatmap of results oftable
function) - Added error catch if try to give argument
whichCluster
tomergeCluster
. - Added error catch if give param
whichClusters
to functions that only takewhichCluster
(singular) as an argument plotFeatureBoxplot
now returns (invisibly) the colors and clusterIds along with the boxplot information.
Bugs:
- Add check for merge_nodeMerge table that
mergeClusterId
column can't be NA for entries whereisMerged=TRUE
- Fix internal .makeIntegerClusters so that if given values
1:K
for input clustering will retain these same values (Issue #227) mergeClusters
now returned object saves the merge information (and deletes old info and updates clusterType/clusterLabel of existing merge clusters), even ifmergeMethod="none"
.- Fix
removeClusterings
so 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
mergeClusters
are always positive. - Fix so that calculation of filter with
ignoreUnassignedVar
doesn't delete existing base filter of same type. - Fix
plotClustersWorkflow
where wrong cluster was grabbed to plot. - Fix bug in
plotDendrogram
where 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
mergeCutoff
andmergeLogFCcutoff
where passed instead todendroNDims
.
v.1.3.6
Changes:
- MAJOR CHANGE TO DEFINITION OF CLASS: Added slots to
ClusterExperiment
object so that the object keeps the information about the merging, and added corresponding helper functions (see documentation). This means previous versions made of aClusterExperiment
object will no longer be valid objects! Old, saved objects from previous versions must be manually adapted to have these slots (withNULL
orNA
values as appropriate). - Add function
plotClustersWorkflow
, see documentation - Add function
plotDimReduce
for plotting low-dim pca with points labeled by cluster. - Add function
plotContrastHeatmap
to 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
plotClusters
andplotBarplot
fromclusters
toobject
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
plotHeatmap
toclusterSamplesData="dendrogramValue"
. - Changed handling of
clusterSamplesData
argument inplotHeatmap
so that if argument equalsdendrogramValue
orprimaryCluster
and gives bad results / errors, will give warning and change argument appropriately. - Added arguments to
plotHeatmap
allowing more user control regarding making blank lines for when have gene groupings.
- default in
mergeClusters
now aligns the colors frommergeClusters
andcombineMany
internally.mergeClusters
now suppresses warnings created by the estimation of the percentage non-null unlessshowWarnings=TRUE
.plotDendrogram
:- has new argument
clusterLabelAngle
allowing user to change the angle of the clusterLabel printed on top (when plot is of type "colorblock") - argument
labelType
has been changed toplotType
- has new argument
Bugs:
- Arguments passed to
mergeClusters
, ClusterExperiment version, via the...
command will now go first to themergeClusters
matrix 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
clusterLabels
toplotClusters
to allow user to set clusterLabels without changing the object. - Added data object of run of RSEC. Changed
lazyLoad
tofalse
because loading this object on installation was creating errors. - Updated vignette to more completely cover RSEC.
- Change default
clusterFunction
argument toRSEC
to 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
validObject
calls. - Added function
getClusterManyParams
to 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.can
in seqCluster are changed to betop.can=5
. - makeDendrogram now has the default argument
ignoreUnassignedVar=TRUE
like 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
subsampleClustering
ormainClustering
. 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 likeclusterMany
andRSEC
. Some of the more notable changes in the arguments for programmers are:clusterD
andclusterDArgs
have been changed tomainClustering
andmainClusterArgs
. 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. )seqCluster
andclusterSingle
no longer take the argumentclusterFunction
.clusterFunction
must be given viamainClusterArgs
andsubsampleArgs
to be passed tomainClustering
orsubsamplingCluster
, respectively. Now only the upper-level functionclusterMany
takesclusterFunction
directly as an argument.mainClustering
(previouslyclusterD
) andsubsampleClustering
no longer takek
noralpha
as 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)
hiearchical01
clustering now has a different default, namely to applyas.dist
to the inputdiss
in order to get adist
object, 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 theclusterArgs
argument in eithersubsampleArgs
ormainClusterArgs
, depending on wherehierarchical01
is being used.- Spectral clustering is now available (
"spectral"
) via thespecc
function ofkernlab
. clusterSingle
now only returns the dissimilarity matrix in thecoClustering
slot ifsubsample=TRUE
in the call. Furthermore, for the resulting dissimilarity to replace an existingcoClustering
slot value, the user must request it by settingreplaceCoClustering=TRUE
in the call toclusterSingle
.- Removed default value for argument
proportion
incombineMany
. The previous default wasproportion=1
but didn't match most common use cases and was accidentally called by upper functions like RSEC. - If the
clusterFunction
argument is not given tosubsampleArgs
by the user explicitly, and theclusterFunction
ofmainClusterArgs
is appropriate, it will be used forsubsampleClustering
; if theclusterFunction
inmainClusterArgs
is not appropriate (e.g.subsampleClustering
needs a typeK
becausesequential=TRUE
), then the default for thesubsampleClustering
will be'pam'
. This changes the previous behavior ofsubsampleClustering
where the default was 'pam' in all cases where not explicitly given by the user. This change should have no impact on RSEC: since theclusterFunction
for themainClustering
terms is a'01'
type in RSEC and thesubsampleClustering
has to be type'K'
whensequential=TRUE
, it will revert to the default"pam"
as before.
Bugs:
- Fixed error so where if
clusterSingle
was called on existing clusterExperiment object it would overwrite the information of the existingclusterExperiment
object. - Fixed
RSEC
so now if rerun on existingclusterExperiment
object, it will grab defaults from the matrix version (previously defaults were those of the underlying function, which were not always the same, e.g.combineProportion
default was previously 1) - Fixed
clusterMany
so now it explicitly setsdimReduce="none"
in call toclusterSingle
. Before, might have been calling all of thedimReduce
defaults (i.e. all of them!). - Fixed so gives error if whichClusters in
plotBarplot
doesn't match anything.
v.1.3.1
Changes in version 1.3.1 ( Release date: 2017-06-14 )
Changes:
- change how
plotHeatmap
handles 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
clusterLegend
does not have names,plotHeatmap
will 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
plotDendrogram
andmergeClusters
. 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 tomergeClusters
andplotDendrogram
were changed for clarity:leaves
is nowleafType
inplotDendrogram
.plotType
is nowplotInfo
inmergeClusters
doPlot
is nowplot
inmergeClusters
leafType
is now an option formergeClusters
as 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
labelType
in eitherplotDendrogram
ormergeClusters
controls 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
dendroClusterIndex
that behaves similarly toprimaryClusterIndex
- added ability to give
dendro
as charater option towhichClusters
argument - 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
svds
fromRSpectra
package to improve speed
Bugs:
- Fixed bug in RSEC where
combineProportion
argument was being ignored (set to 1) - Fixed bug in definition of
transform
so that extends existing generic rather than masking it.
v1.3.0
Changes:
plotHeatmap
acceptsdata.frame
orExpressionSet
objects for the data argument (callsdata.matrix
orexprs
on object and sends to matrix version)- Added
plotBarplot
to plot a barplot for 1 cluster or comparison of 2 clusters along with tests. - Added
whichClusters
argument toclusterMatrix
to return only clusters corresponding to certain clusters. Mainly relevant for using arguments likeworkflow
that are used by other commands (otherwise could just index the complete matrix manually...)
Bug fixes:
plotHeatmap
now goes through theclusterLegend
input and removes levels that do not exist in the sampleData; this was causing incorrect coloring when theclusterLegend
had more (or less) levels that it assigned color to than thesampleData
did (e.g. ifsampleData
was 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 ofplotHeatmap
legend.- fixed bug in how
plotHeatmap
checked that the dimensions of user-supplied dendrogram match that of data (matrix version). - fixed
convertClusterLegend
so whenoutput
ismatrixNames
ormatrixColors
, the resulting matrix has thecolnames
equal 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
makeSymmetric
to 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
data
andbreaks
has been switched, however, to better accomodate this usage. - plotClusters can now handle NA values in the colData
- plotClusters for
clusterExperiment
object now allows for settingsampleData=TRUE
to 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
clusterLabel
to 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)