1
0
Fork 0
mirror of https://github.com/MillironX/nf-configs.git synced 2024-12-22 10:38:16 +00:00

Merge branch 'master' into master

This commit is contained in:
Maxime U. Garcia 2022-06-07 11:42:50 +02:00 committed by GitHub
commit b0f1746abf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 75 additions and 13 deletions

View file

@ -66,6 +66,7 @@ jobs:
- "jax"
- "lugh"
- "marvin"
- "mjolnir_globe"
- "maestro"
- "mpcdf"
- "munin"

View file

@ -121,6 +121,7 @@ Currently documentation is available for the following systems:
- [LUGH](docs/lugh.md)
- [MAESTRO](docs/maestro.md)
- [MARVIN](docs/marvin.md)
- [MJOLNIR_GLOBE](docs/mjolnir_globe.md)
- [MPCDF](docs/mpcdf.md)
- [MUNIN](docs/munin.md)
- [NU_GENOMICS](docs/nu_genomics.md)

25
conf/mjolnir_globe.config Normal file
View file

@ -0,0 +1,25 @@
//Profile config names for nf-core/configs
params {
config_profile_description = 'Section for Hologenomics and Section for Molecular Ecology and Evolution @ Globe Institute, University of Copenhagen - mjolnir_globe profile provided by nf-core/configs.'
config_profile_contact = 'Aashild Vaagene (@ashildv)'
config_profile_url = 'https://globe.ku.dk/research/'
max_memory = 500.GB
max_cpus = 50
max_time = 720.h
}
singularity {
enabled = true
autoMounts = true
cacheDir = '/maps/projects/mjolnir1/data/cache/nf-core/singularity'
}
process {
executor = 'slurm'
}
cleanup = true
executor {
queueSize = 10
}

View file

@ -1,8 +1,11 @@
// Define the Scratch directory
def scratch_dir = System.getenv("VSC_SCRATCH_VO_USER") ?: "scratch/"
// Specify the work directory
workDir = "$VSC_SCRATCH_VO_USER/work"
workDir = "$scratch_dir/work"
// Perform work directory cleanup when the run has succesfully completed
cleanup = true
// cleanup = true
// Reduce the job submit rate to about 10 per second, this way the server won't be bombarded with jobs
executor {
@ -13,7 +16,7 @@ executor {
singularity {
enabled = true
autoMounts = true
cacheDir = "$VSC_SCRATCH_VO_USER/singularity"
cacheDir = "$scratch_dir/singularity"
}
// Define profiles for each cluster
@ -32,8 +35,8 @@ profiles {
executor = 'slurm'
queue = 'skitty'
maxRetries = 2
beforeScript = "export SINGULARITY_CACHEDIR=$VSC_SCRATCH_VO_USER/.singularity"
scratch = "$VSC_SCRATCH_VO_USER"
beforeScript = "export SINGULARITY_CACHEDIR=$scratch_dir/.singularity"
scratch = "$scratch_dir"
}
}
@ -51,8 +54,8 @@ profiles {
executor = 'slurm'
queue = 'swalot'
maxRetries = 2
beforeScript = "export SINGULARITY_CACHEDIR=$VSC_SCRATCH_VO_USER/.singularity"
scratch = "$VSC_SCRATCH_VO_USER"
beforeScript = "export SINGULARITY_CACHEDIR=$scratch_dir/.singularity"
scratch = "$scratch_dir"
}
}
@ -70,8 +73,8 @@ profiles {
executor = 'slurm'
queue = 'victini'
maxRetries = 2
beforeScript = "export SINGULARITY_CACHEDIR=$VSC_SCRATCH_VO_USER/.singularity"
scratch = "$VSC_SCRATCH_VO_USER"
beforeScript = "export SINGULARITY_CACHEDIR=$scratch_dir/.singularity"
scratch = "$scratch_dir"
}
}
@ -89,8 +92,8 @@ profiles {
executor = 'slurm'
queue = 'kirlia'
maxRetries = 2
beforeScript = "export SINGULARITY_CACHEDIR=$VSC_SCRATCH_VO_USER/.singularity"
scratch = "$VSC_SCRATCH_VO_USER"
beforeScript = "export SINGULARITY_CACHEDIR=$scratch_dir/.singularity"
scratch = "$scratch_dir"
}
}
@ -108,8 +111,8 @@ profiles {
executor = 'slurm'
queue = 'doduo'
maxRetries = 2
beforeScript = "export SINGULARITY_CACHEDIR=$VSC_SCRATCH_VO_USER/.singularity"
scratch = "$VSC_SCRATCH_VO_USER"
beforeScript = "export SINGULARITY_CACHEDIR=$scratch_dir/.singularity"
scratch = "$scratch_dir"
}
}
}

31
docs/mjolnir_globe.md Normal file
View file

@ -0,0 +1,31 @@
# nf-core/configs: Section for Hologenomics at GLOBE, University of Copenhagen (Mjolnir server) Configuration
> **NB:** You will need an account on Mjolnir to run the pipeline. If in doubt contact IT.
Prior to running the pipeline for the first time with the `mjolnir_globe.config` (../conf/mjolnir_globe.config), users **must** create a hidden directory called `.tmp_nfcore` in their data/project directory on Mjolnir where the temp files from nf-core pipelines will be re-directed by the `NXF_TEMP` command (see below).
The contents of the `.tmp_nfcore` directory should be periodically deleted manually to save on space.
If the `NXF_TEMP` command is not used to properly re-direct temp files the `/tmp` directory on the compute nodes will be used and quickly filled up, which blocks anyone from working on these nodes until the offending user removes their files.
The following lines **must** be added by users to their `~/.bash_profile`:
```bash
#re-direct tmp files away from /tmp directories on compute nodes or the headnode
export NXF_TEMP=/maps/projects/mjolnir1/people/$USER/.tmp_nfcore
# nextflow - limiting memory of virtual java machine
NXF_OPTS='-Xms1g -Xmx4g'
```
Once you have created the `.tmp_nfcore` directory and added the above lines of code to your `.bash_profile` you can run an nf-core pipeline.
Before running a pipeline you will need to load Java, Miniconda, Singularity and Nextflow. You can do this by including the commands below in your SLURM/sbatch script:
```bash
## Load Java and Nextflow environment modules
module purge
module load jdk/1.8.0_291 miniconda singularity/3.8.0 nextflow/21.04.1.5556
```
All of the intermediate output files required to run the pipeline will be stored in the `work/` directory. It is recommended to delete this directory after the pipeline has finished successfully because it can get quite large, and all of the main output files will be saved in the `results/` directory anyway.
The `mjolnir_globe` config contains a `cleanup` command that removes the `work/` directory automatically once the pipeline has completeed successfully. If the run does not complete successfully then the `work/` dir should be removed manually to save storage space.

View file

@ -49,6 +49,7 @@ profiles {
lugh { includeConfig "${params.custom_config_base}/conf/lugh.config" }
maestro { includeConfig "${params.custom_config_base}/conf/maestro.config" }
marvin { includeConfig "${params.custom_config_base}/conf/marvin.config" }
mjolnir_globe { includeConfig "${params.custom_config_base}/conf/mjolnir_globe.config" }
mpcdf { includeConfig "${params.custom_config_base}/conf/mpcdf.config" }
munin { includeConfig "${params.custom_config_base}/conf/munin.config" }
nihbiowulf { includeConfig "${params.custom_config_base}/conf/nihbiowulf.config" }