Back to Multiple platform build/check report for BioC 3.20:   simplified   long
ABCDEFGHIJKLMNOPQ[R]STUVWXYZ

This page was generated on 2024-11-09 21:31 -0500 (Sat, 09 Nov 2024).

HostnameOSArch (*)R versionInstalled pkgs
teran2Linux (Ubuntu 24.04.1 LTS)x86_644.4.1 (2024-06-14) -- "Race for Your Life" 4505
palomino8Windows Server 2022 Datacenterx644.4.1 (2024-06-14 ucrt) -- "Race for Your Life" 4506
lconwaymacOS 12.7.1 Montereyx86_644.4.1 (2024-06-14) -- "Race for Your Life" 4538
kjohnson3macOS 13.6.5 Venturaarm644.4.1 (2024-06-14) -- "Race for Your Life" 4486
kunpeng2Linux (openEuler 22.03 LTS-SP1)aarch644.4.1 (2024-06-14) -- "Race for Your Life" 4493
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 1827/2289HostnameOS / ArchINSTALLBUILDCHECKBUILD BIN
RUVSeq 1.40.0  (landing page)
Davide Risso
Snapshot Date: 2024-11-08 13:40 -0500 (Fri, 08 Nov 2024)
git_url: https://git.bioconductor.org/packages/RUVSeq
git_branch: RELEASE_3_20
git_last_commit: 2ed42a1
git_last_commit_date: 2024-10-29 09:52:39 -0500 (Tue, 29 Oct 2024)
teran2Linux (Ubuntu 24.04.1 LTS) / x86_64  OK    OK    OK  UNNEEDED, same version is already published
palomino8Windows Server 2022 Datacenter / x64  OK    OK    OK    OK  UNNEEDED, same version is already published
lconwaymacOS 12.7.1 Monterey / x86_64  OK    OK    OK    OK  UNNEEDED, same version is already published
kjohnson3macOS 13.6.5 Ventura / arm64  OK    OK    OK    OK  YES
kunpeng2Linux (openEuler 22.03 LTS-SP1) / aarch64  OK    OK    OK  


CHECK results for RUVSeq on kjohnson3

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.

raw results


Summary

Package: RUVSeq
Version: 1.40.0
Command: /Library/Frameworks/R.framework/Resources/bin/R CMD check --install=check:RUVSeq.install-out.txt --library=/Library/Frameworks/R.framework/Resources/library --no-vignettes --timings RUVSeq_1.40.0.tar.gz
StartedAt: 2024-11-09 12:08:54 -0500 (Sat, 09 Nov 2024)
EndedAt: 2024-11-09 12:14:22 -0500 (Sat, 09 Nov 2024)
EllapsedTime: 328.1 seconds
RetCode: 0
Status:   OK  
CheckDir: RUVSeq.Rcheck
Warnings: 0

Command output

##############################################################################
##############################################################################
###
### Running command:
###
###   /Library/Frameworks/R.framework/Resources/bin/R CMD check --install=check:RUVSeq.install-out.txt --library=/Library/Frameworks/R.framework/Resources/library --no-vignettes --timings RUVSeq_1.40.0.tar.gz
###
##############################################################################
##############################################################################


* using log directory ‘/Users/biocbuild/bbs-3.20-bioc/meat/RUVSeq.Rcheck’
* using R version 4.4.1 (2024-06-14)
* using platform: aarch64-apple-darwin20
* R was compiled by
    Apple clang version 14.0.0 (clang-1400.0.29.202)
    GNU Fortran (GCC) 12.2.0
* running under: macOS Ventura 13.6.7
* using session charset: UTF-8
* using option ‘--no-vignettes’
* checking for file ‘RUVSeq/DESCRIPTION’ ... OK
* this is package ‘RUVSeq’ version ‘1.40.0’
* checking package namespace information ... OK
* checking package dependencies ...Warning: unable to access index for repository https://CRAN.R-project.org/src/contrib:
  cannot open URL 'https://CRAN.R-project.org/src/contrib/PACKAGES'
 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 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 ... OK
* 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 running R code from vignettes ... SKIPPED
* checking re-building of vignette outputs ... SKIPPED
* checking PDF version of manual ... OK
* DONE

Status: 2 NOTEs
See
  ‘/Users/biocbuild/bbs-3.20-bioc/meat/RUVSeq.Rcheck/00check.log’
for details.


Installation output

RUVSeq.Rcheck/00install.out

##############################################################################
##############################################################################
###
### Running command:
###
###   /Library/Frameworks/R.framework/Resources/bin/R CMD INSTALL RUVSeq
###
##############################################################################
##############################################################################


* installing to library ‘/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library’
* installing *source* package ‘RUVSeq’ ...
** 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)

Tests output

RUVSeq.Rcheck/tests/RUVg.Rout


R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: aarch64-apple-darwin20

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

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, intersect, is.unsorted,
    lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
    pmin.int, rank, rbind, rownames, sapply, saveRDS, setdiff, table,
    tapply, union, 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: GenomeInfoDb

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 
   87    13 
> print(table(r3$normalizedCounts==0))

FALSE  TRUE 
   93     7 
> 
> proc.time()
   user  system elapsed 
  4.407   0.142   4.546 

RUVSeq.Rcheck/tests/RUVr.Rout


R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: aarch64-apple-darwin20

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

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, intersect, is.unsorted,
    lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
    pmin.int, rank, rbind, rownames, sapply, saveRDS, setdiff, table,
    tapply, union, 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: GenomeInfoDb

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 
   88    12 
> print(table(r3$normalizedCounts==0))

FALSE  TRUE 
   87    13 
> 
> proc.time()
   user  system elapsed 
  4.478   0.149   4.624 

RUVSeq.Rcheck/tests/RUVs.Rout


R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: aarch64-apple-darwin20

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

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, intersect, is.unsorted,
    lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
    pmin.int, rank, rbind, rownames, sapply, saveRDS, setdiff, table,
    tapply, union, 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: GenomeInfoDb

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 
   86    14 
> print(table(r3$normalizedCounts==0))

FALSE  TRUE 
   83    17 
> 
> ## 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 
  4.676   0.146   4.819 

Example timings

RUVSeq.Rcheck/RUVSeq-Ex.timings

nameusersystemelapsed
RUVg0.1120.0030.117
RUVr0.4890.0040.493
RUVs0.0400.0030.042
makeGroups0.0010.0000.000
residuals.DGEGLM0.1270.0080.135