Skip to content

Commit 0530f40

Browse files
committed
initial template build from nf-core/tools, version 2.3.dev0
0 parents  commit 0530f40

Some content is hidden

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

65 files changed

+4182
-0
lines changed

.editorconfig

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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+
[*.json]
15+
insert_final_newline = unset
16+
17+
# These files are edited and tested upstream in nf-core/modules
18+
[/modules/nf-core/**]
19+
charset = unset
20+
end_of_line = unset
21+
insert_final_newline = unset
22+
trim_trailing_whitespace = unset
23+
indent_style = unset
24+
indent_size = unset
25+
26+
[/assets/email*]
27+
indent_size = unset

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.config linguist-language=nextflow
2+
modules/nf-core/** linguist-generated
3+
subworkflows/nf-core/** linguist-generated

.github/.dockstore.yml

Lines changed: 6 additions & 0 deletions
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

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# nf-core/proteinfold: Contributing Guidelines
2+
3+
Hi there!
4+
Many thanks for taking an interest in improving nf-core/proteinfold.
5+
6+
We try to manage the required tasks for nf-core/proteinfold using GitHub issues, you probably came to this page when creating one.
7+
Please use the pre-filled template to save time.
8+
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 ;)
11+
12+
> If you need help using or modifying nf-core/proteinfold then the best place to ask is on the nf-core Slack [#proteinfold](https://nfcore.slack.com/channels/proteinfold) channel ([join our Slack here](https://nf-co.re/join/slack)).
13+
14+
## Contribution workflow
15+
16+
If you'd like to write some code for nf-core/proteinfold, the standard workflow is as follows:
17+
18+
1. Check that there isn't already an issue about your idea in the [nf-core/proteinfold issues](https://github.com/nf-core/proteinfold/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/proteinfold repository](https://github.com/nf-core/proteinfold) 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
24+
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/).
26+
27+
## Tests
28+
29+
When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
30+
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
31+
32+
There are typically two types of tests that run:
33+
34+
### Lint tests
35+
36+
`nf-core` has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to.
37+
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.
38+
39+
If any failures or warnings are encountered, please follow the listed URL for more documentation.
40+
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.
45+
If there are any failures then the automated tests fail.
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.
55+
56+
## Getting help
57+
58+
For further information/help, please consult the [nf-core/proteinfold documentation](https://nf-co.re/proteinfold/usage) and don't hesitate to get in touch on the nf-core Slack [#proteinfold](https://nfcore.slack.com/channels/proteinfold) channel ([join our Slack here](https://nf-co.re/join/slack)).
59+
60+
## Pipeline contribution conventions
61+
62+
To make the nf-core/proteinfold 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 parameters to `nextflow.config` with a default (see below).
72+
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core schema build` tool).
73+
6. Add sanity checks and validation for all relevant parameters.
74+
7. Perform local tests to validate that the new code works as expected.
75+
8. If applicable, add a new test command in `.github/workflow/ci.yml`.
76+
9. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module.
77+
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.
78+
79+
### Default values
80+
81+
Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope.
82+
83+
Once there, use `nf-core schema build` to add to `nextflow_schema.json`.
84+
85+
### Default processes resource requirements
86+
87+
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.
88+
89+
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.
90+
91+
### Naming schemes
92+
93+
Please use the following naming schemes, to make it easy to understand what is going where.
94+
95+
* initial process channel: `ch_output_from_<process>`
96+
* intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
97+
98+
### Nextflow version bumping
99+
100+
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]`
101+
102+
### Images and figures
103+
104+
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.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Bug report
2+
description: Report something that is broken or incorrect
3+
labels: bug
4+
body:
5+
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Before you post this issue, please check the documentation:
10+
11+
- [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
12+
- [nf-core/proteinfold pipeline documentation](https://nf-co.re/proteinfold/usage)
13+
14+
- type: textarea
15+
id: description
16+
attributes:
17+
label: Description of the bug
18+
description: A clear and concise description of what the bug is.
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: command_used
24+
attributes:
25+
label: Command used and terminal output
26+
description: Steps to reproduce the behaviour. Please paste the command you used to launch the pipeline and the output from your terminal.
27+
render: console
28+
placeholder: |
29+
$ nextflow run ...
30+
31+
Some output where something broke
32+
33+
- type: textarea
34+
id: files
35+
attributes:
36+
label: Relevant files
37+
description: |
38+
Please drag and drop the relevant files here. Create a `.zip` archive if the extension is not allowed.
39+
Your verbose log file `.nextflow.log` is often useful _(this is a hidden file in the directory where you launched the pipeline)_ as well as custom Nextflow configuration files.
40+
41+
- type: textarea
42+
id: system
43+
attributes:
44+
label: System information
45+
description: |
46+
* Nextflow version _(eg. 21.10.3)_
47+
* Hardware _(eg. HPC, Desktop, Cloud)_
48+
* Executor _(eg. slurm, local, awsbatch)_
49+
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
50+
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
51+
* Version of nf-core/proteinfold _(eg. 1.1, 1.5, 1.8.2)_

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
contact_links:
2+
- name: Join nf-core
3+
url: https://nf-co.re/join
4+
about: Please join the nf-core community here
5+
- name: "Slack #proteinfold channel"
6+
url: https://nfcore.slack.com/channels/proteinfold
7+
about: Discussion about the nf-core/proteinfold pipeline
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Feature request
2+
description: Suggest an idea for the nf-core/proteinfold pipeline
3+
labels: enhancement
4+
body:
5+
- type: textarea
6+
id: description
7+
attributes:
8+
label: Description of feature
9+
description: Please describe your suggestion for a new feature. It might help to describe a problem or use case, plus any alternatives that you have considered.
10+
validations:
11+
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!--
2+
# nf-core/proteinfold pull request
3+
4+
Many thanks for contributing to nf-core/proteinfold!
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/proteinfold/tree/master/.github/CONTRIBUTING.md)
12+
-->
13+
<!-- markdownlint-disable ul-indent -->
14+
15+
## PR checklist
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/proteinfold/tree/master/.github/CONTRIBUTING.md)
20+
- [ ] If necessary, also make a PR on the nf-core/proteinfold _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).

.github/workflows/awsfulltest.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: nf-core AWS full size tests
2+
# This workflow is triggered on published releases.
3+
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
4+
# It runs the -profile 'test_full' on AWS batch
5+
6+
on:
7+
release:
8+
types: [published]
9+
workflow_dispatch:
10+
jobs:
11+
run-tower:
12+
name: Run AWS full tests
13+
if: github.repository == 'nf-core/proteinfold'
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Launch workflow via tower
17+
uses: nf-core/tower-action@v3
18+
# TODO nf-core: You can customise AWS full pipeline tests as required
19+
# Add full size test data (but still relatively small datasets for few samples)
20+
# on the `test_full.config` test runs with only one set of parameters
21+
22+
with:
23+
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
24+
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
25+
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
26+
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/proteinfold/work-${{ github.sha }}
27+
parameters: |
28+
{
29+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/proteinfold/results-${{ github.sha }}"
30+
}
31+
profiles: test_full,aws_tower
32+
nextflow_config: |
33+
process.errorStrategy = 'retry'
34+
process.maxRetries = 3

.github/workflows/awstest.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: nf-core AWS test
2+
# This workflow can be triggered manually with the GitHub actions workflow dispatch button.
3+
# It runs the -profile 'test' on AWS batch
4+
5+
on:
6+
workflow_dispatch:
7+
jobs:
8+
run-tower:
9+
name: Run AWS tests
10+
if: github.repository == 'nf-core/proteinfold'
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Launch workflow via tower
14+
uses: nf-core/tower-action@v3
15+
16+
with:
17+
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
18+
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
19+
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
20+
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/proteinfold/work-${{ github.sha }}
21+
parameters: |
22+
{
23+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/proteinfold/results-test-${{ github.sha }}"
24+
}
25+
profiles: test,aws_tower
26+
nextflow_config: |
27+
process.errorStrategy = 'retry'
28+
process.maxRetries = 3

.github/workflows/branch.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: nf-core branch protection
2+
# This workflow is triggered on PRs to master branch on the repository
3+
# It fails when someone tries to make a PR against the nf-core `master` branch instead of `dev`
4+
on:
5+
pull_request_target:
6+
branches: [master]
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
steps:
12+
# PRs to the nf-core repo master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
13+
- name: Check PRs
14+
if: github.repository == 'nf-core/proteinfold'
15+
run: |
16+
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/proteinfold ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
17+
18+
19+
# If the above check failed, post a comment on the PR explaining the failure
20+
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
21+
- name: Post PR comment
22+
if: failure()
23+
uses: mshick/add-pr-comment@v1
24+
with:
25+
message: |
26+
## This PR is against the `master` branch :x:
27+
28+
* Do not close this PR
29+
* Click _Edit_ and change the `base` to `dev`
30+
* This CI test will remain failed until you push a new commit
31+
32+
---
33+
34+
Hi @${{ github.event.pull_request.user.login }},
35+
36+
It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch.
37+
The `master` branch on nf-core repositories should always contain code from the latest release.
38+
Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.
39+
40+
You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page.
41+
Note that even after this, the test will continue to show as failing until you push a new commit.
42+
43+
Thanks again for your contribution!
44+
repo-token: ${{ secrets.GITHUB_TOKEN }}
45+
allow-repeats: false
46+

0 commit comments

Comments
 (0)