Learn More β
James Fellows Yates /
π« Global institutional profile: a Nextflow configuration file usable by all nf-core pipelines to work efficiently on institutional-level cluster(s). Stored on nf-core/configs.
General info about nf-core & configs: bytesize #2
π Nextflow configuration file: simple text file containing a set of properties (parameters, etc.)
./nextflow.config
$HOME/.nextflow/config
-c
Example:
nextflow run nf-core/eager -profile uppmax
nextflow run nf-core/eager -profile shh,sdag
nextflow run nf-core/mag -profile shh,sdag
order matters: furthest right has precedence!
πΎ Largest node's memory
π» Largest node's CPU
β Longest queue's walltime
π Scratch usage?
module load
)?conf/<your_cluster>.conf
docs/<your_cluster>.md
nfcore_custom.config
README.md
.github/workflows/main.yml
params
params {
config_profile_description = '<cluster_name> cluster profile provided by nf-core/configs.'
config_profile_contact = '<your_name> (<your_github_handle>)'
config_profile_url = 'https://<institutional_url>.com'
max_memory = 2.TB
max_cpus = 128
max_time = 720.h
igenomes_base = '/<path>/<to>/igenomes/' // optional!
}
In conf/<your_cluster>.conf
process
Simple example
process {
executor = 'slurm'
maxRetries = 2
}
Complex example
process {
executor = 'sge'
queue = { task.time <= 2.h ? 'short' : task.time <= 24.h ? 'medium': 'long'
maxRetries = 2
clusterOptions = { '-l h_vmem=${task.memory.toGiga()}G' }
}
In conf/<your_cluster>.conf
executor
executor {
queueSize = 8
submitRateLimit = '10 sec'
}
In conf/<your_cluster>.conf
container
singularity {
enabled = true
autoMounts = true
cacheDir = '/<path>/<to>/<your>/<image_cache>'
}
In conf/<your_cluster>.conf
profiles
<...>
profiles {
red {
params {
config_profile_description = '<your_institution_name> 'red' cluster cluster profile provided by nf-core/configs.'
max_memory = 2.TB
max_cpus = 128
max_time = 720.h
}
}
blue {
params {
config_profile_description = '<your_institution_name> 'blue' cluster profile provided by nf-core/configs.'
max_memory = 256.GB
max_cpus = 64
max_time = 24.h
}
}
}
(Or use hostnames
)
In conf/<your_cluster>.conf
In docs/<your_cluster>.md
nextflow run nf-core/<fav_pipeline> \
-profile <your_cluster_name>,test \
--custom_config_base 'https://raw.githubusercontent.com/<your_github_user>/configs/<your_branch>'
β οΈ Expect trial and error!
π Make a PR to nf-core/configs
π’ On slack: #request-review
π₯³ Once approved, merge, and publicise!
π©πΌβπ» From now on:
ββββnextflow run nf-core/<fav_pipeline> \
ββββ-profile <your_cluster_name>
ββββ<...>
Repository: nf-core/configs
Tutorial: https://nf-co.re/usage/usage_tutorials
Chat: https://nf-co.re/join
#configs
Development environments & workflows
May 4th 2021, 13:00 CEST