limma: blocking for batch/individual in paired samples with multiple tissues
0
1
Entering edit mode
8.2 years ago

I have a design similar to this:

Sample     Diet     Tissue     Scan Date     Individual
1          AL       liver      a             1
2          AL       liver      b             2
3          CR       liver      a             3
4          CR       liver      b             4
5          AL       heart      a             2
6          AL       heart      b             1
7          CR       heart      a             4
8          CR       heart      b             3

I want to perform the following contrasts:

CR.liver - AL.liver, CR.heart - AL.heart

I want to correct (block) for Scan and Individual if possible. How do I approach this?

I found a similar example here that I have tried to adjust to my case. This has let me to make the following design matrix:

      AL.heart     AL.liver     CR.heart     CR.liver     dateb     ind2     ind3     ind4
1     0            1            0            0            0         0        0        0
2     0            1            0            0            1         1        0        0
3     0            0            0            1            0         0        1        0
4     0            0            0            1            1         0        0        1
5     1            0            0            0            0         1        0        0
6     1            0            0            0            1         0        0        0
7     0            0            1            0            0         0        0        1
8     0            0            1            0            1         0        1        0

and this contrast matrix:

             CR.liver - AL.liver     CR.heart - AL.heart
AL.heart     0                       -1
AL.liver     -1                      0
CR.heart     0                       1
CR.liver     1                       0
dateb        0                       0
ind2         0                       0
ind3         0                       0
ind4         0                       0

then run the fit:

fit <- contrasts.fit (lmFit(exprs(eset), model), contrast_matrix)

I'm unclear if the above approach correctly blocks for scan-date/individual? Suggestions?

limma • 4.1k views
ADD COMMENT
1
Entering edit mode

You can't block for scan and individual at the same time, they're confounded.

ADD REPLY
0
Entering edit mode

good catch: edited to fix

ADD REPLY
0
Entering edit mode

Can you show us the code you used to create your model.matrix?

ADD REPLY
0
Entering edit mode

Sure:

diet <- c("AL", "AL", "CR", "CR",
          "AL", "AL", "CR", "CR")

tissue <- c("liver", "liver", "liver", "liver",
            "heart", "heart", "heart", "heart")

ind <- factor(c("1", "2", "3", "4", "2", "1", "4", "3"))

date <- c("a", "b", "a", "b",
        "a", "b", "a", "b")

diet.tissue <- factor(paste(diet, tissue, sep="."))

design <- model.matrix(~0 + diet.tissue + date + ind)
colnames(design)[1:4]<- levels(diet.tissue)

contrast_matrix <- makeContrasts(CR.liver-AL.liver, CR.heart-AL.heart, levels=design)

Edited to produce above output (also edited from original)

ADD REPLY
0
Entering edit mode

What "doesn't work"? Without hearing your answer, it appears that you do not have enough samples to perform your analysis. As specified, you have no replication (no residual degrees-of-freedom).

ADD REPLY
0
Entering edit mode

The above is an example (not real data) that I am using in order to learn how to specify a design matrix and contrast matrix in order to perform the desired contrasts while controlling for batch/individual effects (the limma guide doesn't cover this setup).

ADD REPLY
0
Entering edit mode

It looks like that matrix is still rank deficient. I don't think you have enough patients to do the blocking and still have residual degrees of freedom. If you want to, you could post this on cross validated and see if someone can come up with a full rank model matrix for you. Your contrast is fine otherwise.

ADD REPLY
0
Entering edit mode

Data is an example. Imagine that there are 30 more samples.

ADD REPLY
0
Entering edit mode

Ah, as long as it's not rank deficient then that sort of setup looks fine.

ADD REPLY

Login before adding your answer.

Traffic: 1550 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