Description Usage Arguments Details Value Author(s) References Examples
This function creates lists of significant genes for a set of variables whose significance value has been computed with the T.fit
function.
1 2 3 4 5 6 7 8 |
tstep |
a |
rsq |
cut-off level at the R-squared value for the stepwise regression fit. Only genes with R-squared more than rsq are selected |
add.IDs |
logical indicating whether to include additional gene id's in the result |
IDs |
matrix contaning additional gene id information (required when |
matchID.col |
number of matching column in matrix IDs for adding genes ids |
only.names |
logical. If |
vars |
variables for which to extract significant genes (see details) |
significant.intercept |
experimental groups for which significant intercept coefficients are considered (see details) |
groups.vector |
required when |
trat.repl.spots |
treatment given to replicate spots. Possible values are |
index |
argument of the |
match |
argument of the |
r |
minimun pearson correlation coefficient for replicated spots profiles to be averaged |
There are 3 possible values for the vars argument:
"all"
: generates one single matrix or gene list with all
significant genes.
"each"
: generates as many significant genes extractions as
variables in the general regression model. Each extraction contains the
significant genes for that variable.
"groups"
: generates a significant genes extraction for each
experimental group.
The difference between "each"
and "groups"
is that in the
first case the variables of the same group (e.g. "TreatmentA"
and
"time*TreatmentA"
) will be extracted separately and in the second
case jointly.
When add.IDs
is TRUE
, a matrix of gene ids must be provided
as argument of IDs, the matchID.col
column of which having same levels as in the row names of
sig.profiles
. The option only.names
is TRUE
will
generate a vector of significant genes or a matrix when add.IDs
is
set also to TRUE
.
When trat.repl.spots
is "average"
, match
and index
vectors are required for the average.rows
function.
In gene expression data context, the index
vector would contain geneIDs and indicate which spots
are replicates. The match
vector is used to match these genesIDs to rows in the significant genes
matrix, and must have the same levels as the row names of sig.profiles
.
The argument significant.intercept
modulates the treatment for intercept coefficients to apply for selecting significant genes
when vars
equals "groups"
. There are three possible values: "none"
, no significant intercept (differences) are
considered for significant gene selection, "dummy"
, includes genes with significant intercept differences between control and experimental
groups, and "all"
when both significant intercept coefficient for the control group and significant intercept
differences are considered for selecting significant genes.
add.IDs
= TRUE and trat.repl.spots
= "average"
are not compatible argumet values.
add.IDs
= TRUE and only.names
= TRUE
are compatible argumet values.
summary |
a vector or matrix listing significant genes for the variables given by the function parameters |
sig.genes |
a list with detailed information on the significant genes found for the variables given by the function parameters. Each element of the list is also a list containing:
|
Ana Conesa, aconesa@cipf.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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #### GENERATE TIME COURSE DATA
## generate 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, c3 = 1.2, 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.01)
tc.tstep <- T.fit(data = tc.p , alfa = 0.05)
## This will obtain sigificant genes per experimental group
## which have a regression model Rsquared > 0.9
tc.sigs <- get.siggenes (tc.tstep, rsq = 0.9, vars = "groups")
## This will obtain all sigificant genes regardless the Rsquared value.
## Replicated genes are averaged.
IDs <- rbind(paste("feature", c(1:300), sep = ""),
rep(paste("gene", c(1:150), sep = ""), each = 2))
tc.sigs.ALL <- get.siggenes (tc.tstep, rsq = 0, vars = "all", IDs = IDs)
tc.sigs.groups <- get.siggenes (tc.tstep, rsq = 0, vars = "groups", significant.intercept="dummy")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.