diff --git a/R/fit.R b/R/fit.R index 7006a33..a17a415 100644 --- a/R/fit.R +++ b/R/fit.R @@ -113,12 +113,16 @@ compute_logratio <- function(object, aggregate = c("mean", "sum", "none")) { aggregate <- match.arg(aggregate) - if (aggregate %in% c("sum", "none")) { + if (aggregate=="sum")) { ## Do aggregation even with option "none" to ensure ## matching ordering of eids in logr and log_dna dna <- getDNA(object, aggregate = TRUE) rna <- getRNA(object, aggregate = TRUE) logr <- log2(rna + 1) - log2(dna + 1) + } else if (aggregate=="none") { + dna <- getDNA(object, aggregate = FALSE) + rna <- getRNA(object, aggregate = FALSE) + logr <- log2(rna + 1) - log2(dna + 1) } else if (aggregate=="mean") { dna <- getDNA(object, aggregate = FALSE) rna <- getRNA(object, aggregate = FALSE) diff --git a/R/mpra_set.R b/R/mpra_set.R index 6d68e9c..3325038 100644 --- a/R/mpra_set.R +++ b/R/mpra_set.R @@ -21,6 +21,8 @@ setValidity("MPRASet", function(object) { MPRASet <- function(DNA = new("matrix"), RNA = new("matrix"), barcode = new("character"), eid = new("character"), eseq = new("character"), ...) { + DNA <- DNA[eid,] + RNA <- RNA[eid,] assays <- SimpleList(DNA = DNA, RNA = RNA) if (length(barcode)==0 & length(eseq)==0) { rowData <- DataFrame(eid = eid)