1
0
Fork 0
mirror of https://github.com/MillironX/nf-configs.git synced 2024-11-22 16:29:55 +00:00

Details on running on eddie

Removed Conda support, Singularity by default. Added login and screen session on wild west node options.
This commit is contained in:
ameynert 2021-03-18 12:48:48 +00:00 committed by GitHub
parent bb388fb88b
commit af6a6b1060
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -11,13 +11,14 @@ There is a Slack channel dedicated to eddie users on the MRC IGMM Slack: [https:
To use, run the pipeline with `-profile eddie` (one hyphen). To use, run the pipeline with `-profile eddie` (one hyphen).
This will download and launch the [`eddie.config`](../conf/eddie.config) which has been pre-configured with a setup suitable for the [University of Edinburgh Eddie HPC](https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing). This will download and launch the [`eddie.config`](../conf/eddie.config) which has been pre-configured with a setup suitable for the [University of Edinburgh Eddie HPC](https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing).
The configuration file supports running nf-core pipelines with Docker containers running under Singularity. Support for Conda will follow. The configuration file supports running nf-core pipelines with Docker containers running under Singularity by default. Conda is not currently supported.
```bash ```bash
nextflow run nf-core/PIPELINE -profile eddie,singularity # ..rest of pipeline flags nextflow run nf-core/PIPELINE -profile eddie # ..rest of pipeline flags
``` ```
Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want.
If you want to run a Nextflow pipeline that is based on [DSL2](https://www.nextflow.io/docs/latest/dsl2.html), you will need a version that ends with '-edge'.
To list versions: To list versions:
@ -30,19 +31,60 @@ To load the most recent version:
module load igmm/apps/nextflow module load igmm/apps/nextflow
``` ```
This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Conda or Singularity for software management. This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Singularity for software management.
To set up Nextflow on a login node ... TODO ## Singularity set-up
## Singularity set-up Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline.
Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. ```bash
```
module load singularity module load singularity
export NXF_SINGULARITY_CACHEDIR="/exports/igmm/eddie/NextGenResources/nextflow/singularity/nf-core-rnaseq_v3.0" export NXF_SINGULARITY_CACHEDIR="/exports/igmm/eddie/NextGenResources/nextflow/singularity/nf-core-rnaseq_v3.0"
``` ```
Singularity will create a directory `.singularity` in your `$HOME` directory on eddie. Space on `$HOME` is very limited, so it is a good idea to create a directory somewhere else with more room and link the locations.
```bash
cd $HOME
mkdir /exports/eddie/path/to/my/area/.singularity
ln -s /exports/eddie/path/to/my/area/.singularity .singularity
```
## Running Nextflow
### On a login node
You can use a qlogin to run Nextflow, if you request more than the default 2GB of memory. Unfortunately you can't submit the initial Nextflow run process as a job as you can't qsub within a qsub.
```bash
qlogin -l h_vmem=8G
```
If your eddie terminal disconnects your Nextflow job will stop. You can run Nextflow as a bash script on the command line using `nohup` to prevent this.
```
nohup ./nextflow_run.sh &
```
### On a wild west node
Wild west nodes on eddie can be accessed via ssh (node2c15, node2c16, node3g22). To run Nextflow on one of these nodes, do it within a [screen session](https://linuxize.com/post/how-to-use-linux-screen/).
Start a new screen session.
```bash
screen -S <session_name>
```
List existing screen sessions
```bash
screen -ls
```
Reconnect to an existing screen session
```bash
screen -r <session_name>
```
## Using iGenomes references ## Using iGenomes references
A local copy of the iGenomes resource has been made available on the Eddie HPC so you should be able to run the pipeline against any reference available in the `igenomes.config`. A local copy of the iGenomes resource has been made available on the Eddie HPC so you should be able to run the pipeline against any reference available in the `igenomes.config`.