using limma for differential expressionmaster.bioconductor.org/help/course-materials/2009/... ·...

61
Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data Other considerations Intra-group Correlation Array Weights Using limma for Differential Expression James W. MacDonald [email protected] BioC 2009 July 27, 2009

Upload: others

Post on 27-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Using limma for Differential Expression

James W. [email protected]

BioC 2009July 27, 2009

Page 2: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Overview

Typical analysis using limma:

Read in data

Preprocess two-color data

Create design matrix

Create contrast matrix

Fit model

Make comparisons

Output interesting results

Page 3: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Goals

Goals for this workshop:

Statistics

Linear models (esp ANOVA)Design matricesContrast matrices

Other considerations

Intra-group correlationArray weights

Page 4: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Linear model

0 2 4 6 8 10

02

46

810

X

Y

m

y = mx + b

b

Page 5: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA

Predictors are factors (unordered)

tumor/normalexperimental/controlmutant/wild type

Simplest form of ANOVA is t-test

Page 6: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA

●●

34

56

7

Expr

essi

on v

alue

s

Tum

or

Nor

mal

Tum

or

Nor

mal

Page 7: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA

●●

34

56

7

Expr

essi

on v

alue

s

Tum

or

Nor

mal

Tum

or

Nor

mal

Page 8: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA

●●

34

56

7

Expr

essi

on v

alue

s

Tum

or

Nor

mal

Tum

or

Nor

mal

Page 9: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA

Basic form of the t-test:

Differencebetweengroupmeans

Variabilitywithingroups(1)

Page 10: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model

yij = µj + εij ,

– OR –tumor sample = mean tumor value + errornormal sample = mean normal value + error

Page 11: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA (Graphically)

ANOVA is a ’mean decomposition’ of observed data

3.0

3.5

4.0

4.5

5.0

5.5

Expr

essi

on v

alue

s

Tum

or

Nor

mal

Mean tumor = 5.5

This sample = 5.3Error = −0.2

Sample value = 5.5 + (−0.2) = 5.3

Page 12: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Linear Algebra - Background

Basic algebra – we need N equations to solve for N unknowns4 = y - 3x1 = -2y + 4xSolve one equation for y, insert answer in other equationy = 3x - 41 = -2(3x + 4) + 4x2x = -9x = -9/2y = -19/2

Page 13: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Linear Algebra

We can do the same thing using matrix multiplication:[41

]=

[1 −3−2 4

] [yx

]

Page 14: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Linear Algebra

Solve for x and y :[yx

]=

[1 −3−2 4

]−1 [41

]In R:

> mat <- matrix(c(1,-2,-3,4), ncol = 2)

> solve(mat) %*% c(4,1)

[,1][1,] -9.5[2,] -4.5

Page 15: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model (again)

Our current model:tumor sample = mean tumor value + errornormal sample = mean normal value + error

Page 16: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model (again)

Substitute x and y :tumor sample = x + errornormal sample = y + error

Page 17: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model (again)

Expand a bit:tumor sample = 1x + 0y + errornormal sample = 0x + 1y + error

Page 18: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model (again)

Plug in data:5.3 = 1x + 0y + error5.5 = 1x + 0y + error5.7 = 1x + 0y + error3.5 = 0x + 1y + error3.1 = 0x + 1y + error3.4 = 0x + 1y + error

Page 19: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model (again)

In linear algebra terms:

5.35.55.73.53.13.4

=

1 01 01 00 10 10 1

[

xy

]+

errorerrorerrorerrorerrorerror

First row is:5.3 = 1x + 0y + error

Page 20: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

ANOVA Model (again)

To check if our design matrix really does what we think...Say we call our design matrix ’D’And our vector of observations ’O’To solve for (x,y) we use[

xy

]=[

D ′D]−1

D ′O

> mat <- matrix(rep(c(1,0,0,1), each = 3), ncol = 2)

> solve(crossprod(mat)) %*% t(mat)

[,1] [,2] [,3] [,4] [,5] [,6][1,] 0.33 0.33 0.33 0.00 0.00 0.00[2,] 0.00 0.00 0.00 0.33 0.33 0.33

Page 21: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Parameterization

Parameter = thing estimated by modelCurrent model:

Mean of tumor samplesMean of normal samples

Different model:

Mean of normal samplesMean of tumor samples - mean of normal samples

Page 22: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Alternate Parameterization

Setup:x = mean of tumor samplesy = mean of normal samplesz = mean of tumor - mean of normalnormal sample = 1y + 0z + errortumor sample = 1y + 1z + errorsotumor sample = 1y + (1x - 1y) + error

Page 23: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Alternate Parameterization

In linear algebra terms:

5.35.55.73.53.13.4

=

1 11 11 11 01 01 0

[

yz

]+

errorerrorerrorerrorerrorerror

Page 24: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Creating Design Matrices

By hand:

> mat <- cbind(c(1,1,1,0,0,0), c(0,0,0,1,1,1))

> dimnames(mat) <- list(paste("Sample", 1:6),

+ c("Tumor","Normal"))

