diff --git a/assets/samplesheet.csv b/assets/samplesheet.csv index 82842ce..410a602 100644 --- a/assets/samplesheet.csv +++ b/assets/samplesheet.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json +sample,fastmatch_category,mlst_alleles +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json diff --git a/assets/schema_input.json b/assets/schema_input.json index 1c141a0..3872a6d 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -25,6 +25,14 @@ "pattern": "^\\S+\\.mlst(\\.subtyping)?\\.json(\\.gz)?$", "errorMessage": "MLST JSON file from locidex report, cannot contain spaces and must have the extension: '.mlst.json', '.mlst.json.gz', '.mlst.subtyping.json', or 'mlst.subtyping.json.gz'" }, + "fastmatch_category": { + "type": "string", + "meta": ["ref_query"], + "errorMessage": "Has to be either query or reference", + "description": "Identify whether a sample is query or reference", + "fa_icon": "far fa-sticky-note", + "enum": ["query", "reference"] + }, "metadata_1": { "type": "string", "meta": ["metadata_1"], @@ -82,6 +90,6 @@ "pattern": "^[^\\n\\t\"]+$" } }, - "required": ["sample", "mlst_alleles"] + "required": ["sample","fastmatch_category", "mlst_alleles"] } } diff --git a/nextflow.config b/nextflow.config index af4f488..bf7ba44 100644 --- a/nextflow.config +++ b/nextflow.config @@ -44,7 +44,6 @@ params { validate_params = true // FastMatch - fastmatch_category = null threshold = 1 // Profile dists args diff --git a/nextflow_schema.json b/nextflow_schema.json index 251cffa..a7131b8 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -45,13 +45,6 @@ "description": "The column header names of the metadata columns.", "default": "", "properties": { - "fastmatch_category": { - "type": "string", - "errorMessage": "Has to be either query or reference", - "description": "Identify whether a sample is query or reference", - "fa_icon": "far fa-sticky-note", - "enum": ["query", "reference"] - }, "metadata_1_header": { "type": "string", "default": "metadata_1", @@ -109,8 +102,7 @@ "pattern": "^[^\\n\\t\"]+$" } }, - "fa_icon": "far fa-clipboard", - "required": ["fastmatch_category"] + "fa_icon": "far fa-clipboard" }, "fastmatch": { "title": "FastMatch", @@ -120,7 +112,7 @@ "properties": { "threshold": { "type": "integer", - "description": "The output format for distances", + "description": "Comparison score threshold value", "default": 1 } } diff --git a/tests/data/samplesheets/samplesheet-addsamplename.csv b/tests/data/samplesheets/samplesheet-addsamplename.csv index a1b785a..48cc046 100644 --- a/tests/data/samplesheets/samplesheet-addsamplename.csv +++ b/tests/data/samplesheets/samplesheet-addsamplename.csv @@ -1,4 +1,4 @@ -sample,sample_name,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,S 1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 -sample2,S2#,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 -sample3,S2_,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 +sample,fastmatch_category,sample_name,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,S 1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 +sample2,query,S2#,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 +sample3,reference,S2_,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 diff --git a/tests/data/samplesheets/samplesheet-hamming.csv b/tests/data/samplesheets/samplesheet-hamming.csv index d18a69c..0e03c71 100644 --- a/tests/data/samplesheets/samplesheet-hamming.csv +++ b/tests/data/samplesheets/samplesheet-hamming.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hamming/sample1.mlst.subtyping.json,,,,,,,, -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hamming/sample2.mlst.subtyping.json,,,,,,,, -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hamming/sample3.mlst.subtyping.json,,,,,,,, +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hamming/sample1.mlst.subtyping.json,,,,,,,, +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hamming/sample2.mlst.subtyping.json,,,,,,,, +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hamming/sample3.mlst.subtyping.json,,,,,,,, diff --git a/tests/data/samplesheets/samplesheet-hash-missing.csv b/tests/data/samplesheets/samplesheet-hash-missing.csv index 9355c3d..d06d53a 100644 --- a/tests/data/samplesheets/samplesheet-hash-missing.csv +++ b/tests/data/samplesheets/samplesheet-hash-missing.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample1.mlst.subtyping.json,,,,,,,, -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample2.mlst.subtyping.json,,,,,,,, -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample3.mlst.subtyping.json,,,,,,,, +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample1.mlst.subtyping.json,,,,,,,, +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample2.mlst.subtyping.json,,,,,,,, +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample3.mlst.subtyping.json,,,,,,,, diff --git a/tests/data/samplesheets/samplesheet-hash-more-missing.csv b/tests/data/samplesheets/samplesheet-hash-more-missing.csv index 4ee53c9..5c4a4b4 100644 --- a/tests/data/samplesheets/samplesheet-hash-more-missing.csv +++ b/tests/data/samplesheets/samplesheet-hash-more-missing.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample1.mlst.subtyping.json,,,,,,,, -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample2.mlst.subtyping.json,,,,,,,, -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample3-more-missing.mlst.subtyping.json,,,,,,,, +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample1.mlst.subtyping.json,,,,,,,, +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample2.mlst.subtyping.json,,,,,,,, +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/case-hash-missing/sample3-more-missing.mlst.subtyping.json,,,,,,,, diff --git a/tests/data/samplesheets/samplesheet-little-metadata.csv b/tests/data/samplesheets/samplesheet-little-metadata.csv index 3e721de..138469e 100644 --- a/tests/data/samplesheets/samplesheet-little-metadata.csv +++ b/tests/data/samplesheets/samplesheet-little-metadata.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,,,,1.4,,,, -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,,,,,,,, -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,,,,,,3.8 +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,,,,1.4,,,, +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,,,,,,,, +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,,,,,,3.8 diff --git a/tests/data/samplesheets/samplesheet-mismatched-ids.csv b/tests/data/samplesheets/samplesheet-mismatched-ids.csv index 632768d..ffef4ca 100644 --- a/tests/data/samplesheets/samplesheet-mismatched-ids.csv +++ b/tests/data/samplesheets/samplesheet-mismatched-ids.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sampleA,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 -sampleB,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 -sampleC,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sampleA,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 +sampleB,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 +sampleC,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 diff --git a/tests/data/samplesheets/samplesheet-no-metadata.csv b/tests/data/samplesheets/samplesheet-no-metadata.csv index 9d67864..f752374 100644 --- a/tests/data/samplesheets/samplesheet-no-metadata.csv +++ b/tests/data/samplesheets/samplesheet-no-metadata.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,,,,,,,, -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,,,,,,,, -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,,,,,,,, +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,,,,,,,, +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,,,,,,,, +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,,,,,,,, diff --git a/tests/data/samplesheets/samplesheet-partial-mismatched-ids.csv b/tests/data/samplesheets/samplesheet-partial-mismatched-ids.csv index d5d42f0..ab5abab 100644 --- a/tests/data/samplesheets/samplesheet-partial-mismatched-ids.csv +++ b/tests/data/samplesheets/samplesheet-partial-mismatched-ids.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sampleA,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 -sampleB,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sampleA,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 +sampleB,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 diff --git a/tests/data/samplesheets/samplesheet-tabs.csv b/tests/data/samplesheets/samplesheet-tabs.csv index 56b4243..b863db5 100644 --- a/tests/data/samplesheets/samplesheet-tabs.csv +++ b/tests/data/samplesheets/samplesheet-tabs.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,a b,,,,,,, -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,,,,a b,,,, -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,,,,,,,,a b +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,a b,,,,,,, +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,,,,a b,,,, +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,,,,,,,,a b diff --git a/tests/data/samplesheets/samplesheet1.csv b/tests/data/samplesheets/samplesheet1.csv index 3200344..55cbc2d 100644 --- a/tests/data/samplesheets/samplesheet1.csv +++ b/tests/data/samplesheets/samplesheet1.csv @@ -1,4 +1,4 @@ -sample,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 -sample1,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 -sample2,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 -sample3,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 +sample,fastmatch_category,mlst_alleles,metadata_1,metadata_2,metadata_3,metadata_4,metadata_5,metadata_6,metadata_7,metadata_8 +sample1,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample1.mlst.json,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8 +sample2,query,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample2.mlst.json,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8 +sample3,reference,https://raw.githubusercontent.com/phac-nml/gasclustering/dev/tests/data/reports/sample3.mlst.json,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8 diff --git a/tests/pipelines/main.nf.test b/tests/pipelines/main.nf.test index 14665d5..f960a2b 100644 --- a/tests/pipelines/main.nf.test +++ b/tests/pipelines/main.nf.test @@ -12,7 +12,6 @@ nextflow_pipeline { outdir = "results" pd_distm = "scaled" - gm_thresholds = "50,20,0" metadata_1_header = "myheader_1" metadata_2_header = "myheader_2" @@ -59,7 +58,6 @@ nextflow_pipeline { input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" outdir = "results" - gm_thresholds = "2,1,0" } } @@ -188,24 +186,6 @@ nextflow_pipeline { } } - test("Test fail pipeline if invalid delimiter set") { - tag "pipeline_failure_invalid_delimiter" - - when { - params { - input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" - outdir = "results" - - gm_delimiter = ';' - } - } - - then { - assert workflow.failed - assert workflow.stderr.contains('* --gm_delimiter: string [;] does not match pattern ^[A-Fa-f0-9\\._-]+$ (;)') - } - } - test("Full pipeline with no metadata") { tag "pipeline_no_metadata" diff --git a/tests/pipelines/main_gm_thresholds.nf.test b/tests/pipelines/main_gm_thresholds.nf.test index f72b365..aa90ecf 100644 --- a/tests/pipelines/main_gm_thresholds.nf.test +++ b/tests/pipelines/main_gm_thresholds.nf.test @@ -3,100 +3,6 @@ nextflow_pipeline { name "Integration Tests of adjusting gm_thresholds parameter for clustering" script "main.nf" - test("Test fail pipeline if null threshold set") { - tag "pipeline_failure_null_threshold" - - when { - params { - input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" - outdir = "results" - - gm_thresholds = null - } - } - - then { - assert workflow.failed - assert workflow.stdout.contains("ERROR ~ --gm_thresholds null: Cannot pass null or empty string") - } - } - - test("Test fail pipeline if empty threshold set") { - tag "pipeline_failure_no_threshold" - - when { - params { - input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" - outdir = "results" - - gm_thresholds = "" - } - } - - then { - assert workflow.failed - assert workflow.stdout.contains("ERROR ~ --gm_thresholds : Cannot pass null or empty string") - } - } - - test("Test fail pipeline if negative threshold set") { - tag "pipeline_failure_negative_threshold" - - when { - params { - input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" - outdir = "results" - - gm_thresholds = "-1" - } - } - - then { - assert workflow.failed - assert workflow.stderr.contains('* --gm_thresholds: string [-1] does not match pattern ^(\\d+(\\.\\d+)?,)*\\d+(\\.\\d+)?$ (-1)') - } - } - - test("Test fail pipeline if mismatch between thresholds and scaled distm") { - tag "pipeline_failure_threshold_scaled" - - when { - params { - input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" - outdir = "results" - - gm_thresholds = "200,50" - pd_distm = "scaled" - } - } - - then { - assert workflow.failed - assert workflow.stdout.contains("ERROR ~ '--pd_distm scaled' is set, but '--gm_thresholds 200,50' contains thresholds outside of range [0, 100]." - + " Please either set '--pd_distm hamming' or adjust the threshold values.") - } - } - - test("Test fail pipeline if mismatch between thresholds and hamming distm") { - tag "pipeline_failure_threshold_hamming" - - when { - params { - input = "$baseDir/tests/data/samplesheets/samplesheet-hamming.csv" - outdir = "results" - - gm_thresholds = "2,0.5" - pd_distm = "hamming" - } - } - - then { - assert workflow.failed - assert workflow.stdout.contains("ERROR ~ '--pd_distm hamming' is set, but '--gm_thresholds 2,0.5' contains fractions." - + " Please either set '--pd_distm scaled' or remove fractions from distance thresholds.") - } - } - test("Test pipeline with single threshold set to 0") { tag "pipeline_thresh_0" diff --git a/workflows/fastmatchirida.nf b/workflows/fastmatchirida.nf index 82c3a14..c9e7bff 100644 --- a/workflows/fastmatchirida.nf +++ b/workflows/fastmatchirida.nf @@ -127,22 +127,7 @@ workflow FASTMATCH { exit 1, "--pd_columns ${params.pd_columns}: Does not exist but was passed to the pipeline. Exiting now." } - if(params.gm_thresholds == null || params.gm_thresholds == ""){ - exit 1, "--gm_thresholds ${params.gm_thresholds}: Cannot pass null or empty string" - } - - gm_thresholds_list = params.gm_thresholds.toString().split(',') - if (params.pd_distm == 'hamming') { - if (gm_thresholds_list.any { it != null && it.contains('.') }) { - exit 1, ("'--pd_distm ${params.pd_distm}' is set, but '--gm_thresholds ${params.gm_thresholds}' contains fractions." - + " Please either set '--pd_distm scaled' or remove fractions from distance thresholds.") - } - } else if (params.pd_distm == 'scaled') { - if (gm_thresholds_list.any { it != null && (it as Float < 0.0 || it as Float > 100.0) }) { - exit 1, ("'--pd_distm ${params.pd_distm}' is set, but '--gm_thresholds ${params.gm_thresholds}' contains thresholds outside of range [0, 100]." - + " Please either set '--pd_distm hamming' or adjust the threshold values.") - } - } else { + if ((params.pd_distm != 'hamming') & (params.pd_distm != 'scaled')) { exit 1, "'--pd_distm ${params.pd_distm}' is an invalid value. Please set to either 'hamming' or 'scaled'." }