50% off: Unlimited data and AI learning.
State of Data and AI Literacy Report 2025

Umpire (version 2.0.11)

NoiseModel-class: The "NoiseModel" Class

Description

A NoiseModel represents the additional machine noise that is layered on top of any biological variabilty when measuring the gene expression in a set of samples.

Usage

NoiseModel(nu, tau, phi)
# S4 method for NoiseModel
blur(object, x, ...)
# S4 method for NoiseModel
summary(object, ...)

Arguments

nu

The mean value for the additive noise

tau

The standard deviation for the additive noise

phi

The standard deviation for the multiplicative noise. Note that the mean of the multiplicative noise is set to 0.

object

object of class NoiseModel

x

The data matrix containing true signal from the gene expression

...

extra arguments affecting the blur method applied

Methods

blur(object, x, ...)

Adds and multiplies random noise to the data matrix x containing the true signal from the gene expression.

summary(object, ...)

Prints a summary of the object.

Author

Kevin R. Coombes krc@silicovore.com, Jiexin Zhang jiexinzhang@mdanderson.org,

Details

We model both additive and multiplicative noise, so that the observed expression of gene g in sample i is given by: Ygi=Sgiexp(Hgi)+Egi, where Y_gi = observed expression, S_gi = true biological signal, H_gi ~ N(0, phi) defines the multiplicative noise, and E_gi ~ N(nu,tau) defines the additive noise. Note that we allow a systematic offset/bias in the additive noise model.

References

Zhang J, Coombes KR.
Sources of variation in false discovery rate estimation include sample size, correlation, and inherent differences between groups.
BMC Bioinformatics. 2012; 13 Suppl 13:S1.

Examples

Run this code
showClass("NoiseModel")
nComp <- 10
nGenes <- 100
comp <- list()
for (i in 1:nComp){
  comp[[i]] <- IndependentLogNormal(rnorm(nGenes/nComp, 6, 1.5),
                                    1/rgamma(nGenes/nComp, 44, 28))
}
myEngine <- Engine(comp)
myData <- rand(myEngine, 5)
summary(myData)

nu <- 10
tau <- 20
phi <- 0.1
nm <- NoiseModel(nu, tau, phi)
realData <- blur(nm, myData)
summary(realData)

Run the code above in your browser using DataLab