nf-core/epitopeprediction
A bioinformatics best-practice analysis pipeline for epitope prediction and annotation
Version history
Added
- #362 Optional
germline_vcfsamplesheet 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 pVACtoolsgenerate_protein_fasta. New params--ref_fasta,--vep_cache,--vep_species,--vep_genome,--vep_cache_version,--mutation_flanking_aasand--vep_download_cache, plus an optionaltumor_samplesamplesheet column. VCFs without aGTfield (Strelka) are accepted, with the tumour genotype filled in bybcftools +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_cachealso accepts a.tar.gz, which lets thetestprofile run the variant path on a 15 MB GRCh38 chr4+chr19 cache subset (@axelwalter) - #362
test_grcm39profile: 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/HPphasing), 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_rankto prefer BA_Rank as rank metric in output of netmhc predictions (@jonasscheid) - #341 Added
<species>-allalleles (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.mdfrom the nf-core pipeline template (@jonasscheid) - #372
--wild_typepredicts the wild-type counterparts of variant peptides (@jonasscheid)
Fixed
- #372 Fixed
--wide_format_outputdropping scores of peptides with missing metadata (@jonasscheid) - #364 Fixed inverted
--proteome_referenceself-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*bnow maps toH-2-IAb(andH2-EA*d/EB*dtoH-2-IEd) instead of the invalidH-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_CATwithFIND_CONCATENATEto fix output filename collisions (@jonasscheid). - Bump nf-core modules and subworkflows to latest (@jonasscheid).
- #361 Bump
nf-schemaplugin 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/versionduring 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_systemand support for the macOS NetMHCpan and NetMHCIIpan tarballs, only the Linux tarballs are supported (@jonasscheid).
3.1.0 - Lustnau - 2025-11-19
Added
- #304 Added
--binder_onlyparameter 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
bindercolumn 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_RESULTSmodule and MultiQC plots. BREAKING output structure change from<outdir>/predictions/<meta.id>/<meta.id>.tsvto<outdir>/predictions/<meta.id>.tsv - #270 Added option
--wide_format_outputto 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
netmhcpanmodule. Removed legacy netmhc tools. Only the latest netmhcpan and netmhciipan versions will be supported (netmhcpan-4.1b, netmhciipan-4.3e) - #252 - Implemented
netmhciipanmodule - #253 - Implemented
mhcflurrymodule - #259 - Implemented
mhcnuggetsandmhcnuggetsiimodule - #260, #270 - Major refactoring to new, modular MHC binding subworkflow (see Meta-Issue #205). Removed legacy predictor
syfpeithi. Predictors that can be specified via--toolsare:mhcflurry,mhcnuggets(default),mhcnuggetsii,netmhcpan,netmhciipan. Changed--min_peptide_lengthandmax_peptide_lengthtomin_peptide_length_classIand--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
- #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 paramgenome_versiontogenome_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
GSvarand varianttsvinput files
Fixed
- #196 - Revert versions changes that caused bug with external tools predictions missing.
Added
- #180 - Add support for
VEPannotated VCF files #172 - #186 - Log messages from
epaa.pyscript to stdout and providesys.exiterror 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
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
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.