The ScaleBio Seq Suite: Methylation workflow requires a number of dependencies to run. These include ScaleBio developed and open-source executables, python libraries, etc. Nextflow provides different options to automatically provide these dependencies. Pick one of these approaches and select the corresponding Nextflow configuration -profile, or install dependencies manually.
If your system supports docker containers, this is the recommended way to handle all dependencies for the workflow. We provide pre-built docker containers and the workflow is setup to automatically use them.
This is enabled by adding -profile docker to the nextflow command-line.
If you'd like to use the parabricks aligner, this must be changed to -profile dockerGPU to provide the aligner access to the system GPU.
If your system does not support docker, singularity is an alternative that is enabled on many HPC clusters (2.3.x or newer). Setting -profile singularity will use the singularity engine for all dependencies. The environment variable NXF_SINGULARITY_CACHEDIR can be used to control where singularity images are stored. This should be a writable location that is available on all compute nodes. Similarly TMPDIR should be changed from the default /tmp to a location writable from the container if necessary.
See Nextflow Containers for details and additional configuration options.
One important point is that all input and output paths need to be available (bind) inside the containers. For docker, Nextflow will set the relevant options automatically at runtime; for singularity this requires user mounts to be enabled in the system-wide configuration (see the notes in the Nextflow singularity documentation).
Another option is using the Conda package manager. Nextflow can automatically create conda environments with most dependencies. This mode is selected by setting -profile conda. In this case the following additional steps need to be completed:
- Install and update conda
conda update -n base -c defaults conda
- Install ScaleBio Tools
- Execute envs/download-scale-tools.sh
- If running from a sequencer runFolder (.bcls) Illumina BCL Convert is required to be installed (and available on
$PATH)
See the Nextflow documentation for additional detail of conda support in Nextflow. Generally automatic installation will work best if the base conda environment is clean, i.e. does not contain extra channels or complex packages.
As a final alternative it is also possible to simply install the required dependencies directly, either by hand or using Conda.
A list of all requirements can be found in scaleMethyl.conda.yml, scaleMethylPyQc.yml and download-scale-tools.sh. All tools need to be available on $PATH or in /PATH/TO/ScaleMethyl/bin/