p.vector {maSigPro} | R Documentation |
p.vector
performs a regression fit for each gene taking all variables present in the model given by a regression matrix
and returns a list of FDR corrected significant genes.
p.vector(data, design = NULL, Q = 0.05, MT.adjust = "BH", min.obs = 3)
data |
matrix containing normalized gene expression data. Genes must be in rows and arrays in columns |
design |
design matrix for the regression fit such as that generated by the make.design.matrix function |
Q |
significance level |
MT.adjust |
argument to pass to p.adjust function indicating the method for multiple testing adjustment of p.value |
min.obs |
genes with less than this number of true numerical values will be excluded from the analysis. Default is 3 (minimun value for a quadratic fit) |
rownames(design)
and colnames(data)
must be identical vectors and indicate array naming.
newline rownames(data)
should contain unique gene IDs.
newline colnames(design)
are the given names for the variables in the regression model.
SELEC |
matrix containing the expression values for significant genes |
p.vector |
vector containing the computed p-values |
G |
total number of input genes |
g |
number of genes taken in the regression fit |
BH.alfa |
p-value at FDR Q control when Benajamini & Holderberg (BH) correction is used |
i |
number of significant genes |
dis |
design matrix used in the regression fit |
dat |
matrix of expression value data used in the regression fit |
... |
additional values from input parameters |
Ana Conesa, aconesa@ivia.es; Maria Jose Nueda, mj.nueda@ua.es
Conesa, A., Nueda M.J., Alberto Ferrer, A., Talon, T. 2006. maSigPro: a Method to Identify Significant Differential Expression Profiles in Time-Course Microarray Experiments. Bioinformatics 22, 1096-1102
#### GENERATE TIME COURSE DATA ## generates n random gene expression profiles of a data set with ## one control plus 3 treatments, 3 time points and r replicates per time point. tc.GENE <- function(n, r, var11 = 0.01, var12 = 0.01,var13 = 0.01, var21 = 0.01, var22 = 0.01, var23 =0.01, var31 = 0.01, var32 = 0.01, var33 = 0.01, var41 = 0.01, var42 = 0.01, var43 = 0.01, a1 = 0, a2 = 0, a3 = 0, a4 = 0, b1 = 0, b2 = 0, b3 = 0, b4 = 0, c1 = 0, c2 = 0, c3 = 0, c4 = 0) { tc.dat <- NULL for (i in 1:n) { Ctl <- c(rnorm(r, a1, var11), rnorm(r, b1, var12), rnorm(r, c1, var13)) # Ctl group Tr1 <- c(rnorm(r, a2, var21), rnorm(r, b2, var22), rnorm(r, c2, var23)) # Tr1 group Tr2 <- c(rnorm(r, a3, var31), rnorm(r, b3, var32), rnorm(r, c3, var33)) # Tr2 group Tr3 <- c(rnorm(r, a4, var41), rnorm(r, b4, var42), rnorm(r, c4, var43)) # Tr3 group gene <- c(Ctl, Tr1, Tr2, Tr3) tc.dat <- rbind(tc.dat, gene) } tc.dat } ## Create 270 flat profiles flat <- tc.GENE(n = 270, r = 3) ## Create 10 genes with profile differences between Ctl and Tr1 groups twodiff <- tc.GENE (n = 10, r = 3, b2 = 0.5, c2 = 1.3) ## Create 10 genes with profile differences between Ctl, Tr2, and Tr3 groups threediff <- tc.GENE(n = 10, r = 3, b3 = 0.8, c3 = -1, a4 = -0.1, b4 = -0.8, c4 = -1.2) ## Create 10 genes with profile differences between Ctl and Tr2 and different variance vardiff <- tc.GENE(n = 10, r = 3, a3 = 0.7, b3 = 1, c2 = 1.3, var32 = 0.03, var33 = 0.03) ## Create dataset tc.DATA <- rbind(flat, twodiff, threediff, vardiff) rownames(tc.DATA) <- paste("feature", c(1:300), sep = "") colnames(tc.DATA) <- paste("Array", c(1:36), sep = "") tc.DATA [sample(c(1:(300*36)), 300)] <- NA # introduce missing values #### CREATE EXPERIMENTAL DESIGN Time <- rep(c(rep(c(1:3), each = 3)), 4) Replicates <- rep(c(1:12), each = 3) Control <- c(rep(1, 9), rep(0, 27)) Treat1 <- c(rep(0, 9), rep(1, 9), rep(0, 18)) Treat2 <- c(rep(0, 18), rep(1, 9), rep(0,9)) Treat3 <- c(rep(0, 27), rep(1, 9)) edesign <- cbind(Time, Replicates, Control, Treat1, Treat2, Treat3) rownames(edesign) <- paste("Array", c(1:36), sep = "") tc.p <- p.vector(tc.DATA, design = make.design.matrix(edesign), Q = 0.05) tc.p$i # number of significant genes tc.p$SELEC # expression value of signficant genes tc.p$BH.alfa # p.value at FDR control tc.p$p.adjusted# adjusted p.values