From ef8c13a7d8866f64af2b21a46d4e2fab752c0693 Mon Sep 17 00:00:00 2001 From: drpatelh Date: Fri, 26 Jul 2019 10:19:07 +0100 Subject: [PATCH] Fill out repo --- .gitattributes | 1 + .gitignore | 5 ++ LICENSE | 21 +++++++ README.md | 87 +++++++++++++++++++++++++++- docs/fastqc.md | 0 docs/images/nfcore-modules_logo.png | Bin 0 -> 15557 bytes nf/fastqc.nf | 0 7 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 docs/fastqc.md create mode 100755 docs/images/nfcore-modules_logo.png create mode 100644 nf/fastqc.nf diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..7fe55006 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.config linguist-language=nextflow diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..07c0144a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.nextflow* +work/ +data/ +results/ +.DS_Store diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..2a0f576b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Philip Ewels + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 3a11f226..4b1fbc0c 100644 --- a/README.md +++ b/README.md @@ -1 +1,86 @@ -# modules +# ![nf-core/modules](docs/images/nfcore-modules_logo.png) + +A repository for hosting nextflow [`DSL2`](https://www.nextflow.io/docs/edge/dsl2.htmlhttps://www.nextflow.io/docs/edge/dsl2.html) module files containing tool-specific process definitions and associated documentation. + +> DSL2 IS AN EXPERIMENTAL FEATURE UNDER DEVELOPMENT. SYNTAX, ORGANISATION AND LAYOUT OF THIS REPOSITORY MAY CHANGE IN THE NEAR FUTURE! + +## Table of contents +* [Using an existing module](#using-an-existing-module) + * [Configuration and parameters](#configuration-and-parameters) + * [Offline usage](#offline-usage) +* [Adding a new module](#adding-a-new-module) + * [Testing](#testing) + * [Documentation](#documentation) + * [Uploading to `nf-core/modules`](#uploading-to-nf-coremodules) +* [Help](#help) + +## Using an existing module + +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/modules`](https://github.com/nf-core/modules/tree/master/conf). + +### Offline usage + +If you want to use an existing config available in `nf-core/modules`, 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. Then run the pipeline with `--custom_config_base` +or `params.custom_config_base` set to the location of the directory containing the repository files: + +```bash +## Download and unzip the config files +cd /path/to/my/modules +wget https://github.com/nf-core/modules/archive/master.zip +unzip master.zip + +## Run the pipeline +cd /path/to/my/data +nextflow run /path/to/pipeline/ --custom_config_base /path/to/my/modules/modules-master/ +``` + +Alternatively, instead of using the configuration profiles from this repository, you can run your +pipeline directly calling the single institutional config file that you need with the `-c` parameter. + +```bash +nextflow run /path/to/pipeline/ -c /path/to/my/modules/modules-master/conf/my_config.config +``` + +> Note that the nf-core/tools helper package has a `download` command to download all required pipeline +> files + singularity containers + institutional modules in one go for you, to make this process easier. + +## Adding a new config + +If you decide to upload your module file to `nf-core/module` then this will ensure that it will be automatically downloaded, and available at run-time to all nf-core pipelines, and to everyone within the community. You will simply have to specify `-profile ` in the command used to run the pipeline. See [`nf-core/modules`](https://github.com/nf-core/modules/tree/master/conf) for examples. + +Please also make sure to add an extra `params` section with `params.config_profile_description`, `params.config_profile_contact` and `params.config_profile_url` set to reasonable values. Users will get information on who wrote the configuration profile then when executing a nf-core pipeline and can report back if there are things missing for example. + +### Testing + +If you want to add a new custom config file to `nf-core/modules` please 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. You might orientate yourself using the [Template](docs/template.md) that we provide and filling out the information for your cluster there. + +See [`nf-core/modules/docs`](https://github.com/nf-core/modules/tree/master/docs) for examples. + +### Uploading to `nf-core/modules` + +[Fork](https://help.github.com/articles/fork-a-repo/) the `nf-core/modules` repository to your own GitHub account. Within the local clone of your fork add the custom config file to the [`modules/`](https://github.com/nf-core/modules/tree/master/modules) directory, and the documentation file to the [`docs/`](https://github.com/nf-core/modules/tree/master/docs) directory. Please keep the naming consistent between the module and documentation files e.g. `bwa.nf` and `bwa.md`, respectively. + +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/modules` 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/fastqc.md b/docs/fastqc.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/images/nfcore-modules_logo.png b/docs/images/nfcore-modules_logo.png new file mode 100755 index 0000000000000000000000000000000000000000..95a23a9b3d7edc746898f13762b4c5b30e1ffb3e GIT binary patch literal 15557 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 literal 0 HcmV?d00001 diff --git a/nf/fastqc.nf b/nf/fastqc.nf new file mode 100644 index 00000000..e69de29b