Skip to content

Commit 1a58b06

Browse files
authored
Merge pull request #19 from nf-core/dev
Merge upstream dev (2.0.0rc1)
2 parents 2bfd041 + 6923c11 commit 1a58b06

87 files changed

Lines changed: 1596 additions & 930 deletions

File tree

Some content is hidden

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

.github/actions/nf-test/action.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,9 @@ runs:
5454
conda-solver: libmamba
5555
conda-remove-defaults: true
5656

57-
# TODO Skip failing conda tests and document their failures
58-
# https://github.com/nf-core/modules/issues/7017
5957
- name: Run nf-test
6058
shell: bash
6159
env:
62-
NFT_DIFF: ${{ env.NFT_DIFF }}
63-
NFT_DIFF_ARGS: ${{ env.NFT_DIFF_ARGS }}
6460
NFT_WORKDIR: ${{ env.NFT_WORKDIR }}
6561
run: |
6662
nf-test test \

.github/workflows/linting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
steps:
1414
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1515

16-
- name: Set up Python 3.12
16+
- name: Set up Python 3.13
1717
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
1818
with:
1919
python-version: "3.13"

.github/workflows/linting_comment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Download lint results
14-
uses: dawidd6/action-download-artifact@4c1e823582f43b179e2cbb49c3eade4e41f992e2 # v10
14+
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
1515
with:
1616
workflow: linting.yml
1717
workflow_conclusion: completed

.github/workflows/nf-test.yml

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
name: Run nf-test
22
on:
3-
push:
4-
paths-ignore:
5-
- "docs/**"
6-
- "**/meta.yml"
7-
- "**/*.md"
8-
- "**/*.png"
9-
- "**/*.svg"
103
pull_request:
114
paths-ignore:
125
- "docs/**"
@@ -35,7 +28,7 @@ jobs:
3528
nf-test-changes:
3629
name: nf-test-changes
3730
runs-on: # use self-hosted runners
38-
- runs-on=$-nf-test-changes
31+
- runs-on=${{ github.run_id }}-nf-test-changes
3932
- runner=4cpu-linux-x64
4033
outputs:
4134
shard: ${{ steps.set-shards.outputs.shard }}
@@ -69,7 +62,7 @@ jobs:
6962
needs: [nf-test-changes]
7063
if: ${{ needs.nf-test-changes.outputs.total_shards != '0' }}
7164
runs-on: # use self-hosted runners
72-
- runs-on=$-nf-test
65+
- runs-on=${{ github.run_id }}-nf-test
7366
- runner=4cpu-linux-x64
7467
strategy:
7568
fail-fast: false
@@ -85,7 +78,7 @@ jobs:
8578
- isMain: false
8679
profile: "singularity"
8780
NXF_VER:
88-
- "24.04.2"
81+
- "24.10.5"
8982
- "latest-everything"
9083
env:
9184
NXF_ANSI_LOG: false
@@ -97,23 +90,39 @@ jobs:
9790
fetch-depth: 0
9891

9992
- name: Run nf-test
93+
id: run_nf_test
10094
uses: ./.github/actions/nf-test
95+
continue-on-error: ${{ matrix.NXF_VER == 'latest-everything' }}
10196
env:
102-
NFT_DIFF: ${{ env.NFT_DIFF }}
103-
NFT_DIFF_ARGS: ${{ env.NFT_DIFF_ARGS }}
10497
NFT_WORKDIR: ${{ env.NFT_WORKDIR }}
10598
with:
10699
profile: ${{ matrix.profile }}
107100
shard: ${{ matrix.shard }}
108101
total_shards: ${{ env.TOTAL_SHARDS }}
102+
103+
- name: Report test status
104+
if: ${{ always() }}
105+
run: |
106+
if [[ "${{ steps.run_nf_test.outcome }}" == "failure" ]]; then
107+
echo "::error::Test with ${{ matrix.NXF_VER }} failed"
108+
# Add to workflow summary
109+
echo "## ❌ Test failed: ${{ matrix.profile }} | ${{ matrix.NXF_VER }} | Shard ${{ matrix.shard }}/${{ env.TOTAL_SHARDS }}" >> $GITHUB_STEP_SUMMARY
110+
if [[ "${{ matrix.NXF_VER }}" == "latest-everything" ]]; then
111+
echo "::warning::Test with latest-everything failed but will not cause workflow failure. Please check if the error is expected or if it needs fixing."
112+
fi
113+
if [[ "${{ matrix.NXF_VER }}" != "latest-everything" ]]; then
114+
exit 1
115+
fi
116+
fi
117+
109118
confirm-pass:
110119
needs: [nf-test]
111120
if: always()
112121
runs-on: # use self-hosted runners
113-
- runs-on=$-confirm-pass
122+
- runs-on=${{ github.run_id }}-confirm-pass
114123
- runner=2cpu-linux-x64
115124
steps:
116-
- name: One or more tests failed
125+
- name: One or more tests failed (excluding latest-everything)
117126
if: ${{ contains(needs.*.result, 'failure') }}
118127
run: exit 1
119128

