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 apptainer
It 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_CACHEDIR
Config 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'
}