Version history

Added

  • #362 Optional germline_vcf samplesheet column: the patient’s germline calls are folded into the neoepitope windows as context, so wild-type and mutant sequences are the patient’s own rather than the reference. Germline records are never scanned for candidates (@axelwalter)
  • #362 Replaced the epytope/BioMart variant path with an offline chain of bcftools, Ensembl VEP and pVACtools generate_protein_fasta. New params --ref_fasta, --vep_cache, --vep_species, --vep_genome, --vep_cache_version, --mutation_flanking_aas and --vep_download_cache, plus an optional tumor_sample samplesheet column. VCFs without a GT field (Strelka) are accepted, with the tumour genotype filled in by bcftools +setGT, following the approach proposed and tested in #373 (@axelwalter, @Ngarciar24)
  • #362 Variant peptides are restricted to k-mers overlapping the mutation, cut per peptide length as in pvacseq run, and carry provenance (gene, transcript, consequence, HGVSp, genomic anchor, UniProt). Frameshifts now extend to the new stop codon instead of being truncated at the original protein length (@axelwalter)
  • #362 --vep_cache also accepts a .tar.gz, which lets the test profile run the variant path on a 15 MB GRCh38 chr4+chr19 cache subset (@axelwalter)
  • #362 test_grcm39 profile: the variant path on a 4 MB mouse GRCm39 chr15/18/19 fixture (@axelwalter)
  • #362 Nearby somatic missense variants on the same transcript are also combined into one mutant sequence (assumed in cis unless the VCF carries FORMAT/HP phasing), so multi-variant peptides are generated alongside the single-variant ones (@axelwalter)
  • #362 Kept --proteome_reference: variant peptides found in the given reference proteome are dropped before prediction (@axelwalter)
  • #333 Added metro map to README
  • #327 Added optional parameter use_ba_rank to prefer BA_Rank as rank metric in output of netmhc predictions (@jonasscheid)
  • #341 Added <species>-all alleles (e.g. HLA-all) and allele chunking, download MHCflurry models once per run (fixes #340) (@jonasscheid)
  • #338 Added MixMHCpred (Class I) and MixMHCIIpred (Class II) binding predictors, built on the fly with Wave and gated by --accept_mixmhcpred_license (@jonasscheid)
  • #377 Added AGENTS.md from the nf-core pipeline template (@jonasscheid)
  • #372 --wild_type predicts the wild-type counterparts of variant peptides (@jonasscheid)

Fixed

  • #372 Fixed --wide_format_output dropping scores of peptides with missing metadata (@jonasscheid)
  • #364 Fixed inverted --proteome_reference self-filtering that retained self-epitopes instead of removing them (fixes #363) (@jonasscheid)
  • #368, #341 Fixed NetMHCpan and NetMHCIIpan crashing with a buffer overflow when run from a long working directory (@jonasscheid)
  • #359 Fixed shuffled NetMHCpan/NetMHCIIpan allele labels by reading allele names from the xls header (fixes #358) (@jonasscheid)
  • #352 Accept 3- and 4-field HLA typings by truncating to 2 fields via mhcgnomes (fixes #350) (@jonasscheid)
  • Fixed NetMHCIIpan mouse class II allele conversion: H2-AA*b/AB*b now maps to H-2-IAb (and H2-EA*d/EB*d to H-2-IEd) instead of the invalid H-2-AAb-ABb (@jonasscheid)
  • #349 Fixed MultiQC stats mismatch: use per-peptide binder counts, fix unsupported count formula, fix netmhcpan multi-allele column parsing (@jonasscheid)
  • #331 Fixed Nextflow strict syntax lint errors (@jonasscheid)
  • #348 Bumped Python container from 3.11 to 3.14 in SPLIT_PEPTIDES (@jonasscheid)

Dependencies

Dependency Old version New version
bcftools 1.21 1.23.1
multiqc 1.31 1.35
python 3.11.0 3.14.3
nf-core 3.4.1 4.1.0
NetMHCIIpan 4.3e 4.3
MixMHCpred 3.0
MixMHC2pred 2.0.2
ensembl-vep 116.1
pvactools 7.0.1
epytope 3.3.1
snpsift 4.3.1t