@@ -132,11 +141,3 @@ jobs:
132141
echo "DEBUG: toJSON(needs) = ${{ toJSON(needs) }}"
133142
echo "DEBUG: toJSON(needs.*.result) = ${{ toJSON(needs.*.result) }}"
134143
echo "::endgroup::"
135-
136-
- name: Clean Workspace # Purge the workspace in case it's running on a self-hosted runner
137-
if: always()
138-
run: |
139-
ls -la ./
140-
rm -rf ./* || true
141-
rm -rf ./.??* || true
142-
ls -la ./

.github/workflows/release-announcements.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
bsky-post:
3131
runs-on: ubuntu-latest
3232
steps:
33-
- uses: zentered/bluesky-post-action@4aa83560bb3eac05dbad1e5f221ee339118abdd2 # v0.2.0
33+
- uses: zentered/bluesky-post-action@6461056ea355ea43b977e149f7bf76aaa572e5e8 # v0.3.0
3434
with:
3535
post: |
3636
Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}!

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ testing/
77
testing*
88
*.pyc
99
null/
10+
.nf*

.nf-core.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ lint:
33
- .github/workflows/linting.yml
44
- .github/CONTRIBUTING.md
55
multiqc_config: false
6-
nf_core_version: 3.3.1
6+
nf_core_version: 3.3.2
77
repository_type: pipeline
88
template:
99
author: Athanasios Baltzis, Jose Espinosa-Carrasco, Harshil Patel

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ repos:
44
hooks:
55
- id: prettier
66
additional_dependencies:
7-
- prettier@3.5.0
7+
- prettier@3.6.2
88
- repo: https://github.com/pre-commit/pre-commit-hooks
99
rev: v5.0.0
1010
hooks:

CHANGELOG.md

Lines changed: 62 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -40,45 +40,77 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4040
- [[PR #306](https://github.com/nf-core/proteinfold/pull/306)] - extract_output.py -> extract_metrics.py so pLDDT, MSA, PAE emitted as raw data .tsv files
4141
- [[PR #307](https://github.com/nf-core/proteinfold/pull/307)] - Update Boltz-1 boilerplate and formatting.
4242
- [[PR #314](https://github.com/nf-core/proteinfold/pull/314)] - Fix extract metrics for broken modules.
43+
- [[PR #312](https://github.com/nf-core/proteinfold/pull/312)] - pTM & ipTM metrics now extracted
4344
- [[PR #315](https://github.com/nf-core/proteinfold/pull/315)] - Add global db flag.
4445
- [[#263](https://github.com/nf-core/proteinfold/issues/263)] - Removed broken colabfold options (`auto` and `alphafold2`)
4546
- [[PR #316](https://github.com/nf-core/proteinfold/pull/316)] - Add process_gpu label to modules which use GPU.
4647
- [[PR #319](https://github.com/nf-core/proteinfold/pull/319)] - Update boltz workflow to accept YAML as input.
4748
- [[PR #322](https://github.com/nf-core/proteinfold/pull/322)] - Updates and reorganises the reference database directory structure.
49+
- [[PR #329](https://github.com/nf-core/proteinfold/pull/329)] - Updates Boltz module to include Boltz-2.
4850
- [[PR #332](https://github.com/nf-core/proteinfold/pull/332)] - Fix rare superposition bug in reports.
4951
- [[PR #333](https://github.com/nf-core/proteinfold/pull/333)] - Updates the RFAA dockerfile for better versioning and smaller image size.
5052
- [[PR #335](https://github.com/nf-core/proteinfold/pull/335)] - Update pipeline template to [nf-core/tools 3.3.1](https://github.com/nf-core/tools/releases/tag/3.3.1).
53+
- [[PR #346](https://github.com/nf-core/proteinfold/pull/346)] - Update pipeline template to [nf-core/tools 3.3.2](https://github.com/nf-core/tools/releases/tag/3.3.2).
54+
- [[PR #351](https://github.com/nf-core/proteinfold/pull/351)] - add chain-wise (i)pTM values and summary file for AF3-generation codes.
55+
- [[PR #355](https://github.com/nf-core/proteinfold/pull/355)] - Remove unneccesary params from Boltz and Helixfold3 modes.
56+
- [[PR #356](https://github.com/nf-core/proteinfold/pull/356)] - Update AF2 defaults to use split mode and monomer_ptm model.
57+
- [[PR #357](https://github.com/nf-core/proteinfold/pull/357)] - Update ColabFold module and image.
58+
- [[PR #359](https://github.com/nf-core/proteinfold/pull/359)] - Harmonize parameters across modes.
59+
- [[PR #360](https://github.com/nf-core/proteinfold/pull/360)] - Rename some DBs paths in the run modules so they are equal to those when DBs are downloaded.
60+
- [[PR #362](https://github.com/nf-core/proteinfold/pull/355)] - Update boltz Dockerfile and image pinning specific version (2.0.3).
61+
- [[#364](https://github.com/nf-core/proteinfold/issues/364)] - Move Dockerfiles to its corresponding module.
62+
- [[PR #370](https://github.com/nf-core/proteinfold/pull/370)] - Fix extract chain metrics.
63+
- [[#367](https://github.com/nf-core/proteinfold/issues/367)] - Boltz post-processing crashes.
64+
- [[#368](https://github.com/nf-core/proteinfold/issues/368)] - Helixfold3 iPTM output missing when dealing with monomers make the process to fail.
5165

5266
### Parameters
5367

54-
| Old parameter | New parameter |
55-
| ---------------------------- | ------------------------------ |
56-
| | `--pdb_obsolete_path` |
57-
| `--small_bfd_link` | `--alphafold2_small_bfd_link` |
58-
| `--mgnify_link` | `--alphafold2_mgnify_link` |
59-
| `--pdb_mmcif_link` | `--alphafold2_pdb_mmcif_link` |
60-
| `--uniref30_alphafold2_link` | `--alphafold2_uniref30_link` |
61-
| `--uniref90_link` | `--alphafold2_uniref90_link` |
62-
| `--pdb_seqres_link` | `--alphafold2_pdb_seqres_link` |
63-
| `--small_bfd_path` | `--alphafold2_small_bfd_path` |
64-
| `--mgnify_path_alphafold2` | `--alphafold2_mgnify_path` |
65-
| `--pdb_mmcif_path` | `--alphafold2_pdb_mmcif_path` |
66-
| `--uniref30_alphafold2_path` | `--alphafold2_uniref30_path` |
67-
| `--uniref90_path` | `--alphafold2_uniref90_path` |
68-
| `--pdb_seqres_path` | `--alphafold2_pdb_seqres_path` |
69-
| `--uniprot_path` | `--alphafold2_uniprot_path` |
70-
| | `--alphafold3_small_bfd_link` |
71-
| | `--alphafold3_mgnify_link` |
72-
| | `--alphafold3_uniref90_link` |
73-
| | `--alphafold3_pdb_seqres_link` |
74-
| | `--uniprot_link` |
75-
| | `--alphafold3_small_bfd_path` |
76-
| | `--alphafold3_params_path` |
77-
| | `--alphafold3_mgnify_path` |
78-
| | `--alphafold3_pdb_mmcif_path` |
79-
| | `--alphafold3_uniref90_path` |
80-
| | `--alphafold3_pdb_seqres_path` |
81-
| | `--alphafold3_uniprot_path` |
68+
| Old parameter | New parameter |
69+
| ---------------------------- | -------------------------------- |
70+
| | `--alphafold2_pdb_obsolete_path` |
71+
| `--small_bfd_link` | `--alphafold2_small_bfd_link` |
72+
| `--mgnify_link` | `--alphafold2_mgnify_link` |
73+
| `--pdb_mmcif_link` | `--alphafold2_pdb_mmcif_link` |
74+
| `--uniref30_alphafold2_link` | `--alphafold2_uniref30_link` |
75+
| `--uniref90_link` | `--alphafold2_uniref90_link` |
76+
| `--pdb_seqres_link` | `--alphafold2_pdb_seqres_link` |
77+
| `--small_bfd_path` | `--alphafold2_small_bfd_path` |
78+
| `--mgnify_path_alphafold2` | `--alphafold2_mgnify_path` |
79+
| `--pdb_mmcif_path` | `--alphafold2_pdb_mmcif_path` |
80+
| `--uniref30_alphafold2_path` | `--alphafold2_uniref30_path` |
81+
| `--uniref90_path` | `--alphafold2_uniref90_path` |
82+
| `--pdb_seqres_path` | `--alphafold2_pdb_seqres_path` |
83+
| `--uniprot_path` | `--alphafold2_uniprot_path` |
84+
| | `--alphafold3_small_bfd_link` |
85+
| | `--alphafold3_mgnify_link` |
86+
| | `--alphafold3_uniref90_link` |
87+
| | `--alphafold3_pdb_seqres_link` |
88+
| | `--alphafold3_uniprot_link` |
89+
| | `--alphafold3_small_bfd_path` |
90+
| | `--alphafold3_params_path` |
91+
| | `--alphafold3_mgnify_path` |
92+
| | `--alphafold3_pdb_mmcif_path` |
93+
| | `--alphafold3_uniref90_path` |
94+
| | `--alphafold3_pdb_seqres_path` |
95+
| | `--alphafold3_uniprot_path` |
96+
| | `--boltz_model` |
97+
| | `--boltz_out_dir` |
98+
| | `--boltz_output_format` |
99+
| | `--boltz_use_msa_server` |
100+
| | `--boltz_msa_server_url` |
101+
| | `--boltz_use_potentials` |
102+
| | `--boltz_write_full_pae` |
103+
| | `--boltz2_aff_path` |
104+
| | `--boltz2_conf_path` |
105+
| | `--boltz2_mols_path` |
106+
| | `--boltz_model_path` |
107+
| | `--boltz_ccd_path` |
108+
| | `--boltz_db` |
109+
| | `--boltz2_aff_link` |
110+
| | `--boltz2_conf_link` |
111+
| | `--boltz2_mols_link` |
112+
| | `--boltz_model_link` |
113+
| | `--boltz_ccd_link` |
82114

83115
> **NB:** Parameter has been **updated** if both old and new parameter information is present.
84116
> **NB:** Parameter has been **added** if just the new parameter information is present.
@@ -161,8 +193,8 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements
161193
| `--uniprot_sprot` | `--uniprot_sprot_link` |
162194
| `--uniprot_trembl` | `--uniprot_trembl_link` |
163195
| `--uniclust30_path` | `--uniref30_alphafold2_path` |
164-
| `--uniref30` | `--uniref30_colabfold_link` |
165-
| `--uniref30_path` | `--uniref30_colabfold_path` |
196+
| `--uniref30` | `--colabfold_uniref30_link` |
197+
| `--uniref30_path` | `--colabfold_uniref30_path` |
166198
| `--num_recycle` | `--num_recycles_colabfold` |
167199
| | `--num_recycles_esmfold` |
168200
| | `--uniref30_alphafold2_link` |

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
</picture>
66
</h1>
77

8-
[![GitHub Actions CI Status](https://github.com/nf-core/proteinfold/actions/workflows/ci.yml/badge.svg)](https://github.com/nf-core/proteinfold/actions/workflows/ci.yml)
8+
[![GitHub Actions CI Status](https://github.com/nf-core/proteinfold/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/proteinfold/actions/workflows/nf-test.yml)
99
[![GitHub Actions Linting Status](https://github.com/nf-core/proteinfold/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/proteinfold/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/proteinfold/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.13135393-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.13135393)
10-
[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)
1110

12-
[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)
13-
[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)
11+
[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.10.5-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)
12+
[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.2)
1413
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
1514
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
1615
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
@@ -117,7 +116,6 @@ The pipeline takes care of downloading the databases and parameters required by
117116
--input samplesheet.csv \
118117
--outdir <OUTDIR> \
119118
--mode colabfold \
120-
--colabfold_server local \
121119
--colabfold_db <null (default) | PATH> \
122120
--num_recycles_colabfold 3 \
123121
--use_amber <true/false> \
@@ -134,8 +132,8 @@ The pipeline takes care of downloading the databases and parameters required by
134132
--input samplesheet.csv \
135133
--outdir <OUTDIR> \
136134
--mode colabfold \
137-
--colabfold_server webserver \
138-
--host_url <custom MMSeqs2 API Server URL> \
135+
--use_msa_server \
136+
--msa_server_url <custom MMSeqs2 API Server URL> \
139137
--colabfold_db <null (default) | PATH> \
140138
--num_recycles_colabfold 3 \
141139
--use_amber <true/false> \

0 commit comments

Comments
 (0)