FW: [BioC] Two-different spacing, limma

Matthew Ritchie mritchie at wehi.EDU.AU
Tue Mar 16 00:08:25 MET 2004


Hi Maria,

limma is set up to handle replicate spots which have constant spacing by
default.  The assumption when you fit a linear model with lmFit() is that
the log-ratios from the duplicate spots on an array are correlated through
being on the same array and being spatially separated by a constant amount
(ie side-by-side, or one below the other).  This assumption is violated if
the spacing isn't constant.

If the spacing is constant for your data (but different?) for the two
classes of spots, you could always fit the linear model separately to the
2 subsets of spots after normalization.  I've put a toy example below
which might help.  I wouldn't bother rearranging the gpr files.

Best wishes,

Matt Ritchie

# Example  - assume we have 2 replicate arrays, each with 6 genes printed
in duplicate in a 3x4 grid
# the control spots are side by side, however the genes are below each other
genes <-
data.frame(ID=c("Control1","Control1","Control2","Control2","AA1","AA2","AA3","AA4",
"AA1", "AA2", "AA3", "AA4"),
          Name=c("Ratio 1","Ratio 1","House keeping 1","House keeping
1","Gene 1","Gene 2","Gene 3","Gene 4", "Gene1", "Gene2",
"Gene3", "Gene4"))
genes

# The information stored in types would normally be kept in a spottypes
file and read in using readSpotTypes() - see the limma user's guide for an
example
types <-
data.frame(SpotType=c("Gene","Ratio","Housekeeping"),ID=c("*","Control*","Control*"),Name=c("*","Ratio*","House
keeping*"),col=c("black","red","blue"))
status <- controlStatus(types,genes)

# randomly generate an MAList object for the 2 array
MA <- new("MAList", list(M=matrix(rnorm(24), 12, 2),
			A=matrix(rnorm(24, 10, 2), 12, 2)))
MA

# calulate the duplicate correlation for the two groups (different for
each because of the different spacing - note the different spacing
arguments)
corGene <- duplicateCorrelation(MA[status=="Gene",], ndups=2, spacing=4)
corControl <- duplicateCorrelation(MA[status=="Ratio" |
status=="Houeskeeping",], ndups=2, spacing=1)

# now summarise the log-ratios for the genes and the controls
fitGene <- lmFit(MA[status=="Gene",], ndups=2, spacing=4,
correlation=corGene$cor)
fitControl <- lmFit(MA[status=="Ratio"|status=="Housekeeping",], ndups=2,
spacing=1, correlation=corControl$cor)

> -----Original Message-----
> From: bioconductor-bounces at stat.math.ethz.ch
> [mailto:bioconductor-bounces at stat.math.ethz.ch] On Behalf Of Maria
> Fookes
> Sent: 11 March 2004 11:05
> To: bioconductor at stat.math.ethz.ch
>
> FAO Limma developers,
>
> I have started to use the limma package for a couple of two-colour
> hybridization slides RNA/RNA... can anybody tell me if I can still use
> it
> When I have features in the array at one spacing (controls) and other
> features at another spacing? Or do I have to modify my gpr file?
> (generated by genepix)
>
> Thank you very much in advance
> María



More information about the Bioconductor mailing list