ccagc / QDNAseq

QDNAseq package for Bioconductor
47 stars 27 forks source link

PERFORMANCE: rowSums(x[, cols]) -> matrixStats::rowSums2(x, cols=cols) #74

Closed HenrikBengtsson closed 5 years ago

HenrikBengtsson commented 5 years ago

Replace various rowSums(x[, cols]) with subset-optimized ditto from matrixStats, e.g. rowSums2(x, cols=cols). This avoids memory allocation and is hence more efficient and faster.

$ grep -E "(col|row)[A-Z][a-zA-Z0-9]+[(]" R/*.R
R/applyFilters.R:    object$used.reads <- colSums(assayDataElement(object, "counts")[condition, ,
R/binReadCounts.R:    phenodata$total.reads <- colSums(counts)
R/binReadCounts.R:    phenodata$used.reads <- colSums(counts[condition, , drop=FALSE])
R/binReadCounts.R:                         total.reads=colSums(counts),
R/binReadCounts.R:                         used.reads=colSums(counts[condition, , drop=FALSE])
R/correctBins.R:      missings <- is.na(rowMeans(corrected))
R/createBinAnnotations.R:    residual <- rowMedians(residuals, na.rm=TRUE)
R/createBinAnnotations.R:        residual <- rowMedians(residuals, na.rm=TRUE)
R/normalizeBins.R:        values <- colMeans(copynumber[condition, , drop=FALSE], na.rm=TRUE)
R/normalizeBins.R:        values <- colMedians(copynumber[condition, , drop=FALSE], na.rm=TRUE)
R/plot-methods.R:    rect(pos, 0, pos2, rowMeans(calls > 0), col=gaincol, border=gaincol)
R/plot-methods.R:    rect(pos, 0, pos2, rowMeans(calls > 1), col=ampcol, border=ampcol)
R/plot-methods.R:    rect(pos, 0, pos2, -rowMeans(calls < 0), col=losscol, border=losscol)
R/plot-methods.R:    rect(pos, 0, pos2, -rowMeans(calls < -1), col=delcol, border=delcol)
R/plot-methods.R:    usedReads <- colSums(counts)
R/poolRuns.R:            newcounts[, newsample] <- rowSums(counts[, replicates, drop=FALSE])
R/poolRuns.R:            newcopynumber[, newsample] <- rowMeans(copynumber[, replicates,
R/poolRuns.R:        oldphenodata[1, numericCols] <- colMeans(oldphenodata[, numericCols,