[Bioc-devel] Changes to the SummarizedExperiment Class
Should be possible for the annotations to be of any type, as long as they satisfy a simple contract of NROW() and 2D "[". Then, you could have a DataFrame, GRanges, or whatever in there. But it would be nice to have a special class for the container with range information. The contract for the range annotation would be to have a granges() method. I agree it would be nice if there was a way with the methods package to easily assert such contracts. For example, one could define an interface with a set of generics (and optionally the relevant position in the generic signature). Then, once all of the methods have been assigned for a particular class, it is made to inherit from that contract class. There are lots of gotchas though. Not sure how useful it would be in practice. On Tue, Mar 3, 2015 at 4:07 PM, Peter Haverty <haverty.peter at gene.com> wrote:
There are some nice similarities in these new imaginary types. A "GRangesFrame" is a list of dimensionally identical things (columns) and some row meta-data (the GRanges). The SE-like object is similarly a list of dimensionally like things (matrices, RleDataFrames, BigMatrix objects, HDF5-backed things) with some row meta-data (a DataFrame or GRangesFrame). Elegant? Maybe they would actually be relatives in the class tree. I wonder if this kind of thing would be easier if we had Java-style Interfaces or duck-typing. The "x" slot of "y" holds something that implements this set of methods ... Oh, and kinda apropos, the genoset class will probably go away or become an extension to this new SE-like thing. The extra stuff that comes along with genoset will still be available. Pete
____________________ Peter M. Haverty, Ph.D. Genentech, Inc. phaverty at gene.com On Tue, Mar 3, 2015 at 3:42 PM, Tim Triche, Jr. <tim.triche at gmail.com> wrote: This. It would be damned near perfect as a return value for assays coming out of an object that held several such assays at several time points in a population, where there are both assay-wise and covariate-wise "holes" that could nonetheless be usefully imputed across assays. Statistics is the grammar of science. Karl Pearson <http://en.wikipedia.org/wiki/The_Grammar_of_Science> On Tue, Mar 3, 2015 at 3:25 PM, Peter Haverty <haverty.peter at gene.com> wrote: I still think GRanges should be a subclass of DataFrame, which would make this easy, but I don't seem to be winning that argument. Just impossible. As Michael mentioned back in November, they have conflicting APIs. Maybe a new "GRangesFrame" that is a DataFrame and holds a GRanges (without mcols) as an index? [[alternative HTML version deleted]] _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel [[alternative HTML version deleted]] _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel