Skip to content

Commit 834642d

Browse files
authored
Merge pull request #41 from nf-core/dev
v1.0.0
2 parents 40de0fc + 06483f5 commit 834642d

File tree

151 files changed

+7324
-1780
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+7324
-1780
lines changed

.dockerignore

-4
This file was deleted.

.editorconfig

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
indent_size = 4
9+
indent_style = space
10+
11+
[*.{yml,yaml}]
12+
indent_size = 2
13+
14+
# These files are edited and tested upstream in nf-core/modules
15+
[/modules/nf-core/**]
16+
charset = unset
17+
end_of_line = unset
18+
insert_final_newline = unset
19+
trim_trailing_whitespace = unset
20+
indent_style = unset
21+
indent_size = unset
22+
23+
[/assets/email*]
24+
indent_size = unset

.github/.dockstore.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Dockstore config version, not pipeline version
2+
version: 1.2
3+
workflows:
4+
- subclass: nfl
5+
primaryDescriptorPath: /nextflow.config
6+
publish: True

.github/CONTRIBUTING.md

+105-22
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,128 @@
11
# nf-core/bactmap: Contributing Guidelines
22

3-
Hi there! Many thanks for taking an interest in improving nf-core/bactmap.
3+
Hi there!
4+
Many thanks for taking an interest in improving nf-core/bactmap.
45

5-
We try to manage the required tasks for nf-core/bactmap using GitHub issues, you probably came to this page when creating one. Please use the pre-filled template to save time.
6+
We try to manage the required tasks for nf-core/bactmap using GitHub issues, you probably came to this page when creating one.
7+
Please use the pre-filled template to save time.
68

7-
However, don't be put off by this template - other more general issues and suggestions are welcome! Contributions to the code are even more welcome ;)
9+
However, don't be put off by this template - other more general issues and suggestions are welcome!
10+
Contributions to the code are even more welcome ;)
811

9-
> If you need help using or modifying nf-core/bactmap then the best place to go is the Gitter chatroom where you can ask us questions directly: https://gitter.im/nf-core/Lobby
12+
> If you need help using or modifying nf-core/bactmap then the best place to ask is on the nf-core Slack [#bactmap](https://nfcore.slack.com/channels/bactmap) channel ([join our Slack here](https://nf-co.re/join/slack)).
1013
1114
## Contribution workflow
12-
If you'd like to write some code for nf-core/bactmap, the standard workflow
13-
is as follows:
1415

15-
1. Check that there isn't already an issue about your idea in the
16-
[nf-core/bactmap issues](https://github.com/nf-core/bactmap/issues) to avoid
17-
duplicating work.
18-
* If there isn't one already, please create one so that others know you're working on this
19-
2. Fork the [nf-core/bactmap repository](https://github.com/nf-core/bactmap) to your GitHub account
20-
3. Make the necessary changes / additions within your forked repository
21-
4. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged.
16+
If you'd like to write some code for nf-core/bactmap, the standard workflow is as follows:
2217

23-
If you're not used to this workflow with git, you can start with some [basic docs from GitHub](https://help.github.com/articles/fork-a-repo/) or even their [excellent interactive tutorial](https://try.github.io/).
18+
1. Check that there isn't already an issue about your idea in the [nf-core/bactmap issues](https://github.com/nf-core/bactmap/issues) to avoid duplicating work
19+
* If there isn't one already, please create one so that others know you're working on this
20+
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/bactmap repository](https://github.com/nf-core/bactmap) to your GitHub account
21+
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
22+
4. Use `nf-core schema build .` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
23+
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
2424

25+
If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/).
2526

2627
## Tests
27-
When you create a pull request with changes, [Travis CI](https://travis-ci.org/) will run automatic tests.
28+
29+
When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
2830
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
2931

3032
There are typically two types of tests that run:
3133

32-
### Lint Tests
33-
The nf-core has a [set of guidelines](http://nf-co.re/guidelines) which all pipelines must adhere to.
34+
### Lint tests
35+
36+
`nf-core` has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to.
3437
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core lint <pipeline-directory>` command.
3538

3639
If any failures or warnings are encountered, please follow the listed URL for more documentation.
3740

38-
### Pipeline Tests
39-
Each nf-core pipeline should be set up with a minimal set of test-data.
40-
Travis CI then runs the pipeline on this data to ensure that it exists successfully.
41+
### Pipeline tests
42+
43+
Each `nf-core` pipeline should be set up with a minimal set of test-data.
44+
`GitHub Actions` then runs the pipeline on this data to ensure that it exits successfully.
4145
If there are any failures then the automated tests fail.
42-
These tests are run both with the latest available version of Nextflow and also the minimum required version that is stated in the pipeline code.
46+
These tests are run both with the latest available version of `Nextflow` and also the minimum required version that is stated in the pipeline code.
47+
48+
## Patch
49+
50+
:warning: Only in the unlikely and regretful event of a release happening with a bug.
51+
52+
* On your own fork, make a new branch `patch` based on `upstream/master`.
53+
* Fix the bug, and bump version (X.Y.Z+1).
54+
* A PR should be made on `master` from patch to directly this particular bug.
4355

4456
## Getting help
45-
For further information/help, please consult the [nf-core/bactmap documentation](https://github.com/nf-core/bactmap#documentation) and don't hesitate to get in touch on [Gitter](https://gitter.im/nf-core/Lobby)
57+
58+
For further information/help, please consult the [nf-core/bactmap documentation](https://nf-co.re/bactmap/usage) and don't hesitate to get in touch on the nf-core Slack [#bactmap](https://nfcore.slack.com/channels/bactmap) channel ([join our Slack here](https://nf-co.re/join/slack)).
59+
60+
## Pipeline contribution conventions
61+
62+
To make the nf-core/bactmap 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.
63+
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. If applicable add a [MultiQC](https://https://multiqc.info/) module.
79+
12. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order.
80+
13. Optional: Add any descriptions of MultiQC report sections and output files to `docs/output.md`.
81+
82+
### Default values
83+
84+
Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope.
85+
86+
Once there, use `nf-core schema build .` to add to `nextflow_schema.json`.
87+
88+
### Default processes resource requirements
89+
90+
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.
91+
92+
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.
93+
94+
### Naming schemes
95+
96+
Please use the following naming schemes, to make it easy to understand what is going where.
97+
98+
* initial process channel: `ch_output_from_<process>`
99+
* intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
100+
101+
### Nextflow version bumping
102+
103+
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]`
104+
105+
### Software version reporting
106+
107+
If you add a new tool to the pipeline, please ensure you add the information of the tool to the `get_software_version` process.
108+
109+
Add to the script block of the process, something like the following:
110+
111+
```bash
112+
<YOUR_TOOL> --version &> v_<YOUR_TOOL>.txt 2>&1 || true
113+
```
114+
115+
or
116+
117+
```bash
118+
<YOUR_TOOL> --help | head -n 1 &> v_<YOUR_TOOL>.txt 2>&1 || true
119+
```
120+
121+
You then need to edit the script `bin/scrape_software_versions.py` to:
122+
123+
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`
124+
2. Add a HTML entry to the `OrderedDict` for formatting in MultiQC.
125+
126+
### Images and figures
127+
128+
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).

.github/ISSUE_TEMPLATE/bug_report.md

+53-21
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,63 @@
1+
---
2+
name: Bug report
3+
about: Report something that is broken or incorrect
4+
labels: bug
5+
---
6+
7+
<!--
8+
# nf-core/bactmap bug report
9+
110
Hi there!
211
3-
Thanks for telling us about a problem with the pipeline. Please delete this text and anything that's not relevant from the template below:
12+
Thanks for telling us about a problem with the pipeline.
13+
Please delete this text and anything that's not relevant from the template below:
14+
-->
15+
16+
## Check Documentation
17+
18+
I have checked the following places for your error:
419

5-
#### Describe the bug
6-
A clear and concise description of what the bug is.
20+
- [ ] [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
21+
- [ ] [nf-core/bactmap pipeline documentation](https://nf-co.re/bactmap/usage)
22+
23+
## Description of the bug
24+
25+
<!-- A clear and concise description of what the bug is. -->
26+
27+
## Steps to reproduce
728

8-
#### Steps to reproduce
929
Steps to reproduce the behaviour:
10-
1. Command line: `nextflow run ...`
11-
2. See error: _Please provide your error message_
1230

13-
#### Expected behaviour
14-
A clear and concise description of what you expected to happen.
31+
1. Command line: <!-- [e.g. `nextflow run ...`] -->
32+
2. See error: <!-- [Please provide your error message] -->
33+
34+
## Expected behaviour
35+
36+
<!-- A clear and concise description of what you expected to happen. -->
37+
38+
## Log files
39+
40+
Have you provided the following extra information/files:
41+
42+
- [ ] The command used to run the pipeline
43+
- [ ] The `.nextflow.log` file <!-- this is a hidden file in the directory where you launched the pipeline -->
44+
45+
## System
46+
47+
- Hardware: <!-- [e.g. HPC, Desktop, Cloud...] -->
48+
- Executor: <!-- [e.g. slurm, local, awsbatch...] -->
49+
- OS: <!-- [e.g. CentOS Linux, macOS, Linux Mint...] -->
50+
- Version <!-- [e.g. 7, 10.13.6, 18.3...] -->
51+
52+
## Nextflow Installation
53+
54+
- Version: <!-- [e.g. 21.04.0] -->
1555

16-
#### System:
17-
- Hardware: [e.g. HPC, Desktop, Cloud...]
18-
- Executor: [e.g. slurm, local, awsbatch...]
19-
- OS: [e.g. CentOS Linux, macOS, Linux Mint...]
20-
- Version [e.g. 7, 10.13.6, 18.3...]
56+
## Container engine
2157

22-
#### Nextflow Installation:
23-
- Version: [e.g. 0.31.0]
58+
- Engine: <!-- [e.g. Conda, Docker, Singularity, Podman, Shifter or Charliecloud] -->
59+
- version: <!-- [e.g. 1.0.0] -->
2460

25-
#### Container engine:
26-
- Engine: [e.g. Conda, Docker or Singularity]
27-
- version: [e.g. 1.0.0]
28-
- Image tag: [e.g. nfcore/bactmap:1.0.0]
61+
## Additional context
2962

30-
#### Additional context
31-
Add any other context about the problem here.
63+
<!-- Add any other context about the problem here. -->

.github/ISSUE_TEMPLATE/config.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Join nf-core
4+
url: https://nf-co.re/join
5+
about: Please join the nf-core community here
6+
- name: "Slack #bactmap channel"
7+
url: https://nfcore.slack.com/channels/bactmap
8+
about: Discussion about the nf-core/bactmap pipeline
+26-10
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for the nf-core/bactmap pipeline
4+
labels: enhancement
5+
---
6+
7+
<!--
8+
# nf-core/bactmap feature request
9+
110
Hi there!
211
3-
Thanks for suggesting a new feature for the pipeline! Please delete this text and anything that's not relevant from the template below:
12+
Thanks for suggesting a new feature for the pipeline!
13+
Please delete this text and anything that's not relevant from the template below:
14+
-->
15+
16+
## Is your feature request related to a problem? Please describe
17+
18+
<!-- A clear and concise description of what the problem is. -->
19+
20+
<!-- e.g. [I'm always frustrated when ...] -->
21+
22+
## Describe the solution you'd like
23+
24+
<!-- A clear and concise description of what you want to happen. -->
425

5-
#### Is your feature request related to a problem? Please describe.
6-
A clear and concise description of what the problem is.
7-
Ex. I'm always frustrated when [...]
26+
## Describe alternatives you've considered
827

9-
#### Describe the solution you'd like
10-
A clear and concise description of what you want to happen.
28+
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
1129

12-
#### Describe alternatives you've considered
13-
A clear and concise description of any alternative solutions or features you've considered.
30+
## Additional context
1431

15-
#### Additional context
16-
Add any other context about the feature request here.
32+
<!-- Add any other context about the feature request here. -->

.github/PULL_REQUEST_TEMPLATE.md

+23-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
1-
Many thanks to contributing to nf-core/bactmap!
1+
<!--
2+
# nf-core/bactmap pull request
23
3-
Please fill in the appropriate checklist below (delete whatever is not relevant). These are the most common things requested on pull requests (PRs).
4+
Many thanks for contributing to nf-core/bactmap!
5+
6+
Please fill in the appropriate checklist below (delete whatever is not relevant).
7+
These are the most common things requested on pull requests (PRs).
8+
9+
Remember that PRs should be made against the dev branch, unless you're preparing a pipeline release.
10+
11+
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/bactmap/tree/master/.github/CONTRIBUTING.md)
12+
-->
13+
<!-- markdownlint-disable ul-indent -->
414

515
## PR checklist
6-
- [ ] This comment contains a description of changes (with reason)
7-
- [ ] If you've fixed a bug or added code that should be tested, add tests!
8-
- [ ] If necessary, also make a PR on the [nf-core/bactmap branch on the nf-core/test-datasets repo]( https://github.com/nf-core/test-datasets/pull/new/nf-core/bactmap)
9-
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`).
10-
- [ ] Make sure your code lints (`nf-core lint .`).
11-
- [ ] Documentation in `docs` is updated
12-
- [ ] `CHANGELOG.md` is updated
13-
- [ ] `README.md` is updated
14-
15-
**Learn more about contributing:** https://github.com/nf-core/bactmap/tree/master/.github/CONTRIBUTING.md
16+
17+
- [ ] This comment contains a description of changes (with reason).
18+
- [ ] If you've fixed a bug or added code that should be tested, add tests!
19+
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/bactmap/tree/master/.github/CONTRIBUTING.md)
20+
- [ ] If necessary, also make a PR on the nf-core/bactmap _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
21+
- [ ] Make sure your code lints (`nf-core lint .`).
22+
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`).
23+
- [ ] Usage Documentation in `docs/usage.md` is updated.
24+
- [ ] Output Documentation in `docs/output.md` is updated.
25+
- [ ] `CHANGELOG.md` is updated.
26+
- [ ] `README.md` is updated (including new tool citations and authors/contributors).

0 commit comments

Comments
 (0)