buildAllPlots {JunctionSeq} | R Documentation |
Saves a large battery of plots displaying the analysis results, for the purposes of data visualization. By default it saves a full set of plots for every gene that shows statistical significance and the adjusted-p < 0.01 level.
Alternatively, it can be supplied with a specific gene list using the gene.list
parameter, and will plot those specific genes.
Note that this function has MANY parameters, allowing the user to tweak the appearance of the plots to suit their particular needs and preferences. Don't be daunted: the default parameters are probably fine for most purposes.
buildAllPlots(jscs, outfile.prefix = "./", gene.list = NULL, FDR.threshold = 0.01, max.gene.ct, method.selectionCriterion = c("feature-pAdjust", "genewise-pAdjust"), use.plotting.device = c("png","CairoPNG","svg", "tiff","cairo_ps","custom"), sequencing.type = c("paired-end","single-end"), use.vst=FALSE,use.log = TRUE, exon.rescale.factor = 0.3, subdirectories.by.type = TRUE, ma.plot=TRUE, variance.plot=TRUE, with.TX=TRUE,without.TX=TRUE, expr.plot=TRUE,normCounts.plot=TRUE, rExpr.plot=TRUE,rawCounts.plot=FALSE, colorRed.FDR.threshold = FDR.threshold, colorList=list(), plot.gene.level.expression = TRUE, plot.exon.results, plot.junction.results, plot.novel.junction.results, plot.untestable.results = FALSE, plot.lwd=3, axes.lwd = plot.lwd, anno.lwd = plot.lwd, gene.lwd = plot.lwd / 2, par.cex = 1, anno.cex.text = 1, anno.cex.axis = anno.cex.text, anno.cex.main = anno.cex.text * 1.2, drawCoordinates = TRUE, yAxisLabels.inExponentialForm = FALSE, show.strand.arrows = 1, graph.margins = c(2, 3, 3, 3), base.plot.height = 12, base.plot.width = 12, base.plot.units = "in", GENE.annotation.relative.height = 0.15, TX.annotation.relative.height = 0.05, CONNECTIONS.relative.height = 0.1, SPLICE.annotation.relative.height = 0.1, TX.margins = c(0,0.5), autoscale.height.to.fit.TX.annotation = TRUE, autoscale.width.to.fit.bins = 35, plotting.device.params = list(), number.plots = FALSE, name.files.with.geneID = TRUE, condition.legend.text, include.TX.names = TRUE, draw.start.end.sites = TRUE, openPlottingDeviceFunc, closePlottingDeviceFunc, writeHTMLresults = TRUE, html.cssFile, html.cssLink, html.imgFileExtension, html.plot.height = 90, html.plot.height.units = "vh", html.compare.results.list = NULL, minimalImageFilenames = writeHTMLresults, verbose=TRUE, debug.mode = FALSE, INTERNAL.VARS = list(), ...)
jscs |
A Alternatively, this can be created manually by |
outfile.prefix |
The prefix file path to save the images to. |
gene.list |
Character vector. List of genes to plot. Either this variable OR FDR.threshold must be set. |
FDR.threshold |
If this option is used, genes will be selected for plotting based on the presence of statistically significant junctions. The adjusted-p-value threshold used to determine significance. Only genes containing at least 1 significant feature will be plotted. |
max.gene.ct |
Integer or numeric value. This option is usually only used with the FDR.threshold parameter (as opposed to the gene.list parameter). This option sets an upper limit to the number of genes to plot. This prevents JunctionSeq from taking too long to complete, or from using too much disk space if an enormous number of genes turn out to be significant at the selected significance value. If there are more genes than max.gene.ct, then JunctionSeq will only plot the top max.gene.ct genes. |
method.selectionCriterion |
Determines the method used to select genes for plotting. If set to "feature-pAdjust", genes will be selected if one or more features show significance. If "genewise-pAdjust" is used, gene-wise adjusted p-values will be generated and genes will be filtered on that basis. |
use.plotting.device |
The plotting device to use. |
sequencing.type |
The type of sequencing used, either "paired-end" or "single-end". This only affects the labelling of the y-axis, and does not affect the actual plots in any way. |
use.vst |
Logical. If |
use.log |
Logical. If |
exon.rescale.factor |
Floating point numeric value. To improve readability the exons drawn in
the coordinate annotation are rescaled by default so that they take up
30 percent of the x axis. This makes the plots easier to read, as
exons are usually much smaller than introns and thus a group of
clustered exons can be hard to distinguish when plotted on a simple
scale. If this value is set to NA or a value not between 0 and 1 inclusive,
then the exons and introns will be drawn on the same scale.
Note that this function can also take the |
subdirectories.by.type |
Logical value. If |
ma.plot |
if TRUE, generate and save a MA plot. A MA-plot is a plot of fold change versus base mean normalized counts. |
variance.plot |
if TRUE, generate and save a plot of the dispersion as a function of the base mean. |
with.TX |
if TRUE, save expression plots with the full transcripts printed |
without.TX |
if TRUE, save expression plots with only the compiled exons printed. Note that if this and with.TX.plot are both TRUE, both versions will be saved seperately. |
expr.plot |
if TRUE, save an expression plot of the expression parameter estimates for each splice site, for each condition. |
normCounts.plot |
if TRUE, save an expression plot of the normalized mean counts for each splice site, for each sample. |
rExpr.plot |
if TRUE, save an expression plot of the expression parameter estimates, relative to gene-wide expression, for each splice site, for each condition. |
rawCounts.plot |
if TRUE, save an expression plot of the raw counts for each splice site, for each sample. Note that these will never be VST-transformed, even when use.vst == TRUE. |
colorRed.FDR.threshold |
The adjusted-p-value threshold used to determine whether a feature should be marked as "significant" and colored pink. By default this will be the same as the FDR.threshold. |
colorList |
A named list of R colors, setting the colors used for various things. See |
plot.gene.level.expression |
Logical value. If |
plot.exon.results |
Logical. If |
plot.junction.results |
Logical. If |
plot.novel.junction.results |
Logical. If |
plot.untestable.results |
Logical. If |
plot.lwd |
The line width for the plotting lines. |
axes.lwd |
The line width for the axes. |
anno.lwd |
The line width for the various other annotation lines. |
gene.lwd |
The line width used for the gene annotation lines. The default is half the standard line width. |
par.cex |
The base cex value to be passed to par() immediately before all plots are created. See |
anno.cex.text |
The font size multiplier for most annotation text. This will be multiplied by a factor of the par.cex value.
More specifically: The cex value to be passed to all function calls that take graphical parameters. See |
anno.cex.axis |
The font size multiplier for the axis text. This will be multiplied by a factor of the par.cex value.
More specifically: The cex.axis value to be passed to all function calls that take graphical parameters. See |
anno.cex.main |
The font size multiplier for the main title text. This will be multiplied by a factor of the par.cex value.
More specifically: The cex.main value to be passed to all function calls that take graphical parameters. See |
drawCoordinates |
Whether to label the genomic coordinates at the bottom of the plot. |
yAxisLabels.inExponentialForm |
Logical. If |
show.strand.arrows |
The number of strand-direction arrows to display. If equal to |
graph.margins |
Numeric vector of length 4. These margins values used (as if for par("mar")) for the main graph. The lower part of the plot uses the same left and right margins. |
base.plot.height |
The base height of the standard-sized plots. Plots that include the full transcript annotation will be expanded by the height of these additional rows. See the withTxPlot.height.multiplier parameter, below. |
base.plot.width |
The width of the plots. |
base.plot.units |
The units of measurement for the plot height and width. Default is px, or pixels. |
GENE.annotation.relative.height |
The height of the "gene track" displayed underneath the main graph, relative to the height of the main graph. By default it is 20 percent. |
TX.annotation.relative.height |
For all plots that draw the annotated-transcript set (when the |
CONNECTIONS.relative.height |
The height of the panel that connects the plotting area to the gene annotation area, relative to the height of the plotting area. This panel has the lines that connects the counting bin columns to their actual loci on the gene. By default it is 10 percent. |
SPLICE.annotation.relative.height |
The height of the area that shows the splice junction loci, relative to the size of the plotting area. |
TX.margins |
A numeric vector of length 2. The size of the blank space between the gene plot and the transcript list and then beneath the transcript list, relative to the size of each transcript line. |
autoscale.height.to.fit.TX.annotation |
Logical. Plots that include the full transcript annotation generally need to have a larger height in order to maintain readability.
If |
autoscale.width.to.fit.bins |
Integer value. JunctionSeq will automatically go to great lengths to autofit
the data in a readable way. By default, any plots that have more than 35
plotting columns
will be widened linearly to fit the excess columns. This parameter can be
used to change that value, or turn it off entirely by setting this
parameter to |
condition.legend.text |
List or named vector of character strings. This optional parameter can be used to assign labels to each condition variable values. It should be a list or named vector with length equal to |
include.TX.names |
Logical value. If |
plotting.device.params |
Additional parameters to be passed to the plotting device. |
number.plots |
Whether to number each gene in the image names, based on either the order they appear in the input gene.list, or in order of ascending p-values. |
name.files.with.geneID |
Whether to use the geneID (rather than gene name) for naming the files. |
draw.start.end.sites |
Logical value. If |
openPlottingDeviceFunc |
An R function. This option can be used to use plotting devices other than the ones directly supported by JunctionSeq. This must be a function that must have 3 parameters: filename, heightMult, and widthMult. It should open the desired plotting device. For advanced users only. |
closePlottingDeviceFunc |
An R function. This must be used in conjunction with openPlottingDeviceFunc. For most devices, you can just use the function "dev.off". For advanced users only. |
writeHTMLresults |
If TRUE, write an index html file to present the results in a navigable way. |
html.cssFile |
Optional: specify a css file to use. Copies the entire contents of the supplied file into the page directory and links to it with relative links. |
html.cssLink |
Optional: specify an external css file to use. This can be an absolute or relative link. |
html.imgFileExtension |
The file extension of the image files. This is only needed if you are using a custom device. If you are using one of the default devices, it will autodetect the file extension. |
html.plot.height |
Numeric. The base height of the plot, for the plots without TX annotation. The default is 90. |
html.plot.height.units |
The units used for the |
html.compare.results.list |
Named list of character strings. (Advanced) Optional parameter that allows you to cross-link multiple analyses for easy navigation
between analysis for specific genes of interest.
In order to create such cross-linking, you will need to run |
minimalImageFilenames |
Logical. If |
verbose |
if TRUE, send debugging and progress messages to the console / stdout. |
debug.mode |
if TRUE, send even more debugging and progress messages to the console / stdout. |
INTERNAL.VARS |
NOT FOR GENERAL USE. Intended only for use by JunctionSeq itself, internally. This is used for passing pre-generated data (when generating many similar plots, for example), and for internally-generated parameters. DO NOT USE. |
... |
Additional options to pass to |
This is a side-effecting function, and does not return a value.
data(exampleDataSet,package="JctSeqData");
buildAllPlots(jscs);
## > buildAllPlots: Found 5 genes with at least one significant exon, at adjusted-p-value threshold 0.01
## > buildAllPlots: Starting plotting...
## > buildAllPlots: Generating Dispersion Plot
## Starting device: png (./dispersion-plot.png)
## abundance ranges from 0.146009972023612 to 5452.18841073905
## dispersion ranges from 1.94121697570967e-06 to 2.08746163174998
## Plotting dispersions from 2.71367228072472e-05 to 2.08746163174998
## > buildAllPlots: Generating MA-Plot (log2FC(CTRL/CASE))
## Starting device: png (./ma-plot-log2FC(CTRLvsCASE).png)
## > buildAllPlots: Writing HTML results index.
## Copying default css stylesheet.
## Writing html index. Thu Mar 30 17:20:49 2017
## Writing formula data. Thu Mar 30 17:20:49 2017
## Writing methods data. Thu Mar 30 17:20:49 2017
## Writing sample data. Thu Mar 30 17:20:49 2017
## Writing dispersion data. Thu Mar 30 17:20:49 2017
## Writing summary plots. Thu Mar 30 17:20:49 2017
## Compiling data table. Thu Mar 30 17:20:49 2017
## Writing data table. Thu Mar 30 17:20:49 2017
## Html index complete. Thu Mar 30 17:20:49 2017
## Writing pages. Thu Mar 30 17:20:49 2017
## Finished all html files. Thu Mar 30 17:20:49 2017
## > buildAllPlots: Finished writing HTML results index.
## > buildAllPlots: starting geneID: ENSRNOG00000008079 (1 of 5)
## starting buildAllPlotsForGene() for geneID: ENSRNOG00000008079
## Starting nested heights...
## Starting device: png (.//exprTX/1-expr-TX.png)
## > pJSRfG(): ENSRNOG00000008079, plot.type: expr (with TX)
## Starting device: png (.//expr/1-expr.png)
## > pJSRfG(): ENSRNOG00000008079, plot.type: expr
## Starting device: png (.//normCountsTX/1-normCts-TX.png)
## > pJSRfG(): ENSRNOG00000008079, plot.type: normCounts (with TX)
## Starting device: png (.//normCounts/1-normCts.png)
## > pJSRfG(): ENSRNOG00000008079, plot.type: normCounts
## Starting device: png (.//rExprTX/1-rExpr-TX.png)
## > pJSRfG(): ENSRNOG00000008079, plot.type: rExpr (with TX)
## Starting device: png (.//rExpr/1-rExpr.png)
## > pJSRfG(): ENSRNOG00000008079, plot.type: rExpr
## > buildAllPlots: starting geneID: ENSRNOG00000009281 (2 of 5)
## starting buildAllPlotsForGene() for geneID: ENSRNOG00000009281
## Starting nested heights...
## Starting device: png (.//exprTX/2-expr-TX.png)
## > pJSRfG(): ENSRNOG00000009281, plot.type: expr (with TX)
## Starting device: png (.//expr/2-expr.png)
## > pJSRfG(): ENSRNOG00000009281, plot.type: expr
## Starting device: png (.//normCountsTX/2-normCts-TX.png)
## > pJSRfG(): ENSRNOG00000009281, plot.type: normCounts (with TX)
## Starting device: png (.//normCounts/2-normCts.png)
## > pJSRfG(): ENSRNOG00000009281, plot.type: normCounts
## Starting device: png (.//rExprTX/2-rExpr-TX.png)
## > pJSRfG(): ENSRNOG00000009281, plot.type: rExpr (with TX)
## Starting device: png (.//rExpr/2-rExpr.png)
## > pJSRfG(): ENSRNOG00000009281, plot.type: rExpr
## > buildAllPlots: starting geneID: ENSRNOG00000056944 (3 of 5)
## starting buildAllPlotsForGene() for geneID: ENSRNOG00000056944
## Starting nested heights...
## Starting device: png (.//exprTX/3-expr-TX.png)
## > pJSRfG(): ENSRNOG00000056944, plot.type: expr (with TX)
## Starting device: png (.//expr/3-expr.png)
## > pJSRfG(): ENSRNOG00000056944, plot.type: expr
## Starting device: png (.//normCountsTX/3-normCts-TX.png)
## > pJSRfG(): ENSRNOG00000056944, plot.type: normCounts (with TX)
## Starting device: png (.//normCounts/3-normCts.png)
## > pJSRfG(): ENSRNOG00000056944, plot.type: normCounts
## Starting device: png (.//rExprTX/3-rExpr-TX.png)
## > pJSRfG(): ENSRNOG00000056944, plot.type: rExpr (with TX)
## Starting device: png (.//rExpr/3-rExpr.png)
## > pJSRfG(): ENSRNOG00000056944, plot.type: rExpr
## > buildAllPlots: starting geneID: ENSRNOG00000004621 (4 of 5)
## starting buildAllPlotsForGene() for geneID: ENSRNOG00000004621
## Starting nested heights...
## Starting device: png (.//exprTX/4-expr-TX.png)
## > pJSRfG(): ENSRNOG00000004621, plot.type: expr (with TX)
## Starting device: png (.//expr/4-expr.png)
## > pJSRfG(): ENSRNOG00000004621, plot.type: expr
## Starting device: png (.//normCountsTX/4-normCts-TX.png)
## > pJSRfG(): ENSRNOG00000004621, plot.type: normCounts (with TX)
## Starting device: png (.//normCounts/4-normCts.png)
## > pJSRfG(): ENSRNOG00000004621, plot.type: normCounts
## Starting device: png (.//rExprTX/4-rExpr-TX.png)
## > pJSRfG(): ENSRNOG00000004621, plot.type: rExpr (with TX)
## Starting device: png (.//rExpr/4-rExpr.png)
## > pJSRfG(): ENSRNOG00000004621, plot.type: rExpr
## > buildAllPlots: starting geneID: ENSRNOG00000002210 (5 of 5)
## starting buildAllPlotsForGene() for geneID: ENSRNOG00000002210
## Starting nested heights...
## Starting device: png (.//exprTX/5-expr-TX.png)
## > pJSRfG(): ENSRNOG00000002210, plot.type: expr (with TX)
## Starting device: png (.//expr/5-expr.png)
## > pJSRfG(): ENSRNOG00000002210, plot.type: expr
## Starting device: png (.//normCountsTX/5-normCts-TX.png)
## > pJSRfG(): ENSRNOG00000002210, plot.type: normCounts (with TX)
## Starting device: png (.//normCounts/5-normCts.png)
## > pJSRfG(): ENSRNOG00000002210, plot.type: normCounts
## Starting device: png (.//rExprTX/5-rExpr-TX.png)
## > pJSRfG(): ENSRNOG00000002210, plot.type: rExpr (with TX)
## Starting device: png (.//rExpr/5-rExpr.png)
## > pJSRfG(): ENSRNOG00000002210, plot.type: rExpr
## > buildAllPlots: Plotting complete.
## > buildAllPlots: Plotting and data writing complete.
## Not run:
##D ########################################
##D #Set up example data:
##D decoder.file <- system.file(
##D "extdata/annoFiles/decoder.bySample.txt",
##D package="JctSeqData");
##D decoder <- read.table(decoder.file,
##D header=TRUE,
##D stringsAsFactors=FALSE);
##D gff.file <- system.file(
##D "extdata/cts/withNovel.forJunctionSeq.gff.gz",
##D package="JctSeqData");
##D countFiles <- system.file(paste0("extdata/cts/",
##D decoder$sample.ID,
##D "/QC.spliceJunctionAndExonCounts.withNovel.forJunctionSeq.txt.gz"),
##D package="JctSeqData");
##D ########################################
##D #Run example analysis:
##D jscs <- runJunctionSeqAnalyses(sample.files = countFiles,
##D sample.names = decoder$sample.ID,
##D condition=factor(decoder$group.ID),
##D flat.gff.file = gff.file,
##D analysis.type = "junctionsAndExons"
##D );
##D ########################################
##D
##D #Generate all plots and the html index
##D # Save them as pngs to the current directory:
##D buildAllPlots(jscs);
##D
## End(Not run)