Skip to content

Commit 94bd582

Browse files
authored
Merge pull request #74 from nf-core/dev
Initial release (1.0.0 - - White Silver Reebok)
2 parents 0530f40 + e432188 commit 94bd582

File tree

108 files changed

+5167
-1387
lines changed

Some content is hidden

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

108 files changed

+5167
-1387
lines changed

.devcontainer/devcontainer.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "nfcore",
3+
"image": "nfcore/gitpod:latest",
4+
"remoteUser": "gitpod",
5+
6+
// Configure tool-specific properties.
7+
"customizations": {
8+
// Configure properties specific to VS Code.
9+
"vscode": {
10+
// Set *default* container specific settings.json values on container create.
11+
"settings": {
12+
"python.defaultInterpreterPath": "/opt/conda/bin/python",
13+
"python.linting.enabled": true,
14+
"python.linting.pylintEnabled": true,
15+
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
16+
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
17+
"python.linting.flake8Path": "/opt/conda/bin/flake8",
18+
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
19+
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
20+
"python.linting.pylintPath": "/opt/conda/bin/pylint"
21+
},
22+
23+
// Add the IDs of extensions you want installed when the container is created.
24+
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
25+
}
26+
}
27+
}

.editorconfig

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@ trim_trailing_whitespace = true
88
indent_size = 4
99
indent_style = space
1010

11-
[*.{yml,yaml}]
11+
[*.{md,yml,yaml,html,css,scss,js,cff}]
1212
indent_size = 2
1313

