Analyze interaction effect and produce output

Share:

Description

This wrapper function will create a design matrix and contrast matrix for the interaction test. Then it will fit linear model to test for interaction effect for each gene and identify genes for which interaction test is being significant. For genes having the interaction effect, it fits linear model for each genes in each level of strata.var. For genes don't have interaction effect, it fits linear model for each genes without stratifying the strata.var. In the end, it will output signficant result.

Usage

1
2
3
AffyInteraction(object, method, main.var, strata.var, compare1, compare2, 
  covariates=NULL, p.int=0.05, m.int=0, adj.int="none", p.value=0.05, 
  m.value=0, adj="none", filename1="result", filename2="inter_result")

Arguments

object

an "ExpressionSet"

method

Three methods are supported by this function: "L" for using LIMMA method - compute moderated t-statistics and log-odds of differential expression by empirical Bayes shrinkage of the standard errors towards a common value; "F" for using ordinary linear regression; "P" for permuation test by resampling the phenotype

main.var

the variable of your main interest

strata.var

a categorical variable serves as a potential effect modifier. An effect modifier is a variable that modifies the association between outcome variable and the main variable. If the interaction exits, the association between the outcome and main.var will be analyzed separately within each stratum of strata.var

compare1

first value of the variable of main interest. Suppose the main variable is "estrogen", and its has two values: "present" and "absent". You would like to compare "present" versus "absent". Then you will use compare1 = "present"

compare2

second value of the variable of main interest. Follow from the same example above, you will set compare2 = "absent"

covariates

a list of covariates, not including main.var and strata.var, the default value is NULL

p.int

p value for the interaction test

m.int

fold change cut-off value for the interaction test

adj.int

adjustment method for multiple comparison for testing interaction, including "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none". Type help(p.adjust) for more detail.

p.value

p value for main effect test

m.value

fold change cut-off value for main effect test

adj

adjustment method for multiple comparison for testing main effect

filename1

name of the output file for the main effect

filename2

name of the output file for the interaction test

Value

a list of data frame: The first data frame contains results for genes with interaction effect. The second data frame contains results for genes don't have interaction effect. The rest of the data frames contain information for main effects for each stratum of strata.var.

Author(s)

Xiwei Wu xwu@coh.org, Xuejun Arthur Li xueli@coh.org

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
	
## Suppose that you would like to test the interaction effect between "gender" 
## and "group" variables, "gender" is the main effect variable.  For genes in 
## which the interaction test are being significant, you would like to compare 
## "M" vs. "F" within each level of "group".  For genes in which the interaction 
## test are not being significant, you would like to compare "M" vs. "F" without 
## stratifying "group".

data(testData)
normaldata<-pre.process("rma",testData)
result<-AffyInteraction(normaldata, "L", "gender", "group","M", "F", p.int=0.05, 
  m.int=0, adj.int="none", p.value=0.05, m.value=0, adj="none", 
  filename1="result1", filename2="result2")