diff --git a/conf/unity.config b/conf/unity.config index f5d353f42..7dfaa86e8 100644 --- a/conf/unity.config +++ b/conf/unity.config @@ -6,10 +6,12 @@ */ params { - config_profile_description = 'Unity cluster profile provided by nf-core/configs.' - config_profile_contact = 'Berent Aldikacti (baldikacti)' + config_profile_description = 'Unity HPC cluster profile provided by nf-core/configs.' + config_profile_contact = 'Berent Aldikacti (@baldikacti)' config_profile_url = 'https://unity.rc.umass.edu/' - igenomes_base = '///igenomes/' + + igenomes_base = '/datasets/bio/igenomes' + max_memory = 2.TB max_cpus = 192 max_time = 14.d @@ -17,31 +19,33 @@ params { process { resourceLimits = [ - cpus: params.max_cpus, - memory: params.max_memory, - time: params.max_time + cpus: 192, + memory: 2.TB, + time: 14.d ] executor = 'slurm' + + // Selects partition based on process time queue = { task.time <= 2.h ? 'cpu-preempt' : 'cpu' } + clusterOptions = { "${task.time >= 48.h ? '-q long' : ''}" } + maxRetries = 2 - clusterOptions = { "${task.time >= 48.h ?: '-q long'}" } - beforeScript = 'module load apptainer/latest' + } +// Limits job submission to 1000 consecutive run and 20 submissions per second executor { queueSize = 1000 - submitRateLimit = '6/1min' + submitRateLimit = '20sec' + pollInterval = '30sec' + queueStatInterval = '1min' } apptainer { enabled = true autoMounts = true + pullTimeout = '120m' } +// clean the generated files in the working directory cleanup = true - -profiles { - debug { - cleanup = false - } -} \ No newline at end of file diff --git a/docs/unity.md b/docs/unity.md index e69de29bb..9cfa1c639 100644 --- a/docs/unity.md +++ b/docs/unity.md @@ -0,0 +1,29 @@ +# nf-core/configs: Unity HPC Configuration + +All nf-core pipelines have been successfully configured for use on the Unity HPC. + +To use, run the pipeline with `-profile unity`. This will download and launch the [`unity.config`](../conf/unity.config) which has been pre-configured with a setup suitable for the UNITY cluster. Using this profile, an Apptainer image containing all of the required software will be downloaded, and converted to an Apptainer image before execution of the pipeline. + +## Running the pipeline + +Before running the pipeline you will need to load Nextflow and Apptainer using the environment module system on UNITY CLUSTER. You can do this by issuing the commands below: + +```bash +## Load Nextflow and Apptainer environment modules +module purge +module load nextflow/24.04.3 +module load apptainer/latest + +nextflow run -profile unity +``` + +Apptainer module will look for a cache directory with the name `.apptainer/cache` in your `/home` or `/work` directory. Please create the cache directory in `/work/pi_/.apptainer/cache` or `/work/pi_//.apptainer/cache` to prevent apptainer filling your HOME directory. + +## iGenome database + +A local copy of the iGenomes resource has been made available on UNITY CLUSTER so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. +You can do this by simply using the `--genome ` parameter. + +:::note +You will need an account to use the HPC cluster on UNITY CLUSTER in order to run the pipeline. If in doubt contact `hpc@umass.edu`. +:::