Nextflow Configuration File - Golob-Minot/geneshot GitHub Wiki
The argument ~/nextflow.config
refers to the
Nextflow configuration file
which is typically created when first
installing and setting up Nextflow.
This is the file that you will use to set up
execution on AWS, for example.
We have provided an example configuration file in the geneshot repository, which you can use as-is, or more likely modify to match your best configuration.
Most importantly, look to the withLabel
sections to specify the cpus
and memory
which you would like to request for each of the different types of jobs.
Specifying CPU/RAM
The most common need for modifying the Nextflow configuration file is to specify how much
computational resources are needed for each individual process. In geneshot
, each process
is given a label (either io_limited
, io_net
, mem_medium
, or mem_veryhigh
). Based on
which label a process has, the configuration file is used to specify the number of CPUs and
the amount of memory (RAM) which will be provided to each process.
The balance of CPU/RAM provided by default for geneshot is appropriate for many types of HPC services, but it is still very common for users to customize their configuration to maximize the efficiency of the execution on their own systems.
To set the CPU/RAM for your own system:
- Copy the example configuration file to your computer
- Modify the
cpu
and/ormemory
fields to reflect the resources which are available on your system 2a. By default, the entries in thedefault
profile will be used. To use thetesting
profile (or any other that you create), use the-profile
flag when invoking the workflow. - To use your customized configuration file while running
geneshot
, specify it with the-c
flag (e.g.nextflow run -c <PATH TO CONFIG> Golob-Minot/geneshot ...