nf-core/variantbenchmarking
Pipeline to evaluate and validate the accuracy of variant calling methods in genomic research
Version history
What’s Changed
nf-core/variantbenchmarking 1.6.0 – Nominal Eco
Highlights
- New benchmarking method: Aardvark for small variants (
--method aardvark). Results are merged into the summary tables with TP/FP/FN, precision, recall, F1 and genotype-level FN/FP counts (#315) - Interactive reports: all summary plots (metrics, upset, length distributions) are now interactive HTML instead of static PNG (#325)
- New hap.py stratified HTML report, generated from stratified hap.py results (#326)
- New
--skip_reportsparameter: comma-separated list (datavzrd,happy) to turn off optional report generation (#356) - Concordance analysis can be limited to specific truth/query pairs, so you no longer have to run every pairwise comparison (#348)
- Visualising results in Depictio (#345)
Changed
- hap.py now runs in a container that also includes rtgtools (#327); the Singularity image is gzip-enabled (#334)
- Local
VCF_VARIANT_FILTERINGreplaced by the nf-core subworkflowVCF_FILTER_SURVIVOR_BCFTOOLS(#349) - Local tabix module replaced by the nf-core
htslib/bgziptabixmodule (#329) - BED files for small-variant analysis reorganised (#319)
- Pipeline template updated to nf-core/tools v4.2.1, via v4.0.0, v4.0.2, v4.0.3 and v4.1.0 (#304, #305, #317, #322, #355)
Fixed
- Liftover:
target_bedwas not passed through and is now included (#320) - Sample-ID conflicts when the same sample name occurs in several inputs (#336)
- Sample IDs in truth files produced by rtgtools are now set correctly (#337)
Performance
VCF_TO_CSVstreams records instead of keeping the whole VCF in memory, which lowers memory use on large VCFs (#331)- Upset plot generation optimised to avoid out-of-memory failures on large comparisons (#339)
Removed / deprecated
[!WARNING] These changes may require updating existing parameter files or downstream scripts.
- pre.py preprocessing deprecated(#316)
- Small-variant splitting subworkflow removed (#354)
- Plot outputs are now
.htmlinstead of.png; adjust any downstream scripts that look for PNG files (#325) - Concordance runs only the requested pairs rather than all combinations (#348)
CI / infrastructure
- Removed a vulnerable PR-comment artifact pattern (#318)
- fix-linting switched to the hardened
nf-core/actionsreusable workflow (#333) - New nf-diff PR check and baseline workflows to catch output changes between versions (#344); Nextflow version pinned and results posted via
pr-comment.yml(#346)
Software dependencies
| Dependency | Old version | New version |
|---|---|---|
| pigz | 2.8 | deprecated |
| nf-core | 3.5.1 | 4.1.0 |
| prettier | 3.6.2 | 3.8.3 |
| prepy | 0.3.15 | deprecated |
| r-base | 4.1.0 | deprecated |
| ga4gh-happy-report | - | 0.1.2 |
| rtg-tools (hap.py) | - | 3.13 |
| tabix | 1.21 | deprecated |
| htslib | - | 1.24 |
| xz | - | 5.8.3 |
| nf-schema | 2.5.1 | 2.7.3 |
| Nextflow | 25.04.0 | 25.10.4 |
| multiqc | 1.32 | 1.33 |
- New parameters:
skip_plots,skip_reports,high_conf,happy_comparison_engine - Depreciated parameters:
falsepositive_bed
Contributors
Thanks to @kubranarci, @georgiakes, @edogiuili, @mashehu, @adamrtalbot and @nf-core-bot.
New contributors: @mashehu (#318), @adamrtalbot (#331), @edogiuili (#345) – welcome!
Full changelog: https://github.com/nf-core/variantbenchmarking/compare/1.5.0...1.6.0
What’s Changed
- Replace local modules: SORT_BED, REFORMAT_HEADER, VARIANT_EXTRACTOR, bcftools, tabix, fix_vcf_prefix, create_datavzrd_input @georgiakes and @kubranarci https://github.com/nf-core/variantbenchmarking/pull/267, https://github.com/nf-core/variantbenchmarking/pull/268 https://github.com/nf-core/variantbenchmarking/pull/292 https://github.com/nf-core/variantbenchmarking/pull/287
- Strict syntax health, versions to topics channels - by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/272 https://github.com/nf-core/variantbenchmarking/pull/277
- Introducing a new subworkflow to generate truth vcf with an ensemble approach. Test VCFs are being merged and according to ensembl_truth rule (the minimum number of callers to agree) a new truth set is created. This apporach is especially important and needed for somatic benchmarks where truth is often missing. #276
- Updating metromap by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/281
- Issue # 256 bed sanity checking by @Qwertille42 in https://github.com/nf-core/variantbenchmarking/pull/290
- Remove unnecessary reheader module form benchmarking by @georgiakes in https://github.com/nf-core/variantbenchmarking/pull/286
- Adding tests to local modules by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/295
- Adding tests and meta.yml subworkflows by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/296
- Fixing bugs in bndeval outputs and ensemble analysis by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/297
- Fixing strelka processing by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/279
- Adding rtg cnveval as benchmark method for copynumber variants by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/298
New Dependencies
| Dependency | Old version | New version |
|---|---|---|
| rtgtools | 3.12.1 | 3.13 |
| bcftools | 1.2 | 1.22 |
| tabix | 1.19.1 | 1.21 |
| bcftools/stats | 1.18 | 1.22 |
| happy | 0.3.14 | 0.3.15 |
| bedops | 2.4.41 | 2.4.42 |
| picard | 3.2.0 | 3.4.0 |
| ucsc | 377 | 482 |
| datavzrd | 2.36.12 | 2.63.3 |
| truvari | 5.3.0 | 5.4.0 |
| gawk | - | 5.3.0 |
| coreutils | - | 9.5 |
New Contributors
- @Qwertille42 made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/290
Full Changelog: https://github.com/nf-core/variantbenchmarking/compare/1.4.0...1.5.0
What’s Changed
- Pipeline Release 1.4.0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/253
New functions
- Adding concordance analysis for query samples by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/237
- 239 add happy sompy and truvari in multiqc report by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/249
- reformat of plot_svlen by @VictorDidier in https://github.com/nf-core/variantbenchmarking/pull/250
- add nf-co2footprint by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/228
- 162 use svtk standardize to standardize svs by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/218
- Add hirse promo badge by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/217
Tool updates
- Update multiqc by @georgiakes in https://github.com/nf-core/variantbenchmarking/pull/241
- update svync by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/219
- 212 update truvari tools to latest by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/215
Template updates
- nf-core/tools v3.4.1 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/235
- nf-core/tools v3.5.1 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/252
Fixes
- solve bug caused with nf-schema by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/234
- Fix-multisample-processing by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/251
- 229 fn altref is missing in summarycomparisons by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/230
- Change conda channel for matplotlib by @georgiakes in https://github.com/nf-core/variantbenchmarking/pull/243
- 220 standardize headers by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/221
- stabilize test files in sarek by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/214
New Contributors
- @georgiakes made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/241
- @VictorDidier made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/250
Full Changelog: https://github.com/nf-core/variantbenchmarking/compare/1.3.0...1.4.0
What’s Changed
- adding a tests profile to show ga4gh running params by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/189
- Important! Template update for nf-core/tools v3.2.1 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/193
- intersection cannot handle both vcf and bed inputs by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/192
- sompy features table can be used for metrics comparisons by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/194
- Add rtgtools bndeval for BND type benchmarking by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/195
- supply happy comparisons table by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/197
- Add precision vs recall plots by @AtaJadidAhari in https://github.com/nf-core/variantbenchmarking/pull/198
- Important! Template update for nf-core/tools v3.3.1 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/200
- Make-tests-more-realistic by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/204
- Important! Template update for nf-core/tools v3.3.2 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/205
- prepare-release-1-3-0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/207
- change container in pybedtools by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/210
- Pipeline release 1.3.0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/206
New Contributors
- @AtaJadidAhari made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/198
Full Changelog: https://github.com/nf-core/variantbenchmarking/compare/1.2.0...1.3.0
What’s Changed
- 159 custom bed files by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/167
- Json schema improvements by @nvnieuwk in https://github.com/nf-core/variantbenchmarking/pull/168
- logo cleanup by @kbestak in https://github.com/nf-core/variantbenchmarking/pull/171
- modify bcftools_reheader to local by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/170
- Prepare minor version 1.2.0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/172
- add changelog by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/175
- Apply reviewer commands 1 2 0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/176
- Minor release 1.2.0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/173
New Contributors
- @kbestak made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/171
Full Changelog: https://github.com/nf-core/variantbenchmarking/compare/1.1.0...1.2.0
What’s Changed
- typo in README.md by @Jessime in https://github.com/nf-core/variantbenchmarking/pull/157
- add zenado id by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/158
- implement rtgtools for somatic small bench by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/160
- 161 cnv benchmark subworkflow by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/163
- apply luisas review by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/165
- fix download_pipeline.yml by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/166
- Minor release: 1.1.0 with CNV benchmark subworkflow by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/164
New Contributors
- @Jessime made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/157
Full Changelog: https://github.com/nf-core/variantbenchmarking/compare/1.0.0...1.1.0
First release! by @kubranarci
What’s Changed
- pin nf-validation version by @nvnieuwk in https://github.com/nf-core/variantbenchmarking/pull/6
- wittyer added by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/24
- sv + small analysis implemented by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/30
- sv benchmark params are exposed by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/34
- Important! Template update for nf-core/tools v2.14.1 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/37
- 35 add a script to merge benchmarking results by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/40
- 41 somatic benchmarking by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/43
- 16 add survivor merge by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/47
- wittyer fixed by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/51
- plot script fixed by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/53
- rtgtools fix by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/56
- 58 test variant extractor for svs by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/60
- svync input channel is fixed by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/61
- 57 fix prepy + rtgtools eval comb by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/63
- 46 add sv benchmarking for somatic by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/70
- Updating the JSON schemas by @nvnieuwk in https://github.com/nf-core/variantbenchmarking/pull/73
- 71 add support for multi sample files by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/75
- 44 add aws full test by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/76
- 77 add liftover option for truths by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/78
- metromap file updated updated by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/87
- 52 use datavzrd to create reports that are usable with ncbench by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/99
- 113 enable liftover option for test vcfs by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/115
- Important! Template update for nf-core/tools v3.2.0 by @nf-core-bot in https://github.com/nf-core/variantbenchmarking/pull/137
- adding full size aws tests by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/142
- 95 release v100 requirements by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/147
- changes requested by Nicolas by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/151
- Release pipeline v1.0.0 by @kubranarci in https://github.com/nf-core/variantbenchmarking/pull/148
New Contributors
- @maxulysse made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/2
- @nvnieuwk made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/6
- @nf-core-bot made their first contribution in https://github.com/nf-core/variantbenchmarking/pull/3
Full Changelog: https://github.com/nf-core/variantbenchmarking/commits/v1.0.0