Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds unity profile config/docs #821

Merged
merged 6 commits into from
Dec 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ jobs:
- "ucd_sonic"
- "uge"
- "unibe_ibu"
- "unity"
- "unc_lccc"
- "unc_longleaf"
- "uod_hpc"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ Currently documentation is available for the following systems:
- [UNC_LONGLEAF](docs/unc_longleaf.md)
- [UGE](docs/uge.md)
- [UNIBE_IBU](docs/unibe_ibu.md)
- [Unity](docs/unity.md)
- [UOD_HPC](docs/uod_hpc.md)
- [UPPMAX](docs/uppmax.md)
- [UTD_GANYMEDE](docs/utd_ganymede.md)
Expand Down
51 changes: 51 additions & 0 deletions conf/unity.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* -------------------------------------------------
* Unity HPC cluster config file for nf-core
* -------------------------------------------------
* https://unity.rc.umass.edu/
*/

params {
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 = '/datasets/bio/igenomes'

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

process {
resourceLimits = [
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

}

// Limits job submission to 1000 consecutive run and 20 submissions per second
executor {
queueSize = 1000
submitRateLimit = '20sec'
pollInterval = '30sec'
queueStatInterval = '1min'
}

apptainer {
enabled = true
autoMounts = true
pullTimeout = '120m'
}

// clean the generated files in the working directory
cleanup = true
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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also use the NXF_SINGULARITY_CACHEDIR and NXF_SINGULARITY_LIBRARYDIR variables to point to this instead.


## iGenome database

A local copy of the iGenomes resource has been made available on UNITY CLUSTER so you should be able to run a pipeline supporting this 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]`.
:::
3 changes: 3 additions & 0 deletions nfcore_custom.config
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,9 @@ profiles {
unibe_ibu {
includeConfig "${params.custom_config_base}/conf/unibe_ibu.config"
}
unity {
includeConfig "${params.custom_config_base}/conf/unity.config"
}
uod_hpc {
includeConfig "${params.custom_config_base}/conf/uod_hpc.config"
}
Expand Down
Loading