Thanks Tim We are collecting relevant resources in
https://github.com/vjcitn/biocMultiAssay I will add your class definition as TTMergedDataSet we have some TCGA data (affy expression, RNA seq, miRNA) in inst/extdata from Levi Waldron. Currently these are all ExpressionSet instances. I will shortly commit enough so that the implied package installs. Finally, it is our plan to create a multiAssay SIG mailing list for further discussion; it will be publicized after a bit more development. I will be sure you are on the initial SIG list. On Wed, Jul 24, 2013 at 10:43 PM, Tim Triche, Jr. <tim.tri...@gmail.com>wrote: > just for those who were interested, here is what I bolted together a LONG > time ago > > warning: this will probably burn your retinas with its badness. also, no > refclasses for colData that pertains across the child SummarizedExperiments > (doh) > > > require(GenomicRanges) ## ensure that SummarizedExperiment has been > declared > > setClassUnion("SummarizedExperimentOrNULL",c("SummarizedExperiment","NULL")) > > ## slots: exprData, methData, geneData, exonData, lincData, mirData, > cnvData > setClass("MergedDataSet", contains=c("eSet"), # {{{ > representation=representation( > exprData="SummarizedExperimentOrNULL", # exprs, pvals? > methData="SummarizedExperimentOrNULL", # betas, totals > geneData="SummarizedExperimentOrNULL", # counts, RPKM, pvals? > exonData="SummarizedExperimentOrNULL", # counts, RPKM > lincData="SummarizedExperimentOrNULL", # counts, RPKM > mirData="SummarizedExperimentOrNULL", # counts, RPKM > cnvData="SummarizedExperimentOrNULL" # RLE CN, pvals? > )) # }}} > > setValidity("MergedDataSet", function(object) { # {{{ check sample names > valid = TRUE > genome = NULL > samples = NULL > for( s in c('exprData', 'methData', 'geneData', > 'exonData', 'lincData', 'mirData', 'cnvData') ) { > if( !empty(slot(object, s)) ) { > > # do all of the genomes match? > if(is(slot(object, s), 'SummarizedExperiment')) { > if(is.null(genome)) genome = unique(genome(slot(object, s))) > valid = valid && (genome == unique(genome(slot(object, s)))) > } > > # do all of the samples match? > if(is(slot(object, s), 'ExpressionSet')) { > samples.s = sampleNames(slot(object, s)) > } else if(is(slot(object, s), 'SummarizedExperiment')) { > samples.s = colnames(slot(object, s)) > } > > if(is.null(samples)) samples = samples.s > valid = valid && (samples == samples.s) > > } > } > return( valid ) > }) # }}} > > setMethod("show",signature(object="MergedDataSet"), function(object) { # > {{{ > callNextMethod() > available = c() > for( s in c('exprData', 'methData', 'geneData', > 'exonData', 'lincData', 'mirData', 'cnvData') ) { > if(!empty(slot(object, s))) available = append(available, s) > } > if(empty(available)) cat('No experimental data has been added yet.\n') > else cat('Available data types:\n', paste(available, collapse=', '), > '\n') > message("FIXME: add methods to automatically add columns of NAs to new > data") > }) # }}} > > > -- > *A model is a lie that helps you see the truth.* > * > * > Howard Skipper< > http://cancerres.aacrjournals.org/content/31/9/1173.full.pdf> > > [[alternative HTML version deleted]] > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel > [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel