def singularityDir = set_singularity_path() def singularityModule = "singularity/3.2.1" def squashfsModule = "squashfs/4.3" params { config_profile_description = """ NYU prince cluster profile provided by nf-core/configs. Run from your scratch directory, the output files may be large! Please consider running the pipeline on a compute node the first time, as it will be pulling the docker image, which will be converted into a singularity image, which is heavy on the login node. Subsequent runs can be done on the login node, as the docker image will only be pulled and converted once. By default the images will be stored in $singularityDir """.stripIndent() config_profile_contact = 'Tobias Schraink (@tobsecret)' config_profile_url = 'https://github.com/nf-core/configs/blob/master/docs/prince.md' } singularity { enabled = true cacheDir = singularityDir } process { beforeScript = "module load $singularityModule $squashfsModule" executor = 'slurm' } def set_singularity_path() { def scratch = System.getenv('SCRATCH') if(scratch == null){ System.err.println("WARNING: prince.config requires the SCRATCH env var to be set.") return null } else { return "$SCRATCH/singularity_images_nextflow" } }