Parameters

Old parameter New parameter
--accept_mixmhcpred_license
--fasta_peptide_flanking_region_size --mutation_flanking_aas
--ref_fasta
--use_ba_rank
--vep_cache
--vep_cache_version
--vep_download_cache
--vep_genome
--vep_species
--fasta_output
--genome_reference
--hook_url
--netmhc_system
--split_by_variants
--split_by_variants_distance
--split_by_variants_size

Changed

  • #336 Added NetMHCpan 4.2 mode config file instructions to the nf-core usage documentation. (@Kabooni).
  • #346 Replace CAT_CAT with FIND_CONCATENATE to fix output filename collisions (@jonasscheid).
  • Bump nf-core modules and subworkflows to latest (@jonasscheid).
  • #361 Bump nf-schema plugin to 2.7.2 (@jonasscheid).
  • #365 Merge nf-core template updates up to 4.0.3 (@jonasscheid).
  • #371 Merge nf-core template updates up to 4.1.0 (@jonasscheid).
  • #379 Check the NetMHCpan and NetMHCIIpan version from the tarball’s data/version during pipeline initialisation instead of md5 checksums, so any sub-release of NetMHCpan 4.2 and NetMHCIIpan 4.3 is accepted (fixes #378) (@jonasscheid).

Removed

  • #362 Removed epytope/BioMart variant annotation (epaa.py, EPYTOPE_VARIANT_PREDICTION, VARIANT_SPLIT) and params --genome_reference, --fasta_output, --split_by_variants*. Variant input is now raw somatic VCF (VEP is run in-pipeline) (@axelwalter)
  • #379 Removed --netmhc_system and support for the macOS NetMHCpan and NetMHCIIpan tarballs, only the Linux tarballs are supported (@jonasscheid).

Fixed

  • #369 - Fixed wrong allele annotations in netmhcpan and netmhciipan results by reading allele labels from the prediction output header (#358), and accept any known sub-release of a supported NetMHC version (netmhciipan now also takes 4.3b and 4.3i next to 4.3e).

3.1.0 - Lustnau - 2025-11-19

Added

  • #304 Added --binder_only parameter to filter out non-binding peptides from the final results
  • #306 Added nf-co2footprint plugin

Fixed

  • #290 Fixed an issue where the wide format output binder column was filled falsely
  • #292 Fixed an issue with duplicated peptides in wide format output
  • #302 Fixed an issue with duplicated peptides in wide format output where metadata columns were sometimes interpreteda str or int

Dependencies

Dependency Old version New version
MultiQC 1.29.0 1.31.0
nf-core 3.2.1 3.4.1
bcftools 1.20 1.21

Changed

  • #296 Major rework of Fasta output: new header structure, full wildtype sequences, mutated peptides trimmed around mutation site in a flanking region of defined size and support for overlapping mutations.
  • #310 Drop conda support temporarily until conda lock file support is implemented

PR checklist

Added

  • #275 - Added bcftools/stats to add MultiQC plots for variant input

Added

  • #279 - Add SUMMARIZE_RESULTS module and MultiQC plots. BREAKING output structure change from<outdir>/predictions/<meta.id>/<meta.id>.tsv to <outdir>/predictions/<meta.id>.tsv
  • #270 Added option --wide_format_output to provide wide format output with additional information instead of long format (default)

Changed

  • #247 - Update to nf-core template 3.0.2
  • #255 - Update to nf-core template 3.1.2
  • #250 - Implemented netmhcpan module. Removed legacy netmhc tools. Only the latest netmhcpan and netmhciipan versions will be supported (netmhcpan-4.1b, netmhciipan-4.3e)
  • #252 - Implemented netmhciipan module
  • #253 - Implemented mhcflurry module
  • #259 - Implemented mhcnuggets and mhcnuggetsii module
  • #260, #270 - Major refactoring to new, modular MHC binding subworkflow (see Meta-Issue #205). Removed legacy predictor syfpeithi. Predictors that can be specified via --tools are: mhcflurry,mhcnuggets(default),mhcnuggetsii,netmhcpan,netmhciipan. Changed --min_peptide_length and max_peptide_length to min_peptide_length_classI and --max_peptide_length_classI.
  • #263 - Rearrange supported alleles per predictor
  • #266, #268 - Refactor variant prediction with epytope
  • #282 - Update to nf-core template 3.2.1

