launchSashimiApp | R Documentation |
Launch Sashimi R-shiny application
launchSashimiApp(
...,
envir = globalenv(),
options = list(width = 1200),
verbose = TRUE
)
... |
additional arguments are passed to |
envir |
|
options |
|
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.
Error "SSL peer certificate or SSH remote key was not OK"
or
"SSL certificate problem: unable to get local issuer certificate"
seen in the console output of the R shiny app.
This error occurs when launchSashimiApp()
references
coverage data on an external web server, for example when
using farrisdata
example data. The remote web server
certificates used with https
web address are using
a certificate whose issuer is not recognized.
It means the authority that signed the certificate is not recognized as an approved authority.
There may be two workarounds to this issue:
If the certificate authority should be approved, sometimes on linux hosts it is enough to add certificate extensions, for example on Ubuntu, or Ubuntu Docker images, one may run
apt-get ca-certificates # or sudo apt-get ca-certificates
Other linux systems may require a different installation.
The certificate verification can be skipped temporarily. Define this option within the same R session:
httr::set_config(httr::config(ssl_verifypeer=FALSE))
Of course, this option should only be used in trusted circumstances, for example when accessing a local and trusted host.
Error "covNames must be in colnames(GenomicRanges::values(gr))"
,
or other error related to names(covNames)
or names(covNamesL)
.
These errors ultimately mean there was no available coverage data, which is usually caused by inability to access the coverage file itself. The web server may be offline, or may be denying connection. The path to the file may be incorrect.
Typically the coverage data is obtained from memoise cached data, and only when the cache is not available, or somehow incorrect, the data is retrieved from the file or remote server.
output from shiny::shinyApp()
which is an object of
class "shiny.appobj", whose default print method is to run
the app.
Other splicejam R-shiny functions:
sashimiAppConstants()
,
sashimiAppUI()
,
sashimiDataConstants()
# Note: disabled for web page examples
# launchSashimiApp();
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.