From 1cd93d077bb873ec0da4b27771c11801711c954f Mon Sep 17 00:00:00 2001 From: AmstlerStephan Date: Thu, 20 Jun 2024 13:07:35 +0200 Subject: [PATCH] add parser of mutserve output - adapt column names - filter for params.min_variant_level - Reduce number of columns (Sample, Pos, Reference, Variant, Variant-level) --- lib/processes/mutserve.nf | 11 ++++++++- tests/lib/processes/mutserve.nf.test.snap | 28 ++++++++++++++++++----- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/lib/processes/mutserve.nf b/lib/processes/mutserve.nf index a69384b..61181ca 100644 --- a/lib/processes/mutserve.nf +++ b/lib/processes/mutserve.nf @@ -11,8 +11,10 @@ process MUTSERVE { output: path "${type}.txt", emit: variants path "${type}_raw.txt", emit: variants_raw + path "${type}_parsed.txt", emit: variants_parsed script: + def min_variant_level = 0.0085 """ java -jar /opt/mutserve_LPA_adapted.jar call \ --output ${type}.vcf \ @@ -21,9 +23,16 @@ process MUTSERVE { --insertions \ --deletions \ --contig-name \$(awk '{ print \$1 }' ${bed}) \ - ${bam} + ${bam} && \ + echo -e "Sample\tPosition\tReference\tVariant\tVariant-level" > ${type}_parsed.txt && \ + cat ${type}_raw.txt | \ + tail +2 | \ + awk -F'\t' 'NR==1 || (\$3 == \$4 && \$27 >= $min_variant_level) || \$3 != \$4' | \ + awk -F'\t' '{print \$1, \$2, \$3, (\$3 == \$4 ? \$5 : \$4), (\$3 != \$4 ? \$25 : \$27)}' >> ${type}_parsed.txt + """ } +// awk -F'\t' 'NR==1 || (\$3 != \$4 || \$3 == \$4 && \$27 >= $min_variant_level)' ${type}_raw.txt > ${type}_filtered.txt diff --git a/tests/lib/processes/mutserve.nf.test.snap b/tests/lib/processes/mutserve.nf.test.snap index 69c4b46..d5741f9 100644 --- a/tests/lib/processes/mutserve.nf.test.snap +++ b/tests/lib/processes/mutserve.nf.test.snap @@ -12,11 +12,21 @@ "final_raw.txt:md5,a647c13b88e318322308fa70526a8d96", "final_raw.txt:md5,f8da170e2122c7caffa8fb3efb311434" ], + "2": [ + "final_parsed.txt:md5,6acf8a7a7f2d4481996671da99ab520d", + "final_parsed.txt:md5,f199bb8726d869d680004d35713cbdd4", + "final_parsed.txt:md5,ff76e27a92d752db87135a57951f3cc4" + ], "variants": [ "final.txt:md5,1e5554e27b3b8a0687374df975a6c9cb", "final.txt:md5,871ecfddc44cb8b3aee5a3c482fa2900", "final.txt:md5,bdcd9fa23bcd1e226b07988460f9b162" ], + "variants_parsed": [ + "final_parsed.txt:md5,6acf8a7a7f2d4481996671da99ab520d", + "final_parsed.txt:md5,f199bb8726d869d680004d35713cbdd4", + "final_parsed.txt:md5,ff76e27a92d752db87135a57951f3cc4" + ], "variants_raw": [ "final_raw.txt:md5,94352f26d9095f38eb44ff730db75dbc", "final_raw.txt:md5,a647c13b88e318322308fa70526a8d96", @@ -25,10 +35,10 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.0" + "nf-test": "0.9.0-rc2", + "nextflow": "24.05.0" }, - "timestamp": "2024-03-11T12:49:45.12999" + "timestamp": "2024-06-20T13:06:51.2669" }, "Should run without failures": { "content": [ @@ -39,18 +49,24 @@ "1": [ "final_raw.txt:md5,94352f26d9095f38eb44ff730db75dbc" ], + "2": [ + "final_parsed.txt:md5,f199bb8726d869d680004d35713cbdd4" + ], "variants": [ "final.txt:md5,1e5554e27b3b8a0687374df975a6c9cb" ], + "variants_parsed": [ + "final_parsed.txt:md5,f199bb8726d869d680004d35713cbdd4" + ], "variants_raw": [ "final_raw.txt:md5,94352f26d9095f38eb44ff730db75dbc" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.0" + "nf-test": "0.9.0-rc2", + "nextflow": "24.05.0" }, - "timestamp": "2024-03-11T12:49:34.341905" + "timestamp": "2024-06-20T13:06:38.306114" } } \ No newline at end of file