Installation

Dyno

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:

  • Debian / Ubuntu / Linux Mint: sudo apt-get install libudunits2-dev imagemagick
  • Fedora / CentOS / RHEL: 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

Docker

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.

Singularity

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 = "..."))

Frequent installation problems

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:

  • Use usethis::browse_github_pat() to create a GitHub token
  • Use usethis::edit_r_environ() and add the environment variable with GITHUB_PAT = 'your_github_token.
  • Restart R (so that the GITHUB_PAT is read) and try to reinstall: devtools::install_github("dynverse/dyno")

I’m not allowed to install docker on my shared cluster

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.