-
Notifications
You must be signed in to change notification settings - Fork 2
Docker Instructions (experimental)
These instructions will allow running the workflow using Docker where possible. This method does not work on Mac computers with Apple Silicon (M1/M2,etc) or machines with ARM CPUs.
Running the workflow this way embeds Singularity within a Docker container that must be run in privileged mode. Nesting container software like this can cause timing problems when downloading Singularity container images. If this happens re-run the workflow until all Singularity container images are downloaded.
Run these two commands to clone the repo and switch to the base directory:
git clone https://github.com/hdr-bgnn/Minnow_Segmented_Traits.git
cd Minnow_Segmented_Traits/
Run the following command to spin up a Docker container with a known good Snakemake container version, and to open a shell within the container.
sudo docker run --privileged -it -v $(pwd):/src -w /src snakemake/snakemake:v7.12.1 bash
Depending on your docker setup sudo may not be required.
On Windows the $(pwd) portion of the above command may need to be replaced with a Windows equivalent.
The following command will run the workflow using Singularity and Conda. (Note that this is run from a shell within the Snakemake container, as would be the result of the preceding step.) Singularity is needed to pull the ML containers and Conda is used for the surrounding script environments.
snakemake --jobs 1 --use-singularity --use-conda
If you encounter issues with the workflow downloading containers you should re-run the above command. The nested container software can have intermittent issues downloading containers.
Run the following command to exit out of the Snakemake docker container
exit