8000 Release 3.0.0 by jonasscheid · Pull Request #277 · nf-core/epitopeprediction · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Release 3.0.0 #277

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 191 commits into from
May 9, 2025
Merged

Release 3.0.0 #277

merged 191 commits into from
May 9, 2025

Conversation

jonasscheid
Copy link
Collaborator
@jonasscheid jonasscheid commented Apr 4, 2025

Major release: Comprehensive restructure of pipeline #205

Most important changes:

  • (Temporarily) Removed legacy predictor syfpeithi
  • Removed support for legacy netmhc predictor versions. Only the newest versions are supported (netmhcpan-4.1b, netmhciipan-4.3e) - also recommended by developers
  • Supported tools via --tools are: mhcflurry(default),mhcnuggets,mhcnuggetsii,netmhcpan,netmhciipan
  • Refactored and modularized binding prediction functionality of epaa.py into a subworkflow MHC_BINDING_PREDICTION, which allows simple addition of future predictors
  • Parsing allele nomenclature is handled by mhcgnomes and supported alleles for each predictor are stored in assets/supported_alleles.json
  • Comprehensive refactor of epaa.py and EPYTOPE_PREDICTION_VAR to only be used with variants. Output: tsv of peptides from variants. Use --fasta_output to generate additional variant-based protein fasta file
  • Optimized Fasta processing (new module FASTA2PEPTIDES)
  • Removed a lot of (redundant) channel manipulations
  • Result files are still in long format, but can be optionally collapsed into wide format using --wide_format_output
  • Added comprehensive QC plots in MultiQC report
  • BREAKING output structure change from <outdir>/predictions/<meta.id>/<meta.id>.tsv to <outdir>/predictions/<meta.id>.tsv
  • Major overhaul of README.md, output.md and usage.md

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/epitopeprediction branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

alina-bauer and others added 30 commits August 29, 2023 15:36
…ation of mhc binding for peptides without functionality, runs through with stub
New structure of mhc binding subworkflow
Fix stub run in mhc binding subworkflow with new template
…. Breaks the current main workflow structure, which needs to be adjust in future PRs
Add initial draft of netmhciipan module
jonasscheid and others added 3 commits April 30, 2025 13:16
… ci tests. mhcflurry fetches models from server, and if multiple tests spawn in parallel, the server doesn't respond anymore
@jonasscheid
Copy link
Collaborator Author
jonasscheid commented May 2, 2025

I cannot fix the CI tests for nf-core download on pull_request_target, since that test is running on the current main branch. Not sure if nf-core downloads existed when the last release was done. In any case, the dev nf-core download test works with pull_request passing.

Edit: Discussion here: https://nfcore.slack.com/archives/C04QR0T3G3H/p1745924266198209
TL;DR: pull_request_target got removed from upcoming nf-core template. I think we can ignore the error

Copy link
@kubranarci kubranarci left a comment

Choose a reason for hiding this comment

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

Big portion of the changes are coming from template changes and giving a new structuring to the local modules. I have small commends. It seems good to go to me.

Copy link
Member

Choose a reason for hiding this comment

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

What is this HUGE file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

These are all the supported mhc alleles of all mhc binding predictors (netmhc(ii)pan, mhcflurry, mhcnuggets(ii)). Unfortunately, non of the tools provide sufficient tooling such that I could check their supported alleles. This file is loaded in the prepare_prediction_input.nf. To filter out non-supported mhc alleles that the user provided.

Copy link
Member

Choose a reason for hiding this comment

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

is this specific to a genome in particular?

Copy link
Collaborator Author
@jonasscheid jonasscheid May 7, 2025

Choose a reason for hiding this comment

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

Yes. Every human has 6 HLA class I alleles (3 maternal, 3 paternal). Currently afaik over 1k HLA class I allele variants are known. For HLA class II alleles it is even more complex. That results in having such a big amount of HLA alleles in that file

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@jonasscheid jonasscheid mentioned this pull request May 6, 2025
11 tasks
Copy link
@kubranarci kubranarci left a comment

Choose a reason for hiding this comment

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

LGTM!

@jonasscheid
Copy link
Collaborator Author
jonasscheid commented May 6, 2025

Thank you already for the reviews @kubranarci @famosab @maxulysse! 🙏🏼 Not quite sure how to handle the new CodeQL failiing tests, since I included the ci.yml from the dev template. I started a discussion here: https://nfcore.slack.com/archives/CE5LG7WMB/p1746538936390669

Edit: TL;DR: We should ignore the failing tests.
Edit Edit: If I click “Dismiss alert” with “won’t fix” option, the CodeQL Code scanning result tests turn into being successfull

@jonasscheid
Copy link
Collaborator Author

Would be great to get approves from @famosab and @maxulysse until Friday 🙏🏼 Thank you again

Copy link
@famosab famosab left a comment

Choose a reason for hiding this comment

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

It looks good to me, just one comment for the next developments :)

Copy link

Choose a reason for hiding this comment

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

Its a nit pick but I would introduce a Dependencies section where you denote old and new software versions when modules are being updated :) maybe you can start this beginning with pipeline version 3.0.0

@jonasscheid jonasscheid merged commit 37c08f0 into master May 9, 2025
51 of 54 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.

7 participants
0