BioC] LIMMA: paired samples AND technical replicates
1
0
Entering edit mode
@gordon-smyth
Last seen 16 minutes ago
WEHI, Melbourne, Australia
Dear Charlotte, Paired samples are normally handled as described in Section 8.3 "Paired Samples" of the limma User's Guide. There shouldn't be any conflict between this and your technical replicates. Best wishes Gordon >Date: Wed, 05 Sep 2007 17:54:42 +0200 >From: Charlotte Schjerling <araneus at="" mrna.dk=""> >Subject: [BioC] LIMMA: paired samples AND technical replicates >To: bioconductor at stat.math.ethz.ch >Message-ID: <20070905155442.ADC4E5C29 at ns1-int.rh.dk> >Content-Type: text/plain; charset=us-ascii; format=flowed > >I have tried to search the BioC archives but have not found posts >dealing with both paired samples and technical replicates in a setup >like mine. > >I have 3 patients A, B, and C from which I have 4 samples: M.early, >nM.early, M.late, and nM.late. Each sample has a technical >replicate resulting in 24 arrays (Affymetrix). > >biolrep Patient M.early nM.early M.late nM.late >1 A 1 0 0 0 >1 A 1 0 0 0 >2 A 0 1 0 0 >2 A 0 1 0 0 >3 A 0 0 1 0 >3 A 0 0 1 0 >4 A 0 0 0 1 >4 A 0 0 0 1 >5 B 1 0 0 0 >5 B 1 0 0 0 >6 B 0 1 0 0 >6 B 0 1 0 0 >7 B 0 0 1 0 >7 B 0 0 1 0 >8 B 0 0 0 1 >8 B 0 0 0 1 >9 C 1 0 0 0 >9 C 1 0 0 0 >10 C 0 1 0 0 >10 C 0 1 0 0 >11 C 0 0 1 0 >11 C 0 0 1 0 >12 C 0 0 0 1 >12 C 0 0 0 1 > >I would like to find the following 4 contrasts: > >1) M.early - nM.early >2) M.late - nM.late >3) M.early - M.late >4) nM.early - nM.late > >biolrep <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12) >corfit <- duplicateCorrelation(eset, design, ndups=1, block=biolrep) > >If I ignore the pairing part I have constructed the following design matrix: > > > design > M.early nM.early M.late nM.late >1 1 0 0 0 >2 1 0 0 0 >3 0 1 0 0 >4 0 1 0 0 >5 0 0 1 0 >6 0 0 1 0 >7 0 0 0 1 >8 0 0 0 1 >9 1 0 0 0 >10 1 0 0 0 >11 0 1 0 0 >12 0 1 0 0 >13 0 0 1 0 >14 0 0 1 0 >15 0 0 0 1 >16 0 0 0 1 >17 1 0 0 0 >18 1 0 0 0 >19 0 1 0 0 >20 0 1 0 0 >21 0 0 1 0 >22 0 0 1 0 >23 0 0 0 1 >24 0 0 0 1 >attr(,"assign") >[1] 1 1 1 1 >attr(,"contrasts") >attr(,"contrasts")$f >[1] "contr.treatment" > > >fit <- lmFit(eset, design, ndups=1, block=biolrep, cor=corfit$consensus) >contrasts <- makeContrasts(M.early-nM.early, M.late-nM.late, >M.early-M.late, nM.early-nM.late, levels=design) >fit2 <- contrasts.fit(fit, contrasts) >fit2 <- eBayes(fit2) > >However, I would like to include the pairing by patient into the >analyses and that I cannot figure out how to do. > >Hope someone can help, > >Charlotte
limma limma • 1.4k views
ADD COMMENT
0
Entering edit mode
@charlotte-schjerling-2363
Last seen 10.2 years ago
Dear Gordon I find my set-up a little more complicated than described in the Limma manual so I have to ask whether the following is correct. A text file with target information is read by: targets <- readTargets() > targets SampleName Patient Treatment 1 AM92a A M.early 2 AM92b A M.early 3 AnM92a A nM.early 4 AnM92b A nM.early 5 AM01a A M.late 6 AM01b A M.late 7 AnM01a A nM.late 8 AnM01b A nM.late 9 BM92a B M.early 10 BM92b B M.early 11 BnM92a B nM.early 12 BnM92b B nM.early 13 BM02a B M.late 14 BM02b B M.late 15 BnM02a B nM.late 16 BnM02b B nM.late 17 DM88a C M.early 18 DM88b C M.early 19 DnM88a C nM.early 20 DnM88b C nM.early 21 DM97a C M.late 22 DM97b C M.late 23 DnM97a C nM.late 24 DnM97b C nM.late Patient <- factor(targets$Patient) Treat <- factor(targets$Treatment) I do not want an intercept in my design matrix so I can either choose: design <- model.matrix(~0+Patient+Treat) > design PatientA PatientB PatientC TreatM.late TreatnM.early TreatnM.late 1 1 0 0 0 0 0 2 1 0 0 0 0 0 3 1 0 0 0 1 0 4 1 0 0 0 1 0 5 1 0 0 1 0 0 6 1 0 0 1 0 0 7 1 0 0 0 0 1 8 1 0 0 0 0 1 9 0 1 0 0 0 0 10 0 1 0 0 0 0 11 0 1 0 0 1 0 12 0 1 0 0 1 0 13 0 1 0 1 0 0 14 0 1 0 1 0 0 15 0 1 0 0 0 1 16 0 1 0 0 0 1 17 0 0 1 0 0 0 18 0 0 1 0 0 0 19 0 0 1 0 1 0 20 0 0 1 0 1 0 21 0 0 1 1 0 0 22 0 0 1 1 0 0 23 0 0 1 0 0 1 24 0 0 1 0 0 1 attr(,"assign") [1] 1 1 1 2 2 2 attr(,"contrasts") attr(,"contrasts")$Patient [1] "contr.treatment" attr(,"contrasts")$Treat [1] "contr.treatment" or design <- model.matrix(~0+Treat+Patient) > design TreatM.early TreatM.late TreatnM.early TreatnM.late PatientB PatientC 1 1 0 0 0 0 0 2 1 0 0 0 0 0 3 0 0 1 0 0 0 4 0 0 1 0 0 0 5 0 1 0 0 0 0 6 0 1 0 0 0 0 7 0 0 0 1 0 0 8 0 0 0 1 0 0 9 1 0 0 0 1 0 10 1 0 0 0 1 0 11 0 0 1 0 1 0 12 0 0 1 0 1 0 13 0 1 0 0 1 0 14 0 1 0 0 1 0 15 0 0 0 1 1 0 16 0 0 0 1 1 0 17 1 0 0 0 0 1 18 1 0 0 0 0 1 19 0 0 1 0 0 1 20 0 0 1 0 0 1 21 0 1 0 0 0 1 22 0 1 0 0 0 1 23 0 0 0 1 0 1 24 0 0 0 1 0 1 attr(,"assign") [1] 1 1 1 1 2 2 attr(,"contrasts") attr(,"contrasts")$Treat [1] "contr.treatment" attr(,"contrasts")$Patient [1] "contr.treatment" However, I think that only the latter can give me the contrasts that I want: > contrasts Contrasts Levels TreatM.early - TreatnM.early TreatM.late - TreatnM.late TreatM.late - TreatM.early TreatnM.late - TreatnM.early TreatM.early 1 0 -1 0 TreatM.late 0 1 1 0 TreatnM.early -1 0 0 -1 TreatnM.late 0 -1 0 1 PatientB 0 0 0 0 PatientC 0 0 0 0 > Will it be correct to use: design <- model.matrix(~0+Treat+Patient)? And then I continue with: biolrep <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12) corfit <- duplicateCorrelation(eset, design, ndups=1, block=biolrep) fit <- lmFit(eset, design, ndups=1, block=biolrep, cor=corfit$consensus) contrasts <- makeContrasts(TreatM.early-TreatnM.early, TreatM.late-TreatnM.late, TreatM.early-TreatM.late, TreatnM.early-TreatnM.late, levels=design) fit2 <- contrasts.fit(fit, contrasts) fit2 <- eBayes(fit2) Will that give me the paired set-up so each of the 4 conditions are treated as originating from the 3 patients (A, B, D)? Thanks, Charlotte At 01:14 AM 9/7/2007, you wrote: >Dear Charlotte, > >Paired samples are normally handled as described in Section 8.3 >"Paired Samples" of the limma User's Guide. There shouldn't be any >conflict between this and your technical replicates. > >Best wishes >Gordon > >>Date: Wed, 05 Sep 2007 17:54:42 +0200 >>From: Charlotte Schjerling <araneus at="" mrna.dk=""> >>Subject: [BioC] LIMMA: paired samples AND technical replicates >>To: bioconductor at stat.math.ethz.ch >>Message-ID: <20070905155442.ADC4E5C29 at ns1-int.rh.dk> >>Content-Type: text/plain; charset=us-ascii; format=flowed >> >>I have tried to search the BioC archives but have not found posts >>dealing with both paired samples and technical replicates in a setup >>like mine. >> >>I have 3 patients A, B, and C from which I have 4 samples: M.early, >>nM.early, M.late, and nM.late. Each sample has a technical >>replicate resulting in 24 arrays (Affymetrix). >> >>biolrep Patient M.early nM.early M.late nM.late >>1 A 1 0 0 0 >>1 A 1 0 0 0 >>2 A 0 1 0 0 >>2 A 0 1 0 0 >>3 A 0 0 1 0 >>3 A 0 0 1 0 >>4 A 0 0 0 1 >>4 A 0 0 0 1 >>5 B 1 0 0 0 >>5 B 1 0 0 0 >>6 B 0 1 0 0 >>6 B 0 1 0 0 >>7 B 0 0 1 0 >>7 B 0 0 1 0 >>8 B 0 0 0 1 >>8 B 0 0 0 1 >>9 C 1 0 0 0 >>9 C 1 0 0 0 >>10 C 0 1 0 0 >>10 C 0 1 0 0 >>11 C 0 0 1 0 >>11 C 0 0 1 0 >>12 C 0 0 0 1 >>12 C 0 0 0 1 >> >>I would like to find the following 4 contrasts: >> >>1) M.early - nM.early >>2) M.late - nM.late >>3) M.early - M.late >>4) nM.early - nM.late >> >>biolrep <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12) >>corfit <- duplicateCorrelation(eset, design, ndups=1, block=biolrep) >> >>If I ignore the pairing part I have constructed the following design matrix: >> >> > design >> M.early nM.early M.late nM.late >>1 1 0 0 0 >>2 1 0 0 0 >>3 0 1 0 0 >>4 0 1 0 0 >>5 0 0 1 0 >>6 0 0 1 0 >>7 0 0 0 1 >>8 0 0 0 1 >>9 1 0 0 0 >>10 1 0 0 0 >>11 0 1 0 0 >>12 0 1 0 0 >>13 0 0 1 0 >>14 0 0 1 0 >>15 0 0 0 1 >>16 0 0 0 1 >>17 1 0 0 0 >>18 1 0 0 0 >>19 0 1 0 0 >>20 0 1 0 0 >>21 0 0 1 0 >>22 0 0 1 0 >>23 0 0 0 1 >>24 0 0 0 1 >>attr(,"assign") >>[1] 1 1 1 1 >>attr(,"contrasts") >>attr(,"contrasts")$f >>[1] "contr.treatment" >> >> >>fit <- lmFit(eset, design, ndups=1, block=biolrep, cor=corfit$consensus) >>contrasts <- makeContrasts(M.early-nM.early, M.late-nM.late, >>M.early-M.late, nM.early-nM.late, levels=design) >>fit2 <- contrasts.fit(fit, contrasts) >>fit2 <- eBayes(fit2) >> >>However, I would like to include the pairing by patient into the >>analyses and that I cannot figure out how to do. >> >>Hope someone can help, >> >>Charlotte
ADD COMMENT
0
Entering edit mode
Charlotte, It looks like it might work ok, but I don't have time to check it out properly. Best wishes Gordon At 02:28 AM 21/09/2007, Charlotte Schjerling wrote: >Dear Gordon > >I find my set-up a little more complicated than described in the >Limma manual so I have to ask whether the following is correct. > >A text file with target information is read by: > >targets <- readTargets() > > > targets > SampleName Patient Treatment >1 AM92a A M.early >2 AM92b A M.early >3 AnM92a A nM.early >4 AnM92b A nM.early >5 AM01a A M.late >6 AM01b A M.late >7 AnM01a A nM.late >8 AnM01b A nM.late >9 BM92a B M.early >10 BM92b B M.early >11 BnM92a B nM.early >12 BnM92b B nM.early >13 BM02a B M.late >14 BM02b B M.late >15 BnM02a B nM.late >16 BnM02b B nM.late >17 DM88a C M.early >18 DM88b C M.early >19 DnM88a C nM.early >20 DnM88b C nM.early >21 DM97a C M.late >22 DM97b C M.late >23 DnM97a C nM.late >24 DnM97b C nM.late > >Patient <- factor(targets$Patient) >Treat <- factor(targets$Treatment) > >I do not want an intercept in my design matrix so I can either choose: > >design <- model.matrix(~0+Patient+Treat) > > design > PatientA PatientB PatientC TreatM.late TreatnM.early TreatnM.late >1 1 0 0 0 0 0 >2 1 0 0 0 0 0 >3 1 0 0 0 1 0 >4 1 0 0 0 1 0 >5 1 0 0 1 0 0 >6 1 0 0 1 0 0 >7 1 0 0 0 0 1 >8 1 0 0 0 0 1 >9 0 1 0 0 0 0 >10 0 1 0 0 0 0 >11 0 1 0 0 1 0 >12 0 1 0 0 1 0 >13 0 1 0 1 0 0 >14 0 1 0 1 0 0 >15 0 1 0 0 0 1 >16 0 1 0 0 0 1 >17 0 0 1 0 0 0 >18 0 0 1 0 0 0 >19 0 0 1 0 1 0 >20 0 0 1 0 1 0 >21 0 0 1 1 0 0 >22 0 0 1 1 0 0 >23 0 0 1 0 0 1 >24 0 0 1 0 0 1 >attr(,"assign") >[1] 1 1 1 2 2 2 >attr(,"contrasts") >attr(,"contrasts")$Patient >[1] "contr.treatment" > >attr(,"contrasts")$Treat >[1] "contr.treatment" > >or > >design <- model.matrix(~0+Treat+Patient) > > > design > TreatM.early TreatM.late TreatnM.early TreatnM.late PatientB PatientC >1 1 0 0 0 0 0 >2 1 0 0 0 0 0 >3 0 0 1 0 0 0 >4 0 0 1 0 0 0 >5 0 1 0 0 0 0 >6 0 1 0 0 0 0 >7 0 0 0 1 0 0 >8 0 0 0 1 0 0 >9 1 0 0 0 1 0 >10 1 0 0 0 1 0 >11 0 0 1 0 1 0 >12 0 0 1 0 1 0 >13 0 1 0 0 1 0 >14 0 1 0 0 1 0 >15 0 0 0 1 1 0 >16 0 0 0 1 1 0 >17 1 0 0 0 0 1 >18 1 0 0 0 0 1 >19 0 0 1 0 0 1 >20 0 0 1 0 0 1 >21 0 1 0 0 0 1 >22 0 1 0 0 0 1 >23 0 0 0 1 0 1 >24 0 0 0 1 0 1 >attr(,"assign") >[1] 1 1 1 1 2 2 >attr(,"contrasts") >attr(,"contrasts")$Treat >[1] "contr.treatment" > >attr(,"contrasts")$Patient >[1] "contr.treatment" > > >However, I think that only the latter can give me the contrasts that I want: > > > contrasts > Contrasts >Levels TreatM.early - TreatnM.early TreatM.late - >TreatnM.late TreatM.late - TreatM.early TreatnM.late - TreatnM.early > TreatM.early 1 0 > -1 0 > TreatM.late 0 1 > 1 0 > TreatnM.early -1 0 > 0 -1 > TreatnM.late 0 > -1 0 1 > PatientB 0 0 > 0 0 > PatientC 0 0 > 0 0 > > > >Will it be correct to use: design <- model.matrix(~0+Treat+Patient)? > >And then I continue with: > >biolrep <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12) >corfit <- duplicateCorrelation(eset, design, ndups=1, block=biolrep) >fit <- lmFit(eset, design, ndups=1, block=biolrep, cor=corfit$consensus) >contrasts <- makeContrasts(TreatM.early-TreatnM.early, >TreatM.late-TreatnM.late, TreatM.early-TreatM.late, >TreatnM.early-TreatnM.late, levels=design) >fit2 <- contrasts.fit(fit, contrasts) >fit2 <- eBayes(fit2) > >Will that give me the paired set-up so each of the 4 conditions are >treated as originating from the 3 patients (A, B, D)? > >Thanks, >Charlotte > >At 01:14 AM 9/7/2007, you wrote: >>Dear Charlotte, >> >>Paired samples are normally handled as described in Section 8.3 >>"Paired Samples" of the limma User's Guide. There shouldn't be any >>conflict between this and your technical replicates. >> >>Best wishes >>Gordon >> >>>Date: Wed, 05 Sep 2007 17:54:42 +0200 >>>From: Charlotte Schjerling <araneus at="" mrna.dk=""> >>>Subject: [BioC] LIMMA: paired samples AND technical replicates >>>To: bioconductor at stat.math.ethz.ch >>>Message-ID: <20070905155442.ADC4E5C29 at ns1-int.rh.dk> >>>Content-Type: text/plain; charset=us-ascii; format=flowed >>> >>>I have tried to search the BioC archives but have not found posts >>>dealing with both paired samples and technical replicates in a setup >>>like mine. >>> >>>I have 3 patients A, B, and C from which I have 4 samples: M.early, >>>nM.early, M.late, and nM.late. Each sample has a technical >>>replicate resulting in 24 arrays (Affymetrix). >>> >>>biolrep Patient M.early nM.early M.late nM.late >>>1 A 1 0 0 0 >>>1 A 1 0 0 0 >>>2 A 0 1 0 0 >>>2 A 0 1 0 0 >>>3 A 0 0 1 0 >>>3 A 0 0 1 0 >>>4 A 0 0 0 1 >>>4 A 0 0 0 1 >>>5 B 1 0 0 0 >>>5 B 1 0 0 0 >>>6 B 0 1 0 0 >>>6 B 0 1 0 0 >>>7 B 0 0 1 0 >>>7 B 0 0 1 0 >>>8 B 0 0 0 1 >>>8 B 0 0 0 1 >>>9 C 1 0 0 0 >>>9 C 1 0 0 0 >>>10 C 0 1 0 0 >>>10 C 0 1 0 0 >>>11 C 0 0 1 0 >>>11 C 0 0 1 0 >>>12 C 0 0 0 1 >>>12 C 0 0 0 1 >>> >>>I would like to find the following 4 contrasts: >>> >>>1) M.early - nM.early >>>2) M.late - nM.late >>>3) M.early - M.late >>>4) nM.early - nM.late >>> >>>biolrep <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12) >>>corfit <- duplicateCorrelation(eset, design, ndups=1, block=biolrep) >>> >>>If I ignore the pairing part I have constructed the following design matrix: >>> >>> > design >>> M.early nM.early M.late nM.late >>>1 1 0 0 0 >>>2 1 0 0 0 >>>3 0 1 0 0 >>>4 0 1 0 0 >>>5 0 0 1 0 >>>6 0 0 1 0 >>>7 0 0 0 1 >>>8 0 0 0 1 >>>9 1 0 0 0 >>>10 1 0 0 0 >>>11 0 1 0 0 >>>12 0 1 0 0 >>>13 0 0 1 0 >>>14 0 0 1 0 >>>15 0 0 0 1 >>>16 0 0 0 1 >>>17 1 0 0 0 >>>18 1 0 0 0 >>>19 0 1 0 0 >>>20 0 1 0 0 >>>21 0 0 1 0 >>>22 0 0 1 0 >>>23 0 0 0 1 >>>24 0 0 0 1 >>>attr(,"assign") >>>[1] 1 1 1 1 >>>attr(,"contrasts") >>>attr(,"contrasts")$f >>>[1] "contr.treatment" >>> >>> >>>fit <- lmFit(eset, design, ndups=1, block=biolrep, cor=corfit$consensus) >>>contrasts <- makeContrasts(M.early-nM.early, M.late-nM.late, >>>M.early-M.late, nM.early-nM.late, levels=design) >>>fit2 <- contrasts.fit(fit, contrasts) >>>fit2 <- eBayes(fit2) >>> >>>However, I would like to include the pairing by patient into the >>>analyses and that I cannot figure out how to do. >>> >>>Hope someone can help, >>> >>>Charlotte
ADD REPLY
0
Entering edit mode
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/bioconductor/attachments/20070922/ a79357e5/attachment.pl
ADD REPLY

Login before adding your answer.

Traffic: 565 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6