lmscFit {limma} | R Documentation

## Fit Linear Model to Individual Channels of Two-Color Data

### Description

Fit a linear model to the individual log-intensities for each gene given a series of two-color arrays

### Usage

    lmscFit(object, design, correlation)

### Arguments

`object` | an `MAList` object or a list from which `M` and `A` values may be extracted
`design` | a numeric matrix containing the design matrix for linear model in terms of the individual channels. The number of rows should be twice the number of arrays. The number of columns will determine the number of coefficients estimated for each gene.
`correlation` | numeric value giving the intra-spot correlation

### Details

For two color arrays, the channels measured on the same set of arrays are correlated. The `M` and `A` however are uncorrelated for each gene. This function fits a linear model to the set of M and A-values for each gene after re-scaling the M and A-values to have equal variances. The input correlation determines the scaling required. The input correlation is usually estimated using `intraspotCorrelation` before using `lmscFit`.

Missing values in `M` or `A` are not allowed.

### Value

An object of class `MArrayLM`

### Author(s)

Gordon Smyth

### References

Smyth, G. K. (2005). Individual channel analysis of two-colour microarray data. Proceedings of the 55th Session of the International Statistics Institute, 5-12 April 2005, Sydney, Australia, Paper 116. http://www.statsci.org/smyth/pubs/ISI2005-116.pdf

### See Also

`lm.fit`.

An overview of methods for single channel analysis in limma is given by 07.SingleChannel.

### Examples

    library(sma)
    # Subset of data from ApoAI case study in Limma User's Guide
    data(MouseArray)
    # Avoid non-positive intensities
    RG <- backgroundCorrect(mouse.data,method="normexp")
    MA <- normalizeWithinArrays(RG,mouse.setup)
    MA <- normalizeBetweenArrays(MA,method="Aq")
    # Randomly choose 500 genes for this example
    i <- sample(1:nrow(MA),500)
    MA <- MA[i,]
    targets <- data.frame(Cy3=I(rep("Pool",6)),Cy5=I(c("WT","WT","WT","KO","KO","KO")))
    targets.sc <- targetsA2C(targets)
    targets.sc$Target <- factor(targets.sc$Target,levels=c("Pool","WT","KO"))
    design <- model.matrix(~Target,data=targets.sc)
    corfit <- intraspotCorrelation(MA,design)
    fit <- lmscFit(MA,design,correlation=corfit$consensus)
    cont.matrix <- cbind(KOvsWT=c(0,-1,1))
    fit2 <- contrasts.fit(fit,cont.matrix)
    fit2 <- eBayes(fit2)
    topTable(fit2,adjust="fdr")

[Package limma version 2.18.3 Index]