diff --git a/README.md b/README.md index ca2bd22..82603ba 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,62 @@ -# configs -Config files used to define parameters specific to compute environments at different Institutions. + + +# [nf-core/configs](https://github.com/nf-core/configs) + +A repository for hosting nextflow config files containing custom parameters required to run nf-core pipelines at different Institutions. + +## Table of contents +* [Using an existing config](#using-an-existing-config) + * [Configuration and parameters](#configuration-and-parameters) + * [Offline usage](#offline-usage) +* [Adding a new config](#adding-a-new-config) + * [Testing](#testing) + * [Documentation](#documentation) + * [Uploading to `nf-core/configs`](#uploading-to-nf-coreconfigs) +* [Help](#help) + +## Using an existing config + +The Nextflow [`-c`](https://www.nextflow.io/docs/latest/config.html) parameter can be used with nf-core pipelines in order to load custom config files that you have available locally. However, if you or other people within your organisation are likely to be running nf-core pipelines regularly it may be a good idea to use/create a custom config file that defines some generic settings unique to the computing environment within your organisation. + +### Configuration and parameters + +The config files hosted in this repository define a set of parameters which are specific to compute environments at different Institutions but generic enough to be used with all nf-core pipelines. + +All nf-core pipelines inherit the functionality provided by Nextflow, and as such custom config files can contain parameters/definitions that are available to both. For example, if you have the ability to use [Singularity](https://singularity.lbl.gov/) on your HPC you can add and customise the Nextflow [`singularity`](https://www.nextflow.io/docs/latest/config.html#scope-singularity) scope in your config file. Similarly, you can define a Nextflow [`executor`](https://www.nextflow.io/docs/latest/executor.html) depending on the job submission process available on your cluster. In contrast, the `params` section in your custom config file will typically define parameters that are specific to nf-core pipelines. + +You should be able to get a good idea as to how other people are customising the execution of their nf-core pipelines by looking at some of the config files in [`nf-core/configs`](https://github.com/nf-core/configs/tree/master/conf). + +### Offline usage + +If you want to use an existing config available in `nf-core/configs`, and you're running on a system that has no internet connection, you'll need to download the config file and place it in a location that is visible to the file system on which you are running the pipeline. You can then run the pipeline with the `-c` parameter - see [Testing](#testing) for example. + +## Adding a new config + +If you decide to upload your custom config file to `nf-core/configs` then this will ensure that your custom config file will be automatically downloaded, and available at run-time to all nf-core pipelines, and to everyone within your organisation. You will simply have to specify `-profile ` in the command used to run the pipeline. See [`nf-core/configs`](https://github.com/nf-core/configs/tree/master/conf) for examples. + +### Testing + +If you want to add a new custom config file to `nf-core/configs` please can you test that your pipeline of choice runs as expected by using the [`-c`](https://www.nextflow.io/docs/latest/config.html) parameter. + +```bash +## Example command for nf-core/rnaseq +nextflow run nf-core/rnaseq --reads '*_R{1,2}.fastq.gz' --genome GRCh37 -c '[path to custom config]' +``` + +### Documentation + +You will have to create a [Markdown document](https://www.markdownguide.org/getting-started/) outlining the details required to use the custom config file within your organisation. + +See [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs) for examples. + +### Uploading to `nf-core/configs` + +[Fork](https://help.github.com/articles/fork-a-repo/) the `nf-core/configs` repository to your own GitHub account. Within the local clone of your fork add the custom config file to the [`conf/`](https://github.com/nf-core/configs/tree/master/conf) directory, and the documentation file to the [`docs/`](https://github.com/nf-core/configs/tree/master/docs) directory. You will also need to edit and add your custom profile to the [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) file in the top-level directory of the clone. + +Commit and push these changes to your local clone on GitHub, and then [create a pull request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) on the `nf-core/configs` GitHub repo with the appropriate information. + +We will be notified automatically when you have created your pull request, and providing that everything adheres to nf-core guidelines we will endeavour to approve your pull request as soon as possible. + +## Help + +If you have any questions or issues please send us a message on [Slack](https://nf-core-invite.herokuapp.com/). diff --git a/docs/crick.md b/docs/crick.md new file mode 100644 index 0000000..9fc559e --- /dev/null +++ b/docs/crick.md @@ -0,0 +1,27 @@ +# nf-core/configs: Crick (CAMP HPC) Configuration + +All nf-core pipelines have been successfully configured for use on the CAMP HPC cluster at the [The Francis Crick Institute](https://www.crick.ac.uk/). + +To use, run the pipeline with `-profile crick`. This will download and launch the [`crick.config`](../conf/crick.config) which has been pre-configured with a setup suitable for the CAMP HPC cluster. Using this profile, Nextflow will download a temporary singularity image with all of the required software before execution of the pipeline. + +Before running the pipeline you will need to load Nextflow and Singularity using the environment module system on CAMP. You can do this by issuing the commands below: + +```bash +## Load Nextflow and Singularity environment modules +module purge +module load Nextflow/0.32.0 +module load Singularity/2.6.0-foss-2016b + +## Example command for nf-core/atacseq +nextflow run nf-core/atacseq -profile crick --genome GRCh37 --design /path/to/design.csv --email test.user@crick.ac.uk +``` + +A local copy of the iGenomes resource has been made available on CAMP so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. You can do this by simply using the `--genome ` parameter. Some of the more exotic genomes may not have been downloaded onto CAMP so have a look in the `igenomes_base` path specified in [`crick.config`](../conf/crick.config), and if your genome of interest isnt present please contact [BABS](mailto:bioinformatics@crick.ac.uk). + +Alternatively, if you are running the pipeline regularly for genomes that arent available in the iGenomes resource, we recommend creating a config file with paths to your reference genome indices (see [`reference genomes documentation`](https://github.com/nf-core/atacseq/blob/master/docs/configuration/reference_genomes.md) for instructions). + +All of the intermediate 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. + +>NB: You will need an account to use the HPC cluster on CAMP in order to run the pipeline. If in doubt contact IT. + +>NB: Nextflow will need to submit the jobs via SLURM to the HPC cluster and as such the commands above will have to be executed on one of the login nodes. If in doubt contact IT. diff --git a/docs/images/nf-core-logo.png b/docs/images/nf-core-logo.png new file mode 100644 index 0000000..91ddb58 Binary files /dev/null and b/docs/images/nf-core-logo.png differ