Skip to content

Commit 8b0cbb9

Browse files
authored
Merge pull request #55 from drpatelh/refactor
Address review comments for 1.4 release
2 parents f697f60 + 10daf1b commit 8b0cbb9

File tree

1 file changed

+13
-41
lines changed

1 file changed

+13
-41
lines changed

.github/CONTRIBUTING.md

Lines changed: 13 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,16 @@ For further information/help, please consult the [nf-core/fetchngs documentation
6161

6262
To make the nf-core/fetchngs code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.
6363

64-
### Adding a new step
65-
66-
If you wish to contribute a new step, please use the following coding standards:
67-
68-
1. Define the corresponding input channel into your new process from the expected previous process channel
69-
2. Write the process block (see below).
70-
3. Define the output channel if needed (see below).
71-
4. Add any new flags/options to `nextflow.config` with a default (see below).
72-
5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build`).
73-
6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter).
74-
7. Add sanity checks for all relevant parameters.
75-
8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`.
76-
9. Do local tests that the new code works properly and as expected.
77-
10. Add a new test command in `.github/workflow/ci.yml`.
78-
11. Add any descriptions of output files to `docs/output.md`.
64+
### Adding a new step or module
65+
66+
If you wish to contribute a new step or module please see the [official guidelines](https://nf-co.re/developers/adding_modules#new-module-guidelines-and-pr-review-checklist) and use the following coding standards:
67+
68+
1. Add any new flags/options to `nextflow.config` with a default (see section below).
69+
2. Add any new flags/options to `nextflow_schema.json` with help text via `nf-core schema build`.
70+
3. Add sanity checks for all relevant parameters.
71+
4. Perform local tests to validate that the new code works as expected.
72+
5. If applicable, add a new test command in `.github/workflow/ci.yml`.
73+
6. Add any descriptions of output files to `docs/output.md`.
7974

8075
### Default values
8176

@@ -87,40 +82,17 @@ Once there, use `nf-core schema build` to add to `nextflow_schema.json`.
8782

8883
Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.
8984

90-
The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block.
91-
92-
### Naming schemes
85+
### Channel naming convention
9386

9487
Please use the following naming schemes, to make it easy to understand what is going where.
9588

96-
* initial process channel: `ch_output_from_<process>`
97-
* intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
89+
* Initial process channel: `ch_output_from_<process>`
90+
* Intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
9891

9992
### Nextflow version bumping
10093

10194
If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core bump-version --nextflow . [min-nf-version]`
10295

103-
### Software version reporting
104-
105-
If you add a new tool to the pipeline, please ensure you add the information of the tool to the `get_software_version` process.
106-
107-
Add to the script block of the process, something like the following:
108-
109-
```bash
110-
<YOUR_TOOL> --version &> v_<YOUR_TOOL>.txt 2>&1 || true
111-
```
112-
113-
or
114-
115-
```bash
116-
<YOUR_TOOL> --help | head -n 1 &> v_<YOUR_TOOL>.txt 2>&1 || true
117-
```
118-
119-
You then need to edit the script `bin/scrape_software_versions.py` to:
120-
121-
1. Add a Python regex for your tool's `--version` output (as in stored in the `v_<YOUR_TOOL>.txt` file), to ensure the version is reported as a `v` and the version number e.g. `v2.1.1`
122-
2. Add a HTML entry to the `OrderedDict` for formatting in MultiQC.
123-
12496
### Images and figures
12597

12698
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).

0 commit comments

Comments
 (0)