14-
[*.json]
15-
insert_final_newline = unset
16-
1714
# These files are edited and tested upstream in nf-core/modules
1815
[/modules/nf-core/**]
1916
charset = unset

.gitattributes

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

.github/CONTRIBUTING.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ Contributions to the code are even more welcome ;)
1515

1616
If you'd like to write some code for nf-core/proteinfold, the standard workflow is as follows:
1717

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
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. If there isn't one already, please create one so that others know you're working on this
2019
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
2120
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
2221
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).
@@ -49,9 +48,9 @@ These tests are run both with the latest available version of `Nextflow` and als
4948

5049
:warning: Only in the unlikely and regretful event of a release happening with a bug.
5150

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.
51+
- On your own fork, make a new branch `patch` based on `upstream/master`.
52+
- Fix the bug, and bump version (X.Y.Z+1).
53+
- A PR should be made on `master` from patch to directly this particular bug.
5554

5655
## Getting help
5756

@@ -73,7 +72,7 @@ If you wish to contribute a new step, please use the following coding standards:
7372
6. Add sanity checks and validation for all relevant parameters.
7473
7. Perform local tests to validate that the new code works as expected.
7574
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.
75+
9. Update MultiQC config `assets/multiqc_config.yml` 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.
7776
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.
7877

7978
### Default values
@@ -92,8 +91,8 @@ The process resources can be passed on to the tool dynamically within the proces
9291

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

95-
* initial process channel: `ch_output_from_<process>`
96-
* intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
94+
- initial process channel: `ch_output_from_<process>`
95+
- intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
9796

9897
### Nextflow version bumping
9998

@@ -102,3 +101,19 @@ If you are using a new feature from core Nextflow, you may bump the minimum requ
102101
### Images and figures
103102

104103
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).
104+
105+
## GitHub Codespaces
106+
107+
This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.
108+
109+
To get started:
110+
111+
- Open the repo in [Codespaces](https://github.com/nf-core/proteinfold/codespaces)
112+
- Tools installed
113+
- nf-core
114+
- Nextflow
115+
116+
Devcontainer specs:
117+
118+
- [DevContainer config](.devcontainer/devcontainer.json)
119+
- [Dockerfile](.devcontainer/Dockerfile)

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ name: Bug report
22
description: Report something that is broken or incorrect
33
labels: bug
44
body:
5-
65
- type: markdown
76
attributes:
87
value: |
@@ -43,7 +42,7 @@ body:
4342
attributes:
4443
label: System information
4544
description: |
46-
* Nextflow version _(eg. 21.10.3)_
45+
* Nextflow version _(eg. 22.10.1)_
4746
* Hardware _(eg. HPC, Desktop, Cloud)_
4847
* Executor _(eg. slurm, local, awsbatch)_
4948
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,14 @@ Remember that PRs should be made against the dev branch, unless you're preparing
1010
1111
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/proteinfold/tree/master/.github/CONTRIBUTING.md)
1212
-->
13-
<!-- markdownlint-disable ul-indent -->
1413

1514
## PR checklist
1615

1716
- [ ] This comment contains a description of changes (with reason).
1817
- [ ] 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.
18+
- [ ] 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)- [ ] 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.
2119
- [ ] Make sure your code lints (`nf-core lint`).
22-
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`).
20+
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
2321
- [ ] Usage Documentation in `docs/usage.md` is updated.
2422
- [ ] Output Documentation in `docs/output.md` is updated.
2523
- [ ] `CHANGELOG.md` is updated.

.github/workflows/awsfulltest.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,35 @@ on:
99
workflow_dispatch:
1010
jobs:
1111
run-tower:
12-
name: Run AWS full tests
12+
name: Run AWS AlphaFold2 full monomer tests
1313
if: github.repository == 'nf-core/proteinfold'
1414
runs-on: ubuntu-latest
15+
# Do a full-scale run on each of the mode
16+
strategy:
17+
matrix:
18+
mode:
19+
[
20+
"_alphafold2_standard",
21+
"_alphafold2_split",
22+
"_alphafold2_multimer",
23+
"_colabfold_local",
24+
"_colabfold_webserver",
25+
"_colabfold_multimer",
26+
]
1527
steps:
1628
- name: Launch workflow via tower
1729
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-
2230
with:
2331
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
2432
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
2533
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
2634
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/proteinfold/work-${{ github.sha }}
2735
parameters: |
2836
{
29-
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/proteinfold/results-${{ github.sha }}"
37+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/proteinfold/results-${{ github.sha }}/mode_${{ matrix.mode }}"
3038
}
31-
profiles: test_full,aws_tower
32-
nextflow_config: |
33-
process.errorStrategy = 'retry'
34-
process.maxRetries = 3
39+
profiles: test_full_${{ matrix.mode }},aws_tower
40+
- uses: actions/upload-artifact@v3
41+
with:
42+
name: Tower debug log file
43+
path: tower_action_*.log

.github/workflows/awstest.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ jobs:
1010
if: github.repository == 'nf-core/proteinfold'
1111
runs-on: ubuntu-latest
1212
steps:
13+
# Launch workflow using Tower CLI tool action
1314
- name: Launch workflow via tower
1415
uses: nf-core/tower-action@v3
15-
1616
with:
1717
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
1818
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
@@ -23,6 +23,7 @@ jobs:
2323
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/proteinfold/results-test-${{ github.sha }}"
2424
}
2525
profiles: test,aws_tower
26-
nextflow_config: |
27-
process.errorStrategy = 'retry'
28-
process.maxRetries = 3
26+
- uses: actions/upload-artifact@v3
27+
with:
28+
name: Tower debug log file
29+
path: tower_action_*.log

.github/workflows/branch.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ jobs:
1515
run: |
1616
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/proteinfold ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
1717
18-
1918
# If the above check failed, post a comment on the PR explaining the failure
2019
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
2120
- name: Post PR comment
@@ -43,4 +42,3 @@ jobs:
4342
Thanks again for your contribution!
4443
repo-token: ${{ secrets.GITHUB_TOKEN }}
4544
allow-repeats: false
46-

.github/workflows/ci.yml

Lines changed: 59 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,79 @@ on:
1010

1111
env:
1212
NXF_ANSI_LOG: false
13-
CAPSULE_LOG: none
13+
14+
concurrency:
15+
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
16+
cancel-in-progress: true
1417

1518
jobs:
1619
test:
17-
name: Run workflow tests
20+
name: Run pipeline with test data
1821
# Only run on push if this is the nf-core dev branch (merged PRs)
19-
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
22+
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}"
2023
runs-on: ubuntu-latest
2124
strategy:
2225
matrix:
23-
# Nextflow versions
24-
include:
25-
# Test pipeline minimum Nextflow version
26-
- NXF_VER: '21.10.3'
27-
NXF_EDGE: ''
28-
# Test latest edge release of Nextflow
29-
- NXF_VER: ''
30-
NXF_EDGE: '1'
26+
NXF_VER:
27+
- "22.10.1"
28+
- "latest-everything"
29+
steps:
30+
- name: Check out pipeline code
31+
uses: actions/checkout@v3
32+
33+
- name: Install Nextflow
34+
uses: nf-core/setup-nextflow@v1
35+
with:
36+
version: "${{ matrix.NXF_VER }}"
37+
38+
- name: Run pipeline with test data
39+
run: |
40+
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
41+
42+
test_alphafold2_split:
43+
name: Test alphafold2 split workflow
44+
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
45+
runs-on: ubuntu-latest
3146
steps:
3247
- name: Check out pipeline code
3348
uses: actions/checkout@v2
3449

3550
- name: Install Nextflow
36-
env:
37-
NXF_VER: ${{ matrix.NXF_VER }}
38-
# Uncomment only if the edge release is more recent than the latest stable release
39-
# See https://github.com/nextflow-io/nextflow/issues/2467
40-
# NXF_EDGE: ${{ matrix.NXF_EDGE }}
4151
run: |
4252
wget -qO- get.nextflow.io | bash
4353
sudo mv nextflow /usr/local/bin/
54+
- name: Run pipeline with stub-run in alphafold2 split mode
55+
run: |
56+
nextflow run ${GITHUB_WORKSPACE} -profile test_alphafold2_split,docker --outdir ./results
4457
45-
- name: Run pipeline with test data
46-
# TODO nf-core: You can customise CI pipeline run tests as required
47-
# For example: adding multiple test runs with different parameters
48-
# Remember that you can parallelise this by using strategy.matrix
58+
test_colabfold_local:
59+
name: Test Colabfold local workflow
60+
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
61+
runs-on: ubuntu-latest
62+
steps:
63+
- name: Check out pipeline code
64+
uses: actions/checkout@v2
65+
66+
- name: Install Nextflow
67+
run: |
68+
wget -qO- get.nextflow.io | bash
69+
sudo mv nextflow /usr/local/bin/
70+
- name: Run pipeline with stub-run in colabfold_local mode
71+
run: |
72+
nextflow run ${GITHUB_WORKSPACE} -profile test_colabfold_local,docker --outdir ./results
73+
74+
test_colabfold_webserver:
75+
name: Test Colabfold webserver workflow
76+
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Check out pipeline code
80+
uses: actions/checkout@v2
81+
82+
- name: Install Nextflow
83+
run: |
84+
wget -qO- get.nextflow.io | bash
85+
sudo mv nextflow /usr/local/bin/
86+
- name: Run pipeline with stub-run in colabfold_webserver mode
4987
run: |
50-
nextflow run ${GITHUB_WORKSPACE} -profile test,docker
88+
nextflow run ${GITHUB_WORKSPACE} -profile test_colabfold_webserver,docker --outdir ./results

.github/workflows/fix-linting.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Fix linting from a comment
2+
on:
3+
issue_comment:
4+
types: [created]
5+
6+
jobs:
7+
deploy:
8+
# Only run if comment is on a PR with the main repo, and if it contains the magic keywords
9+
if: >
10+
contains(github.event.comment.html_url, '/pull/') &&
11+
contains(github.event.comment.body, '@nf-core-bot fix linting') &&
12+
github.repository == 'nf-core/proteinfold'
13+
runs-on: ubuntu-latest
14+
steps:
15+
# Use the @nf-core-bot token to check out so we can push later
16+
- uses: actions/checkout@v3
17+
with:
18+
token: ${{ secrets.nf_core_bot_auth_token }}
19+
20+
# Action runs on the issue comment, so we don't get the PR by default
21+
# Use the gh cli to check out the PR
22+
- name: Checkout Pull Request
23+
run: gh pr checkout ${{ github.event.issue.number }}
24+
env:
25+
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
26+
27+
- uses: actions/setup-node@v3
28+
29+
- name: Install Prettier
30+
run: npm install -g prettier @prettier/plugin-php
31+
32+
# Check that we actually need to fix something
33+
- name: Run 'prettier --check'
34+
id: prettier_status
35+
run: |
36+
if prettier --check ${GITHUB_WORKSPACE}; then
37+
echo "result=pass" >> $GITHUB_OUTPUT
38+
else
39+
echo "result=fail" >> $GITHUB_OUTPUT
40+
fi
41+
42+
- name: Run 'prettier --write'
43+
if: steps.prettier_status.outputs.result == 'fail'
44+
run: prettier --write ${GITHUB_WORKSPACE}
45+
46+
- name: Commit & push changes
47+
if: steps.prettier_status.outputs.result == 'fail'
48+
run: |
49+
git config user.email "core@nf-co.re"
50+
git config user.name "nf-core-bot"
51+
git config push.default upstream
52+
git add .
53+
git status
54+
git commit -m "[automated] Fix linting with Prettier"
55+
git push

0 commit comments

Comments
 (0)