inst/examples/transform_basicClasses.r

setGeneric('.transform', function(object,...) standardGeneric('.transform'))


setMethod('.transform', 'cpSample', function(object){
  out <- lapply(slotNames('cpSample'), function(x){return(slot(object, x))})
  names(out) <- slotNames('cpSample')
  out$pipeline <- lapply(object@pipeline@.Data, function(x){
    innerout <- lapply(slotNames(x), function(a){return(slot(x, a))})
    names(innerout) <- slotNames(x)
    return(innerout)})
  names(out$pipeline) <- as.character(sapply(object@pipeline@.Data, class))
  class(out) <-  'cpSample'
  return(out)
})

setMethod('.transform', 'cpExperiment', function(object){
  out <- lapply(slotNames('cpExperiment'), function(x){return(slot(object, x))})
  names(out) <- slotNames('cpExperiment')
  out$pipeline <- lapply(object@pipeline@.Data, function(x){
    innerout <- lapply(slotNames(x), function(a){return(slot(x, a))})
    names(innerout) <- slotNames(x)
    return(innerout)})
  names(out$pipeline) <- as.character(sapply(object@pipeline@.Data, class))
  class(out)  <- 'cpExperiment'
  return(out)
})
mariev/chromatoplotsgui documentation built on May 21, 2019, 11:46 a.m.