Skip to content

Commit

Permalink
Adds institutional configs and docs for Unity HPC final version.
Browse files Browse the repository at this point in the history
  • Loading branch information
baldikacti committed Dec 20, 2024
1 parent 34e7944 commit 666aa36
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 15 deletions.
34 changes: 19 additions & 15 deletions conf/unity.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,46 @@
*/

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 = '/<path>/<to>/igenomes/'

igenomes_base = '/datasets/bio/igenomes'

max_memory = 2.TB
max_cpus = 192
max_time = 14.d
}

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
}
}
29 changes: 29 additions & 0 deletions docs/unity.md
Original file line number Diff line number Diff line change
@@ -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 <pipeline_name> -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_<pi_name>/.apptainer/cache` or `/work/pi_<pi_name>/<username>/.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 <GENOME_ID>` 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 `[email protected]`.
:::

0 comments on commit 666aa36

Please sign in to comment.