It is entirely possible to run this pipeline on other clusters, though you will need to set up your own config file so that the pipeline knows how to work with your cluster.
If you think that there are other people using the pipeline who would benefit from your configuration (eg. other common cluster setups), please let us know. We can add a new configuration and profile which can used by specifying
-profile <name>
when running the pipeline.
If you are the only person to be running this pipeline, you can create your config file as ~/.nextflow/config
and it will be applied every time you run Nextflow. Alternatively, save the file anywhere and reference it when running the pipeline with -c path/to/config
(see the Nextflow documentation for more).
A basic configuration comes with the pipeline, which runs by default (the standard
config profile - see conf/base.config
). This means that you only need to configure the specifics for your system and overwrite any defaults that you want to change.
By default, the pipeline uses the local
Nextflow executor - in other words, all jobs are run in the login session. If you're using a simple server, this may be fine. If you're using a compute cluster, this is bad as all jobs will run on the head node.
To specify your cluster environment, add the following line to your config file:
process {
executor = 'YOUR_SYSTEM_TYPE'
}
Many different cluster types are supported by Nextflow. For more information, please see the Nextflow documentation.
Note that you may need to specify cluster options, such as a project or queue. To do so, use the clusterOptions
config option:
process {
executor = 'SLURM'
clusterOptions = '-A myproject'
}
To run the pipeline, several software packages are required. How you satisfy these requirements is essentially up to you and depends on your system. If possible, we highly recommend using either Docker or Singularity. See also these instructions.