Back to Multiple platform build/check report for BioC 3.9
ABCDEFGHIJKLMNOPQ[R]STUVWXYZ

CHECK report for RUVSeq on malbec2

This page was generated on 2019-10-16 12:04:43 -0400 (Wed, 16 Oct 2019).

Package 1442/1741HostnameOS / ArchINSTALLBUILDCHECKBUILD BIN
RUVSeq 1.18.0
Davide Risso
Snapshot Date: 2019-10-15 17:01:26 -0400 (Tue, 15 Oct 2019)
URL: https://git.bioconductor.org/packages/RUVSeq
Branch: RELEASE_3_9
Last Commit: 3701913
Last Changed Date: 2019-05-02 11:53:48 -0400 (Thu, 02 May 2019)
malbec2 Linux (Ubuntu 18.04.2 LTS) / x86_64  OK  OK [ OK ]UNNEEDED, same version exists in internal repository
tokay2 Windows Server 2012 R2 Standard / x64  OK  OK  OK  OK UNNEEDED, same version exists in internal repository
celaya2 OS X 10.11.6 El Capitan / x86_64  OK  OK  OK  OK UNNEEDED, same version exists in internal repository

Summary

Package: RUVSeq
Version: 1.18.0
Command: /home/biocbuild/bbs-3.9-bioc/R/bin/R CMD check --install=check:RUVSeq.install-out.txt --library=/home/biocbuild/bbs-3.9-bioc/R/library --no-vignettes --timings RUVSeq_1.18.0.tar.gz
StartedAt: 2019-10-16 04:45:25 -0400 (Wed, 16 Oct 2019)
EndedAt: 2019-10-16 04:50:42 -0400 (Wed, 16 Oct 2019)
EllapsedTime: 317.3 seconds
RetCode: 0
Status:  OK 
CheckDir: RUVSeq.Rcheck
Warnings: 0

Command output

##############################################################################
##############################################################################
###
### Running command:
###
###   /home/biocbuild/bbs-3.9-bioc/R/bin/R CMD check --install=check:RUVSeq.install-out.txt --library=/home/biocbuild/bbs-3.9-bioc/R/library --no-vignettes --timings RUVSeq_1.18.0.tar.gz
###
##############################################################################
##############################################################################


* using log directory ‘/home/biocbuild/bbs-3.9-bioc/meat/RUVSeq.Rcheck’
* using R version 3.6.1 (2019-07-05)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* using option ‘--no-vignettes’
* checking for file ‘RUVSeq/DESCRIPTION’ ... OK
* this is package ‘RUVSeq’ version ‘1.18.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 R 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 : : 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 ... OK
* 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 in ‘inst/doc’ ... OK
* checking running R code from vignettes ... SKIPPED
* checking re-building of vignette outputs ... SKIPPED
* checking PDF version of manual ... OK
* DONE

Status: 1 NOTE
See
  ‘/home/biocbuild/bbs-3.9-bioc/meat/RUVSeq.Rcheck/00check.log’
for details.



Installation output

RUVSeq.Rcheck/00install.out

##############################################################################
##############################################################################
###
### Running command:
###
###   /home/biocbuild/bbs-3.9-bioc/R/bin/R CMD INSTALL RUVSeq
###
##############################################################################
##############################################################################


* installing to library ‘/home/biocbuild/bbs-3.9-bioc/R/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 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

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: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

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, 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, setdiff, sort, table,
    tapply, union, unique, unsplit, which, 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:base':

    expand.grid

Loading required package: IRanges
Loading required package: XVector

Attaching package: 'Biostrings'

The following object is masked from 'package:base':

    strsplit

Loading required package: Rsamtools
Loading required package: GenomeInfoDb
Loading required package: GenomicRanges
Loading required package: GenomicAlignments
Loading required package: SummarizedExperiment
Loading required package: DelayedArray
Loading required package: matrixStats

Attaching package: 'matrixStats'

The following objects are masked from 'package:Biobase':

    anyMissing, rowMedians


Attaching package: 'DelayedArray'

The following objects are masked from 'package:matrixStats':

    colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges

The following object is masked from 'package:Biostrings':

    type

The following objects are masked from 'package:base':

    aperm, apply, rowsum

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

FALSE  TRUE 
   94     6 
> 
> proc.time()
   user  system elapsed 
 13.866   0.596  14.497 

RUVSeq.Rcheck/tests/RUVr.Rout


R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

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: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

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, 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, setdiff, sort, table,
    tapply, union, unique, unsplit, which, 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:base':

    expand.grid

Loading required package: IRanges
Loading required package: XVector

Attaching package: 'Biostrings'

The following object is masked from 'package:base':

    strsplit

Loading required package: Rsamtools
Loading required package: GenomeInfoDb
Loading required package: GenomicRanges
Loading required package: GenomicAlignments
Loading required package: SummarizedExperiment
Loading required package: DelayedArray
Loading required package: matrixStats

Attaching package: 'matrixStats'

The following objects are masked from 'package:Biobase':

    anyMissing, rowMedians


Attaching package: 'DelayedArray'

The following objects are masked from 'package:matrixStats':

    colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges

The following object is masked from 'package:Biostrings':

    type

The following objects are masked from 'package:base':

    aperm, apply, rowsum

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

FALSE  TRUE 
   82    18 
> 
> proc.time()
   user  system elapsed 
 15.222   0.583  15.970 

RUVSeq.Rcheck/tests/RUVs.Rout


R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

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: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

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, 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, setdiff, sort, table,
    tapply, union, unique, unsplit, which, 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:base':

    expand.grid

Loading required package: IRanges
Loading required package: XVector

Attaching package: 'Biostrings'

The following object is masked from 'package:base':

    strsplit

Loading required package: Rsamtools
Loading required package: GenomeInfoDb
Loading required package: GenomicRanges
Loading required package: GenomicAlignments
Loading required package: SummarizedExperiment
Loading required package: DelayedArray
Loading required package: matrixStats

Attaching package: 'matrixStats'

The following objects are masked from 'package:Biobase':

    anyMissing, rowMedians


Attaching package: 'DelayedArray'

The following objects are masked from 'package:matrixStats':

    colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges

The following object is masked from 'package:Biostrings':

    type

The following objects are masked from 'package:base':

    aperm, apply, rowsum

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

FALSE  TRUE 
   90    10 
> 
> ## 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 
 16.255   0.583  16.997 

Example timings

RUVSeq.Rcheck/RUVSeq-Ex.timings

nameusersystemelapsed
RUVg0.6150.0440.707
RUVr0.9640.0040.968
RUVs0.2200.0000.221
makeGroups0.0020.0000.001
residuals.DGEGLM0.8090.0040.813