diff --git a/docs/usage.md b/docs/usage.md index 3f5a9d3..66e28a2 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -38,8 +38,9 @@ You can specify your truth data using the following parameters: - `--truth_vcf`: The path to the gold standard truth VCF file. This file contains the validated variants that your test sets will be evaluated against. - `--truth_id`: The sample name exactly as it appears inside the truth VCF header. This is a critical parameter because tools like RTG Tools and VCF subtraction steps require the exact sample ID to correctly parse the genotypes. -- `--regions_bed`: A BED file defining the high confidence regions of the genome such as the Genome in a Bottle confident regions. The benchmarking tools will restrict their evaluation to only the variants that fall within these defined coordinates. This ensures that complex or unmappable regions do not artificially skew your performance metrics. -- `--targets_bed`: The path to the BED file containing your assay target regions. When you provide this file the pipeline will automatically intersect it with your truth confident regions (provided via the regions bed parameter). This creates a final specific evaluation area that ensures you are only benchmarking variants within your actual sequencing target space. +- `--falsepositive_bed`: A BED file defining the high-confidence regions of the genome (e.g., Genome in a Bottle confident beds). Called variants NOT in `truth_vcf` but WITHIN `falsepositive_bed` will be counted as FP. +- `--regions_bed`: A BED file for restricting analysis in specific regions of interest. The benchmarking tools will restrict their evaluation to only the variants that fall within these defined coordinates. +- `--targets_bed`: Use that param only if you want to pass the regions of interest through the [-T argument](https://github.com/Illumina/hap.py/blob/master/doc/happy.md#restricting-to-subsets-of-the-genome) for `sompy` and `happy`. This is primarily used for dense regions of interest, such as exome data. The same file will be passed to `vcfeval` using its `--bed-regions` argument. ## Stratification Files diff --git a/modules.json b/modules.json index 5148431..d0c1f1b 100644 --- a/modules.json +++ b/modules.json @@ -82,7 +82,7 @@ }, "happy/happy": { "branch": "master", - "git_sha": "4020dbe4bb4a7d71be85bf8f77dbdf6c06fa401f", + "git_sha": "59697ca2f109700926f11a1718efcb3ce5b99ed4", "installed_by": ["modules"] }, "happy/prepy": { diff --git a/modules/nf-core/happy/happy/main.nf b/modules/nf-core/happy/happy/main.nf index d3e70c9..71f4641 100644 --- a/modules/nf-core/happy/happy/main.nf +++ b/modules/nf-core/happy/happy/main.nf @@ -4,9 +4,9 @@ process HAPPY_HAPPY { // WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions. conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/hap.py:0.3.15--py27hcb73b3d_0': - 'biocontainers/hap.py:0.3.15--py27hcb73b3d_0' }" + 'quay.io/biocontainers/hap.py:0.3.15--py27hcb73b3d_0' }" input: tuple val(meta), path(query_vcf), path(truth_vcf), path(regions_bed), path(targets_bed) @@ -36,7 +36,7 @@ process HAPPY_HAPPY { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def regions = regions_bed ? "-f ${regions_bed}" : "" + def regions = regions_bed ? "-R ${regions_bed}" : "" def targets = targets_bed ? "-T ${targets_bed}" : "" def false_positives = false_positives_bed ? "--false-positives ${false_positives_bed}" : "" def stratification = stratification_tsv && stratification_beds ? "--stratification ${stratification_tsv}" : "" diff --git a/modules/nf-core/happy/happy/meta.yml b/modules/nf-core/happy/happy/meta.yml index 1fb7e4f..4bc3546 100644 --- a/modules/nf-core/happy/happy/meta.yml +++ b/modules/nf-core/happy/happy/meta.yml @@ -12,7 +12,7 @@ tools: - "happy": description: "Haplotype VCF comparison tools" homepage: "https://www.illumina.com/products/by-type/informatics-products/basespace-sequence-hub/apps/hap-py-benchmarking.html" - documentation: "https://github.com/Illumina/hap.py" + documentation: "https://github.com/Illumina/hap.py/blob/master/doc/happy.md" tool_dev_url: "https://github.com/Illumina/hap.py" licence: ["BSD-2-clause"] identifier: biotools:happy diff --git a/modules/nf-core/happy/happy/tests/main.nf.test.snap b/modules/nf-core/happy/happy/tests/main.nf.test.snap index b9e9807..e21dcb4 100644 --- a/modules/nf-core/happy/happy/tests/main.nf.test.snap +++ b/modules/nf-core/happy/happy/tests/main.nf.test.snap @@ -6,7 +6,7 @@ { "id": "test" }, - "test.summary.csv:md5,8a302b92d08de8d68509e3adc4bb9d4d" + "test.summary.csv:md5,9365186b70c0bfb71630ba16d7b5089b" ] ], [ @@ -14,7 +14,7 @@ { "id": "test" }, - "test.extended.csv:md5,3435c0b5d2adec043e72de9cf86deba0" + "test.extended.csv:md5,494f93d3a2f5ea5af9debece4b0e4055" ] ], [ @@ -22,7 +22,7 @@ { "id": "test" }, - "test.roc.all.csv.gz:md5,6d05ef088fb31469f17c379603c00a25" + "test.roc.all.csv.gz:md5,e293f78fb6b7a1ef5fdfa95c2fbc371a" ] ], [ @@ -30,7 +30,7 @@ { "id": "test" }, - "test.roc.Locations.INDEL.csv.gz:md5,4e670c9fd9e27ef3b2fff7cb1064ef22" + "test.roc.Locations.INDEL.csv.gz:md5,e7035c81472ea713ebdaa4c7f6fbc43b" ] ], [ @@ -38,7 +38,7 @@ { "id": "test" }, - "test.roc.Locations.SNP.csv.gz:md5,c6d6e8b69864927767b755309eca3b58" + "test.roc.Locations.SNP.csv.gz:md5,c3e63e548b9937192b19841a10f1f199" ] ], [ @@ -46,7 +46,7 @@ { "id": "test" }, - "test.roc.Locations.INDEL.PASS.csv.gz:md5,b2e30f99571d167a938ce0c35d6e9202" + "test.roc.Locations.INDEL.PASS.csv.gz:md5,c7b59f00a40bc2ce1b8d8e0c04caa7a8" ] ], [ @@ -54,7 +54,7 @@ { "id": "test" }, - "test.roc.Locations.SNP.PASS.csv.gz:md5,1a74e0cfe988b7278adb49c1058d1b9b" + "test.roc.Locations.SNP.PASS.csv.gz:md5,a2f8cccb01841be15163671b1d356962" ] ], { @@ -70,11 +70,11 @@ "test.runinfo.json", "test.vcf.gz.tbi" ], + "timestamp": "2026-06-24T22:32:39.182283345", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.04.3" - }, - "timestamp": "2026-02-16T14:26:30.534369929" + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } }, "homo_sapiens illumina vcf stub": { "content": [ @@ -271,11 +271,11 @@ ] } ], + "timestamp": "2026-02-16T14:27:10.75587173", "meta": { "nf-test": "0.9.3", "nextflow": "25.04.3" - }, - "timestamp": "2026-02-16T14:27:10.75587173" + } }, "homo_sapiens illumina vcf false_positives": { "content": [ @@ -348,11 +348,11 @@ "test.runinfo.json", "test.vcf.gz.tbi" ], + "timestamp": "2026-02-16T16:06:21.194119754", "meta": { "nf-test": "0.9.3", "nextflow": "25.04.3" - }, - "timestamp": "2026-02-16T16:06:21.194119754" + } }, "homo_sapiens illumina vcf nobed": { "content": [ @@ -425,11 +425,11 @@ "test.runinfo.json", "test.vcf.gz.tbi" ], + "timestamp": "2026-02-16T14:26:54.196865294", "meta": { "nf-test": "0.9.3", "nextflow": "25.04.3" - }, - "timestamp": "2026-02-16T14:26:54.196865294" + } }, "homo_sapiens illumina vcf stratification": { "content": [ @@ -502,10 +502,10 @@ "test.runinfo.json", "test.vcf.gz.tbi" ], + "timestamp": "2026-02-16T16:53:10.562786358", "meta": { "nf-test": "0.9.3", "nextflow": "25.04.3" - }, - "timestamp": "2026-02-16T16:53:10.562786358" + } } } \ No newline at end of file diff --git a/nextflow_schema.json b/nextflow_schema.json index ba55064..e101d00 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -78,7 +78,7 @@ "format": "file-path", "exists": true, "pattern": "^\\S+\\.(bed)?(\\.gz)?$", - "description": "Path to false positive BED. Only applicable to happy and sompy tool.", + "description": "Path to false positive / confident call regions BED. Only applicable for happy and sompy.", "help_text": "Falsepositive BED files", "fa_icon": "fas fa-file-csv" },