nf-core/configs: giga
GIGA cluster profile provided by the GIGA Bioinformatics Team.
nf-core/configs: GIGA Cluster Configuration
This configuration provides sensible default parameters to run nf-core pipelines (and nf-core compatible pipelines) on the GIGA cluster.
To use it, add -profile giga when running a pipeline.
This will automatically download the giga.config.
The configuration sets slurm as the default executor and enables singularity as container runner.
Loading the required modules
Before running a pipeline, one should load slurm, nextflow and singularity using the environment module system.
This can be achieved with:
# Clear loaded modules
module purge
# Add GIGA bioinformatics modules to modules path
module use '/resources/GIGA/PUBLIC/tools/modules/containerised/modulefiles'
module use '/resources/GIGA/PUBLIC/tools/modules/uncontainerised/modulefiles'
# Load modules
module load 'slurm'
module load 'singularity/giga'
module load 'nextflow/24.04.4'
Built with ❤️ by the GIGA Bioinformatics Team
Config file
/* * GIGA CLUSTER * ============ * This configuration file provides sensible defaults to run Nextflow pipelines * on the GIGA cluster. * * For more information on the GIGA cluster, refer to this page of the wiki: * https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/cluster/overview.html * If you face any issue using this configuration, please contact the GIGA * Bioinformatics Team: * https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/about/contact.html#bioinformatics-team */params { config_profile_name = 'GIGA' config_profile_description = 'GIGA cluster profile provided by the GIGA Bioinformatics Team.' config_profile_contact = 'Martin Grignard (@MartinGrignard)' config_profile_url = 'https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/cluster/overview.html'}
/* * Resources limitations * --------------------- * These resources limitations are maximum values across all nodes of all * queues. At least one node matches these maximum resources in all of the * available queues. * * For more information on the available nodes on the GIGA cluster, refer to * this page of the wiki: * https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/cluster/overview.html#nodes * or use the `sinfo` command. */params { max_cpus = 48 max_memory = 512.GB max_time = 365.days // Virtually infinite (jobs without a time limit run in the 'kosmos' partition).}
/* * Singularity configuration * ------------------------- * Singularity is used to run containerised tools. On the cluster, one should * use the following command to make it available: * $ module load singularity * This configuration makes sure to cache the downloaded containers into a * shared directory on the resources SSDs. * * For more information on how to use Singularity on the GIGA cluster, refer to * this page of the wiki: * https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/tools/environment/singularity.html */singularity { autoMounts = true cacheDir = '/resources/GIGA/PUBLIC/tools/.cache/singularity' enabled = true pullTimeout = 3.hours}
/* * Slurm configuration * ------------------- * Slurm is used as a workload manager. On the cluster, one should use the * following command to make it available: * $ module load slurm * This configuration makes sure to share the available resources in a fairly. * * For more information on how to use Slurm on the GIGA cluster, refer to this * page of the wiki: * https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/tools/job/slurm.html */executor { name = 'slurm' pollInterval = 10.s queueSize = 200}
/* * Process configuration * --------------------- * Several queues are available on the cluster, based on the expected run time * of the jobs. This configuration makes sure to request resources on the most * relevant queue. It also makes sure to specify resources limitations (see * values set above). * * For more information on the available queues, refer to this page of the * wiki: * https://giga-bioinfo.gitlabpages.uliege.be/docs/mass-storage-and-cluster/cluster/overview.html#partitions */process { // Resources allocation. queue = { task.time == null ? 'kosmos' : task.time <= 5.hours ? 'all_5hrs' : task.time <= 24.hours ? 'all_24hrs' : task.time <= 5.days ? 'all_5days' : task.time <= 10.days ? 'all_10days' : 'kosmos' } resourceLimits = [ cpus : 48, memory: 512.GB, time : 365.days, ] // File transfer. stageInMode = 'symlink' stageOutMode = 'rsync'}