CHANGES IN VERSION 1.30.0 ------------------------- DEPRECATED AND DEFUNCT o Finally remove readKallisto() (got deprecated in BioC 3.12 and defunct in BioC 3.15). CHANGES IN VERSION 1.28.0 ------------------------- SIGNIFICANT USER-VISIBLE CHANGES o SummarizedExperiment objects now accept NAs in their rownames. Important notes: - NAs in the **rownames** are now tolerated but will cause problems downstream e.g. they break the rowData() getter unless 'use.names=FALSE' is used. - NAs in the **colnames** are not and cannot be supported at the moment! Right now they break the SummarizedExperiment() constructor in an ugly way (error message not super helpful): > SummarizedExperiment(m) Error in DataFrame(x = seq_len(ncol(a1)), row.names = nms) : missing values in 'row.names' This will need to be improved. - At the root of these problems is the fact that at the moment DataFrame objects do NOT support NAs in their rownames. Bottom line: NAs in the dimnames of a SummarizedExperiment object should be avoided at all cost. One way to deal with them is to replace them with empty strings (""). See commit 71872cc03b7c0195fb80d1d09409243f049ebb3f. o Small tweak to combineRows/combineCols: combineRows() and combineCols() no longer need to "fix" the dimnames that end up on the combined assays of the returned SummarizedExperiment object. So the assay dimnames are now returned as-is. See commit 1d6610eb168330f32433273e4fe49da173dcd33b. CHANGES IN VERSION 1.26.0 ------------------------- DEPRECATED AND DEFUNCT o readKallisto() is now defunct after being deprecated in BioC 3.12. CHANGES IN VERSION 1.24.0 ------------------------- NEW FEATURES o Add 'checkDimnames' argument to SummarizedExperiment() constructor function o Add showAsCell() method for SummarizedExperiment objects. SIGNIFICANT USER-VISIBLE CHANGES o Check the assay dimnames at SummarizedExperiment construction time: The SummarizedExperiment() constructor function now raises an error if one of the supplied assays has rownames and/or colnames that don't match those of the SummarizedExperiment object to construct. CHANGES IN VERSION 1.22.0 ------------------------- NEW FEATURES o Add combineRows() and combineCols() methods for SummarizedExperiment objects and derivatives. These are more flexible versions of rbind() and cbind() that don't require the objects to combine to have the same columns or rows. Contributed by Aaron Lun. CHANGES IN VERSION 1.20.0 ------------------------- SIGNIFICANT USER-VISIBLE CHANGES o SummarizedExperiment now depends on the MatrixGenerics package. o DelayedArray was moved from Depends to Imports. DEPRECATED AND DEFUNCT o Deprecated readKallisto(). BUG FIXES o Avoid triggering copies of the assays in assays() getter. o Fix long-standing bug in dim() method for Assays objects. o Fix assays(x) <- SimpleList(). Before that fix this operation was turning SummarizedExperiment object (or derivative) 'x' into an invalid object. CHANGES IN VERSION 1.18.0 ------------------------- NEW FEATURES o SummarizedExperiment objects with assays of > 4 dimensions are now fully supported. SIGNIFICANT USER-VISIBLE CHANGES o By default the assays() and assay() setters now reject inconsistent dimnames. By default the dimnames on the supplied assay(s) must be identical to the dimnames on the SummarizedExperiment object. The user now must use 'withDimnames=FALSE' if it's not the case or they get an error. This is for symmetry with the behavior of the assays() and assay() getters (see issue #35). Unfortunately this change is likely to break existing code but at least the fix is easy. o dimnames() now returns NULL instead of list(NULL, NULL) on a SummarizedExperiment object with no dimnames. This is consistent with matrix objects. o Swap positions of arguments '...' and 'withDimnames' in assays() setter and getter. So now it's: assays(x, withDimnames=TRUE, ...) assays(x, withDimnames=TRUE, ...) <- value o Add 'withDimnames' argument to the assay() getter/setter. So now it's: assay(x, i, withDimnames=TRUE, ...) assay(x, i, withDimnames=TRUE, ...) <- value Note that before this change, the user was able to explicitly set 'withDimnames' when calling assay() but since this was not a formal argument it was forwarded to assays() via the ellipsis. Having it as a formal argument makes it easier to discover and allows tab completion. CHANGES IN VERSION 1.16.0 ------------------------- NEW FEATURES o Some improvements to the SummarizedExperiment() constructor (see commit 0d74843c) o Support 'colData(SummarizedExperiment) <- NULL' to clear colData SIGNIFICANT USER-VISIBLE CHANGES o All the arguments of the SummarizedExperiment() constructor are now visible (no more ellipsis) and have default values. So tab completion works. See commit 0d74843c o The dimnames on the individual assays of a SummarizedExperiment derivative now can be anything (see issue #25 for the details) BUG FIXES o Some fixes to the SummarizedExperiment() constructor (see commit 0d74843c) o Address all.equal() false positives on SummarizedExperiment objects (see issue #16 for the details) CHANGES IN VERSION 1.12.0 ------------------------- NEW FEATURES o The package has a new vignette "Extending the SummarizedExperiment class" by Aaron Lun intended for developers. It documents in great details the process of implementing a SummarizedExperiment extension (a.k.a. subclass). SIGNIFICANT USER-VISIBLE CHANGES o rowData() gains use.names=TRUE argument; prior behavior was to use.names=FALSE. rowData() by default fails when rownames() contains NAs. BUG FIXES o Better error handling in SummarizedExperiment() constructor. SummarizedExperiment() now prints an informative error message when the supplied assays have insane rownames or colnames. This addresses https://github.com/Bioconductor/SummarizedExperiment/issues/7 CHANGES IN VERSION 1.10.0 ------------------------- NEW FEATURES o Add "subset" method for SummarizedExperiment objects. See https://github.com/Bioconductor/SummarizedExperiment/pull/6 o rowRanges() now is supported on a SummarizedExperiment object that is not a RangedSummarizedExperiment, and returns NULL. Also doing 'rowRanges(x) <- NULL' on a RangedSummarizedExperiment object now is supported and degrades it to a SummarizedExperiment instance. o Add 'BACKEND' argument to "realize" method for SummarizedExperiment objects. SIGNIFICANT USER-VISIBLE CHANGES o saveHDF5SummarizedExperiment() and loadHDF5SummarizedExperiment() are now in the HDF5Array package. o Replace old "updateObject" method for SummarizedExperiment objects with a new one. The new method calls updateObject() on all the assays of the object. This will update SummarizedExperiment objects (and their derivatives like BSseq objects) that have "old" DelayedArray objects in their assays. The old method has been around since BioC 3.2 (released 2.5 years ago) and was used to update objects made prior to the change of internals that happened between BioC 3.1 and BioC 3.2. All these "old" objects should have been updated by now so we don't need this anymore. BUG FIXES o Modify the "[<-" method for SummarizedExperiment to leave 'metadata(x)' intact instead of trying to combine it with 'metadata(value)'. With this change 'x[i , j] <- x[i , j]' behaves like a no-op (as expected) instead of duplicating metadata(x). o The SummarizedExperiment() constructor does not try to downgrade the supplied rowData and/or colData to DataFrame anymore if they derive from DataFrame. CHANGES IN VERSION 1.8.0 ------------------------ NEW FEATURES o Add 'chunk_dim' and 'level' arguments to saveHDF5SummarizedExperiment(). o Add coercion from ExpressionSet to SummarizedExperiment. DEPRECATED AND DEFUNCT o Remove 'force' argument from seqinfo() and seqlevels() setters (the argument got deprecated in BioC 3.5 in favor of new and more flexible 'pruning.mode' argument). BUG FIXES o Coercion from SummarizedExperiment to RangedSummarizedExperiment was losing the metadata columns. Fixed now. o Fix cbind() and rbind() of SummarizedExperiment objects when some of the assays are DataFrame or data.frame objects. o '$' completion on SummarizedExperiment works in RStudio and on RangedSummarizedExperiment. CHANGES IN VERSION 1.6.0 ------------------------ NEW FEATURES o Add saveHDF5SummarizedExperiment() and loadHDF5SummarizedExperiment() for saving/loading HDF5-based SummarizedExperiment objects to/from disk. DEPRECATED AND DEFUNCT o Remove SummarizedExperiment0 class (was introduced to ease transition from old SummarizedExperiment class defined in GenomicRanges to new RangedSummarizedExperiment class defined in SummarizedExperiment package). CHANGES IN VERSION 1.4.0 ------------------------ NEW FEATURES o Add makeSummarizedExperimentFromDataFrame() function. o Add "acbind" and "arbind" methods for Matrix objects. SIGNIFICANT USER-VISIBLE CHANGES o Speed up "cbind" method for SummarizedExperiment objects based on a suggestion by Peter Hickey. DEPRECATED AND DEFUNCT o Remove exptData() getter and setter (were defunct in BioC 3.3). BUG FIXES CHANGES IN VERSION 1.2.0 ------------------------ NEW FEATURES o Add 'rowData' argument to SummarizedExperiment() constructor. This allows the user to supply the row data at construction time. o The SummarizedExperiment() constructor function and the assay() setter now both take any matrix-like object as long as the resulting SummarizedExperiment object is valid. o Support r/cbind'ing of SummarizedExperiment objects with assays of arbitrary dimensions (based on a patch by Pete Hickey). o Add "is.unsorted" method for RangedSummarizedExperiment objects. o NULL colnames() supported during SummarizedExperiment construction. o readKallisto() warns early when files need names. o base::rank() gained a new 'ties.method="last"' option and base::order() a new argument ('method') in R 3.3. Thus so do the "rank" and "order" methods for RangedSummarizedExperiment objects. SIGNIFICANT USER-VISIBLE CHANGES o Re-introduce the rowData() accessor (was defunt in BioC 3.2) as an alias for mcols() and make it the preferred way to access the row data. There is now a pleasant symmetry between rowData and colData. o Rename SummarizedExperiment0 class -> SummarizedExperiment. o Improved vignette. o Remove updateObject() method for "old" SummarizedExperiment objects. DEPRECATED AND DEFUNCT o exptData() is now defunct, metadata() should be used instead. BUG FIXES o Fix bug in "sort" method for RangedSummarizedExperiment objects when 'ignore.strand=TRUE' (the argument was ignored). o Fix 2 bugs when r/cbind'ing SummarizedExperiment objects: - r/cbind'ing assays without names would return only the first element. See https://stat.ethz.ch/pipermail/bioc-devel/2015-November/008318.html - r/cbind'ing assays with names in different order would stop() with 'Assays must have the same names()" o Fix validity method for SummarizedExperiment objects reporting incorrect numbers when the nb of cols in assay(x) doesn't match the nb of rows in colData(x). o assay colnames() must agree with colData rownames() o Fix bug where assays(se, withDimnames=TRUE) was dropping the dimnames of the 3rd and higher-order dimensions of the assays. Thanks to Pete Hickey for catching this and providing a patch. o A couple of minor tweaks to the rowData() setter to make it behave consistently with mcols()/elementMetadata() setters for Vector objects in general. CHANGES IN VERSION 0.3.* ------------------------ NEW FEATURES o readKallisto() and readKallistoBootstrap() input kallisto transcript quantification output into SummarizedExperiment (and other) instances.