mirror of
https://github.com/MillironX/nf-configs.git
synced 2024-11-23 16:49:55 +00:00
commit
36487c8c25
2 changed files with 30 additions and 32 deletions
|
@ -1,35 +1,33 @@
|
||||||
|
// Profile details
|
||||||
params {
|
params {
|
||||||
config_profile_description = 'The Wellcome Sanger Institute HPC cluster profile'
|
config_profile_description = 'The Wellcome Sanger Institute HPC cluster (farm5) profile'
|
||||||
config_profile_contact = 'Anthony Underwood (@aunderwo)'
|
config_profile_contact = 'Priyanka Surana (@priyanka-surana)'
|
||||||
config_profile_url = 'https://www.sanger.ac.uk/group/informatics-support-group/'
|
config_profile_url = 'https://www.sanger.ac.uk'
|
||||||
}
|
|
||||||
|
|
||||||
singularity {
|
|
||||||
enabled = true
|
|
||||||
cacheDir = "${baseDir}/singularity"
|
|
||||||
runOptions = '--bind /lustre --bind /nfs/pathnfs01 --bind /nfs/pathnfs02 --bind /nfs/pathnfs03 --bind /nfs/pathnfs04 --bind /nfs/pathnfs05 --bind /nfs/pathnfs06 --no-home'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Queue and retry strategy
|
||||||
process{
|
process{
|
||||||
executor = 'lsf'
|
executor = 'lsf'
|
||||||
queue = 'normal'
|
queue = { task.time < 12.h ? 'normal' : task.time < 48.h ? 'long' : 'basement' }
|
||||||
errorStrategy = { task.attempt <= 5 ? "retry" : "finish" }
|
errorStrategy = 'retry'
|
||||||
process.maxRetries = 5
|
maxRetries = 5
|
||||||
withLabel:process_long {
|
|
||||||
queue = 'long'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Executor details
|
||||||
executor{
|
executor{
|
||||||
name = 'lsf'
|
name = 'lsf'
|
||||||
perJobMemLimit = true
|
perJobMemLimit = true
|
||||||
poolSize = 4
|
poolSize = 4
|
||||||
submitRateLimit = '5 sec'
|
submitRateLimit = '5 sec'
|
||||||
killBatchSize = 50
|
killBatchSize = 50
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Max resources
|
||||||
params {
|
params {
|
||||||
max_memory = 128.GB
|
max_memory = 683.GB
|
||||||
max_cpus = 64
|
max_cpus = 256
|
||||||
max_time = 48.h
|
max_time = 720.h
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For singularity
|
||||||
|
singularity.runOptions = '--bind /lustre --bind /nfs'
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
To use, run the pipeline with `-profile sanger`. This will download and launch the [`sanger.config`](../conf/sanger.config) which has been
|
To use, run the pipeline with `-profile sanger`. This will download and launch the [`sanger.config`](../conf/sanger.config) which has been
|
||||||
pre-configured with a setup suitable for the Wellcome Sanger Institute LSF cluster.
|
pre-configured with a setup suitable for the Wellcome Sanger Institute LSF cluster.
|
||||||
Using this profile, either a docker image containing all of the required software will be downloaded, and converted to a Singularity image or
|
|
||||||
a Singularity image downloaded directly before execution of the pipeline.
|
|
||||||
|
|
||||||
## Running the workflow on the Wellcome Sanger Institute cluster
|
## Running the workflow on the Wellcome Sanger Institute cluster
|
||||||
|
|
||||||
|
@ -14,10 +12,12 @@ The latest version of Nextflow is not installed by default on the cluster. You w
|
||||||
A recommended place to move the `nextflow` executable to is `~/bin` so that it's in the `PATH`.
|
A recommended place to move the `nextflow` executable to is `~/bin` so that it's in the `PATH`.
|
||||||
|
|
||||||
Nextflow manages each process as a separate job that is submitted to the cluster by using the `bsub` command.
|
Nextflow manages each process as a separate job that is submitted to the cluster by using the `bsub` command.
|
||||||
Since the Nextflow pipeline will submit individual jobs for each process to the cluster and dependencies will be provided bu Singularity images you shoudl make sure that your account has access to the Singularity binary by adding these lines to your `.bashrc` file
|
|
||||||
|
If asking Nextflow to use Singularity to run the individual jobs,
|
||||||
|
you should make sure that your account has access to the Singularity binary by adding these lines to your `.bashrc` file
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
[[ -f /software/pathogen/farm5 ]] && module load ISG/singularity
|
[[ -f /software/modules/ISG/singularity ]] && module load ISG/singularity
|
||||||
```
|
```
|
||||||
|
|
||||||
Nextflow shouldn't run directly on the submission node but on a compute node.
|
Nextflow shouldn't run directly on the submission node but on a compute node.
|
||||||
|
@ -26,16 +26,16 @@ To do so make a shell script with a similar structure to the following code and
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#BSUB -o /path/to/a/log/dir/%J.o
|
#BSUB -o /path/to/a/log/dir/%J.o
|
||||||
#BSUB -e /path/to/a/log/dir//%J.e
|
#BSUB -e /path/to/a/log/dir/%J.e
|
||||||
#BSUB -M 8000
|
#BSUB -M 8000
|
||||||
#BSUB -q long
|
#BSUB -q oversubscribed
|
||||||
#BSUB -n 4
|
#BSUB -n 2
|
||||||
|
|
||||||
export HTTP_PROXY='http://wwwcache.sanger.ac.uk:3128'
|
export HTTP_PROXY='http://wwwcache.sanger.ac.uk:3128'
|
||||||
export HTTPS_PROXY='http://wwwcache.sanger.ac.uk:3128'
|
export HTTPS_PROXY='http://wwwcache.sanger.ac.uk:3128'
|
||||||
export NXF_ANSI_LOG=false
|
export NXF_ANSI_LOG=false
|
||||||
export NXF_OPTS="-Xms8G -Xmx8G -Dnxf.pool.maxThreads=2000"
|
export NXF_OPTS="-Xms8G -Xmx8G -Dnxf.pool.maxThreads=2000"
|
||||||
export NXF_VER=21.04.0-edge
|
export NXF_VER=22.04.0-5697
|
||||||
|
|
||||||
|
|
||||||
nextflow run \
|
nextflow run \
|
||||||
|
|
Loading…
Reference in a new issue