Launch Sashimi R-shiny application
launchSashimiApp( ..., envir = globalenv(), options = list(width = 1200), verbose = TRUE )
... | additional arguments are passed to |
---|---|
envir |
|
options |
|
output from shiny::shinyApp()
which is an object of
class "shiny.appobj", whose default print method is to run
the app.
This function launches the Sashimi visualization R-shiny app.
The R objects required to prepare sashimi plots are
defined by the function sashimiAppConstants()
, which
documents each R object required and how it is used.
The sashimiAppConstants()
function returns an environment
in which the required sashimi plot data is stored and
used by the R-shiny app. The default environment is globalenv()
however any custom environment can be used, for example
with myenv <- new.env()
.
The most straightforward way to run a new Sashimi R-shiny
app is to define filesDF
and gtf
in the global environment,
or define filesDF
and gtf
inside a custom environment.
The required data will be derived from the GTF file gtf
.
This step is somewhat slow the first time (10 minutes) and
saves intermediate files for rapid re-use.
The data derived from the GTF file is listed below. Any data object
that already exists in the environment
is used in subsequent steps:
txdb
- TranscriptDb from which exonsByGene
and exonsByTx
are derived.
tx2geneDF
- data.frame
with transcript-to-gene relationship,
with colnames "gene_name"
and "transcript_id"
. See
makeTx2geneFromGtf()
for details.
detectedTx
- character
vector of detected transcripts, used
to match tx2geneDF$transcript_id
. When detectedTx
is NULL,
all entries in tx2geneDF
are used. Note that we found it is
much better to use only a subset of detected transcripts,
mainly because many GTF sources include a large number of potential
alternative isoforms, many of which have no supported evidence in
any one given cell type. See defineDetectedTx()
for one method
to define detected transcripts.
detectedGenes
- character
vector of genes that match
tx2geneDF$gene_name
. When detectedGenes
is NULL, it is
inferred using detectedTx
and tx2geneDF$transcript_id
.
exonsByTx
, cdsByTx
- derived from txdb
and annotated to include
values from tx2geneDF$gene_name
.
flatExonsByGene
, flatExonsByTx
- GRangesList
objects derived
from exonsByGene
and exonsByTx
, using detectedTx
.
They also use cdsByTx
to indicate coding regions (CDS) of exons.
Note that if detectedTx
is not defined, it will use all transcripts
at this stage, which can be substantially slower than using only
the subset of "observed/detected" transcripts.
An alternative is to supply one detectedGenes
gene value, which will prepare
only one gene for flatExonsByGene
in the R-shiny app. However, the
R-shiny app has the option to search all non-detected genes, which
are prepared one by one inside the R-shiny app. This process is slightly
slower when using the app by a few seconds, and will use all transcripts
for detectedTx
.
The filesDF
object should be a data.frame
with at least three colnames:
"sample_id"
"type"
(with values either "bw"
or "junction"
)
"url"
(a URL or file path to each file.)
If coverage or junctions are available in multiple files, for example
sequencing replicates, use the same sample_id
for each file, and
the coverage and junctions will be combined using the sum, after
multiplying an optional "scale_factor"
to each file.
For more direct control over the data preparation, including
tx2geneDF
, detectedTx
, exonsByGene
, and flatExonsByGene
,
see sashimiAppConstants()
which calls sashimiDataConstants()
,
both of these functions return an environment that contains the
required data.
When the R-shiny app is created, the ui
and server
components
have their environments set to envir
- so their context will
include the variables defined in that environment.
Other splicejam R-shiny functions:
sashimiAppConstants()
,
sashimiAppServer()
,
sashimiAppUI()
,
sashimiDataConstants()
# Note: disabled for web page examples # launchSashimiApp();