Skip to content

Dev -> master for nf-core/proteinfold 2.0.0#540

Merged
JoseEspinosa merged 1911 commits into
masterfrom
dev
Mar 27, 2026
Merged

Dev -> master for nf-core/proteinfold 2.0.0#540
JoseEspinosa merged 1911 commits into
masterfrom
dev

Conversation

@JoseEspinosa
Copy link
Copy Markdown
Member

@JoseEspinosa JoseEspinosa commented Mar 12, 2026

Release 2.0.0

New Features:

Bug Fixes:

Improvements:

Renamed Parameters:

Old parameter New parameter
--small_bfd_link --alphafold2_small_bfd_link
--mgnify_link --alphafold2_mgnify_link
--pdb_mmcif_link --alphafold2_pdb_mmcif_link
--uniref30_alphafold2_link --alphafold2_uniref30_link
--uniref90_link --alphafold2_uniref90_link
--pdb_seqres_link --alphafold2_pdb_seqres_link
--small_bfd_path --alphafold2_small_bfd_path
--mgnify_path_alphafold2 --alphafold2_mgnify_path
--pdb_mmcif_path --alphafold2_pdb_mmcif_path
--uniref30_alphafold2_path --alphafold2_uniref30_path
--uniref90_path --alphafold2_uniref90_path
--pdb_seqres_path --alphafold2_pdb_seqres_path
--uniprot_path --alphafold2_uniprot_path
--colabfold_server --use_msa_server
--host_url --msa_server_url

New Parameters:

  • AlphaFold3: --alphafold3_db, --alphafold3_small_bfd_*, --alphafold3_mgnify_*, --alphafold3_uniref90_*, --alphafold3_pdb_seqres_*, --alphafold3_uniprot_*, --alphafold3_pdb_mmcif_*, --alphafold3_params_path, --alphafold3_rnacentral_*, --alphafold3_nt_rna_*, --alphafold3_rfam_*
  • Boltz: --boltz_db, --boltz_model, --boltz_use_potentials, --boltz_use_kernels, --boltz_ccd_*, --boltz_model_*, --boltz2_aff_*, --boltz2_conf_*, --boltz2_mols_*
  • HelixFold3: --helixfold3_db, --helixfold3_precision, --helixfold3_infer_times, --helixfold3_max_template_date, and mode-specific database path/link parameters
  • RoseTTAFold-All-Atom: --rosettafold_all_atom_db, and mode-specific database path/link parameters
  • RoseTTAFold2NA: --rosettafold2na_db, and mode-specific database path/link parameters
  • Global: --db, --save_intermediates, --split_fasta, --alphafold2_full_dbs, --skip_visualisation, --skip_foldseek, --foldseek_easysearch_arg, --alphafold2_random_seed, --alphafold2_pdb_obsolete_path

Removed Parameters:

  • --max_memory, --max_cpus, --max_time

Improve version reporting and refactor inline scripts
Update utils_nfschema to fix help message with strict syntax
Move foldseek logic to post_processing
@@ -0,0 +1,7 @@
name: multifasta_to_csv
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this seems buggy

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

channels missing yes

Comment thread workflows/boltz.nf Outdated
.out
.pdb
.map { it ->
it[0].model = "boltz"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

claude says something like this, not sure how true though: Every other workflow uses def meta = it[0].clone() then sets meta.model = "...". Boltz does it correctly at line 77 but then
skips cloning at lines 141-172. The fix is straightforward — follow the same pattern:

.map { it ->
def meta = it[0].clone()
meta.model = "boltz"
[meta, it[1]]
}

Verdict: Real issue, easy fix, low practical risk in this case since all mutations set the same value, but should be fixed for
correctness and consistency.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, actually mutating meta in-place can be risky as it could cause side effects if the same meta object is used downstream by other channels. Good spot!

Comment thread conf/modules Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this empty file needed?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No

Comment thread subworkflows/local/post_processing.nf Outdated
ch_multiqc_files = ch_multiqc_files.mix(ch_methods_description.collectFile(name: 'methods_description_mqc.yaml'))
ch_multiqc_files = ch_multiqc_files.mix(ch_collated_versions)

ch_multiqc_rep
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this block can be removed

Comment thread main.nf Outdated

// WORKFLOW: Run Boltz
//
if (params.mode.toLowerCase().split(",").contains("boltz")) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (params.mode.toLowerCase().split(",").contains("boltz")) {
if (requested_modes.contains("boltz")) {

Comment on lines +52 to +54
ch_rnacentral = channel.value(file(rnacentral_active_seq_path))
ch_nt_rna = channel.value(file(nt_rna_2023_02_23_path))
ch_rfam = channel.value(file(rfam_path))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ch_rnacentral = channel.value(file(rnacentral_active_seq_path))
ch_nt_rna = channel.value(file(nt_rna_2023_02_23_path))
ch_rfam = channel.value(file(rfam_path))
ch_rnacentral = channel.value(file(rnacentral_active_seq_path), checkIfExists: true)
ch_nt_rna = channel.value(file(nt_rna_2023_02_23_path), checkIfExists: true)
ch_rfam = channel.value(file(rfam_path), checkIfExists: true)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are optionals, which is why they are not checked

Comment thread modules/local/run_boltz/Dockerfile Outdated

# The update to 2.2.1, was complaining about this missing dependencies
RUN pip install --no-cache-dir \
cuequivariance_ops_cu12==0.8.1\
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cuequivariance_ops_cu12==0.8.1\
cuequivariance_ops_cu12==0.8.1 \

just add space

Comment thread main.nf
params.colabfold_db,
params.colabfold_server,
params.use_msa_server,
params.colabfold_alphafold2_params_path,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it fine to not have these params defined in nextflow.config?
params: colabfold_alphafold2_params_link, colabfold_alphafold2_params_path, colabfold_alphafold2_params_tags, foldseek_db, foldseek_db_path,
alphafold2_params_prefix

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

colabfold_alphafold2_params_link, colabfold_alphafold2_params_path, colabfold_alphafold2_params_tags and alphafold2_params_prefix are modified in a function an otherwise, this can not be done (due to the resolution order). I have moved foldseek_db and foldseek_db_path to the nextflow.config (they were assigned to null in the db.config.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI - I refactored these colabfold params in #527 on the hackathon branch which should be much cleaner moving forward.

Comment thread nextflow_schema.json
},
"uniref30_prefix": {
"type": "string",
"default": "UniRef30_2023_02",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is null in nextflow.config

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is set in the db.config here

Copy link
Copy Markdown

@suzannejin suzannejin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hello @JoseEspinosa ,
Just gave some minor suggestions, otherwise the PR looks good to me :)

@JoseEspinosa JoseEspinosa merged commit 5338c24 into master Mar 27, 2026
86 of 97 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants