| Back to Build/check report for BioC 3.23: simplified long | 
  | 
This page was generated on 2025-11-03 11:33 -0500 (Mon, 03 Nov 2025).
| Hostname | OS | Arch (*) | R version | Installed pkgs | 
|---|---|---|---|---|
| nebbiolo1 | Linux (Ubuntu 24.04.3 LTS) | x86_64 | R Under development (unstable) (2025-10-20 r88955) -- "Unsuffered Consequences" | 4775 | 
| Click on any hostname to see more info about the system (e.g. compilers) (*) as reported by 'uname -p', except on Windows and Mac OS X | ||||
| Package 1842/2321 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||||
| RUVSeq 1.45.0  (landing page) Davide Risso 
  | nebbiolo1 | Linux (Ubuntu 24.04.3 LTS) / x86_64 | OK | OK | OK | |||||||||
| 
To the developers/maintainers of the RUVSeq package: - Allow up to 24 hours (and sometimes 48 hours) for your latest push to git@git.bioconductor.org:packages/RUVSeq.git to reflect on this report. See Troubleshooting Build Report for more information. - Use the following Renviron settings to reproduce errors and warnings. - If 'R CMD check' started to fail recently on the Linux builder(s) over a missing dependency, add the missing dependency to 'Suggests:' in your DESCRIPTION file. See Renviron.bioc for more information.  | 
| Package: RUVSeq | 
| Version: 1.45.0 | 
| Command: /home/biocbuild/bbs-3.23-bioc/R/bin/R CMD check --install=check:RUVSeq.install-out.txt --library=/home/biocbuild/bbs-3.23-bioc/R/site-library --timings RUVSeq_1.45.0.tar.gz | 
| StartedAt: 2025-11-03 02:59:00 -0500 (Mon, 03 Nov 2025) | 
| EndedAt: 2025-11-03 03:05:12 -0500 (Mon, 03 Nov 2025) | 
| EllapsedTime: 371.6 seconds | 
| RetCode: 0 | 
| Status: OK | 
| CheckDir: RUVSeq.Rcheck | 
| Warnings: 0 | 
##############################################################################
##############################################################################
###
### Running command:
###
###   /home/biocbuild/bbs-3.23-bioc/R/bin/R CMD check --install=check:RUVSeq.install-out.txt --library=/home/biocbuild/bbs-3.23-bioc/R/site-library --timings RUVSeq_1.45.0.tar.gz
###
##############################################################################
##############################################################################
* using log directory ‘/home/biocbuild/bbs-3.23-bioc/meat/RUVSeq.Rcheck’
* using R Under development (unstable) (2025-10-20 r88955)
* using platform: x86_64-pc-linux-gnu
* R was compiled by
    gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
    GNU Fortran (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
* running under: Ubuntu 24.04.3 LTS
* using session charset: UTF-8
* checking for file ‘RUVSeq/DESCRIPTION’ ... OK
* this is package ‘RUVSeq’ version ‘1.45.0’
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ‘RUVSeq’ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking ‘build’ directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking code files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... NOTE
residuals.DGEGLM : <anonymous>: no visible global function definition
  for ‘poisson’
Undefined global functions or variables:
  poisson
Consider adding
  importFrom("stats", "poisson")
to your NAMESPACE file.
* checking Rd files ... NOTE
checkRd: (-1) RUVs.Rd:95: Lost braces; missing escapes or markup?
    95 | {(1,11,21),(2,3),(4,5),(6,7,8)}, then \code{scIdx} should be
       | ^
* checking Rd metadata ... OK
* checking Rd cross-references ... NOTE
Found the following Rd file(s) with Rd \link{} targets missing package
anchors:
  RUVg.Rd: SeqExpressionSet-class
  RUVr.Rd: SeqExpressionSet-class, edgeR
  RUVs.Rd: SeqExpressionSet-class
  residuals.DGEGLM.Rd: edgeR, glmFit, DGEGLM-class
Please provide package anchors for all Rd \link{} targets not in the
package itself and the base packages.
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking files in ‘vignettes’ ... OK
* checking examples ... OK
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
  Running ‘RUVg.R’
  Running ‘RUVr.R’
  Running ‘RUVs.R’
 OK
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes ... OK
* checking re-building of vignette outputs ... OK
* checking PDF version of manual ... OK
* DONE
Status: 3 NOTEs
See
  ‘/home/biocbuild/bbs-3.23-bioc/meat/RUVSeq.Rcheck/00check.log’
for details.
RUVSeq.Rcheck/00install.out
############################################################################## ############################################################################## ### ### Running command: ### ### /home/biocbuild/bbs-3.23-bioc/R/bin/R CMD INSTALL RUVSeq ### ############################################################################## ############################################################################## * installing to library ‘/home/biocbuild/bbs-3.23-bioc/R/site-library’ * installing *source* package ‘RUVSeq’ ... ** this is package ‘RUVSeq’ version ‘1.45.0’ ** using staged installation ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (RUVSeq)
RUVSeq.Rcheck/tests/RUVg.Rout
R Under development (unstable) (2025-10-20 r88955) -- "Unsuffered Consequences"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(RUVSeq)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: generics
Attaching package: 'generics'
The following objects are masked from 'package:base':
    as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
    setequal, union
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:stats':
    IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
    Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
    as.data.frame, basename, cbind, colnames, dirname, do.call,
    duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
    mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
    rank, rbind, rownames, sapply, saveRDS, table, tapply, unique,
    unsplit, which.max, which.min
Welcome to Bioconductor
    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: EDASeq
Loading required package: ShortRead
Loading required package: BiocParallel
Loading required package: Biostrings
Loading required package: S4Vectors
Loading required package: stats4
Attaching package: 'S4Vectors'
The following object is masked from 'package:utils':
    findMatches
The following objects are masked from 'package:base':
    I, expand.grid, unname
Loading required package: IRanges
Loading required package: XVector
Loading required package: Seqinfo
Attaching package: 'Biostrings'
The following object is masked from 'package:base':
    strsplit
Loading required package: Rsamtools
Loading required package: GenomicRanges
Loading required package: GenomicAlignments
Loading required package: SummarizedExperiment
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: 'matrixStats'
The following objects are masked from 'package:Biobase':
    anyMissing, rowMedians
Attaching package: 'MatrixGenerics'
The following objects are masked from 'package:matrixStats':
    colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
    colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
    colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
    colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
    colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
    colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
    colWeightedMeans, colWeightedMedians, colWeightedSds,
    colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
    rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
    rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
    rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
    rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
    rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
    rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
    rowWeightedSds, rowWeightedVars
The following object is masked from 'package:Biobase':
    rowMedians
Loading required package: edgeR
Loading required package: limma
Attaching package: 'limma'
The following object is masked from 'package:BiocGenerics':
    plotMA
> 
> mat <- matrix(data=rpois(100, lambda=10), ncol=10)
> rownames(mat) <- paste("gene", 1:10, sep="")
> 
> es <- newSeqExpressionSet(mat)
> 
> ## dimension of W
> ks <- 1:5
> 
> ## matrix
> r1 <- lapply(ks, function(k) RUVg(mat, 1:10, k))
> 
> print(sapply(r1, function(x) dim(x$W)))
     [,1] [,2] [,3] [,4] [,5]
[1,]   10   10   10   10   10
[2,]    1    2    3    4    5
> stopifnot(all(lapply(r1, function(x) dim(x$W)[2])==ks))
> 
> ## already logged data
> r1b <- lapply(ks, function(k) RUVg(log(mat+1), 1:10, k))
Warning messages:
1: In RUVg(log(mat + 1), 1:10, k) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
2: In RUVg(log(mat + 1), 1:10, k) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
3: In RUVg(log(mat + 1), 1:10, k) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
4: In RUVg(log(mat + 1), 1:10, k) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
5: In RUVg(log(mat + 1), 1:10, k) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
> r1c <- lapply(ks, function(k) RUVg(log(mat+1), 1:10, k, isLog=TRUE))
> r1d <- lapply(ks, function(k) RUVg(mat, 1:10, k, round=FALSE))
> 
> stopifnot(all(sapply(ks, function(i) all(r1[[i]]$W==r1c[[i]]$W))))
> stopifnot(all(sapply(ks, function(i) all(r1d[[i]]$W==r1c[[i]]$W))))
> 
> stopifnot(all(sapply(ks, function(i) all(log(r1d[[i]]$normalizedCounts+1)-r1c[[i]]$normalizedCounts<1e-8))))
> 
> ## SeqExpressionSet
> r2 <- lapply(ks, function(k) RUVg(es, rownames(es)[1:10], k))
> 
> print(sapply(r2, function(x) dim(pData(x))))
     [,1] [,2] [,3] [,4] [,5]
[1,]   10   10   10   10   10
[2,]    1    2    3    4    5
> stopifnot(all(lapply(r2, function(x) dim(pData(x))[2])==ks))
> 
> ## check handling of zeros
> mat <- matrix(data=rpois(100, lambda=2), ncol=10)
> rownames(mat) <- paste("gene", 1:10, sep="")
> r3 <- RUVg(mat, 1:10, k=1)
> print(table(mat==0))
FALSE  TRUE 
   83    17 
> print(table(r3$normalizedCounts==0))
FALSE  TRUE 
   89    11 
> 
> proc.time()
   user  system elapsed 
 13.134   0.574  13.698 
RUVSeq.Rcheck/tests/RUVr.Rout
R Under development (unstable) (2025-10-20 r88955) -- "Unsuffered Consequences"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(RUVSeq)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: generics
Attaching package: 'generics'
The following objects are masked from 'package:base':
    as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
    setequal, union
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:stats':
    IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
    Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
    as.data.frame, basename, cbind, colnames, dirname, do.call,
    duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
    mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
    rank, rbind, rownames, sapply, saveRDS, table, tapply, unique,
    unsplit, which.max, which.min
Welcome to Bioconductor
    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: EDASeq
Loading required package: ShortRead
Loading required package: BiocParallel
Loading required package: Biostrings
Loading required package: S4Vectors
Loading required package: stats4
Attaching package: 'S4Vectors'
The following object is masked from 'package:utils':
    findMatches
The following objects are masked from 'package:base':
    I, expand.grid, unname
Loading required package: IRanges
Loading required package: XVector
Loading required package: Seqinfo
Attaching package: 'Biostrings'
The following object is masked from 'package:base':
    strsplit
Loading required package: Rsamtools
Loading required package: GenomicRanges
Loading required package: GenomicAlignments
Loading required package: SummarizedExperiment
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: 'matrixStats'
The following objects are masked from 'package:Biobase':
    anyMissing, rowMedians
Attaching package: 'MatrixGenerics'
The following objects are masked from 'package:matrixStats':
    colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
    colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
    colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
    colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
    colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
    colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
    colWeightedMeans, colWeightedMedians, colWeightedSds,
    colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
    rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
    rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
    rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
    rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
    rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
    rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
    rowWeightedSds, rowWeightedVars
The following object is masked from 'package:Biobase':
    rowMedians
Loading required package: edgeR
Loading required package: limma
Attaching package: 'limma'
The following object is masked from 'package:BiocGenerics':
    plotMA
> library(edgeR)
> 
> mat <- matrix(data=rpois(100, lambda=10), ncol=10)
> rownames(mat) <- paste("gene", 1:10, sep="")
> 
> es <- newSeqExpressionSet(mat)
> 
> ## compute edgeR residuals
> x <- as.factor(rep(c("Ctl", "Trt"), each=5))
> design <- model.matrix(~x)
> y <- DGEList(counts=mat, group=x)
> y <- calcNormFactors(y, method="upperquartile")
> y <- estimateGLMCommonDisp(y, design)
> y <- estimateGLMTagwiseDisp(y, design)
> 
> fit <- glmFit(y, design)
> res <- residuals(fit, type="deviance")
> 
> ## dimension of W
> ks <- 1:5
> 
> ## matrix
> r1 <- lapply(ks, function(k) RUVr(mat, 1:10, k, res))
> 
> print(sapply(r1, function(x) dim(x$W)))
     [,1] [,2] [,3] [,4] [,5]
[1,]   10   10   10   10   10
[2,]    1    2    3    4    5
> stopifnot(all(lapply(r1, function(x) dim(x$W)[2])==ks))
> 
> ## already logged data
> r1b <- lapply(ks, function(k) RUVr(log(mat+1), 1:10, k, res))
Warning messages:
1: In RUVr(log(mat + 1), 1:10, k, res) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
2: In RUVr(log(mat + 1), 1:10, k, res) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
3: In RUVr(log(mat + 1), 1:10, k, res) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
4: In RUVr(log(mat + 1), 1:10, k, res) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
5: In RUVr(log(mat + 1), 1:10, k, res) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
> r1c <- lapply(ks, function(k) RUVr(log(mat+1), 1:10, k, res, isLog=TRUE))
> r1d <- lapply(ks, function(k) RUVr(mat, 1:10, k, res, round=FALSE))
> 
> stopifnot(all(sapply(ks, function(i) all(r1[[i]]$W==r1c[[i]]$W))))
> stopifnot(all(sapply(ks, function(i) all(r1d[[i]]$W==r1c[[i]]$W))))
> 
> stopifnot(all(sapply(ks, function(i) all(log(r1d[[i]]$normalizedCounts+1)-r1c[[i]]$normalizedCounts<1e-8))))
> 
> ## SeqExpressionSet
> r2 <- lapply(ks, function(k) RUVr(es, rownames(es)[1:10], k, res))
> 
> print(sapply(r2, function(x) dim(pData(x))))
     [,1] [,2] [,3] [,4] [,5]
[1,]   10   10   10   10   10
[2,]    1    2    3    4    5
> stopifnot(all(lapply(r2, function(x) dim(pData(x))[2])==ks))
> 
> ## check handling of zeros
> mat <- matrix(data=rpois(100, lambda=2), ncol=10)
> rownames(mat) <- paste("gene", 1:10, sep="")
> r3 <- RUVr(mat, 1:10, k=1, res)
> print(table(mat==0))
FALSE  TRUE 
   90    10 
> print(table(r3$normalizedCounts==0))
FALSE  TRUE 
   89    11 
> 
> proc.time()
   user  system elapsed 
 12.992   0.566  13.548 
RUVSeq.Rcheck/tests/RUVs.Rout
R Under development (unstable) (2025-10-20 r88955) -- "Unsuffered Consequences"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(RUVSeq)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: generics
Attaching package: 'generics'
The following objects are masked from 'package:base':
    as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
    setequal, union
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:stats':
    IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
    Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
    as.data.frame, basename, cbind, colnames, dirname, do.call,
    duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
    mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
    rank, rbind, rownames, sapply, saveRDS, table, tapply, unique,
    unsplit, which.max, which.min
Welcome to Bioconductor
    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: EDASeq
Loading required package: ShortRead
Loading required package: BiocParallel
Loading required package: Biostrings
Loading required package: S4Vectors
Loading required package: stats4
Attaching package: 'S4Vectors'
The following object is masked from 'package:utils':
    findMatches
The following objects are masked from 'package:base':
    I, expand.grid, unname
Loading required package: IRanges
Loading required package: XVector
Loading required package: Seqinfo
Attaching package: 'Biostrings'
The following object is masked from 'package:base':
    strsplit
Loading required package: Rsamtools
Loading required package: GenomicRanges
Loading required package: GenomicAlignments
Loading required package: SummarizedExperiment
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: 'matrixStats'
The following objects are masked from 'package:Biobase':
    anyMissing, rowMedians
Attaching package: 'MatrixGenerics'
The following objects are masked from 'package:matrixStats':
    colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
    colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
    colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
    colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
    colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
    colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
    colWeightedMeans, colWeightedMedians, colWeightedSds,
    colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
    rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
    rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
    rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
    rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
    rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
    rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
    rowWeightedSds, rowWeightedVars
The following object is masked from 'package:Biobase':
    rowMedians
Loading required package: edgeR
Loading required package: limma
Attaching package: 'limma'
The following object is masked from 'package:BiocGenerics':
    plotMA
> 
> mat <- matrix(data=rpois(100, lambda=10), ncol=10)
> rownames(mat) <- paste("gene", 1:10, sep="")
> 
> differences <- matrix(data=c(1:3, 4:6), byrow=TRUE, nrow=2)
> 
> es <- newSeqExpressionSet(mat)
> 
> ## dimension of W
> ks <- 1:4
> 
> ## matrix
> r1 <- lapply(ks, function(k) RUVs(mat, 1:10, k, differences))
> 
> print(sapply(r1, function(x) dim(x$W)))
     [,1] [,2] [,3] [,4]
[1,]   10   10   10   10
[2,]    1    2    3    4
> stopifnot(all(lapply(r1, function(x) dim(x$W)[2])==ks))
> 
> ## already logged data
> r1b <- lapply(ks, function(k) RUVs(log(mat+1), 1:10, k, differences))
Warning messages:
1: In RUVs(log(mat + 1), 1:10, k, differences) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
2: In RUVs(log(mat + 1), 1:10, k, differences) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
3: In RUVs(log(mat + 1), 1:10, k, differences) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
4: In RUVs(log(mat + 1), 1:10, k, differences) :
  The expression matrix does not contain counts.
Please, pass a matrix of counts (not logged) or set isLog to TRUE to skip the log transformation
> r1c <- lapply(ks, function(k) RUVs(log(mat+1), 1:10, k, differences, isLog=TRUE))
> r1d <- lapply(ks, function(k) RUVs(mat, 1:10, k, differences, round=FALSE))
> 
> stopifnot(all(sapply(ks, function(i) all(r1[[i]]$W==r1c[[i]]$W))))
> stopifnot(all(sapply(ks, function(i) all(r1d[[i]]$W==r1c[[i]]$W))))
> 
> stopifnot(all(sapply(ks, function(i) all(log(r1d[[i]]$normalizedCounts+1)-r1c[[i]]$normalizedCounts<1e-8))))
> 
> ## SeqExpressionSet
> r2 <- lapply(ks, function(k) RUVs(es, rownames(es)[1:10], k, differences))
> 
> print(sapply(r2, function(x) dim(pData(x))))
     [,1] [,2] [,3] [,4]
[1,]   10   10   10   10
[2,]    1    2    3    4
> stopifnot(all(lapply(r2, function(x) dim(pData(x))[2])==ks))
> 
> ## check handling of zeros
> mat <- matrix(data=rpois(100, lambda=2), ncol=10)
> rownames(mat) <- paste("gene", 1:10, sep="")
> r3 <- RUVs(mat, 1:10, k=1, differences)
> print(table(mat==0))
FALSE  TRUE 
   84    16 
> print(table(r3$normalizedCounts==0))
FALSE  TRUE 
   84    16 
> 
> ## make groups
> factor1 <- rep(c("a", "b", "c"), each=3)
> factor2 <- c(rep("a", 4), rep("b", 2), rep("c", 3))
> factor3 <- rep(1:6, each=2)
> 
> makeGroups(factor1)
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9
> makeGroups(as.factor(factor1))
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9
> makeGroups(factor2)
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6   -1   -1
[3,]    7    8    9   -1
> makeGroups(as.factor(factor2))
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6   -1   -1
[3,]    7    8    9   -1
> makeGroups(factor3)
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
[4,]    7    8
[5,]    9   10
[6,]   11   12
> makeGroups(as.factor(factor3))
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
[4,]    7    8
[5,]    9   10
[6,]   11   12
> 
> 
> 
> proc.time()
   user  system elapsed 
 12.887   0.543  13.420 
RUVSeq.Rcheck/RUVSeq-Ex.timings
| name | user | system | elapsed | |
| RUVg | 0.342 | 0.004 | 0.347 | |
| RUVr | 1.498 | 0.007 | 1.505 | |
| RUVs | 0.129 | 0.012 | 0.141 | |
| makeGroups | 0.001 | 0.000 | 0.001 | |
| residuals.DGEGLM | 0.470 | 0.095 | 0.565 | |