nf-core/configs: Novo Nordiskās Marjorie Configuration
Using the Marjorie config profile
Before running any pipeline in Novo Nordiskās Marjorie cluster, Nextflow will need to be loaded as a module
(module load nextflow) or installed in the conda environment being used.
To use, run the pipeline with -profile marjorie (one hyphen).
This will download and launch the marjorie.config
which has been pre-configured with a setup suitable for the Marjorie server.
It will enable Nextflow to manage the pipeline jobs via the Slurm job scheduler.
Using this profile, Docker image(s) containing required software(s) will be downloaded
from the in-house Docker repository, and converted to Apptainer image(s) if needed before execution of the pipeline.
Below are information on required modules on HPC and Nextflow environment variables
Before running the pipeline you will need to have a working Nextflow installation and load apptainer using the environment module system on the Marjorie cluster. You can do this by doing for example:
# Load apptainer environment modules
module load nextflow
module load apptainerIt is best practices to set the environment variables when running on the HPC,
by adding the following to your ~./bashrc profile:
export NXF_CACHE_DIR=/scratch/${USER}
export NXF_WORK=/scratch/${USER}
export APPTAINER_CACHEDIR=/scratch/${USER}
export NXF_APPTAINER_CACHEDIR=$APPTAINER_CACHEDIRConfig file
/*
* ------------------------------------------------------------------
* Config file for nextflow pipelines for Novo Nordisk's Marjorie cluster
* ------------------------------------------------------------------
*/
params {
config_profile_description = "Novo Nordisk's Marjorie cluster profile"
config_profile_contact = 'Ashot Margaryan (ashotmarg2004@gmail.com), Vincent Aaskov (vincentrose88@gmail.com)'
}
process {
resourceLimits = [
memory: 768.GB,
cpus: 96,
time: 240.h
]
executor = 'slurm'
queue = 'compute'
maxRetries = 2
scratch = "/scratch/${USER}"
}
executor {
queueSize = 64
submitRateLimit = "10/1sec"
}
apptainer {
enabled = true
autoMounts = true
ociAutoPull = true
cacheDir = "/scratch/${USER}"
pullTimeout = '600 min'
}