vennSelectBM {affycoretools} | R Documentation |
This function is designed to output HTML and text tables based on
the results of a call to 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], mysql = TRUE, ann.source = "entrezgene", html = TRUE, text = TRUE, affyid = FALSE, ...)
eset |
A ExpressionSet object. |
design |
A design matrix, usually from a call to
model.matrix . See details for more information. |
x |
A TestResults object, usually from a
call to designTests . |
contrast |
A contrasts matrix, produced either by hand, or by a
call to makeContrasts |
fit |
An MArrayLM object, from a call to
eBayes . |
method |
One of "same", "both", "up", "down", "sameup", or "samedown". See details for more information. |
adj.meth |
Method to use for adjusting p-values. Default is 'BH',
which corresponds to 'fdr'. Ideally one would set this value to be
the same as was used for decideTests . |
stat |
The statistic to report in the resulting HTML
tables. Choices are 'fstat', 'tstat', and 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'. |
otherstats |
Other statistics to be included in the HTML tables. Choices include 'pval' and 'FC'. |
order.by |
Which statistic should be used to order the probesets? Choices include 'fstat', 'tstat', 'pval', and 'FC'. Note that if 'FC' is chosen and there are more than one set of fold changes, the first will be used. |
foldFilt |
A fold change to use for filtering. Default is NULL ,
meaning no filtering will be done. |
save |
Boolean - If TRUE , output a count of genes that
fulfill the criteria. Useful for e.g., Sweave-type reports. |
species |
The species name. This must be in a particular format for biomaRt. An example for human is "hsapiens", or for mouse "mmusculus". |
links |
A character vector of things to annotate with hyperlinks
to online databases. See linksBM for possible values. |
otherdata |
A character vector of things to annotate with text
only (i.e., no hyperlinks). See annBM for possible values. |
mysql |
Boolean. If TRUE , then biomaRt will use the
RMySQL package to connect to the Biomart server (note that
this requires RMySQL to be installed). If FALSE ,
biomaRt will use the RCurl interface. WARNING: if you
are planning to annotate a large number of genes, you will almost
certainly need to use the RMySQL interface. |
ann.source |
The annotation source of the IDs that will be used to annotate the genes. The default value is "entrezgene". See details for other possibilities. |
html |
Boolean. Output HTML tables? Defaults to TRUE |
text |
Boolean. Output text tables? Defaulst to TRUE |
affyid |
Boolean. Are the IDs used to annotate these data Affymetrix IDs? |
... |
Used to pass other variables to e.g., htmlpage . |
The purpose of this function is to output HTML tables with
lists of genes that fulfill the criteria of a call to
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, <other arguments>, save = TRUE)
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.
Normally called only for the side effect of producing HTML
tables. However, setting save to TRUE
will output a vector of
counts that can be used for making Sweave-style reports.
James W. MacDonald <jmacdon@med.umich.edu>