decideTests. This function is very
similar to vennSelect, except it uses the biomaRt package to
annotate genes, and the annotate package to create the HTML table.
vennSelectBM(eset, design, x, contrast, fit, method = "same", adj.meth = "BH", stat = "fstat", otherstats = c("pval", "FC"), order.by = "pval", foldFilt = NULL, save = FALSE, species, links = linksBM()[1:3], otherdata = annBM()[1:3], ann.source = "entrezgene", html = TRUE, text = TRUE, affyid = FALSE, ...)ExpressionSet
object.design matrix, usually from a call to
model.matrix. See details for more information.TestResults object, usually from a call to
decideTests.makeContrastsdecideTests.NULL. Ideally, the statistic chosen would
correspond to the method used in decideTests. In other
words, if one used methods such as 'separate' or 'hierarchical', which are
based on a t-statistic, one should choose 'tstat', however, if one used
'nestedF', the logical choice would be 'fstat'.NULL,
meaning no filtering will be done.TRUE, output a count of genes that fulfill
the criteria. Useful for e.g., Sweave-type reports.linksBM for possible values.annBM for possible values.TRUETRUEhtmlpage.TRUE will output a vector of counts that can
be used for making Sweave-style reports.
decideTests as
well as the direction of differential expression.The IDs that will be used to annotate the genes depend on the source of the
data. If, for example, one is using an Affymetrix chip that doesn't have a
BioC annotation package, then the IDs will be Affymetrix IDs. To find out
the correct name to use for the ann.source argument, one can create a
connection to a Biomart database using useMart and
then deduce the correct argument by the output from
listFilters(mart). It will usually be something starting with 'affy',
and contain the name of the chip.
If one is using one of the re-mapped CDFs from MBNI at University of
Michigan, then the IDs to use depend on the mapping used to create the CDF.
At this time, only three types of CDFs can be used; EntrezGene, UniGene, and
RefSeq. One can determine the correct ann.source argument by creating a
connection to a Biomart database, and then calling linksBM(mart,
linksBM())[[3]].
Some important things to note: First, the names of the HTML tables are
extracted from the colnames of the TestResults object, which
come from the contrasts matrix, so it is important to use something
descriptive. Second, the method argument is analogous to the include
argument from vennCounts or
vennDiagram. Choosing "both" will select genes
that are differentially expressed in one or more comparisons, regardless of
direction. Choosing "up" or "down" will select genes that are only
differentially expressed in one direction. Choosing "same" will select genes
that are differentially expressed in the same direction. Choosing "sameup"
or "samedown" will select genes that are differentially expressed in the
same direction as well as 'up' or 'down'.
Note that this is different than sequentially choosing "up" and then "down". For instance, a gene that is upregulated in one comparison and downregulated in another comparison will be listed in the intersection of those two comparisons if "both" is chosen, it will be listed in only one comparison for both the "up" and "down" methods, and it will be listed in the union (e.g., not selected) if "same" is chosen.
Calling the function normally will result in the output of HTML tables.
Calling the function with save set to TRUE will output HTML tables as
well as a vector of counts for each comparison. This is useful when using
the function programmatically (e.g., when making reports using Sweave).
out <- vennSelectBM(eset, fit, design, x,
An alternative would be to use vennCounts2 and
vennDiagram to output a Venn diagram, which is
probably more reasonable since the tables being output are supposed to be
based on a Venn diagram.