The goal of iSEEindex is to provide an interface to any collection of data sets, hosted anywhere, within a single iSEE web-application.
The main functionality of this package is to define a custom landing page for iSEE web-applications where app maintainers can list entirely custom collections of data sets hosted on virtually any locally or remotely accessible network.
A number of built-in methods are implemented, providing access to common types of resources, e.g.:
- Local filesystem
- HTTPS URIs
- Amazon S3 buckets
- Arbitrary R code to load objects directly
Each type of resource is identified by the scheme component of its URI. Standard schemes can be used alongside custom-made ones, e.g.:
-
localhost://
for local files. -
https://
for files downloaded over the HTTPS protocol. -
s3://
for files downloaded from Amazon S3 buckets. -
runr://
to load objects directly via a call to R code
The iSEEindex framework enables app maintainers to independently define new methods for their own choice of standard and custom-made URI schemes. More information is available in the vignette Implementing custom iSEEindex resources.
The resulting landing page presents end-users of the web-applications with the predefined choice of data sets and initial configuration states (specific to each data set). After selecting a data set and – optionally – an initial configuration, launching the main app fetches resources from their respective URI and caches them using the BiocFileCache package. Finally, data sets and configurations are loaded from the cache into the main iSEE
application, for interactive exploration.
Installation instructions
Get the latest stable R
release from CRAN. Then install iSEEindex from Bioconductor using the following code:
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("iSEEindex")
And the development version from GitHub with:
BiocManager::install("iSEE/iSEEindex")
Example
This is a basic example which shows you how to launch an application that lists publicly available data sets hosted on zenodo.org:
library("iSEEindex")
library("BiocFileCache")
bfc <- BiocFileCache(cache = tempdir())
dataset_fun <- function() {
x <- yaml::read_yaml(system.file(package = "iSEEindex", "example.yaml"))
x$datasets
}
initial_fun <- function() {
x <- yaml::read_yaml(system.file(package = "iSEEindex", "example.yaml"))
x$initial
}
app <- iSEEindex(bfc, dataset_fun, initial_fun)
if (interactive()) {
shiny::runApp(app, port = 1234)
}
Citation
Below is the citation output from using citation('iSEEindex')
in R. Please run this yourself to check for any updates on how to cite iSEEindex.
print(citation('iSEEindex'), bibtex = TRUE)
#> To cite package 'iSEEindex' in publications use:
#>
#> Rue-Albrecht K, Marini F (2024). _iSEEindex: iSEE extension for a
#> landing page to a custom collection of data sets_. R package version
#> 1.3.1, <https://github.com/iSEE/iSEEindex>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Manual{,
#> title = {iSEEindex: iSEE extension for a landing page to a custom collection of data sets},
#> author = {Kevin Rue-Albrecht and Federico Marini},
#> year = {2024},
#> note = {R package version 1.3.1},
#> url = {https://github.com/iSEE/iSEEindex},
#> }
Please note that the iSEEindex was only made possible thanks to many other R and bioinformatics software authors, which are cited either in the vignettes and/or the paper(s) describing this package.
Code of Conduct
Please note that the iSEEindex project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Development tools
- Continuous code testing is possible thanks to GitHub actions through usethis, remotes, and rcmdcheck customized to use Bioconductor’s docker containers and BiocCheck.
- Code coverage assessment is possible thanks to codecov and covr.
- The documentation website is automatically updated thanks to pkgdown.
- The code is styled automatically thanks to styler.
- The documentation is formatted thanks to devtools and roxygen2.
For more details, check the dev
directory.
This package was developed using biocthis.