dyno contains and loads several of the dynverse R packages (dynwrap, dynplot, dynmethods, …). To install (and update) them all:
# install.packages("devtools")
devtools::install_github("dynverse/dyno")
On Linux, you will need to install udunits and ImageMagick:
sudo apt-get install libudunits2-dev imagemagick
sudo dnf install udunits2-devel ImageMagick-c++-devel
Docker or Singularity (version ≥ 3.0) has to be installed to run TI methods. We suggest docker on Windows and MacOS, while both docker and singularity are fine when running on linux. Singularity is strongly recommended when running the method on shared computing clusters.
We’re working on wrapping some of the most popular methods directly into R. See https://github.com/dynverse/dynmethods/issues/152
For windows 10 you can install Docker CE, older Windows installations require the Docker toolbox.
You can test whether docker is correctly installed by running:
dynwrap::test_docker_installation(detailed = TRUE)
## ✔ Docker is installed
## ✔ Docker daemon is running
## ✔ Docker is at correct version (>1.0): 1.39
## ✔ Docker is in linux mode
## ✔ Docker can pull images
## ✔ Docker can run image
## ✔ Docker can mount temporary volumes
## ✔ Docker test successful -----------------------------------------------------------------
## [1] TRUE
This command will give helpful tips if some parts of the installation are missing.
Installation instructions can be found here: https://www.sylabs.io/docs/. Make sure that version ≥ 3 is installed.
You can test whether singularity is correctly installed by running:
dynwrap::test_singularity_installation(detailed = TRUE)
## ✔ Singularity is installed
## ✔ Singularity is at correct version (>=3.0): v3.0.0-13-g0273e90f is installed
## ✔ Singularity can pull and run a container from Dockerhub
## ✔ Singularity can mount temporary volumes
## ✔ Singularity test successful ------------------------------------------------------------
## [1] TRUE
This command will give helpful tips if some parts of the installation are missing.
By default, singularity will place the containers in the .singularity subfolder of the working directory. You can change this by either specifying a SINGULARITY_CACHEDIR
environment variable, or by running
dynwrap::set_default_config(dynwrap::create_singularity_config(cache_dir = "..."))
API rate limit exceeded
Dyno uses several R packages from Github and to do this it uses the GitHub API. By default, this API is limited to 60 requests. This can be easily increased by following the two steps that are recommended by devtools::install_github
, namely:
usethis::browse_github_pat()
to create a GitHub tokenusethis::edit_r_environ()
and add the environment variable with GITHUB_PAT = 'your_github_token
.devtools::install_github("dynverse/dyno")
Short answer: use singularity
Docker indeed poses a security risk when ran in a shared environment. Singularity does not have these risks. For local testing, docker is fine.