> mat

Tumor NormalSample 1 1 0Sample 2 1 0Sample 3 1 0Sample 4 0 1Sample 5 0 1Sample 6 0 1

Page 25: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Creating Design Matrices

Using model.matrix():

> samps <- factor(rep(c("Tumor","Normal"), each = 3))

> model.matrix(~samps)

(Intercept) sampsTumor1 1 12 1 13 1 14 1 05 1 06 1 0attr(,"assign")[1] 0 1attr(,"contrasts")attr(,"contrasts")$samps[1] "contr.treatment"

Page 26: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Creating Design Matrices

Using model.matrix():

> model.matrix(~0 + samps)

sampsNormal sampsTumor1 0 12 0 13 0 14 1 05 1 06 1 0attr(,"assign")[1] 1 1attr(,"contrasts")attr(,"contrasts")$samps[1] "contr.treatment"

Page 27: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Creating Design Matrices

Decide on model, then create design matrixDo not create design matrix and then figure outwhat the model is...

Page 28: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Contrast Matrices

What is a contrast?

Difference between parameter estimates

Coefficients must equal zero

Trivial example using our data:1x - 1y

Page 29: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Contrast Matrices

Linear algebra again...5.34 2.916.54 8.562.35 2.565.55 6.458.78 6.98

[

1−1

]=

2.43−2.02−0.21−0.9

1.8

Page 30: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Contrast Matrices

Rules:

Coefficients must equal zero

Rows of matrix must equal number of parameters in model

Page 31: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Contrast Matrices

Example: Three sample types (cont, trt1, trt2). Compare eachtrt to cont.

> contrast <- matrix(c(-1,1,0,-1,0,1), ncol = 2)

> dimnames(contrast) <- list(c("cont","trt1","trt2"),

+ c("trt1 - cont",

+ "trt2 - cont"))

> contrast

trt1 - cont trt2 - contcont -1 -1trt1 1 0trt2 0 1

Page 32: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Contrast Matrices

Example: Three sample types (cont, trt1, trt2). Compare themean of trt samples to cont.

> contrast <- matrix(c(-1,0.5,0.5), ncol = 1)

> dimnames(contrast) <- list(c("cont","trt1","trt2"),

+ "mean trt - cont")

> contrast

mean trt - contcont -1.0trt1 0.5trt2 0.5

Page 33: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

Setup:

Two sample types (say, tumor and normal)

Two treatments (say, chemo drug and ’carrier solution’)

Three replicates (12 samples total)

Comparisons:

untreated tumor vs untreated normaltreated tumor vs untreated tumordifference in effect of treatment

Page 34: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

Parameters we need:

mean of treated normal samples

mean of untreated normal samples

mean of treated tumor samples

mean of untreated tumor samples

Page 35: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

Design matrix:

1 0 0 01 0 0 01 0 0 00 1 0 00 1 0 00 1 0 00 0 1 00 0 1 00 0 1 00 0 0 10 0 0 10 0 0 1

Page 36: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

In R:

> mat <- cbind(c(1,1,1,rep(0,9)),

+ c(0,0,0,1,1,1,rep(0,6)),

+ c(rep(0,6),1,1,1,0,0,0),

+ c(rep(0,9),1,1,1))

> colnames(mat) <- c("nu","nt","tu","tt")

Page 37: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

> mat

nu nt tu tt[1,] 1 0 0 0[2,] 1 0 0 0[3,] 1 0 0 0[4,] 0 1 0 0[5,] 0 1 0 0[6,] 0 1 0 0[7,] 0 0 1 0[8,] 0 0 1 0[9,] 0 0 1 0[10,] 0 0 0 1[11,] 0 0 0 1[12,] 0 0 0 1

Page 38: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

Contrast matrix:

> makeContrasts(tu - nu, tt - tu,

+ tt - tu - nt + nu,

+ levels = mat)

ContrastsLevels tu - nu tt - tu tt - tu - nt + nu

nu -1 0 1nt 0 0 -1tu 1 -1 -1tt 0 1 1

Page 39: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

Using model.matrix()

> typ <- factor(rep(c("Norm","Tum"), each = 6))

> trt <- factor(rep(c("Untrt", "Trt"),each = 3, times = 2))

> typ

[1] Norm Norm Norm Norm Norm Norm Tum Tum[9] Tum Tum Tum TumLevels: Norm Tum

> trt

[1] Untrt Untrt Untrt Trt Trt Trt[7] Untrt Untrt Untrt Trt Trt TrtLevels: Trt Untrt

> mat <- model.matrix(~0+trt*typ)

Page 40: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

> mat

trtTrt trtUntrt typTum trtUntrt:typTum1 0 1 0 02 0 1 0 03 0 1 0 04 1 0 0 05 1 0 0 06 1 0 0 07 0 1 1 18 0 1 1 19 0 1 1 110 1 0 1 011 1 0 1 012 1 0 1 0attr(,"assign")[1] 1 1 2 3attr(,"contrasts")attr(,"contrasts")$trt[1] "contr.treatment"

