R/sExperiments.R

Defines functions sExperiments

sExperiments <- function(experiment, replicates = 2){
  control <- experiment[,"X0"]
  treatments <- experiment[,!colnames(experiment) %in% "X0"]
  treatments <- treatments[!apply(apply(treatments,2,is.na),1,all),]
  nExperiments <- dim(treatments)[1]/replicates
  idExperiments <- sort(rep(seq_len(nExperiments),replicates))
  nControl <- floor(length(control)/nExperiments)
  survival <- lapply(seq_len(nExperiments), function(experiment){
    survival <- treatments[idExperiments==experiment,]/mean(control[(((experiment-1)*nControl)+1):(experiment*nControl)],na.rm = TRUE)
    survival <- cbind(survival,X0 = 1)
    survival <- survival[,paste0("X",sort(as.numeric(gsub("X","",colnames(survival)))))]
    return(survival)
  })
  dResponse <- lapply(survival,function(experiment){
    experiment <- experiment/max(experiment,na.rm = TRUE)
    experiment <- as.data.frame.array(stack(experiment))
    experiment[,2] <- gsub("X","",experiment[,2])
    return(experiment)
  })
  return(dResponse)
}
dosorio/ccCINTROP documentation built on May 5, 2019, 11:09 p.m.