Skip to content

Commit

Permalink
Merge pull request #48 from drpatelh/release
Browse files Browse the repository at this point in the history
Minor pre-release updates
  • Loading branch information
amchakra authored Apr 27, 2021
2 parents 85b6c5c + ca7c59d commit 1c60c19
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 91 deletions.
178 changes: 88 additions & 90 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,95 +4,6 @@

> _Documentation of pipeline parameters is generated automatically from the pipeline schema and can no longer be found in markdown files._
## Introduction

## Running the pipeline

The typical command for running the pipeline is as follows:

```bash
nextflow run nf-core/clipseq --input '[path to design file]' --fasta '[path to genome FASTA]' -profile docker
```

This will launch the pipeline with the `docker` configuration profile. See below for more information about profiles.

Note that the pipeline will create the following files in your working directory:

```bash
work # Directory containing the nextflow working files
results # Finished results (configurable, see below)
.nextflow_log # Log file from Nextflow
# Other nextflow hidden files, eg. history of pipeline runs and old logs.
```

### Updating the pipeline

When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline:

```bash
nextflow pull nf-core/clipseq
```

### Reproducibility

It's a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since.

First, go to the [nf-core/clipseq releases page](https://github.com/nf-core/clipseq/releases) and find the latest version number - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`.

This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future.

## Core Nextflow arguments

> **NB:** These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen).
### `-profile`

Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments.

Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below.

> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported.
The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to see if your system is available in these configs please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation).

Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important!
They are loaded in sequence, so later profiles can overwrite earlier profiles.

If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended.

* `docker`
* A generic configuration profile to be used with [Docker](https://docker.com/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `singularity`
* A generic configuration profile to be used with [Singularity](https://sylabs.io/docs/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `podman`
* A generic configuration profile to be used with [Podman](https://podman.io/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `shifter`
* A generic configuration profile to be used with [Shifter](https://nersc.gitlab.io/development/shifter/how-to-use/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `charliecloud`
* A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `conda`
* Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud.
* A generic configuration profile to be used with [Conda](https://conda.io/docs/)
* Pulls most software from [Bioconda](https://bioconda.github.io/)
* `test`
* A profile with a complete configuration for automated testing
* Includes links to test data so needs no other parameters

### `-resume`

Specify this when restarting a pipeline. Nextflow will used cached results from any pipeline steps where the inputs are the same, continuing from where it got to previously.

You can also supply a run name to resume a specific run: `-resume [run-name]`. Use the `nextflow log` command to show previous run names.

### `-c`

Specify the path to a specific config file (this is a core Nextflow command). See the [nf-core website documentation](https://nf-co.re/usage/configuration) for more information.

## Main arguments

### `--input`
Expand Down Expand Up @@ -156,7 +67,7 @@ params {
}
```

Premapping to rRNA and tRNA will be automatically triggered if there is a reference available for the iGenomes reference chosen. See [smallRNA config file](../conf/smRNA.config) for availability. Alternatively, this can be set by `--smrna_org` or `--smrna_fasta` as shown below.
Premapping to rRNA and tRNA will be automatically triggered if there is a reference available for the iGenomes reference chosen. See [smallRNA config file](../conf/smrna.config) for availability. Alternatively, this can be set by `--smrna_org` or `--smrna_fasta` as shown below.

### `--smrna_org`

Expand Down Expand Up @@ -198,6 +109,93 @@ By default, peak calling on identified crosslinks is not performed unless specif

Multiple peak callers can specified separated using a comma, e.g. `--peakcaller icount,paraclu`. As a short-hand, all peak callers can be specified using `--peakcaller all`.

## Running the pipeline

The typical command for running the pipeline is as follows:

```bash
nextflow run nf-core/clipseq --input '[path to design file]' --fasta '[path to genome FASTA]' -profile docker
```

This will launch the pipeline with the `docker` configuration profile. See below for more information about profiles.

Note that the pipeline will create the following files in your working directory:

```bash
work # Directory containing the nextflow working files
results # Finished results (configurable, see below)
.nextflow_log # Log file from Nextflow
# Other nextflow hidden files, eg. history of pipeline runs and old logs.
```

### Updating the pipeline

When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline:

```bash
nextflow pull nf-core/clipseq
```

### Reproducibility

It's a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since.

First, go to the [nf-core/clipseq releases page](https://github.com/nf-core/clipseq/releases) and find the latest version number - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`.

This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future.

## Core Nextflow arguments

> **NB:** These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen).
### `-profile`

Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments.

Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below.

> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported.
The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to see if your system is available in these configs please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation).

Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important!
They are loaded in sequence, so later profiles can overwrite earlier profiles.

If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended.

* `docker`
* A generic configuration profile to be used with [Docker](https://docker.com/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `singularity`
* A generic configuration profile to be used with [Singularity](https://sylabs.io/docs/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `podman`
* A generic configuration profile to be used with [Podman](https://podman.io/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `shifter`
* A generic configuration profile to be used with [Shifter](https://nersc.gitlab.io/development/shifter/how-to-use/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `charliecloud`
* A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/)
* Pulls software from Docker Hub: [`nfcore/clipseq`](https://hub.docker.com/r/nfcore/clipseq/)
* `conda`
* Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud.
* A generic configuration profile to be used with [Conda](https://conda.io/docs/)
* Pulls most software from [Bioconda](https://bioconda.github.io/)
* `test`
* A profile with a complete configuration for automated testing
* Includes links to test data so needs no other parameters

### `-resume`

Specify this when restarting a pipeline. Nextflow will used cached results from any pipeline steps where the inputs are the same, continuing from where it got to previously.

You can also supply a run name to resume a specific run: `-resume [run-name]`. Use the `nextflow log` command to show previous run names.

### `-c`

Specify the path to a specific config file (this is a core Nextflow command). See the [nf-core website documentation](https://nf-co.re/usage/configuration) for more information.

## Custom resource requests

Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the steps in the pipeline, if the job exits with an error code of `143` (exceeded requested resources) it will automatically resubmit with higher requests (2 x original, then 3 x original). If it still fails after three times then the pipeline is stopped.
Expand Down
2 changes: 1 addition & 1 deletion nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@
"pureclip_bc": {
"type": "integer",
"description": "PureCLIP binding characteristics of protein",
"default" : 0,
"default": 0,
"fa_icon": "fas fa-file-contract"
},
"pureclip_dm": {
Expand Down

0 comments on commit 1c60c19

Please sign in to comment.