attr(,"contrasts")$typ[1] "contr.treatment"

Page 41: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Factor ANOVA

Questions:

What parameters are being estimated?

What contrasts matrix do we need?

Page 42: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Batch Effect

Setup:

Two sample types (say, treated and control)

Two experiments, one week apart

Three replicates (12 samples total)

Compare treated vs normal

Page 43: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Batch Effects

> typ <- factor(rep(c("trt","cont"),

+ each = 3, times = 2))

> bat <- factor(rep(1:2, each = 6))

> mat <- model.matrix(~ 0 + typ + bat)

Page 44: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Batch Effects

> mat

typcont typtrt bat21 0 1 02 0 1 03 0 1 04 1 0 05 1 0 06 1 0 07 0 1 18 0 1 19 0 1 110 1 0 111 1 0 112 1 0 1attr(,"assign")[1] 1 1 2attr(,"contrasts")attr(,"contrasts")$typ[1] "contr.treatment"

attr(,"contrasts")$bat[1] "contr.treatment"

Page 45: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two-color Data

Design matrices are a bit more tricky:

We are working with ratios

Max number of parameters = sample types - 1

Dye swaps

Experimental design considerations

modelMatrix()

Page 46: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Samples

Setup:

Two sample types (say, wild type and mutant)

All mutant labeled with Cy5

All wild type labeled with Cy3

Four of each sample (four arrays)

Page 47: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Two Samples

> targets <- data.frame(Cy5 = rep("mut", 4),

+ Cy3 = rep("wt", 4))

> modelMatrix(targets, ref = "wt")

Found unique target names:mut wt

mut[1,] 1[2,] 1[3,] 1[4,] 1

Page 48: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Dye Swaps

Same setup, but every other array we swap dyes

Page 49: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Dye Swaps

> targets <- data.frame(Cy5 = rep(c("mut","wt"), 2),

+ Cy3 = rep(c("wt","mut"),2))

> modelMatrix(targets, ref = "wt")

Found unique target names:mut wt

mut[1,] 1[2,] -1[3,] 1[4,] -1

Page 50: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Dye Effect

Same setup, but we want to test for dye effect

> cbind(dye = 1, mut = rep(c(1,-1), 2))

dye mut[1,] 1 1[2,] 1 -1[3,] 1 1[4,] 1 -1

Page 51: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Connected’ Experiment

Page 52: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Connected’ Experiment

Targets file:

Cy3 Cy51 cont trt12 trt1 cont3 trt1 trt24 trt2 trt15 trt2 cont6 cont trt2

Page 53: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Connected’ Experiment

Design matrix:

> modelMatrix(tgts, ref = "cont")

Found unique target names:cont trt1 trt2

trt1 trt2[1,] 1 0[2,] -1 0[3,] -1 1[4,] 1 -1[5,] 0 -1[6,] 0 1

Page 54: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Connected’ Experiment

By Hand:

Control Trt1 Trt20 1 01 0 00 0 10 1 01 0 00 0 1

Control Trt1 Trt21 0 00 1 00 1 00 0 10 0 11 0 0

Page 55: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Unconnected’ Experiment

Page 56: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Unconnected’ Experiment

Targets file:

Cy5 Cy31 cont1 trt12 trt1 cont13 cont2 trt24 trt2 cont2

Page 57: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Unconnected’ Experiment

Incorrect design matrix:

> modelMatrix(tgts, ref = "cont1")

Found unique target names:cont1 cont2 trt1 trt2

cont2 trt1 trt2[1,] 0 -1 0[2,] 0 1 0[3,] 1 0 -1[4,] -1 0 1

Page 58: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

’Unconnected’ Experiment

> dat <- matrix(rnorm(40), ncol=4)

> fit <- lmFit(dat, modelMatrix(tgts, ref = "cont1"))

Found unique target names:cont1 cont2 trt1 trt2Coefficients not estimable: trt2

> head(fit$coef)

cont2 trt1 trt2[1,] -1.91 0.27 NA[2,] -0.27 -1.46 NA[3,] -0.48 0.71 NA[4,] 0.86 -0.22 NA[5,] -1.11 -0.75 NA[6,] 0.15 0.17 NA

Page 59: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Intra-group correlation

Batch effect

Technical replication

Correlated samples

Multiple littersLongitudinal data

Page 60: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Intra-group correlation

Fixed batch effect

Mixed model

Estimate correlation (duplicateCorrelation)Fit model (’correlation’ argument)

Page 61: Using limma for Differential Expressionmaster.bioconductor.org/help/course-materials/2009/... · Bioconductor Introduction Design Matrices Contrast Matrices Examples Two-color Data

Bioconductor

Introduction

DesignMatrices

ContrastMatrices

Examples

Two-colorData

Otherconsiderations

Intra-groupCorrelation

Array Weights

Array weights

With arrays of lesser quality you can

Discard array dataDown-weight arrays

Weights based on linear fit

arrayWeights/arrayWeightsSimple

’weight’ argument to lmFit()