Errors and warnings in variancePartition are mostly designed to let the user know that there is an isssue with the model. Note that some of these warnings and errors can be overridden by specifying suppressWarnings=TRUE for dream() and showWarnings=FALSE for fitExtractVarPartModel() and fitVarPartModel().

Here is a guide to interperting interpreting warnings and errors from variancePartition and dream. Note that some of the document can be found in “1) Tutorial on using variancePartition”.

# Current GitHub issues

See GitHub page for up-to-date responses to users’ questions.

# Warnings

• No Intercept term was specified in the formula: The results will not behave as expected and may be very wrong!!

An intercept (i.e. mean term) must be specified order for the results to be statistically valid. Otherwise, the variance percentages will be very overestimated.

• Categorical variables modeled as fixed effect: The results will not behave as expected and may be very wrong!!

If a linear mixed model is used, all categorical variables must be modeled as a random effect. Alternatively, a fixed effect model can be used by modeling all variables as fixed.

• Cannot have more than one varying coefficient term:\newline The results will not behave as expected and may be very wrong!!

Only one varying coefficient term can be specified. For example, the formula ~(Tissue+0|Individual) + (Batch+0|Individual) contains two varying coefficient terms and the results from this analysis are not easily interpretable. Only a formula with one term like (Tissue+0|Individual) is allowed.

# Errors

• Colinear score > .99: Covariates in the formula are so strongly correlated that the parameter estimates from this model are not meaningful. Dropping one or more of the covariates will fix this problem

• Error in asMethod(object) : not a positive definite matrix

• In vcov.merMod(fit) : Computed variance-covariance matrix problem: not a positive definite matrix; returning NA matrix

• fixed-effect model matrix is rank deficient so dropping 26 columns / coefficients

Including variables that are highly correlated can produce misleading results (see Section “Detecting problems caused by collinearity of variables”). In this case, parameter estimates from this model are not meaningful. Dropping one or more of the covariates will fix this problem.

## Errors with BiocParallel multithreading backend

• Error: 'bpiterate' receive data failed: error reading from connection

• Error in serialize(data, node\$con, xdr = FALSE) : ignoring SIGPIPE signal

variancePartition uses the BiocParallel package to run analysis in parallel across multiple cores. If there is an issue with the parallel backend you might see these errors. This often occurs in long interactive sessions, or if you manually kill a function running in parallel. There are two ways to address this issue.

• Global: set the number of threads to be a smaller number. I have found that reducing the number of threads reduces the chance of random failures like this.

library(BiocParallel)

# globally specify that all multithreading using bpiterate from BiocParallel
# should use 8 cores
register(SnowParam(8))
• Local: set the number of theads at each function call. This re-initializes the parallel backend and should address the error

fitExtractVarPartModel(..., BPPARAM=SnowParam(8))

fitVarPartModel(..., BPPARAM=SnowParam(8))

dream(..., BPPARAM=SnowParam(8))

voomWithDreamWeights(...,BPPARAM=SnowParam(8))