Entering edit mode
Paul Leo
▴
970
@paul-leo-2092
Last seen 10.2 years ago
I am hoping for some advice with GeneMeta:
I am combining a two color and single color microarray. I'm a little
confused by the way that GeneMeta handles two color data?
Specifically getdF : what if the expression set object is from a two
color array , say for example a common reference design, how should
the
class vector indicating the group membership be constructed?
For example a 2 color experiment;
> class(MA.t)
[1] "MAList"
attr(,"package")
[1] "limma"
library(convert)
MA.exp.t<-as(MA.t,"ExpressionSet") ### get expression set object for
GeneMeta
pData(MA.exp.t)
> pData(MA.exp.t)
FileName
Data from 070503 Data from 070503.txt
Data from 08AND16 Data from 08AND16.txt
Data from 260603A Data from 260603A.txt
Data from 260603B Data from 260603B.txt
Data from 260603C Data from 260603C.txt
Data from 260603D Data from 260603D.txt
Data from 260603E Data from 260603E.txt
Data from CONvsBAY2 Data from CONvsBAY2.txt
> targets
FileName Name Cy3 Cy5
70503 Data from 070503.txt G Ref BA
08AND16 Data from 08AND16.txt H Ref BA
A Data from 260603A.txt A Ref BA
B Data from 260603B.txt B Ref BA
C Data from 260603C.txt C Ref BA
D Data from 260603D.txt D Ref BA
E Data from 260603E.txt E Ref BA
CONvsBAY2 Data from CONvsBA2.txt F Ref BA
> dim(MA.exp.t)
Features Samples
11629 8
All arrays are of the same class the ratio of affected vs control
so for example:
Split2<-MA.exp.t
Split2.class<-c(1,1,1,1,1,1,1,1)
d.Split2 <- getdF(Split2, Split2.class) ## this fails
using
Split2.class<-c(1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0) ## fails as
dim(eset)[2] != length(Split2.class) is tripped in the function
call....
______________________________________________________________________
__________________
So I have replaced getdF with a direction calculation of the
t-statistic
(since I had it anyway:
Split2.t.stat2<-fit2.agilent2.t$coef[,1] / fit2.agilent2.t
$stdev.unscaled[,1] / fit2.agilent2.t$sigma ## fit2.agilent is
unmoderated t-stat.. al la limma the gives the same results as getdF
for "typical" single color arrays)
then proceed as follows.... which I think is correct...
Split2.class<-c(rep("BA",times=dim(Split2)[2]),rep("Ref",times=dim(Spl
it2)[2]))
Split2.class<-factor(Split2.class)
levels(Split2.class) <- c(0,1)
Split2.class.counts<-tapply(Split2.class,Split2.class,length)
d.Split2<-Split2.t.stat*sqrt(sum(Split2.class.counts)/prod(Split2.clas
s.counts)) ## as per authors paper d=t.stat * sqrt(n1+n2/n1*n2)
BUT getdF is also used the the function zScores and zScoresFDR . Both
these only require minor modifications to replace but I'm a concerned
that I have missed something , can two-color data can be handled
without
modification?
Thanks
Paul
[[alternative HTML version deleted]]