Fixed

  • #278 - Fixed an issue where relative paths were not properly staged

Changed

  • #237 - Update to nf-core template 2.13.1
  • #243 - Update to nf-core template 2.14.1

Fixed

  • #243 - Add check for protein map to prevent failure if no information is available

Changed

  • #233 - Update to nf-core template 2.13
  • #228 - Update to nf-core template 2.12
  • #227 - Prevent crash if no transcript is found (in splitted vcf)
  • #220 - Switch to nf-validation to parse samplesheet
  • #213 - Update epytope and Ensembl reference handling and update to nf-core template 2.10
  • #206 - Update the row checker class.
  • #203 - Update to nf-core template 2.9, rename param genome_version to genome_reference, add functionality to handle BioMart archive urls

Fixed

  • #219 - Fix `EXTERNAL_TOOLS_IMPORT`` container registry and bump version
  • #227 - Prevent crash if no transcript is found (in splitted vcf)

Removed

  • #221 - Remove support of GSvar and variant tsv input files

Fixed

  • #196 - Revert versions changes that caused bug with external tools predictions missing.

Added

  • #180 - Add support for VEP annotated VCF files #172
  • #186 - Log messages from epaa.py script to stdout and provide sys.exit error messages.

Changed

  • #177 - Update to nf-core template 2.5.1
  • #178 - Update MultiQC to 1.13
  • #180 - Update to nf-core template 2.6
  • #180 - Improve runtime for VCF-based predictions
  • #187 - Update to nf-core template 2.7.1
  • #189 - Update to nf-core template 2.7.2

Fixed

  • #180 - Fix issue with frameshift determination
  • #194 - Fix software versions collection and add script licenses

Added

#145 - Add functionality for handling gzip VCF files for #143 #166 - Add support for additional non-free NetMHC family tools #161 - Add rank values for prediction threshold and parameter use_affinity_thresholds to use affinity thresholds instead #160

Changed

#162 - Use most recent epytope release (3.1.0) #168 - Use MHC class information specified in sample sheet

Fixed

#135 - Fix unique variant annotation field handling #136 #144 - Fix VCF file parsing #142

See CHANGELOG for more information.

Added

#73 - Add support for the non-free NetMHC tool family #83 - Add option for threshold customization #101 - Add local modules for DSL2 conversion

Changed

#107 - Merge previous template updates up to v2.1 #110, #113 - Port pipeline to Nextflow DSL2 syntax #114 - Update python 2.7 to python 3.8.9 in split_peptides.nf and merge_json.nf. #117 - Bump minimal NXF version to 21.10.4 #121 - Extend full test to cover more test cases #122 - Update to nf-core template v2.2 #123 - Remove support for outdated external tools

Fixed

#125, #126 - Fix AWS test

See CHANGELOG for more information.

Added

#57 - Add option (–fasta_output) to write out FASTA file with protein sequences #44 - Add parameter (–show_supported_models) to write out supported models in files #44 - Add check if requested models for specified tools are supported by FRED2 #42 - Add support for FASTA files with protein sequences as input (–input) #31 - Add support for mouse alleles #30 - Add parameter (–mem_mode) to change between different memory modes #29 - Add parallelisation for peptide input

Changed

#59 - Parse and store metadata dynamically for variant data #50 - Change parameter to specify the genome version to –genome_version ( –genome deprecated) #47 - Update FRED2 to version 2.0.7

Fixed

#56 - Fix result output for more than one prediction method #55 #53 - Fix score and affinity output of MHCnuggets and MHCflurry #32 #52 - Fix MHCflurry permission problem when run with docker profile #51

See CHANGELOG for more information.

nf-core/epitopeprediction V 1.0.0 - “Purple Nickel Shrimp”

Initial release of nf-core/epitopeprediction, created with the nf-core template.