forked from nf-core/configs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add simple UGE and Rosalind UGE configs
- Loading branch information
1 parent
a84d29e
commit c564c36
Showing
7 changed files
with
161 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/* | ||
* --------------------------------------------------------- | ||
* nf-core/configs: Rosalind Univa Grid Engine | ||
* --------------------------------------------------------- | ||
*/ | ||
|
||
|
||
// Basic params of config file | ||
params { | ||
config_profile_description = 'Rosalind Univa Grid Engine config file' | ||
config_profile_contact = 'Gregory Sprenger (@gregorysprenger)' | ||
} | ||
|
||
// Use Singularity | ||
singularity { | ||
enabled = true | ||
autoMounts = true | ||
} | ||
|
||
// Submit up to 100 jobs at once with 15 secs between to avoid spamming the cluster | ||
executor { | ||
queueSize = 100 | ||
pollInterval = '15 sec' | ||
} | ||
|
||
// Process specific resource requirements | ||
process { | ||
// Error and retry handling | ||
errorStrategy = { task.exitStatus in [143,137,104,134,139,71,255] ? 'retry' : 'finish' } | ||
maxRetries = 3 | ||
|
||
// Executor and queue information | ||
executor = 'sge' | ||
penv = 'smp' | ||
queue = { task.time <= 4.h ? 'short.q' : task.time > 5.h ? 'all.q' : 'short.q' } | ||
clusterOptions = { "-l h_vmem=${task.memory.toString().replaceAll(/[\sB]/,'')}" } | ||
} | ||
|
||
// Function to ensure that resource requirements don't go beyond limit | ||
def check_max(obj, type) { | ||
if (type == 'memory') { | ||
try { | ||
if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1) | ||
return params.max_memory as nextflow.util.MemoryUnit | ||
else | ||
return obj | ||
} catch (all) { | ||
println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj" | ||
return obj | ||
} | ||
} else if (type == 'time') { | ||
try { | ||
if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1) | ||
return params.max_time as nextflow.util.Duration | ||
else | ||
return obj | ||
} catch (all) { | ||
println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj" | ||
return obj | ||
} | ||
} else if (type == 'cpus') { | ||
try { | ||
return Math.min( obj, params.max_cpus as int ) | ||
} catch (all) { | ||
println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj" | ||
return obj | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* | ||
* ---------------------------------------------- | ||
* nf-core/configs: Univa Grid Engine | ||
* ---------------------------------------------- | ||
*/ | ||
|
||
|
||
// Basic params of config file | ||
params { | ||
config_profile_description = 'Univa Grid Engine config file' | ||
config_profile_contact = 'Gregory Sprenger (@gregorysprenger)' | ||
} | ||
|
||
// Use Singularity | ||
singularity { | ||
enabled = true | ||
autoMounts = true | ||
} | ||
|
||
// Submit up to 100 jobs at once with 15 secs between to avoid spamming the cluster | ||
executor { | ||
queueSize = 100 | ||
pollInterval = '15 sec' | ||
} | ||
|
||
// Process specific resource requirements | ||
process { | ||
// Error and retry handling | ||
errorStrategy = { task.exitStatus in [143,137,104,134,139,71,255] ? 'retry' : 'finish' } | ||
maxRetries = 3 | ||
|
||
// Executor and queue information | ||
executor = 'sge' | ||
penv = 'smp' | ||
queue = { task.time <= 4.h ? 'short.q' : task.time > 5.h ? 'all.q' : 'short.q' } | ||
} | ||
|
||
// Function to ensure that resource requirements don't go beyond limit | ||
def check_max(obj, type) { | ||
if (type == 'memory') { | ||
try { | ||
if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1) | ||
return params.max_memory as nextflow.util.MemoryUnit | ||
else | ||
return obj | ||
} catch (all) { | ||
println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj" | ||
return obj | ||
} | ||
} else if (type == 'time') { | ||
try { | ||
if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1) | ||
return params.max_time as nextflow.util.Duration | ||
else | ||
return obj | ||
} catch (all) { | ||
println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj" | ||
return obj | ||
} | ||
} else if (type == 'cpus') { | ||
try { | ||
return Math.min( obj, params.max_cpus as int ) | ||
} catch (all) { | ||
println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj" | ||
return obj | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# nf-core/configs: Rosalind UGE HPC Configuration | ||
|
||
nf-core pipelines have been successfully configured for use on the Rosalind UGE cluster. | ||
|
||
To use the Rosalind profile, run the pipeline with `-profile rosalind_uge`. This will download and apply ['rosalind_uge.config'](../conf/rosalind_uge.config) which has been configured for the Rosalind HPC cluster. This profile will allow all Nextflow processes to run within singularity containers, which will be downloaded and converted from docker containers, if needed. | ||
|
||
> Note: This profile does not configure resources but does partition jobs based on runtime to make use of `short.q` and `all.q` nodes. If you require resources outside of the limits specified in the pipeline (ex. more memory, CPUS, or walltime), you will need to provide a custom config specifying needed resources. | ||
Rosalind has Nextflow pre-installed on the HPC cluster, and can be accessed by running `module load nextflow` or `module load nextflow/<version>` prior to running your pipeline. Additional singularity variables may need to be configured, such as a scratch directory, temp directory, cache directory, etc. If assistance is needed, please contact the Scientific Computing and Bioinformatics department (SciComp). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# nf-core/configs: UGE HPC Configuration | ||
|
||
nf-core pipelines have been successfully configured for use on the UGE HPC cluster. | ||
|
||
To use the UGE profile, run the pipeline with `-profile uge`. This will download and apply ['uge.config'](../conf/uge.config) which has been configured for the UGE HPC cluster. This profile will allow all Nextflow processes to run within singularity containers, which will be downloaded and converted from docker containers, if needed. | ||
|
||
> Note: This profile does not configure resources but does partition jobs based on runtime to make use of `short.q` and `all.q` nodes. If you require resources outside of the limits specified in the pipeline (ex. more memory, CPUS, or walltime), you will need to provide a custom config specifying needed resources. | ||
The UGE HPC has Nextflow pre-installed on the HPC cluster, and can be accessed by running `module load nextflow` or `module load nextflow/<version>` prior to running your pipeline. Additional singularity variables may need to be configured, such as a scratch directory, temp directory, cache directory, etc. If assistance is needed, please contact the Scientific Computing and Bioinformatics department (SciComp). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters