Type: | Package |
Title: | Open-Source Software for 'Omic' Data Analysis and Visualization |
Description: | A tool for interactive exploration of the results from 'omics' experiments to facilitate novel discoveries from high-throughput biology. The software includes R functions for the 'bioinformatician' to deposit study metadata and the outputs from statistical analyses (e.g. differential expression, enrichment). These results are then exported to an interactive JavaScript dashboard that can be interrogated on the user's local machine or deployed online to be explored by collaborators. The dashboard includes 'sortable' tables, interactive plots including network visualization, and fine-grained filtering based on statistical significance. |
Version: | 1.15.0 |
URL: | https://github.com/abbvie-external/OmicNavigator |
BugReports: | https://github.com/abbvie-external/OmicNavigator/issues |
License: | MIT + file LICENSE |
License_restricts_use: | no |
License_is_FOSS: | yes |
Encoding: | UTF-8 |
LazyData: | true |
Depends: | R (≥ 3.2.0) |
Imports: | data.table (≥ 1.12.4), graphics, jsonlite, stats, tools, utils |
Suggests: | faviconPlease, ggplot2, opencpu, plotly, tinytest (≥ 1.2.3), ttdo (≥ 0.0.6), UpSetR |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-05-28 19:25:57 UTC; john |
Author: | Terrence Ernst [aut] (Web application),
John Blischak |
Maintainer: | John Blischak <jdblischak@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-05-28 19:40:02 UTC |
OmicNavigator
Description
Package options to control package-wide behavior are described below.
Details
The default prefix for OmicNavigator study packages is "ONstudy". If you
would prefer to use a different prefix, you can change the package option
OmicNavigator.prefix
. For example, to use the prefix "OmicNavigatorStudy",
you could add the following line to your .Rprofile
file.
options(OmicNavigator.prefix = "OmicNavigatorStudy")
Author(s)
Maintainer: John Blischak jdblischak@gmail.com (ORCID)
Authors:
Terrence Ernst (Web application)
Paul Nordlund (Web application)
Justin Moore (UpSet-related functions and web application)
Joe Dalen (Barcode functionality and web application)
Akshay Bhamidipati (Web application)
Brett Engelmann brett.engelmann@abbvie.com
Marco Curado (Improved plotting capabilities)
Joe LoGrasso (Support for plotly)
Other contributors:
Elyse Geoffroy [contributor]
AbbVie Inc. [copyright holder, funder]
See Also
Useful links:
Report bugs at https://github.com/abbvie-external/OmicNavigator/issues
Mm.c2 from Bioconductor workflow RNAseq123
Description
A subset of the object Mm.c2
from Bioconductor workflow RNAseq123.
Usage
Mm.c2
Format
A list of 4 character vectors
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
Mm.c2[[1]]
str(Mm.c2)
Add annotations
Description
Add annotations
Usage
addAnnotations(study, annotations, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
annotations |
The annotations used for the enrichment analyses. The
input is a nested list. The top-level list contains one entry per
annotation database, e.g. reactome. The names correspond to the name of
each annotation database. Each of these elements should be a list that
contains more information about each annotation database. Specifically the
sublist should contain 1) |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add assays
Description
Add assays
Usage
addAssays(study, assays, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
assays |
The assays from the study. The input object is a list of data
frames (one per model). The row names should correspond to the featureIDs
( |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add barcode plot metadata
Description
The app can display a barcode plot of the enrichment results for a given
annotation term. The metadata in barcodes
instructs the app how to create
and label the barcode plot.
Usage
addBarcodes(study, barcodes, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
barcodes |
The metadata variables that describe the barcode plot.
The input object is a list of lists (one per model). Each sublist must
contain the element
|
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add enrichment results
Description
Add enrichment results
Usage
addEnrichments(study, enrichments, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
enrichments |
The enrichment results from each model. The input is a
nested named list. The names of the list correspond to the model names.
Each list element should be a list of the annotation databases tested
( |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add linkouts to external resources in the enrichments table
Description
You can provide additional information on the annotation terms in your study by providing linkouts to external resources. These will be embedded directly in the enrichments table.
Usage
addEnrichmentsLinkouts(study, enrichmentsLinkouts, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
enrichmentsLinkouts |
The URL patterns that describe linkouts to external resources (see Details below). The input object is a named list. The names of the list correspond to the annotation names. Each element of the list is a character vector of linkouts for that annotationID. |
reset |
Reset the data prior to adding the new data (default:
|
Details
For each linkout, the URL pattern you provide will be concatenated with the value of the termID column. As an example, if you used the annotation database AmiGO 2 for your enrichments analysis, you can provide a linkout for each termID using the following pattern:
go = "https://amigo.geneontology.org/amigo/term/"
As another example, if you used the annotation database Reactome for your enrichments analysis, you can provide a linkout for each termID using the following pattern:
reactome = "https://reactome.org/content/detail/"
Note that you can provide more than one linkout per termID.
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
See Also
addAnnotations
, addEnrichments
Examples
study <- createStudy("example")
enrichmentsLinkouts <- list(
gobp = c("https://amigo.geneontology.org/amigo/term/",
"https://www.ebi.ac.uk/QuickGO/term/"),
reactome = "https://reactome.org/content/detail/"
)
study <- addEnrichmentsLinkouts(study, enrichmentsLinkouts)
Add feature metadata
Description
Add feature metadata
Usage
addFeatures(study, features, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
features |
The metadata variables that describe the features in the study. The input object is a list of data frames (one per model). The first column of each data frame is used as the featureID, so it must contain unique values. To share a data frame across multiple models, use the modelID "default". All columns will be coerced to character strings. |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add mapping object
Description
Add mapping object
Usage
addMapping(study, mapping, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
mapping |
Feature IDs from models. The input object is a list of named data frames. For each data frame, column names indicate model names while rows indicate featureIDs per model. Features with same index position across columns are treated as mapped across models. For each model, feature IDs must match feature IDs available in the results object of the respective model. 1:N relationships are allowed. Mapping list elements are required to be named as 'default' or after a model name as provided in addModels(). If a single data frame is provided, this list element is recommended to be named 'default'. For multiple list elements, each with its own data frame, list elements should be named after model name(s) (a single element may still be named 'default'). In that case, when navigating in ON front-end (FE), mapping element related to the selected model in the FE will be used in multimodel plots. If a selected model in FE does not have a corresponding mapping list element, it may still use the mapping list element called 'default' if this is available. E.g., if in a study there are models "transcriptomics" and "proteomics" and the user wants to create a plot based on data from both, a mapping list should be provided with addMapping(). In this case, the mapping list element may be named 'default'. This should contain a data frame with column names 'transcriptomics' and 'proteomics', where feature IDs that map across models are found in the same row. |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
See Also
Add meta-feature metadata
Description
The meta-features table is useful anytime there are metadata variables that cannot be mapped 1:1 to your features. For example, a peptide may be associated with multiple proteins.
Usage
addMetaFeatures(study, metaFeatures, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
metaFeatures |
The metadata variables that describe the meta-features in
the study. The input object is a list of data frames (one per model). The
first column of each data frame is used as the featureID, so it must
contain the same IDs as the corresponding features data frame
( |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add linkouts to external resources in the metaFeatures table
Description
You can provide additional information on the metaFeatures in your study by providing linkouts to external resources. These will be embedded directly in the metaFeatures table.
Usage
addMetaFeaturesLinkouts(study, metaFeaturesLinkouts, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
metaFeaturesLinkouts |
The URL patterns that describe linkouts to external
resources (see Details below). The input object is a nested named list. The
names of the list correspond to the model names. Each element of the list
is a named list of character vectors. The names of this nested list must
correspond to the column names of the matching metaFeatures table ( |
reset |
Reset the data prior to adding the new data (default:
|
Details
For each linkout, the URL pattern you provide will be concatenated with the
value of that column for each row. As an example, if your metaFeatures table
included a column named "ensembl"
that contained the Ensembl Gene ID
for each feature, you could create a linkout to Ensembl using the following
pattern:
ensembl = "https://ensembl.org/Homo_sapiens/Gene/Summary?g="
As another example, if you had a column named "entrez"
that contained
the Entrez Gene ID for each feature, you could create a linkout to Entrez
using the following pattern:
entrez = "https://www.ncbi.nlm.nih.gov/gene/"
Note that you can provide more than one linkout per column.
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
See Also
Examples
study <- createStudy("example")
metaFeaturesLinkouts <- list(
default = list(
ensembl = c("https://ensembl.org/Homo_sapiens/Gene/Summary?g=",
"https://www.genome.ucsc.edu/cgi-bin/hgGene?hgg_gene="),
entrez = "https://www.ncbi.nlm.nih.gov/gene/"
)
)
study <- addMetaFeaturesLinkouts(study, metaFeaturesLinkouts)
Add models
Description
Add models
Usage
addModels(study, models, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
models |
The models analyzed in the study. The input is a named list. The names correspond to the names of the models. The elements correspond to the descriptions of the models. Alternatively, instead of a single character string, you can provide a list of metadata fields about each model. The field "description" will be used to derive the tooltip displayed in the app. |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Examples
study <- createStudy("example")
models <- list(
model_01 = "Name of first model",
model_02 = "Name of second model"
)
study <- addModels(study, models)
# Alternative: provide additional metadata about each model
models <- list(
model_01 = list(
description = "Name of first model",
data_type = "transcriptomics"
),
model_02 = list(
description = "Name of second model",
data_type = "proteomics"
)
)
Add overlaps between annotation gene sets
Description
The app's network view of the enrichments results requires pairwise overlap
metrics between all the terms of each annotation in order to draw the edges
between the nodes/terms. These overlaps are calculated automatically when
installing or exporting an OmicNavigator study. If you'd like, you can
manually calculate these pairwise overlaps by calling addOverlaps
prior to installing or exporting your study.
Usage
addOverlaps(study, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add custom plotting functions
Description
addPlots()
adds custom plotting functions and plot metadata to an
OmicNavigator study.
Usage
addPlots(study, plots, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
plots |
A nested list containing custom plotting functions and plot
metadata. The input object is a 3-level nested list. The first, or
top-level list element name(s) must match the study |
reset |
Reset the data prior to adding the new data (default:
|
Details
Custom plotting functions must be constructed to accept as the first argument
the value returned from getPlottingData()
. Custom plotting functions can
have additional arguments, but these must be provided with default values.
The end-user should call getPlottingData()
when testing their custom
plotting function. The end-user should consider the nature of the plot, i.e.
the plotType
and (rarely) models
values (see getPlottingData()
). For
example, a custom plotting function meant to produce a multiTest
plot
should accept the output of a getPlottingData()
call with multiple
testID
s assigned to the testID
argument. See the details section of
plotStudy()
for a description of how plotType
dictates the way a custom
plotting function is invoked by the app.
Note that any ggplot2 plots will require extra care. This is because the
plotting code will be inserted into a study package, and thus must follow the
best
practices for using ggplot2 within packages. Specifically, when you refer to
columns of the data frame, e.g. aes(x = group)
, you need to prefix it
with .data$
, so that it becomes aes(x = .data$group)
.
Fortunately this latter code will also run fine as you interactively develop
the function.
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
See Also
Add reports
Description
You can include reports of the analyses you performed to generate the results.
Usage
addReports(study, reports, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
reports |
The analysis report(s) that explain how the study results were generated. The input object is a list of character vectors (one per model). Each element should be either a URL or a path to a file on your computer. If it is a path to a file, this file will be included in the exported study package. To share a report across multiple models, use the modelID "default". |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add inference results
Description
Add inference results
Usage
addResults(study, results, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
results |
The inference results from each model. The input is a nested named list. The names of the list correspond to the model names. Each element in the list should be a list of data frames with inference results, one for each test. In each data frame, the featureID must be in the first column, and all other columns must be numeric. |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add linkouts to external resources in the results table
Description
You can provide additional information on the features in your study by providing linkouts to external resources. These will be embedded directly in the results table.
Usage
addResultsLinkouts(study, resultsLinkouts, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
resultsLinkouts |
The URL patterns that describe linkouts to external resources (see Details below). The input object is a nested named list. The names of the list correspond to the model names. Each element of the list is a named list of character vectors. The names of this nested list must correspond to the column names of the matching features table. To share linkouts across multiple models, use the modelID "default". |
reset |
Reset the data prior to adding the new data (default:
|
Details
For each linkout, the URL pattern you provide will be concatenated with the
value of that column for each row. As an example, if your features table
included a column named "ensembl"
that contained the Ensembl Gene ID
for each feature, you could create a linkout to Ensembl using the following
pattern:
ensembl = "https://ensembl.org/Homo_sapiens/Gene/Summary?g="
As another example, if you had a column named "entrez"
that contained
the Entrez Gene ID for each feature, you could create a linkout to Entrez
using the following pattern:
entrez = "https://www.ncbi.nlm.nih.gov/gene/"
Note that you can provide more than one linkout per column.
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
See Also
Examples
study <- createStudy("example")
resultsLinkouts <- list(
default = list(
ensembl = c("https://ensembl.org/Homo_sapiens/Gene/Summary?g=",
"https://www.genome.ucsc.edu/cgi-bin/hgGene?hgg_gene="),
entrez = "https://www.ncbi.nlm.nih.gov/gene/"
)
)
study <- addResultsLinkouts(study, resultsLinkouts)
Add sample metadata
Description
Add sample metadata
Usage
addSamples(study, samples, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
samples |
The metadata variables that describe the samples in the study. The input object is a named list of data frames (one per model). The first column of each data frame is used as the sampleID, so it must contain unique values. To share a data frame across multiple models, use the modelID "default". |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Add tests
Description
Add tests
Usage
addTests(study, tests, reset = FALSE)
Arguments
study |
An OmicNavigator study created with |
tests |
The tests from the study. The input object is a list of lists. Each element of the top-level list is a model. The names should be the modelIDs. For each modelID, each element of the nested list is a test. The names should be the testIDs. The value should be a single character string describing the testID. To share tests across multiple models, use the modelID "default". Instead of a single character string, you can provide a list of metadata fields about each test. The field "description" will be used to derive the tooltip displayed in the app. |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Examples
study <- createStudy("example")
tests <- list(
default = list(
test_01 = "Name of first test",
test_02 = "Name of second test"
)
)
study <- addTests(study, tests)
# Alternative: provide additional metadata about each test
tests <- list(
default = list(
test_01 = list(
description = "Name of first test",
comparison_type = "treatment vs control",
effect_size = "beta"
),
test_02 = list(
description = "Name of second test",
comparison_type = "treatment vs control",
effect_size = "logFC"
)
)
)
basal.vs.lp from Bioconductor workflow RNAseq123
Description
A subset of the object basal.vs.lp
from Bioconductor workflow RNAseq123.
Usage
basal.vs.lp
Format
A data frame with 24 rows and 8 columns:
- ENTREZID
Entrez ID of mouse gene
- SYMBOL
Symbol of mouse gene
- TXCHROM
Chromosome location of mouse gene
- logFC
Log fold change
- AveExpr
Average expression level of the gene across all samples
- t
Moderated t-statistic
- P.Value
p-value
- adj.P.Val
Adjusted p-value
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
head(basal.vs.lp)
str(basal.vs.lp)
basal.vs.ml from Bioconductor workflow RNAseq123
Description
A subset of the object basal.vs.ml
from Bioconductor workflow RNAseq123.
Usage
basal.vs.ml
Format
A data frame with 24 rows and 8 columns:
- ENTREZID
Entrez ID of mouse gene
- SYMBOL
Symbol of mouse gene
- TXCHROM
Chromosome location of mouse gene
- logFC
Log fold change
- AveExpr
Average expression level of the gene across all samples
- t
Moderated t-statistic
- P.Value
p-value
- adj.P.Val
Adjusted p-value
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
head(basal.vs.ml)
str(basal.vs.ml)
cam.BasalvsLP from Bioconductor workflow RNAseq123
Description
A subset of the object cam.BasalvsLP
from Bioconductor workflow RNAseq123.
Usage
cam.BasalvsLP
Format
A data frame with 4 rows and 4 columns:
- NGenes
Number of genes in each term
- Direction
Direction of the enrichment
- PValue
Nominal p-value
- FDR
Multiple-testing adjusted p-value
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
head(cam.BasalvsLP)
str(cam.BasalvsLP)
cam.BasalvsML from Bioconductor workflow RNAseq123
Description
A subset of the object cam.BasalvsML
from Bioconductor workflow RNAseq123.
Usage
cam.BasalvsML
Format
A data frame with 4 rows and 4 columns:
- NGenes
Number of genes in each term
- Direction
Direction of the enrichment
- PValue
Nominal p-value
- FDR
Multiple-testing adjusted p-value
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
head(cam.BasalvsML)
str(cam.BasalvsML)
Combine two or more studies
Description
Create a new OmicNavigator study by combining two or more existing study objects.
Usage
combineStudies(...)
Arguments
... |
Two or more objects of class |
Details
This is a convenience function to quickly and conveniently combine studies. However, it is naive, and you will likely need to edit the new study after combining. When there are conflicting elements (e.g. different study names or different maintainers), then the value for the latter study is kept. As a concrete example, if you combined 5 studies, the name of the combined study would be the name of the 5th study.
The behavior is more complex for study elements that are nested lists of data
frames (e.g. results). If the 5 studies included a results table for the same
modelID/testID combination, then only the results from the 5th study would be
retained. However, if they each defined a different modelID, then the results
for all 5 modelIDs would be included in the combined study. Please note that
you should be extra cautious in the situation where the studies have the same
modelID/testID combination. Ideally they should all have the same column
names. Since a data frame is technically a list, the workhorse function
modifyList
will retain any uniquely named
columns from earlier studies along with the columns from the final study.
Note that as a shortcut you can also combine studies using the S3 method
c
.
If a study you would like to combine is already installed, you can convert it
to a study object by importing it with importStudy
.
Value
Returns a new combined OmicNavigator study object, which is a named
nested list with class onStudy
See Also
Examples
# Define threee study objects
studyOne <- createStudy(name = "One",
description = "First study",
studyMeta = list(metafield1 = "metavalue1"))
studyTwo <- createStudy(name = "Two",
description = "Second study",
maintainer = "The Maintainer",
studyMeta = list(metafield2 = "metavalue2"))
studyThree <- createStudy(name = "Three",
description = "Third study",
studyMeta = list(metafield3 = "metavalue3"))
# Combine the three studies
combineStudies(studyOne, studyTwo, studyThree)
# Equivalently, can use c()
c(studyOne, studyTwo, studyThree)
Create a study
Description
Create a new OmicNavigator study.
Usage
createStudy(
name,
description = name,
samples = list(),
features = list(),
models = list(),
assays = list(),
tests = list(),
annotations = list(),
results = list(),
enrichments = list(),
metaFeatures = list(),
plots = list(),
mapping = list(),
barcodes = list(),
reports = list(),
resultsLinkouts = list(),
enrichmentsLinkouts = list(),
metaFeaturesLinkouts = list(),
version = NULL,
maintainer = NULL,
maintainerEmail = NULL,
studyMeta = list()
)
Arguments
name |
Name of the study |
description |
Description of the study |
samples |
The metadata variables that describe the samples in the study. The input object is a named list of data frames (one per model). The first column of each data frame is used as the sampleID, so it must contain unique values. To share a data frame across multiple models, use the modelID "default". |
features |
The metadata variables that describe the features in the study. The input object is a list of data frames (one per model). The first column of each data frame is used as the featureID, so it must contain unique values. To share a data frame across multiple models, use the modelID "default". All columns will be coerced to character strings. |
models |
The models analyzed in the study. The input is a named list. The names correspond to the names of the models. The elements correspond to the descriptions of the models. Alternatively, instead of a single character string, you can provide a list of metadata fields about each model. The field "description" will be used to derive the tooltip displayed in the app. |
assays |
The assays from the study. The input object is a list of data
frames (one per model). The row names should correspond to the featureIDs
( |
tests |
The tests from the study. The input object is a list of lists. Each element of the top-level list is a model. The names should be the modelIDs. For each modelID, each element of the nested list is a test. The names should be the testIDs. The value should be a single character string describing the testID. To share tests across multiple models, use the modelID "default". Instead of a single character string, you can provide a list of metadata fields about each test. The field "description" will be used to derive the tooltip displayed in the app. |
annotations |
The annotations used for the enrichment analyses. The
input is a nested list. The top-level list contains one entry per
annotation database, e.g. reactome. The names correspond to the name of
each annotation database. Each of these elements should be a list that
contains more information about each annotation database. Specifically the
sublist should contain 1) |
results |
The inference results from each model. The input is a nested named list. The names of the list correspond to the model names. Each element in the list should be a list of data frames with inference results, one for each test. In each data frame, the featureID must be in the first column, and all other columns must be numeric. |
enrichments |
The enrichment results from each model. The input is a
nested named list. The names of the list correspond to the model names.
Each list element should be a list of the annotation databases tested
( |
metaFeatures |
The metadata variables that describe the meta-features in
the study. The input object is a list of data frames (one per model). The
first column of each data frame is used as the featureID, so it must
contain the same IDs as the corresponding features data frame
( |
plots |
A nested list containing custom plotting functions and plot
metadata. The input object is a 3-level nested list. The first, or
top-level list element name(s) must match the study |
mapping |
Feature IDs from models. The input object is a list of named data frames. For each data frame, column names indicate model names while rows indicate featureIDs per model. Features with same index position across columns are treated as mapped across models. For each model, feature IDs must match feature IDs available in the results object of the respective model. 1:N relationships are allowed. Mapping list elements are required to be named as 'default' or after a model name as provided in addModels(). If a single data frame is provided, this list element is recommended to be named 'default'. For multiple list elements, each with its own data frame, list elements should be named after model name(s) (a single element may still be named 'default'). In that case, when navigating in ON front-end (FE), mapping element related to the selected model in the FE will be used in multimodel plots. If a selected model in FE does not have a corresponding mapping list element, it may still use the mapping list element called 'default' if this is available. E.g., if in a study there are models "transcriptomics" and "proteomics" and the user wants to create a plot based on data from both, a mapping list should be provided with addMapping(). In this case, the mapping list element may be named 'default'. This should contain a data frame with column names 'transcriptomics' and 'proteomics', where feature IDs that map across models are found in the same row. |
barcodes |
The metadata variables that describe the barcode plot.
The input object is a list of lists (one per model). Each sublist must
contain the element
|
reports |
The analysis report(s) that explain how the study results were generated. The input object is a list of character vectors (one per model). Each element should be either a URL or a path to a file on your computer. If it is a path to a file, this file will be included in the exported study package. To share a report across multiple models, use the modelID "default". |
resultsLinkouts |
The URL patterns that describe linkouts to external resources (see Details below). The input object is a nested named list. The names of the list correspond to the model names. Each element of the list is a named list of character vectors. The names of this nested list must correspond to the column names of the matching features table. To share linkouts across multiple models, use the modelID "default". |
enrichmentsLinkouts |
The URL patterns that describe linkouts to external resources (see Details below). The input object is a named list. The names of the list correspond to the annotation names. Each element of the list is a character vector of linkouts for that annotationID. |
metaFeaturesLinkouts |
The URL patterns that describe linkouts to external
resources (see Details below). The input object is a nested named list. The
names of the list correspond to the model names. Each element of the list
is a named list of character vectors. The names of this nested list must
correspond to the column names of the matching metaFeatures table ( |
version |
(Optional) Include a version number to track the updates to your study package. If you export the study to a package, the version is used as the package version. |
maintainer |
(Optional) Include the name of the study package's maintainer |
maintainerEmail |
(Optional) Include the email of the study package's maintainer |
studyMeta |
(Optional) Define metadata about your study. The input is a list of key:value pairs. See below for more details. |
Details
You can add metadata to describe your study by passing a named list to to the
argument studyMeta
. The names of the list cannot contain spaces or
colons, and they can't start with #
or -
. The values of each
list should be a single value. Also, your metadata fields cannot use any of
the
reserved
fields for R's DESCRIPTION file.
Value
Returns a new OmicNavigator study object, which is a named nested
list with class onStudy
See Also
addSamples
,
addFeatures
,
addModels
,
addAssays
,
addTests
,
addAnnotations
,
addResults
,
addEnrichments
,
addMetaFeatures
,
addPlots
,
addMapping
,
addBarcodes
,
addReports
,
addResultsLinkouts
,
addEnrichmentsLinkouts
,
addMetaFeaturesLinkouts
,
exportStudy
,
installStudy
Examples
study <- createStudy(name = "ABC",
description = "An analysis of ABC")
# Define a version and study metadata
study <- createStudy(name = "ABC",
description = "An analysis of ABC",
version = "0.1.0",
maintainer = "My Name",
maintainerEmail = "me@email.com",
studyMeta = list(department = "immunology",
organism = "Mus musculus"))
Export a study
Description
Export a study
Usage
exportStudy(
study,
type = c("tarball", "package"),
path = NULL,
requireValid = TRUE
)
Arguments
study |
An OmicNavigator study |
type |
Export study as a package tarball ("tarball") or as a package directory ("package") |
path |
Optional file path to save the object |
requireValid |
Require that study is valid before exporting |
Value
Invisibly returns the name of the tarball file ("tarball") or the path to the package directory ("package")
See Also
Get annotations from a study
Description
Get annotations from a study
Usage
getAnnotations(study, annotationID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
annotationID |
Filter by annotationID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get assays from a study
Description
Get assays from a study
Usage
getAssays(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get data for barcode and violin plots
Description
Get data for barcode and violin plots
Usage
getBarcodeData(study, modelID, testID, annotationID, termID)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
testID |
Filter by testID |
annotationID |
Filter by annotationID |
termID |
Filter by termID |
Value
A list with the following components:
data |
Data frame with the differential statistics to plot |
highest |
(numeric) The largest differential statistic, rounded up to the next integer |
lowest |
(numeric) The lowest differential statistic, rounded down to the next integer |
labelStat |
(character) The x-axis label to describe the differential statistic |
labelLow |
(character) The vertical axis label on the left to describe smaller values (default is "Low") |
labelHigh |
(character) The vertical axis label on the right to describe larger values (default is "High") |
See Also
Get barcodes from a study
Description
Get barcodes from a study
Usage
getBarcodes(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get enrichments from a study
Description
Get enrichments from a study
Usage
getEnrichments(
study,
modelID = NULL,
annotationID = NULL,
testID = NULL,
quiet = FALSE,
libraries = NULL
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
annotationID |
Filter by annotationID |
testID |
Filter by testID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
getEnrichmentsIntersection
Description
getEnrichmentsIntersection
Usage
getEnrichmentsIntersection(
study,
modelID,
annotationID,
mustTests,
notTests,
sigValue,
operator,
type
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
annotationID |
Filter by annotationID |
mustTests |
The testIDs for which a featureID (or termID for enrichment) must pass the filters |
notTests |
The testIDs for which a featureID (or termID for enrichment) must not pass the filters. In other words, if a featureID passes the filter for a testID specified in notTests, that featureID is removed from the output |
sigValue |
The numeric significance value to use as a cutoff for each column |
operator |
The comparison operators for each column, e.g. |
type |
Type of p-value: ( |
Value
Returns a data frame with the enrichments, similar to
getEnrichmentsTable
. Only rows that pass all the filters are
included.
See Also
Get enrichments table linkouts from a study
Description
Get enrichments table linkouts from a study
Usage
getEnrichmentsLinkouts(
study,
annotationID = NULL,
quiet = FALSE,
libraries = NULL
)
Arguments
study |
An OmicNavigator study. Either an object of class |
annotationID |
Filter by annotationID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get enrichments network from a study
Description
Get enrichments network from a study
Usage
getEnrichmentsNetwork(study, modelID, annotationID, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
annotationID |
Filter by annotationID |
libraries |
The directories to search for installed study packages. If
left as |
Value
Returns a list with the following components:
tests |
(character) Vector of testIDs |
nodes |
(data frame) The description of each annotation term (i.e. node). The nominal and adjusted p-values are in list-columns. |
links |
(list) The statistics for each pairwise overlap between the annotation terms (i.e. nodes) |
Get enrichments table from a study
Description
Get enrichments table from a study
Usage
getEnrichmentsTable(
study,
modelID,
annotationID,
type = "nominal",
libraries = NULL
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
annotationID |
Filter by annotationID |
type |
Type of p-value: ( |
libraries |
The directories to search for installed study packages. If
left as |
Value
A data frame of enrichments with the following columns:
termID |
The unique ID for the annotation term |
description |
The description of the annotation term |
... |
One column for each of the enrichments |
getEnrichmentsUpset
Description
getEnrichmentsUpset
Usage
getEnrichmentsUpset(
study,
modelID,
annotationID,
sigValue,
operator,
type,
tests = NULL
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
annotationID |
Filter by annotationID |
sigValue |
The numeric significance value to use as a cutoff for each column |
operator |
The comparison operators for each column, e.g. |
type |
Type of p-value: ( |
tests |
Restrict UpSet plot to only include these tests |
Value
No return value. This function is called for the side effect of creating an UpSet plot.
Get favicon URLs for table linkouts
Description
To enhance the display of the linkouts in the app's tables, it can fetch the favicon URL for each website.
Usage
getFavicons(linkouts)
Arguments
linkouts |
Character vector or (potentially nested) list of character vectors containing the URLs for the table linkouts. |
Value
The URLs to the favicons for each linkout. The output returned will always be the same class and structure as the input.
See Also
getResultsLinkouts
,
getEnrichmentsLinkouts
Get features from a study
Description
Get features from a study
Usage
getFeatures(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
A data frame (if modelID
is specified) or a list of data
frames. All the columns will be character strings, even if the values
appear numeric.
Get installed OmicNavigator studies
Description
Get installed OmicNavigator studies
Usage
getInstalledStudies(libraries = NULL)
Arguments
libraries |
Character vector of library directories to search for study
packages. If |
Value
Returns a character vector of the installed OmicNavigator study packages
Get the shared features in a network link
Description
Get the shared features in a network link
Usage
getLinkFeatures(study, annotationID, termID1, termID2)
Arguments
study |
An OmicNavigator study. Only accepts name of installed study package. |
annotationID |
Filter by annotationID |
termID1 , termID2 |
Linked terms to find overlapping features |
Value
Returns a character vector with the features included in both termIDs (i.e. the intersection)
See Also
Get mapping object from a study
Description
Get mapping object from a study
Usage
getMapping(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get metaFeatures from a study
Description
Get metaFeatures from a study
Usage
getMetaFeatures(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get metaFeatures table linkouts from a study
Description
Get metaFeatures table linkouts from a study
Usage
getMetaFeaturesLinkouts(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get metaFeatures for a given feature
Description
Get metaFeatures for a given feature
Usage
getMetaFeaturesTable(study, modelID, featureID)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
featureID |
Filter by featureID |
Value
Returns a data frame with the metaFeatures for the provided featureID. If the featureID is not found in the metaFeatures table, the data frame will have zero rows.
See Also
addMetaFeatures
, getMetaFeatures
Get models from a study
Description
Get models from a study
Usage
getModels(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get the features in a network node
Description
Get the features in a network node
Usage
getNodeFeatures(study, annotationID, termID, libraries = NULL)
Arguments
study |
An OmicNavigator study. Only accepts name of installed study package. |
annotationID |
Filter by annotationID |
termID |
Filter by termID |
libraries |
The directories to search for installed study packages. If
left as |
Value
Returns a character vector with the features in the termID
See Also
Get overlaps from a study
Description
Get overlaps from a study
Usage
getOverlaps(study, annotationID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
annotationID |
Filter by annotationID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get version of OmicNavigator package
Description
This is a convenience function for the app. It is easier to always call the OmicNavigator package functions via OpenCPU than to call the utils package for this one endpoint.
Usage
getPackageVersion()
Value
Returns a one-element character vector with the version of the currently installed OmicNavigator R package
Get plots from a study
Description
Get plots from a study
Usage
getPlots(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get plotting data from an OmicNavigator study
Description
Returns assay
, sample
, feature
, and result
data that may be used for
plotting. This function is called by plotStudy()
and the output is passed to
custom plotting functions. It should be used directly when interactively
creating custom plotting functions.
Usage
getPlottingData(study, modelID, featureID, testID = NULL, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
featureID |
Filter by featureID |
testID |
Filter by testID |
libraries |
The directories to search for installed study packages. If
left as |
Details
The end-user should call this function and populate the first argument of
their custom plotting function with the output. When building functions, the
end-user should understand the category of plotting function they are creating
(e.g. singleFeature
or multiFeature
, see addPlots()
) and call
getPlottingData()
accordingly.
Custom plots that accept data from multiple models and a single test
(plotType = c(‘multiModel’, ‘singleTest’)
; see addPlots()
) should be built
to accept output from getPlottingData()
where modelID
is vector of length
n and testID
is a vector of length n, where n is the number of models.
Custom plots that accept data from multiple models and multiple tests
(plotType = c(‘multiModel’, ‘multiTest’)
) should be built to accept output
from getPlottingData()
where modelID
and testID
vectors are length m,
where m is the total number of tests considered across all models (note that
testID
s must be repeated across models for the plotting function to work in
the app). The index positions of these two vectors should correspond. That is,
testID
position 1 should be found in the model specified by modelID
position 1, etc. See addPlots()
for information about the assignment of
plotTypes
for your custom plots.
Value
Returns a list of at least 4 objects:
assays |
A data frame that contains the assay measurements,
filtered to only include the row(s) corresponding to the input featureID(s)
(see |
samples |
A data frame that contains the sample metadata for the
given modelID (see |
features |
A data frame that contains the feature metadata,
filtered to only include the row(s) corresponding to the input featureID(s)
(see |
results |
A data frame that contains the test results, filtered to only include the row(s) corresponding to the input featureID(s). If multiple featureIDs are requested, the rows are reordered to match the order of this input. The column order is unchanged. If multiple testIDs are provided, they are stored in a list object. |
mapping |
A data frame that contains the featureID(s) from each model. This is the filtered mapping object. This data frame is returned when multiple models are passed as arguments |
The data frame results
is only returned if you pass a testID. By
default the app will always pass the currently selected testID.
See Also
Get link to report
Description
Get link to report
Usage
getReportLink(study, modelID)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
Value
Returns a one-element character vector with either a path to a report file or a URL to a report web page. If no report is available for the modelID, an empty character vector is returned.
Get reports from a study
Description
Get reports from a study
Usage
getReports(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get results from a study
Description
Get results from a study
Usage
getResults(
study,
modelID = NULL,
testID = NULL,
quiet = FALSE,
libraries = NULL
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
testID |
Filter by testID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
getResultsIntersection
Description
getResultsIntersection
Usage
getResultsIntersection(
study,
modelID,
anchor,
mustTests,
notTests,
sigValue,
operator,
column
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
anchor |
The primary testID to filter the results |
mustTests |
The testIDs for which a featureID (or termID for enrichment) must pass the filters |
notTests |
The testIDs for which a featureID (or termID for enrichment) must not pass the filters. In other words, if a featureID passes the filter for a testID specified in notTests, that featureID is removed from the output |
sigValue |
The numeric significance value to use as a cutoff for each column |
operator |
The comparison operators for each column, e.g. |
column |
The columns to apply the filters |
Value
Returns a data frame with the results, similar to
getResultsTable
. Only rows that pass all the filters are
included. The new column Set_Membership
is a comma-separated field
that includes the testIDs in which the featureID passed the filters.
See Also
Get results table linkouts from a study
Description
Get results table linkouts from a study
Usage
getResultsLinkouts(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get results table from a study
Description
Get results table from a study
Usage
getResultsTable(
study,
modelID,
testID,
annotationID = NULL,
termID = NULL,
libraries = NULL
)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
testID |
Filter by testID |
annotationID |
Filter by annotationID |
termID |
Filter by termID |
libraries |
The directories to search for installed study packages. If
left as |
Value
A data frame which includes the columns from the features table followed by the columns from the results table. All the columns from the features table will be character strings, even if the values appear numeric.
If the optional arguments annotationID
and termID
are
provided, the table will be filtered to only include features in that
annotation term.
getResultsUpset
Description
getResultsUpset
Usage
getResultsUpset(study, modelID, sigValue, operator, column, legacy = FALSE)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
sigValue |
The numeric significance value to use as a cutoff for each column |
operator |
The comparison operators for each column, e.g. |
column |
The columns to apply the filters |
legacy |
Use legacy code (for testing purposes only) |
Value
Invisibly returns the output from upset
Get samples from a study
Description
Get samples from a study
Usage
getSamples(study, modelID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Get tests from a study
Description
Get tests from a study
Usage
getTests(study, modelID = NULL, testID = NULL, quiet = FALSE, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
testID |
Filter by testID |
quiet |
Suppress messages (default: |
libraries |
The directories to search for installed study packages. If
left as |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
getUpsetCols
Description
Determine the common columns across all tests of a model that are available for filtering with UpSet.
Usage
getUpsetCols(study, modelID)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
Value
Returns a character vector with the names of the common columns
group from Bioconductor workflow RNAseq123
Description
A subset of the object group
from Bioconductor workflow RNAseq123.
Usage
group
Format
A factor with 3 levels:
- Basal
Basal cells
- LP
Luminal progenitor cells
- ML
Mature luminal cells
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
table(group)
str(group)
Import a study package
Description
Create an onStudy object by importing an installed study package
Usage
importStudy(study, libraries = NULL)
Arguments
study |
Named of an installed OmicNavigator study |
libraries |
The directories to search for installed study packages. If
left as |
Value
Returns the onStudy
object imported from the OmicNavigator
study package
Install the OmicNavigator web app
Description
In order to run the OmicNavigator web app on your local machine, the app must
be installed in the www/
subdirectory of the R package. If you
installed the release tarball from the GitHub Releases page, then you already
have the app installed. If you installed directly from GitHub with
install_github
, or if you want to use a different version of the app,
you can manually download and install the app.
Usage
installApp(version = NULL, overwrite = FALSE, lib.loc = NULL, ...)
Arguments
version |
Version of the web app to install, e.g. |
overwrite |
Should an existing installation of the app be overwritten? |
lib.loc |
a character vector with path names of R libraries.
See ‘Details’ for the meaning of the default value of |
... |
Passed to |
Value
A one-element character vector with the absolute path to the directory in which the app files were installed
Install a study as an R package
Description
Install a study as an R package
Usage
installStudy(study, library = .libPaths()[1])
Arguments
study |
An OmicNavigator study to install (class |
library |
Directory to install package. Defaults to first directory
returned by |
Value
Invisibly returns the original onStudy
object that was passed
to the argument study
lane from Bioconductor workflow RNAseq123
Description
A subset of the object lane
from Bioconductor workflow RNAseq123.
Usage
lane
Format
A factor with 3 levels:
- L004
Sample sequenced on lane 4
- L006
Sample sequenced on lane 6
- L008
Sample sequenced on lane 8
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
table(lane)
str(lane)
lcpm from Bioconductor workflow RNAseq123
Description
A subset of the object lcpm
from Bioconductor workflow RNAseq123.
Usage
lcpm
Format
A matrix with 24 rows and 9 columns
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
head(lcpm)
str(lcpm)
List available studies and their metadata
Description
List available studies and their metadata
Usage
listStudies(libraries = NULL)
Arguments
libraries |
The directories to search for installed study packages. If
left as |
Value
Returns a nested list with one element per installed OmicNavigator study package. Each study package entry has the following sublist components:
name |
(character) Name of the study |
package |
(list) The fields from |
results |
(nested list) The testIDs available for each modelID |
enrichments |
(nested list) The annotationIDs available for each modelID |
plots |
(nested list) The plotIDs available for each modelID |
Invoke a custom plotting function
Description
plotStudy()
invokes a custom plotting function saved within an OmicNavigator
study. This function is called by the app using the study-model-test
selection, feature selections, and plotting function metadata (see
addPlots()
) to define arguments.
Usage
plotStudy(study, modelID, featureID, plotID, testID = NULL, libraries = NULL)
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
featureID |
Filter by featureID |
plotID |
Filter by plotID |
testID |
Filter by testID |
libraries |
The directories to search for installed study packages. If
left as |
Details
The arguments study
, modelID
, featureID
, and
testID
are passed to the function getPlottingData()
. The list returned
by getPlottingData()
is passed as the first argument to a custom plotting
function. Some custom plotTypes
(see addPlots()
) require care when being
invoked and attention should be paid to how a custom plot will be rendered
by the app. Custom plots with plotType = c(‘multiModel’, ‘singleTest’)
accept a modelID
vector of length n and a vector of testID
s length n,
where n is the number of models. Custom plots with plotType = c(‘multiModel’, ‘multiTest’)
accept modelID
and testID
vectors of
length m, where m is the total number of tests considered across all models
(note testID
s are often repeated across models). Note that the index
positions of these two vectors should correspond. That is, testID
position
1 should be found in the model specified by modelID
position 1, etc.
The app will invoke custom plotting functions via plotStudy()
using the
current menu selections and plot metadata (see addPlots()
). Plots with
plotType = ‘multiTest’
will be invoked with all testID
s found within the
currently selected model. Plots with plotType = c(‘multiModel’,‘singleTest’)
will be invoked with all modelID
s within the
study (unless the plot has specified a list of models via models
) and the
currently selected testID
(an error will result if the currently selected
testID
is not present in all relevant models for the plot). Plots with
plotType = c(‘multiModel’, ‘multiTest’)
will be invoked with all
modelID
s within the study (unless the plot has specified a list of models
via models
) and all identical testID
s across models (if there are no
matching testIDs across models an error will result).
Value
This function is called for the side effect of creating a plot. It invisibly
returns the result from the custom plotting function specified by plotID
.
Previously it invisibly returned the study object. It's unlikely you relied
on this behavior. For a ggplot2 plot, the return value will be the plotting
object with class "ggplot"
. For a plotly plot, the return value will be
the json schema used for plotting with class “json”
.
See Also
Remove an installed study R package
Description
Remove an installed study R package
Usage
removeStudy(study, library = .libPaths()[1])
Arguments
study |
The name of the study or an |
library |
Directory where the study package is installed. Defaults to first directory
returned by |
Value
Invisibly returns the path of the removed study package
samplenames from Bioconductor workflow RNAseq123
Description
A subset of the object samplenames
from Bioconductor workflow RNAseq123.
Usage
samplenames
Format
A character vector containing the unique sample identifiers
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Examples
head(samplenames)
str(samplenames)
Shared parameters for add functions
Description
Shared parameters for add functions
Arguments
study |
An OmicNavigator study created with |
reset |
Reset the data prior to adding the new data (default:
|
Value
Returns the original onStudy
object passed to the argument
study
, but modified to include the newly added data
Shared sections for data objects
Description
Shared sections for data objects
Source
https://bioconductor.org/packages/release/workflows/vignettes/RNAseq123/inst/doc/limmaWorkflow.html
References
Law CW, Alhamdoosh M, Su S, Dong X, Tian L, Smyth GK, Ritchie ME. RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR [version 3; peer review: 3 approved]. F1000Research 2018, 5:1408 doi:10.12688/f1000research.9005.3
Sheridan, J.M., Ritchie, M.E., Best, S.A. et al. A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1. BMC Cancer 2015, 15:221 doi:10.1186/s12885-015-1187-z
Shared parameters for get functions
Description
Shared parameters for get functions
Arguments
study |
An OmicNavigator study. Either an object of class |
modelID |
Filter by modelID |
testID |
Filter by testID |
annotationID |
Filter by annotationID |
termID |
Filter by termID |
featureID |
Filter by featureID |
plotID |
Filter by plotID |
quiet |
Suppress messages (default: |
Value
The object returned depends on the data available and any filters
(e.g. the argument modelID
):
If no filters are specified, then the object returned is a nested list, similar to the original input object.
If one or more filters are applied, then only a subset of the original nested
list is returned. Technically, each filter applied is used to subset the
original nested list using [[
.
If no data is available, an empty list is returned (list()
).
Shared parameters for upset functions
Description
Shared parameters for upset functions
Arguments
anchor |
The primary testID to filter the results |
mustTests |
The testIDs for which a featureID (or termID for enrichment) must pass the filters |
notTests |
The testIDs for which a featureID (or termID for enrichment) must not pass the filters. In other words, if a featureID passes the filter for a testID specified in notTests, that featureID is removed from the output |
sigValue |
The numeric significance value to use as a cutoff for each column |
operator |
The comparison operators for each column, e.g. |
column |
The columns to apply the filters |
type |
Type of p-value: ( |
tests |
Restrict UpSet plot to only include these tests |
legacy |
Use legacy code (for testing purposes only) |
Start app on local machine
Description
After you have installed at least one OmicNavigator study package with
installStudy
, you can explore the results in the app. The
function startApp
starts a local instance of the app running on your
current machine. It will automatically open the app in your default browser.
For the best experience, use Google Chrome. From the dropdown menu, you will
be able to select from any of the studies you have installed on your machine.
When you are finished, you can stop the web server by returning to the R
console and pressing the Esc key (Windows) or Ctrl-C (Linux, macOS).
Usage
startApp(...)
Arguments
... |
extra parameters passed to ocpu_start_server |
Details
Note that the app can't be run from within RStudio Server.
The app requires some additional R packages to run. If you receive an error
about a missing package, please install it with
install.packages
. To ensure you have all the extra
packages installed, you can run the command below:
install.packages(c("faviconPlease", "opencpu", "UpSetR"))
Value
No return value. This function is only called for the side effect of running a local instance of the app.
Summarize elements of OmicNavigator study
Description
Displays a tree-like summary of the elements that have been added to an OmicNavigator study.
Usage
## S3 method for class 'onStudy'
summary(object, elements = NULL, ...)
Arguments
object |
OmicNavigator study object (class |
elements |
Subset the output to only include specific elements of the
study, e.g. |
... |
Currently unused |
Value
Invisibly returns the original onStudy
object
Validate a study
Description
Validate a study
Usage
validateStudy(study)
Arguments
study |
An OmicNavigator study object |
Value
For a valid study object, the logical value TRUE
is invisibly
returned. For an invalid study object, there is no return value because an
error is thrown.