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@stat.math.ethz.ch
> [mailto:bioconductor-bounces@stat.math.ethz.ch] On Behalf Of Maria
> Fookes
> Sent: 11 March 2004 11:05
> To: bioconductor@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