From b46c9f77d9a1ae2b4fb2e60af3d21b0568c9134f Mon Sep 17 00:00:00 2001 From: xtruka Date: Tue, 21 Apr 2026 09:53:52 +0200 Subject: [PATCH 01/13] feat(cgg): add SV filtering, HTT filter, disable CNVnator, add filter_sv_to_manta --- conf/modules/call_sv_manta.config | 6 +- main.nf | 4 +- modules/nf-core/tiddit/sv/main.nf | 2 +- nextflow.config | 5 ++ nextflow_schema.json | 28 +++++++ .../annotate_structural_variants/main.nf | 84 ++++++++++++------- .../local/call_repeat_expansions/main.nf | 24 +++++- .../local/call_structural_variants/main.nf | 22 +++-- workflows/raredisease.nf | 44 +++++----- 9 files changed, 153 insertions(+), 66 deletions(-) diff --git a/conf/modules/call_sv_manta.config b/conf/modules/call_sv_manta.config index 52b1d7875..907adecec 100644 --- a/conf/modules/call_sv_manta.config +++ b/conf/modules/call_sv_manta.config @@ -21,6 +21,10 @@ process { } withName: ".*CALL_STRUCTURAL_VARIANTS:CALL_SV_MANTA:BCFTOOLS_VIEW_MANTA" { ext.prefix = { "${meta.id}_manta" } - ext.args = { '--apply-filters .,PASS --output-type z' } + ext.args = { + def args = '--apply-filters .,PASS' + if (params.sv_size_threshold) args += " -e 'abs(INFO/SVLEN) > ${params.sv_size_threshold}'" + args + ' -Oz --write-index=tbi' + } } } diff --git a/main.nf b/main.nf index 1ec15d4c9..2048c1899 100644 --- a/main.nf +++ b/main.nf @@ -335,13 +335,13 @@ workflow NFCORE_RAREDISEASE { // if (skip_germlinecnvcaller) { if (val_analysis_type.equals("wgs")) { - ch_svcaller_priority = channel.value(["tiddit", "manta", "cnvnator"]) + ch_svcaller_priority = channel.value(["tiddit", "manta"]) } else { ch_svcaller_priority = channel.value([]) } } else { if (val_analysis_type.equals("wgs")) { - ch_svcaller_priority = channel.value(["tiddit", "manta", "gcnvcaller", "cnvnator"]) + ch_svcaller_priority = channel.value(["tiddit", "manta", "gcnvcaller"]) } else { ch_svcaller_priority = channel.value(["manta", "gcnvcaller"]) } diff --git a/modules/nf-core/tiddit/sv/main.nf b/modules/nf-core/tiddit/sv/main.nf index ff097942d..280242e71 100644 --- a/modules/nf-core/tiddit/sv/main.nf +++ b/modules/nf-core/tiddit/sv/main.nf @@ -23,7 +23,7 @@ process TIDDIT_SV { script: def args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" - def bwa_command = bwa_index ? "[[ -d ${bwa_index} ]] && for i in ${bwa_index}/*; do [[ -f ${fasta} && ! \"\$i\" =~ .*\"${fasta}.\".* ]] && ln -s \$i ${fasta}.\${i##*.} || ln -s \$i .; done" : "" + def bwa_command = bwa_index ? "[[ -d ${bwa_index} ]] && for i in ${bwa_index}/*; do [[ -f ${fasta} && ! \"\$i\" =~ .*\"${fasta}.\".* ]] && ln -s \$i ${fasta}.\${i##*.} || ln -sf \$i .; done" : "" """ $bwa_command diff --git a/nextflow.config b/nextflow.config index a5b0cc24a..a66c6577d 100644 --- a/nextflow.config +++ b/nextflow.config @@ -82,6 +82,11 @@ params { svdb_query_dbs = null target_bed = null variant_catalog = null + filter_expansionhunter_htt = false + filter_sv_to_manta = false + skip_vep_sv = false + sv_freq_threshold = null // e.g. 0.02 — filter SVs with SWEFRQ >= this value + sv_size_threshold = null // e.g. 1000000 — filter SVs larger than this (bp) variant_consequences_snv = null variant_consequences_sv = null vep_filters = null diff --git a/nextflow_schema.json b/nextflow_schema.json index e1df3010e..fc60d972e 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -600,6 +600,34 @@ "description": "Disable specified tools.", "help_text": "Multiple tools can be specified, separated by commas.", "pattern": "^((fastp|gens|germlinecnvcaller|peddy|smncopynumbercaller|vcf2cytosure|fastqc|ngsbits)?,?)*(?= this value (e.g. 0.02). Null disables the filter." + }, + "sv_size_threshold": { + "type": "integer", + "fa_icon": "fas fa-filter", + "description": "Filter Manta SVs larger than this value in bp before merge (e.g. 1000000). Null disables the filter." } } }, diff --git a/subworkflows/local/annotate_structural_variants/main.nf b/subworkflows/local/annotate_structural_variants/main.nf index 3c226a9d8..ae7257f92 100644 --- a/subworkflows/local/annotate_structural_variants/main.nf +++ b/subworkflows/local/annotate_structural_variants/main.nf @@ -2,11 +2,12 @@ // A subworkflow to annotate structural variants. // -include { SVDB_QUERY as SVDB_QUERY_DB } from '../../../modules/nf-core/svdb/query/main' -include { SVDB_QUERY as SVDB_QUERY_BEDPE } from '../../../modules/nf-core/svdb/query/main' -include { PICARD_SORTVCF } from '../../../modules/nf-core/picard/sortvcf/main' -include { BCFTOOLS_VIEW } from '../../../modules/nf-core/bcftools/view/main' -include { ENSEMBLVEP_VEP as ENSEMBLVEP_SV } from '../../../modules/nf-core/ensemblvep/vep/main' +include { SVDB_QUERY as SVDB_QUERY_DB } from '../../../modules/nf-core/svdb/query/main' +include { SVDB_QUERY as SVDB_QUERY_BEDPE } from '../../../modules/nf-core/svdb/query/main' +include { PICARD_SORTVCF } from '../../../modules/nf-core/picard/sortvcf/main' +include { BCFTOOLS_VIEW } from '../../../modules/nf-core/bcftools/view/main' +include { BCFTOOLS_VIEW as BCFTOOLS_FILTER_SV } from '../../../modules/nf-core/bcftools/view/main' +include { ENSEMBLVEP_VEP as ENSEMBLVEP_SV } from '../../../modules/nf-core/ensemblvep/vep/main' workflow ANNOTATE_STRUCTURAL_VARIANTS { @@ -72,34 +73,55 @@ workflow ANNOTATE_STRUCTURAL_VARIANTS { ch_vcf = SVDB_QUERY_BEDPE.out.vcf } - PICARD_SORTVCF(ch_vcf, ch_genome_fasta, ch_genome_dictionary) - - PICARD_SORTVCF.out.vcf - .map { meta, vcf -> return [meta,vcf,[]] } - .set { ch_sortvcf } - - BCFTOOLS_VIEW(ch_sortvcf, [], [], []) - .vcf - .map { meta, vcf -> return [meta, vcf, []]} - .set { ch_vep_in } - - ENSEMBLVEP_SV( - ch_vep_in, - val_genome, - "homo_sapiens", - val_vep_cache_version, - ch_vep_cache, - ch_genome_fasta, - ch_vep_extra_files + // Optionally filter SVs by population frequency (SWEFRQ). + // Threshold controlled via params.sv_freq_threshold. + // SVLEN filter is applied earlier, Manta-specifically, in CALL_SV_MANTA:BCFTOOLS_VIEW_MANTA. + // Configured via ext.args in profile config. Without ext.args this is a passthrough. + BCFTOOLS_FILTER_SV( + ch_vcf.map { meta, vcf -> [meta, vcf, []] }, + [], [], [] ) + ch_vcf = BCFTOOLS_FILTER_SV.out.vcf - ch_publish = ENSEMBLVEP_SV.out.vcf - .mix(ENSEMBLVEP_SV.out.tbi) - .mix(ENSEMBLVEP_SV.out.report.map{ meta, process, vep, html -> return [meta, html] }) - .map { meta, value -> ['annotate_sv/', [meta, value]] } + // Optionally skip VEP annotation (set params.skip_vep_sv = true to enable). + // SVDB_QUERY still runs; only PICARD_SORTVCF, BCFTOOLS_VIEW and ENSEMBLVEP_SV are skipped. + if (!params.skip_vep_sv) { + PICARD_SORTVCF(ch_vcf, ch_genome_fasta, ch_genome_dictionary) + + PICARD_SORTVCF.out.vcf + .map { meta, vcf -> return [meta,vcf,[]] } + .set { ch_sortvcf } + + BCFTOOLS_VIEW(ch_sortvcf, [], [], []) + .vcf + .map { meta, vcf -> return [meta, vcf, []]} + .set { ch_vep_in } + + ENSEMBLVEP_SV( + ch_vep_in, + val_genome, + "homo_sapiens", + val_vep_cache_version, + ch_vep_cache, + ch_genome_fasta, + ch_vep_extra_files + ) + + ch_vcf_ann = ENSEMBLVEP_SV.out.vcf + ch_tbi_ann = ENSEMBLVEP_SV.out.tbi + ch_publish = ENSEMBLVEP_SV.out.vcf + .mix(ENSEMBLVEP_SV.out.tbi) + .mix(ENSEMBLVEP_SV.out.report.map{ meta, process, vep, html -> return [meta, html] }) + .map { meta, value -> ['annotate_sv/', [meta, value]] } + } else { + ch_vcf_ann = ch_vcf + ch_tbi_ann = Channel.empty() + ch_publish = BCFTOOLS_FILTER_SV.out.vcf + .map { meta, vcf -> ['annotate_sv/', [meta, vcf]] } + } emit: - publish = ch_publish // channel: [ val(destination), val(value) ] - tbi = ENSEMBLVEP_SV.out.tbi // channel: [ val(meta), path(tbi) ] - vcf_ann = ENSEMBLVEP_SV.out.vcf // channel: [ val(meta), path(vcf) ] + publish = ch_publish // channel: [ val(destination), val(value) ] + tbi = ch_tbi_ann // channel: [ val(meta), path(tbi) ] + vcf_ann = ch_vcf_ann // channel: [ val(meta), path(vcf) ] } diff --git a/subworkflows/local/call_repeat_expansions/main.nf b/subworkflows/local/call_repeat_expansions/main.nf index a3bac56e0..156a7c96a 100644 --- a/subworkflows/local/call_repeat_expansions/main.nf +++ b/subworkflows/local/call_repeat_expansions/main.nf @@ -4,6 +4,8 @@ include { BCFTOOLS_NORM as SPLIT_MULTIALLELICS_EXP } from '../../../modules/nf-core/bcftools/norm/main' include { BCFTOOLS_REHEADER as BCFTOOLS_REHEADER_EXP } from '../../../modules/nf-core/bcftools/reheader/main' +include { BCFTOOLS_VIEW as BCFTOOLS_FILTER_HTT } from '../../../modules/nf-core/bcftools/view/main' +include { BCFTOOLS_VIEW as BCFTOOLS_DECOMPRESS_MERGE } from '../../../modules/nf-core/bcftools/view/main' include { EXPANSIONHUNTER } from '../../../modules/nf-core/expansionhunter/main' include { PICARD_RENAMESAMPLEINVCF as RENAMESAMPLE_EXP } from '../../../modules/nf-core/picard/renamesampleinvcf/main' include { SAMTOOLS_SORT } from '../../../modules/nf-core/samtools/sort/main' @@ -44,8 +46,21 @@ workflow CALL_REPEAT_EXPANSIONS { ch_genome_fasta ) + // Optionally filter out HTT records (set params.filter_expansionhunter_htt = true to enable) + if (params.filter_expansionhunter_htt) { + BCFTOOLS_FILTER_HTT ( + SPLIT_MULTIALLELICS_EXP.out.vcf.map { meta, vcf -> [ meta, vcf, [] ] }, + [], + [], + [] + ) + ch_exp_vcfs_pre_merge = BCFTOOLS_FILTER_HTT.out.vcf + } else { + ch_exp_vcfs_pre_merge = SPLIT_MULTIALLELICS_EXP.out.vcf + } + // Merge indiviual repeat expansions - SPLIT_MULTIALLELICS_EXP.out.vcf + ch_exp_vcfs_pre_merge .collect{_meta, vcf -> vcf} .toList() .collect() @@ -57,9 +72,14 @@ workflow CALL_REPEAT_EXPANSIONS { SVDB_MERGE_REPEATS ( ch_svdb_merge_input, [], true ) + BCFTOOLS_DECOMPRESS_MERGE( + SVDB_MERGE_REPEATS.out.vcf.map { meta, vcf -> [meta, vcf, []] }, + [], [], [] + ) + ch_publish = SAMTOOLS_SORT.out.bam .mix(SAMTOOLS_SORT.out.bai) - .mix(BCFTOOLS_REHEADER_EXP.out.vcf) + .mix(BCFTOOLS_DECOMPRESS_MERGE.out.vcf) .map { meta, value -> ['repeat_expansions/', [meta, value]] } emit: diff --git a/subworkflows/local/call_structural_variants/main.nf b/subworkflows/local/call_structural_variants/main.nf index bc225c1da..d6075ea4a 100644 --- a/subworkflows/local/call_structural_variants/main.nf +++ b/subworkflows/local/call_structural_variants/main.nf @@ -70,11 +70,12 @@ workflow CALL_STRUCTURAL_VARIANTS { .vcf .collect{ _meta, vcf -> vcf } .set { ch_tiddit_vcf } - - CALL_SV_CNVNATOR (ch_genome_bam_bai, ch_genome_fasta, ch_genome_fai, ch_case_info) - .vcf - .collect{ _meta, vcf -> vcf } - .set { ch_cnvnator_vcf } + + // CNVnator disabled - broken container (assert.h missing) + //CALL_SV_CNVNATOR (ch_genome_bam_bai, ch_genome_fasta, ch_genome_fai, ch_case_info) + // .vcf + // .collect{ _meta, vcf -> vcf } + // .set { ch_cnvnator_vcf } } if (!skip_germlinecnvcaller) { @@ -121,20 +122,25 @@ workflow CALL_STRUCTURAL_VARIANTS { // Merge - with consistent ordering using concat if (!val_analysis_type.equals("mito")) { + // When filter_sv_to_manta = true: exclude TIDDIT from merge and drop priority + // (clinic has only validated Manta; set params.filter_sv_to_manta = false to include TIDDIT) + ch_tiddit_vcf_for_merge = params.filter_sv_to_manta ? Channel.empty() : ch_tiddit_vcf + ch_priority_for_merge = params.filter_sv_to_manta ? [] : ch_svcaller_priority + // Concatenate in specific order: tiddit -> manta -> gcnvcaller -> cnvnator -> mitosalt // Empty channels won't contribute any items - ch_tiddit_vcf + ch_tiddit_vcf_for_merge .concat(ch_manta_vcf) .concat(ch_gcnvcaller_vcf) .concat(ch_cnvnator_vcf) .concat(ch_saltshaker_vcf) .collect() - .map { vcf_list -> [vcf_list] } // + .map { vcf_list -> [vcf_list] } .set { ch_vcf_paths } ch_case_info .combine(ch_vcf_paths) .set { ch_merge_vcfs_in } - SVDB_MERGE (ch_merge_vcfs_in, ch_svcaller_priority, true) + SVDB_MERGE (ch_merge_vcfs_in, ch_priority_for_merge, true) TABIX_TABIX (SVDB_MERGE.out.vcf) ch_merged_svs = SVDB_MERGE.out.vcf diff --git a/workflows/raredisease.nf b/workflows/raredisease.nf index ee36f9196..3db43ceb6 100644 --- a/workflows/raredisease.nf +++ b/workflows/raredisease.nf @@ -680,30 +680,32 @@ workflow RAREDISEASE { ch_ann_csq_sv_in = ch_clinical_sv_vcf.mix(ch_clin_research_sv_vcf.research) - ANN_CSQ_PLI_SV ( - ch_variant_consequences_sv, - ch_ann_csq_sv_in, - false, - '' - ) + if (!params.skip_vep_sv) { + ANN_CSQ_PLI_SV ( + ch_variant_consequences_sv, + ch_ann_csq_sv_in, + false, + '' + ) - ANN_CSQ_PLI_SV.out.vcf_ann - .filter { meta, _vcf -> - if (meta.probands.size()==0) { - log.warn("Skipping SV ranking since no affected samples are detected in the case") + ANN_CSQ_PLI_SV.out.vcf_ann + .filter { meta, _vcf -> + if (meta.probands.size()==0) { + log.warn("Skipping SV ranking since no affected samples are detected in the case") + } + meta.probands.size()>0 } - meta.probands.size()>0 - } - .set {ch_ranksnv_sv_in} + .set {ch_ranksnv_sv_in} - RANK_VARIANTS_SV ( - ch_pedfile, - ch_reduced_penetrance, - ch_score_config_sv, - ch_ranksnv_sv_in, - true - ) - ch_rank_sv_publish = RANK_VARIANTS_SV.out.publish + RANK_VARIANTS_SV ( + ch_pedfile, + ch_reduced_penetrance, + ch_score_config_sv, + ch_ranksnv_sv_in, + true + ) + ch_rank_sv_publish = RANK_VARIANTS_SV.out.publish + } } } /* From 7662408563e7dae27ebd0a5259e1b53a0a1cb1fc Mon Sep 17 00:00:00 2001 From: xtruka Date: Tue, 21 Apr 2026 11:38:27 +0200 Subject: [PATCH 02/13] fix(call_snv_sentieon): swap ch_genome_fai and ch_genome_fasta to alphabetical order --- subworkflows/local/call_snv_sentieon/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subworkflows/local/call_snv_sentieon/main.nf b/subworkflows/local/call_snv_sentieon/main.nf index aacbcab54..75a78412f 100644 --- a/subworkflows/local/call_snv_sentieon/main.nf +++ b/subworkflows/local/call_snv_sentieon/main.nf @@ -21,8 +21,8 @@ workflow CALL_SNV_SENTIEON { ch_dbsnp_index // channel: [mandatory] [ val(meta), path(tbi) ] ch_foundin_header // channel: [mandatory] [ path(header) ] ch_genome_chrsizes // channel: [mandatory] [ path(chrsizes) ] - ch_genome_fasta // channel: [mandatory] [ val(meta), path(fasta) ] ch_genome_fai // channel: [mandatory] [ val(meta), path(fai) ] + ch_genome_fasta // channel: [mandatory] [ val(meta), path(fasta) ] ch_ml_model // channel: [mandatory] [ val(meta), path(model) ] ch_pcr_indel_model // channel: [optional] [ val(sentieon_dnascope_pcr_indel_model) ] From 362e99edd9d077e256e0377153ffcac8c16f2982 Mon Sep 17 00:00:00 2001 From: xtruka Date: Fri, 24 Apr 2026 10:27:54 +0200 Subject: [PATCH 03/13] Fix orphaned ENSEMBLVEP_SV reference outside skip_vep_sv block --- subworkflows/local/annotate_structural_variants/main.nf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/subworkflows/local/annotate_structural_variants/main.nf b/subworkflows/local/annotate_structural_variants/main.nf index 248b421a6..ad1762678 100644 --- a/subworkflows/local/annotate_structural_variants/main.nf +++ b/subworkflows/local/annotate_structural_variants/main.nf @@ -119,11 +119,6 @@ workflow ANNOTATE_STRUCTURAL_VARIANTS { ch_publish = BCFTOOLS_FILTER_SV.out.vcf .map { meta, vcf -> ['annotate_sv/', [meta, vcf]] } } - ch_publish = ENSEMBLVEP_SV.out.vcf - .mix(ENSEMBLVEP_SV.out.tbi) - .mix(ENSEMBLVEP_SV.out.report.map{ meta, _process, _vep, html -> return [meta, html] }) - .map { meta, value -> ['annotate_sv/', [meta, value]] } - emit: publish = ch_publish // channel: [ val(destination), val(value) ] tbi = ch_tbi_ann // channel: [ val(meta), path(tbi) ] From 6a8df0f8034affbcce4c5e15e30b87d7fe70409a Mon Sep 17 00:00:00 2001 From: xtruka Date: Fri, 24 Apr 2026 11:47:45 +0200 Subject: [PATCH 04/13] disable CNVnator: container missing C headers (assert.h not found, exit 140) ROOT's CINT interpreter requires system C headers at runtime which are absent from the conda env in the current container. ch_cnvnator_vcf remains as channel.empty() so SVDB_MERGE is unaffected. --- main.nf | 4 ++-- subworkflows/local/call_structural_variants/main.nf | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/main.nf b/main.nf index a068f44d2..f6439d972 100644 --- a/main.nf +++ b/main.nf @@ -344,13 +344,13 @@ workflow NFCORE_RAREDISEASE { // if (skip_germlinecnvcaller) { if (val_analysis_type.equals("wgs")) { - ch_svcaller_priority = channel.value(["tiddit", "manta", "cnvnator"]) + ch_svcaller_priority = channel.value(["tiddit", "manta"]) } else { ch_svcaller_priority = channel.value([]) } } else { if (val_analysis_type.equals("wgs")) { - ch_svcaller_priority = channel.value(["tiddit", "manta", "gcnvcaller", "cnvnator"]) + ch_svcaller_priority = channel.value(["tiddit", "manta", "gcnvcaller"]) } else { ch_svcaller_priority = channel.value(["manta", "gcnvcaller"]) } diff --git a/subworkflows/local/call_structural_variants/main.nf b/subworkflows/local/call_structural_variants/main.nf index 7cf75cbb3..046c241af 100644 --- a/subworkflows/local/call_structural_variants/main.nf +++ b/subworkflows/local/call_structural_variants/main.nf @@ -7,7 +7,7 @@ include { CALL_SV_TIDDIT } from '../call_sv_tiddit' include { CALL_SV_MT } from '../call_sv_MT' include { SVDB_MERGE } from '../../../modules/nf-core/svdb/merge/main' include { CALL_SV_GERMLINECNVCALLER } from '../call_sv_germlinecnvcaller' -include { CALL_SV_CNVNATOR } from '../call_sv_cnvnator' +// include { CALL_SV_CNVNATOR } from '../call_sv_cnvnator' // disabled: container broken (assert.h not found) include { TABIX_TABIX } from '../../../modules/nf-core/tabix/tabix/main' workflow CALL_STRUCTURAL_VARIANTS { @@ -71,10 +71,8 @@ workflow CALL_STRUCTURAL_VARIANTS { .collect{ _meta, vcf -> vcf } .set { ch_tiddit_vcf } - CALL_SV_CNVNATOR (ch_genome_bam_bai, ch_genome_fasta, ch_case_info) - .vcf - .collect{ _meta, vcf -> vcf } - .set { ch_cnvnator_vcf } + // CALL_SV_CNVNATOR disabled: container missing C headers (assert.h not found, exit 140) + // ch_cnvnator_vcf stays as channel.empty() defined above } if (!skip_germlinecnvcaller) { From 212de715e7eff034b112ef71d08add035900d639 Mon Sep 17 00:00:00 2001 From: xtruka Date: Fri, 24 Apr 2026 21:36:29 +0200 Subject: [PATCH 05/13] add optional params for SV/SNV filtering and calling --- .../annotate_structural_variants.config | 9 ++ conf/modules/call_repeat_expansions.config | 16 ++- conf/modules/call_snv_sentieon.config | 18 ++- conf/modules/call_sv_manta.config | 5 +- conf/modules/qc_bam.config | 3 +- docs/output.md | 24 +++- nextflow.config | 5 +- nextflow_schema.json | 27 ++++- .../annotate_structural_variants/main.nf | 6 +- tests/default.nf.test | 114 ++++++++++++++++++ 10 files changed, 211 insertions(+), 16 deletions(-) diff --git a/conf/modules/annotate_structural_variants.config b/conf/modules/annotate_structural_variants.config index b9c98b920..23bdec80d 100644 --- a/conf/modules/annotate_structural_variants.config +++ b/conf/modules/annotate_structural_variants.config @@ -33,6 +33,15 @@ process { ext.prefix = { "${meta.id}_view" } } + withName: '.*ANNOTATE_STRUCTURAL_VARIANTS:BCFTOOLS_FILTER_SV' { + ext.args = { + params.sv_freq_filter_expression + ? "-e '${params.sv_freq_filter_expression}' -Oz --write-index=tbi" + : "-Oz --write-index=tbi" + } + ext.prefix = { "${meta.id}_sv_filtered" } + } + withName: '.*ANNOTATE_STRUCTURAL_VARIANTS:ENSEMBLVEP_SV' { ext.args = { [ '--dir_cache cache', diff --git a/conf/modules/call_repeat_expansions.config b/conf/modules/call_repeat_expansions.config index 916cff868..002f3c80d 100644 --- a/conf/modules/call_repeat_expansions.config +++ b/conf/modules/call_repeat_expansions.config @@ -32,10 +32,24 @@ process { } withName: '.*CALL_REPEAT_EXPANSIONS:SPLIT_MULTIALLELICS_EXP' { - ext.args = '--output-type z --multiallelics -both' + ext.args = { + params.normalize_multiallelics + ? '--output-type z --multiallelics -both' + : '--output-type z --write-index=tbi' + } ext.prefix = { "${meta.id}_split_exp" } } + withName: '.*CALL_REPEAT_EXPANSIONS:BCFTOOLS_FILTER_HTT' { + ext.args = "-e 'INFO/REPID=\"HTT\" || INFO/REPID~\"^HTT_\"' -Oz --write-index=tbi" + ext.prefix = { "${meta.id}_filtered_exp" } + } + + withName: '.*CALL_REPEAT_EXPANSIONS:BCFTOOLS_DECOMPRESS_MERGE' { + ext.args = '--output-type v' + ext.prefix = { "${meta.id}_filtered_htt_exphunter" } + } + withName: '.*CALL_REPEAT_EXPANSIONS:SVDB_MERGE_REPEATS' { ext.args = {"--notag"} } diff --git a/conf/modules/call_snv_sentieon.config b/conf/modules/call_snv_sentieon.config index 8ba47353c..7f53fdd48 100644 --- a/conf/modules/call_snv_sentieon.config +++ b/conf/modules/call_snv_sentieon.config @@ -29,8 +29,16 @@ process { } withName: '.*CALL_SNV:CALL_SNV_SENTIEON:BCF_FILTER_ONE' { - ext.args = "-s 'ML_FAIL' -i 'INFO/ML_PROB <= 0.95' -m x -Oz --write-index=tbi" - ext.prefix = { "${meta.id}_mlfiltered_0.95" } + ext.args = { + params.ml_prob_threshold + ? "-s 'ML_FAIL' -i 'INFO/ML_PROB <= ${params.ml_prob_threshold}' -m x -Oz --write-index=tbi" + : "-s 'ML_FAIL' -e 'FILTER==\"MLrejected\"' -m x -Oz --write-index=tbi" + } + ext.prefix = { + params.ml_prob_threshold + ? "${meta.id}_mlfiltered_${params.ml_prob_threshold}" + : "${meta.id}_mlfiltered" + } } withName: '.*CALL_SNV:CALL_SNV_SENTIEON:BCF_FILTER_TWO' { @@ -39,7 +47,11 @@ process { } withName: '.*CALL_SNV:CALL_SNV_SENTIEON:SPLIT_MULTIALLELICS_SEN' { - ext.args = '--output-type z --multiallelics -both' + ext.args = { + params.normalize_multiallelics + ? '--output-type z --multiallelics -both' + : '--output-type z --write-index=tbi' + } ext.prefix = { "${meta.id}_split" } } diff --git a/conf/modules/call_sv_manta.config b/conf/modules/call_sv_manta.config index 907adecec..346b7dd53 100644 --- a/conf/modules/call_sv_manta.config +++ b/conf/modules/call_sv_manta.config @@ -17,7 +17,10 @@ process { withName: '.*CALL_STRUCTURAL_VARIANTS:CALL_SV_MANTA:MANTA' { - ext.args = { (params.analysis_type == "wes") ? '--exome' : '' } + ext.args = { + def args = (params.analysis_type == "wes") ? '--exome' : '' + params.manta_call_regions ? [args, "--callRegions ${params.manta_call_regions}"].findAll { it }.join(' ') : args + } } withName: ".*CALL_STRUCTURAL_VARIANTS:CALL_SV_MANTA:BCFTOOLS_VIEW_MANTA" { ext.prefix = { "${meta.id}_manta" } diff --git a/conf/modules/qc_bam.config b/conf/modules/qc_bam.config index 52444ff73..55324e94b 100644 --- a/conf/modules/qc_bam.config +++ b/conf/modules/qc_bam.config @@ -22,8 +22,9 @@ process { } withName: '.*QC_BAM:PICARD_COLLECTHSMETRICS' { - ext.args = "--TMP_DIR ." + ext.args = "--TMP_DIR ." ext.prefix = { "${meta.id}_hsmetrics" } + ext.when = { params.target_bed != null } } withName: '.*QC_BAM:TIDDIT_COV' { diff --git a/docs/output.md b/docs/output.md index edbbaa14b..89fe87b99 100644 --- a/docs/output.md +++ b/docs/output.md @@ -279,6 +279,11 @@ Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQ The pipeline performs variant calling using [Sentieon DNAscope](https://support.sentieon.com/manual/DNAscope_usage/dnascope/) with a machine learning model. This approach identifies the candidate sites with a higher accuracy, and calculates genotypes for each sample at that site. These files are treated as intermediates and are not placed in the output folder by default. DNAscope is not run by default. To use DNAscope instead of DeepVariant, set `--variant_caller` to sentieon. +Variant filtering behaviour can be controlled with two optional parameters: + +- `--ml_prob_threshold`: When set (e.g. `0.6`), variants with `INFO/ML_PROB <= threshold` are tagged `ML_FAIL` and subsequently removed. When not set, variants already tagged `MLrejected` by Sentieon are tagged `ML_FAIL` instead. +- `--normalize_multiallelics`: When `true`, adds `--multiallelics -both` to the bcftools norm step, splitting multiallelic records into biallelic records. Disabled by default to avoid a ~4% reduction in indel precision. +
Output files @@ -294,6 +299,12 @@ The pipeline performs variant calling using [Sentieon DNAscope](https://support. [Manta](https://github.com/Illumina/manta) calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It combines paired and split-read evidence during SV discovery and scoring to improve accuracy, but does not require split-reads or successful breakpoint assemblies to report a variant in cases where there is strong evidence otherwise. Output vcf files are treated as intermediates and are not placed in the output folder. +Two optional parameters affect Manta calling and the downstream SV merge: + +- `--manta_call_regions`: Path to a bgzipped and indexed BED file restricting Manta to call only within specified genomic regions (passed via `--callRegions`). Useful for WES or targeted panels, or to exclude decoy and unplaced sequences from SV calling. +- `--sv_size_threshold`: Manta SVs larger than this value (in bp) are removed before merging. For example, `--sv_size_threshold 1000000` removes SVs larger than 1 Mb. +- `--filter_sv_to_manta`: When `true`, only Manta variants are included in the SVDB merge step; TIDDIT variants are excluded. + #### TIDDIT sv [TIDDIT's sv](https://github.com/SciLifeLab/TIDDIT) is used to identify chromosomal rearrangements using sequencing data. TIDDIT identifies intra and inter-chromosomal translocations, deletions, tandem-duplications and inversions, using supplementary alignments as well as discordant pairs. TIDDIT searches for discordant reads and split reads (supplementary alignments). Output vcf files are treated as intermediates and are not placed in the output folder. @@ -325,6 +336,8 @@ The pipeline performs variant calling using [Sentieon DNAscope](https://support. [Expansion Hunter](https://github.com/Illumina/ExpansionHunter) aims to estimate sizes of repeat sequences by performing a targeted search through alignments that span, flank, and are fully contained in each repeat. The files generated are ready to be used with [REViewer](https://github.com/Illumina/REViewer). +The optional parameter `--filter_expansionhunter_htt` removes HTT (Huntington's disease) records from the ExpansionHunter output before downstream processing. This is useful when HTT calls are handled separately or are not clinically relevant in the current analysis. +
Output files @@ -427,19 +440,24 @@ Based on VEP annotations, custom scripts used by the pipeline further annotate e #### SVDB query -[SVDB query](https://github.com/J35P312/SVDB#Query) allows you to quickly annotate your VCF with data from one or more structural variant databases. The output files are not published in the output folder, and is passed to vep for further annotation. +[SVDB query](https://github.com/J35P312/SVDB#Query) allows you to quickly annotate your VCF with data from one or more structural variant databases. The output files are not published in the output folder, and is passed to a frequency filter step and then to VEP for further annotation. + +After SVDB query, SVs can optionally be filtered by population frequency using `--sv_freq_filter_expression`. This parameter accepts a full [bcftools -e expression](https://samtools.github.io/bcftools/bcftools.html#expressions), for example `'INFO/SWEFRQ >= 0.02'`. Multiple conditions can be combined, e.g. `'INFO/SWEFRQ >= 0.02 || INFO/AF >= 0.02'`. When not set, no frequency filtering is applied. #### VEP [VEP](https://www.ensembl.org/info/docs/tools/vep/index.html) determines the effect of your variants on genes, transcripts, and protein sequence, as well as regulatory regions. We recommend annotating with pLI plugin, along with any other custom plugins you may want too use. Based on VEP annotations, custom scripts used by the pipeline further annotate each record with the most severe consequence, and pli scores. +VEP annotation of structural variants can be skipped by setting `--skip_vep_sv true`. SVDB query and frequency filtering still run; only the Picard sort, bcftools view, and VEP steps are skipped. In that case the frequency-filtered VCF is published directly. +
Output files - `annotate_sv/` - - `_svdbquery_vep.vcf.gz`: file containing svdb query, and vep annotations. - - `_svdbquery_vep.vcf.gz.tbi`: index of the file containing bcftools roh, vcfanno, and vep annotations. + - `_svdbquery_vep.vcf.gz`: file containing svdb query, frequency filter, and vep annotations. Published when `--skip_vep_sv` is not set. + - `_svdbquery_vep.vcf.gz.tbi`: index of the annotated SV vcf file. - `_svdbquery_vep_summary.html`: vep summary. + - `_sv_filtered.vcf.gz`: frequency-filtered SV vcf. Published instead of the VEP output when `--skip_vep_sv true` is set.
diff --git a/nextflow.config b/nextflow.config index 11415d177..907bbc3d4 100644 --- a/nextflow.config +++ b/nextflow.config @@ -88,8 +88,11 @@ params { filter_expansionhunter_htt = false filter_sv_to_manta = false skip_vep_sv = false - sv_freq_threshold = null // e.g. 0.02 — filter SVs with SWEFRQ >= this value + sv_freq_filter_expression = null // bcftools -e expression for SV frequency filtering, e.g. "INFO/SWEFRQ >= 0.02 || INFO/gnomAD_AF >= 0.01" sv_size_threshold = null // e.g. 1000000 — filter SVs larger than this (bp) + manta_call_regions = null // BED.gz file restricting Manta to specific regions; null = whole genome + ml_prob_threshold = null // ML_PROB filter threshold (e.g. 0.6); null = use pipeline default (0.95) + normalize_multiallelics = false // if true, add --multiallelics -both to bcftools norm steps variant_consequences_snv = null variant_consequences_sv = null vep_filters = null diff --git a/nextflow_schema.json b/nextflow_schema.json index 95a80c7f4..c29581032 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -629,10 +629,17 @@ "fa_icon": "fas fa-forward", "description": "Skip VEP annotation of structural variants. SVDB_QUERY still runs." }, - "sv_freq_threshold": { - "type": "number", + "sv_freq_filter_expression": { + "type": "string", "fa_icon": "fas fa-filter", - "description": "Filter SVs with SWEFRQ >= this value (e.g. 0.02). Null disables the filter." + "description": "bcftools -e expression to filter SVs by population frequency (e.g. 'INFO/SWEFRQ >= 0.02'). Null disables the filter.", + "help_text": "Full bcftools exclude expression, supporting any INFO field. Variants matching the expression are removed. Example: 'INFO/SWEFRQ >= 0.02 || INFO/AF >= 0.02'." + }, + "normalize_multiallelics": { + "type": "boolean", + "default": false, + "fa_icon": "fas fa-code-branch", + "description": "If true, add --multiallelics -both to bcftools norm (SPLIT_MULTIALLELICS). Disabled by default to avoid ~4% indel precision loss verified with GIAB." }, "sv_size_threshold": { "type": "integer", @@ -756,6 +763,20 @@ "description": "Specifies the variant types for sentieon variant caller.", "fa_icon": "fas fa-align-center", "enum": ["snp", "indel", "snp,indel"] + }, + "ml_prob_threshold": { + "type": "number", + "fa_icon": "fas fa-sliders-h", + "description": "ML_PROB threshold for Sentieon DNAscope variant filtering (e.g. 0.6). Null uses Sentieon's MLrejected flag instead.", + "help_text": "When set, variants with INFO/ML_PROB <= threshold are tagged ML_FAIL. When null, variants already tagged MLrejected by Sentieon are tagged ML_FAIL. Both cases then keep only PASS variants in BCF_FILTER_TWO." + }, + "manta_call_regions": { + "type": "string", + "format": "file-path", + "exists": true, + "fa_icon": "fas fa-map-marker-alt", + "description": "BED.gz file (with .tbi index) restricting Manta SV calling to specific genomic regions.", + "help_text": "Passed to Manta via --callRegions. Used to restrict calling to e.g. capture regions in WES, or to known high-confidence regions." } } }, diff --git a/subworkflows/local/annotate_structural_variants/main.nf b/subworkflows/local/annotate_structural_variants/main.nf index ad1762678..6d5bfcc91 100644 --- a/subworkflows/local/annotate_structural_variants/main.nf +++ b/subworkflows/local/annotate_structural_variants/main.nf @@ -73,10 +73,10 @@ workflow ANNOTATE_STRUCTURAL_VARIANTS { ch_vcf = SVDB_QUERY_BEDPE.out.vcf } - // Optionally filter SVs by population frequency (SWEFRQ). - // Threshold controlled via params.sv_freq_threshold. + // Optionally filter SVs by population frequency. + // Filter expression set via params.sv_freq_filter_expression (bcftools -e syntax). // SVLEN filter is applied earlier, Manta-specifically, in CALL_SV_MANTA:BCFTOOLS_VIEW_MANTA. - // Configured via ext.args in profile config. Without ext.args this is a passthrough. + // Configured via ext.args in module config. Without a filter expression this is a passthrough. BCFTOOLS_FILTER_SV( ch_vcf.map { meta, vcf -> [meta, vcf, []] }, [], [], [] diff --git a/tests/default.nf.test b/tests/default.nf.test index 59e505297..c4249e801 100644 --- a/tests/default.nf.test +++ b/tests/default.nf.test @@ -31,4 +31,118 @@ nextflow_pipeline { ) } } + + test("-profile test -- filter_expansionhunter_htt") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + skip_tools = "germlinecnvcaller,gens" + filter_expansionhunter_htt = true + } + } + + then { + assertAll( + { assert workflow.success } + ) + } + } + + test("-profile test -- filter_sv_to_manta") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + skip_tools = "germlinecnvcaller,gens" + filter_sv_to_manta = true + } + } + + then { + assertAll( + { assert workflow.success } + ) + } + } + + test("-profile test -- skip_vep_sv") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + skip_tools = "germlinecnvcaller,gens" + skip_vep_sv = true + } + } + + then { + assertAll( + { assert workflow.success } + ) + } + } + + test("-profile test -- sv_size_threshold") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + skip_tools = "germlinecnvcaller,gens" + sv_size_threshold = 1000000 + } + } + + then { + assertAll( + { assert workflow.success } + ) + } + } + + test("-profile test -- sv_freq_filter_expression") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + skip_tools = "germlinecnvcaller,gens" + sv_freq_filter_expression = "INFO/SWEFRQ >= 0.02" + } + } + + then { + assertAll( + { assert workflow.success } + ) + } + } + + test("-profile test -- normalize_multiallelics") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + skip_tools = "germlinecnvcaller,gens" + normalize_multiallelics = true + } + } + + then { + assertAll( + { assert workflow.success } + ) + } + } } From 2b375b51f326195bb581f57ab3fbe6462f439dda Mon Sep 17 00:00:00 2001 From: xtruka Date: Sat, 25 Apr 2026 19:51:22 +0200 Subject: [PATCH 06/13] chore: update nf-core subworkflows utils_nfcore_pipeline and utils_nfschema_plugin --- modules.json | 4 +- .../nf-core/utils_nfcore_pipeline/main.nf | 66 +------------------ .../{main.workflow.nf.test => main.nf.test} | 0 ...orkflow.nf.test.snap => main.nf.test.snap} | 0 .../nf-core/utils_nfschema_plugin/main.nf | 3 +- 5 files changed, 4 insertions(+), 69 deletions(-) rename subworkflows/nf-core/utils_nfcore_pipeline/tests/{main.workflow.nf.test => main.nf.test} (100%) rename subworkflows/nf-core/utils_nfcore_pipeline/tests/{main.workflow.nf.test.snap => main.nf.test.snap} (100%) diff --git a/modules.json b/modules.json index 1b505b1e1..5b894f18c 100644 --- a/modules.json +++ b/modules.json @@ -582,12 +582,12 @@ }, "utils_nfcore_pipeline": { "branch": "master", - "git_sha": "271e7fc14eb1320364416d996fb077421f3faed2", + "git_sha": "a3fb7351b1fdb2b1de282b765816bbea190e86a8", "installed_by": ["subworkflows"] }, "utils_nfschema_plugin": { "branch": "master", - "git_sha": "4b406a74dc0449c0401ed87d5bfff4252fd277fd", + "git_sha": "fdc08b8b1ae74f56686ce21f7ea11ad11990ce57", "installed_by": ["subworkflows"] }, "vcf_filter_bcftools_ensemblvep": { diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf index 2f30e9a46..afca54390 100644 --- a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf +++ b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf @@ -17,7 +17,7 @@ workflow UTILS_NFCORE_PIPELINE { checkProfileProvided(nextflow_cli_args) emit: - valid_config + valid_config = valid_config } /* @@ -353,67 +353,3 @@ def completionSummary(monochrome_logs=true) { log.info("-${colors.purple}[${workflow.manifest.name}]${colors.red} Pipeline completed with errors${colors.reset}-") } } - -// -// Construct and send a notification to a web server as JSON e.g. Microsoft Teams and Slack -// -def imNotification(summary_params, hook_url) { - def summary = [:] - summary_params - .keySet() - .sort() - .each { group -> - summary << summary_params[group] - } - - def misc_fields = [:] - misc_fields['start'] = workflow.start - misc_fields['complete'] = workflow.complete - misc_fields['scriptfile'] = workflow.scriptFile - misc_fields['scriptid'] = workflow.scriptId - if (workflow.repository) { - misc_fields['repository'] = workflow.repository - } - if (workflow.commitId) { - misc_fields['commitid'] = workflow.commitId - } - if (workflow.revision) { - misc_fields['revision'] = workflow.revision - } - misc_fields['nxf_version'] = workflow.nextflow.version - misc_fields['nxf_build'] = workflow.nextflow.build - misc_fields['nxf_timestamp'] = workflow.nextflow.timestamp - - def msg_fields = [:] - msg_fields['version'] = getWorkflowVersion() - msg_fields['runName'] = workflow.runName - msg_fields['success'] = workflow.success - msg_fields['dateComplete'] = workflow.complete - msg_fields['duration'] = workflow.duration - msg_fields['exitStatus'] = workflow.exitStatus - msg_fields['errorMessage'] = (workflow.errorMessage ?: 'None') - msg_fields['errorReport'] = (workflow.errorReport ?: 'None') - msg_fields['commandLine'] = workflow.commandLine.replaceFirst(/ +--hook_url +[^ ]+/, "") - msg_fields['projectDir'] = workflow.projectDir - msg_fields['summary'] = summary << misc_fields - - // Render the JSON template - def engine = new groovy.text.GStringTemplateEngine() - // Different JSON depending on the service provider - // Defaults to "Adaptive Cards" (https://adaptivecards.io), except Slack which has its own format - def json_path = hook_url.contains("hooks.slack.com") ? "slackreport.json" : "adaptivecard.json" - def hf = new File("${workflow.projectDir}/assets/${json_path}") - def json_template = engine.createTemplate(hf).make(msg_fields) - def json_message = json_template.toString() - - // POST - def post = new URL(hook_url).openConnection() - post.setRequestMethod("POST") - post.setDoOutput(true) - post.setRequestProperty("Content-Type", "application/json") - post.getOutputStream().write(json_message.getBytes("UTF-8")) - def postRC = post.getResponseCode() - if (!postRC.equals(200)) { - log.warn(post.getErrorStream().getText()) - } -} diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test similarity index 100% rename from subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test rename to subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test.snap similarity index 100% rename from subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap rename to subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test.snap diff --git a/subworkflows/nf-core/utils_nfschema_plugin/main.nf b/subworkflows/nf-core/utils_nfschema_plugin/main.nf index e69b7aaec..1df8b76fb 100644 --- a/subworkflows/nf-core/utils_nfschema_plugin/main.nf +++ b/subworkflows/nf-core/utils_nfschema_plugin/main.nf @@ -38,7 +38,7 @@ workflow UTILS_NFSCHEMA_PLUGIN { } log.info paramsHelp( help_options, - params.help instanceof String && params.help != "true" ? params.help : "", + (params.help instanceof String && params.help != "true") ? params.help : "", ) exit 0 } @@ -71,4 +71,3 @@ workflow UTILS_NFSCHEMA_PLUGIN { emit: dummy_emit = true } - From 684c15dd00ff36140b24b5dfebac8316c0e603df Mon Sep 17 00:00:00 2001 From: xtruka Date: Sat, 25 Apr 2026 19:52:25 +0200 Subject: [PATCH 07/13] fix: make BCFTOOLS_FILTER_SV conditional and guard GENERATE_CYTOSURE_FILES against skip_vep_sv --- CHANGELOG.md | 1 + docs/output.md | 2 +- docs/usage.md | 65 +++++++++++-------- .../annotate_structural_variants/main.nf | 15 +++-- tests/default.nf.test.snap | 49 +++----------- workflows/raredisease.nf | 2 +- 6 files changed, 59 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d75ef8794..506213658 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` +- Parameters `manta_call_regions`, `ml_prob_threshold`, `normalize_multiallelics`, `sv_freq_filter_expression`, `filter_expansionhunter_htt`, `filter_sv_to_manta`, `skip_vep_sv`, and `sv_size_threshold` to expose optional filtering and calling controls as pipeline parameters [#](https://github.com/nf-core/raredisease/pull/) - Interval parameter in the default retroseq call [#717](https://github.com/nf-core/raredisease/pull/717) - Tests for call_repeat_expansions and qc_bam subworkflows [#713](https://github.com/nf-core/raredisease/pull/713) - Feature to subsample mitochondrial alignments based on number of reads [#748](https://github.com/nf-core/raredisease/pull/748) diff --git a/docs/output.md b/docs/output.md index 89fe87b99..76795787c 100644 --- a/docs/output.md +++ b/docs/output.md @@ -442,7 +442,7 @@ Based on VEP annotations, custom scripts used by the pipeline further annotate e [SVDB query](https://github.com/J35P312/SVDB#Query) allows you to quickly annotate your VCF with data from one or more structural variant databases. The output files are not published in the output folder, and is passed to a frequency filter step and then to VEP for further annotation. -After SVDB query, SVs can optionally be filtered by population frequency using `--sv_freq_filter_expression`. This parameter accepts a full [bcftools -e expression](https://samtools.github.io/bcftools/bcftools.html#expressions), for example `'INFO/SWEFRQ >= 0.02'`. Multiple conditions can be combined, e.g. `'INFO/SWEFRQ >= 0.02 || INFO/AF >= 0.02'`. When not set, no frequency filtering is applied. +After SVDB query, SVs can optionally be filtered by population frequency using `--sv_freq_filter_expression`. This parameter accepts a full [bcftools -e expression](https://samtools.github.io/bcftools/bcftools.html#expressions), for example `'INFO/SWEFRQ >= 0.02'`. Multiple conditions can be combined, e.g. `'INFO/SWEFRQ >= 0.02 || INFO/AF >= 0.02'`. When not set, the filtering step is skipped entirely. #### VEP diff --git a/docs/usage.md b/docs/usage.md index 54c39bd50..4aee65c21 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -238,33 +238,44 @@ The mandatory and optional parameters for each category are tabulated below. ##### 3. Repeat expansions -| Mandatory | Optional | -| --------------------------- | -------- | -| variant_catalog1 | | +| Mandatory | Optional | +| --------------------------- | ------------------------------------ | +| variant_catalog1 | filter_expansionhunter_htt2 | -1 We reccomend using the catalogs found [here](https://github.com/Clinical-Genomics/reference-files/tree/master/rare-disease/disease_loci/ExpansionHunter-v5.0.0). These catalogs have been extended from the illumina ones to include information on pathogenicity, which is neccesarry for the workflow. +1 We reccomend using the catalogs found [here](https://github.com/Clinical-Genomics/reference-files/tree/master/rare-disease/disease_loci/ExpansionHunter-v5.0.0). These catalogs have been extended from the illumina ones to include information on pathogenicity, which is neccesarry for the workflow.
+2 Set to `true` to remove HTT (Huntington's disease) records from ExpansionHunter output before downstream processing. Default is `false`. ##### 4. Variant calling - SNV -| Mandatory | Optional | -| -------------------------- | --------------------------- | -| variant_caller1 | known_dbsnp2 | -| ml_model2 | known_dbsnp_tbi2 | -| analysis_type3 | call_interval2 | -| | known_dbsnp_tbi2 | -| | par_bed4 | +| Mandatory | Optional | +| -------------------------- | ------------------------------------- | +| variant_caller1 | known_dbsnp2 | +| ml_model2 | known_dbsnp_tbi2 | +| analysis_type3 | call_interval2 | +| | known_dbsnp_tbi2 | +| | par_bed4 | +| | ml_prob_threshold2 | +| | normalize_multiallelics5 | 1Default variant caller is DeepVariant, but you have the option to use Sentieon as well.
2These parameters are only used by Sentieon.
3Default is `WGS`, but you have the option to choose `WES` and `mito` as well.
4This parameter is only used by Deepvariant.
+5When `true`, adds `--multiallelics -both` to the bcftools norm step. Disabled by default to avoid a ~4% indel precision loss. Applies to both Sentieon and ExpansionHunter normalisation steps.
##### 5. Variant calling - Structural variants -| Mandatory | Optional | -| --------- | ---------- | -| | target_bed | -| | bwa | +| Mandatory | Optional | +| --------- | --------------------------------- | +| | target_bed | +| | bwa | +| | manta_call_regions1 | +| | sv_size_threshold2 | +| | filter_sv_to_manta3 | + +1 BED.gz file (with `.tbi` index) restricting Manta SV calling to specific regions. Useful for WES, targeted panels, or to exclude decoy and unplaced sequences.
+2 Filter Manta SVs larger than this value (in bp) before SVDB merge. For example, `--sv_size_threshold 1000000` removes SVs larger than 1 Mb. Default is `null` (no filter).
+3 Set to `true` to include only Manta variants in the SVDB merge step, excluding TIDDIT. Default is `false`.
##### 6. Copy number variant calling @@ -314,17 +325,19 @@ We use CADD only to annotate small indels. To annotate SNVs with precomputed CAD ##### 8. SV annotation & Ranking -| Mandatory | Optional | -| ---------------------------------------------- | --------------------------------- | -| genome | reduced_penetrance | -| svdb_query_dbs/svdb_query_bedpedbs1 | | -| vep_cache_version | vep_filters/vep_filters_scout_fmt | -| vep_cache | vep_plugin_files | -| score_config_sv | | -| variant_consequences_sv2 | | - -1 A CSV file that describes the databases (VCFs or BEDPEs) used by SVDB for annotating structural variants. Sample file [here](https://github.com/nf-core/test-datasets/blob/raredisease/reference/svdb_querydb_files.csv). Information about the column headers can be found [here](https://github.com/J35P312/SVDB#Query). -2 File containing list of SO terms listed in the order of severity from most severe to lease severe for annotating genomic SVs. Sample file [here](https://github.com/nf-core/test-datasets/blob/raredisease/reference/variant_consequences_v2.txt). You can learn more about these terms [here](https://grch37.ensembl.org/info/genome/variation/prediction/predicted_data.html). +| Mandatory | Optional | +| ---------------------------------------------- | ------------------------------------- | +| genome | reduced_penetrance | +| svdb_query_dbs/svdb_query_bedpedbs1 | vep_filters/vep_filters_scout_fmt | +| vep_cache_version | vep_plugin_files | +| vep_cache | sv_freq_filter_expression3 | +| score_config_sv | skip_vep_sv4 | +| variant_consequences_sv2 | | + +1 A CSV file that describes the databases (VCFs or BEDPEs) used by SVDB for annotating structural variants. Sample file [here](https://github.com/nf-core/test-datasets/blob/raredisease/reference/svdb_querydb_files.csv). Information about the column headers can be found [here](https://github.com/J35P312/SVDB#Query).
+2 File containing list of SO terms listed in the order of severity from most severe to lease severe for annotating genomic SVs. Sample file [here](https://github.com/nf-core/test-datasets/blob/raredisease/reference/variant_consequences_v2.txt). You can learn more about these terms [here](https://grch37.ensembl.org/info/genome/variation/prediction/predicted_data.html).
+3 A bcftools `-e` expression to filter SVs by population frequency after SVDB query, e.g. `'INFO/SWEFRQ >= 0.02'`. Supports any INFO field and multiple conditions. Default is `null` (no filter).
+4 Set to `true` to skip VEP annotation of structural variants. SVDB query and frequency filtering still run. Default is `false`.
##### 9. Mitochondrial annotation diff --git a/subworkflows/local/annotate_structural_variants/main.nf b/subworkflows/local/annotate_structural_variants/main.nf index 6d5bfcc91..2f6c5057b 100644 --- a/subworkflows/local/annotate_structural_variants/main.nf +++ b/subworkflows/local/annotate_structural_variants/main.nf @@ -76,12 +76,13 @@ workflow ANNOTATE_STRUCTURAL_VARIANTS { // Optionally filter SVs by population frequency. // Filter expression set via params.sv_freq_filter_expression (bcftools -e syntax). // SVLEN filter is applied earlier, Manta-specifically, in CALL_SV_MANTA:BCFTOOLS_VIEW_MANTA. - // Configured via ext.args in module config. Without a filter expression this is a passthrough. - BCFTOOLS_FILTER_SV( - ch_vcf.map { meta, vcf -> [meta, vcf, []] }, - [], [], [] - ) - ch_vcf = BCFTOOLS_FILTER_SV.out.vcf + if (params.sv_freq_filter_expression) { + BCFTOOLS_FILTER_SV( + ch_vcf.map { meta, vcf -> [meta, vcf, []] }, + [], [], [] + ) + ch_vcf = BCFTOOLS_FILTER_SV.out.vcf + } // Optionally skip VEP annotation (set params.skip_vep_sv = true to enable). // SVDB_QUERY still runs; only PICARD_SORTVCF, BCFTOOLS_VIEW and ENSEMBLVEP_SV are skipped. @@ -116,7 +117,7 @@ workflow ANNOTATE_STRUCTURAL_VARIANTS { } else { ch_vcf_ann = ch_vcf ch_tbi_ann = Channel.empty() - ch_publish = BCFTOOLS_FILTER_SV.out.vcf + ch_publish = ch_vcf .map { meta, vcf -> ['annotate_sv/', [meta, vcf]] } } emit: diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index e0e924241..c389754f1 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -15,6 +15,9 @@ "BCFTOOLS_CONCAT_ME": { "bcftools": 1.22 }, + "BCFTOOLS_DECOMPRESS_MERGE": { + "bcftools": 1.22 + }, "BCFTOOLS_MERGE_MT": { "bcftools": 1.22 }, @@ -36,9 +39,6 @@ "BCFTOOLS_VIEW": { "bcftools": 1.22 }, - "BCFTOOLS_VIEW_CNVNATOR": { - "bcftools": 1.22 - }, "BCFTOOLS_VIEW_FILTER": { "bcftools": 1.22 }, @@ -95,24 +95,6 @@ "CHROMOGRAPH_SITES": { "chromograph": "1.3.1" }, - "CNVNATOR_CALL": { - "cnvnator": "0.4.1" - }, - "CNVNATOR_CONVERT2VCF": { - "cnvnator": "0.4.1" - }, - "CNVNATOR_HIST": { - "cnvnator": "0.4.1" - }, - "CNVNATOR_PARTITION": { - "cnvnator": "0.4.1" - }, - "CNVNATOR_RD": { - "cnvnator": "0.4.1" - }, - "CNVNATOR_STAT": { - "cnvnator": "0.4.1" - }, "CREATE_HGNCIDS_FILE": { "create_hgncids_file": 1.0, "python": "3.14.3" @@ -234,10 +216,6 @@ "HISAT2_INDEX_GENOME": { "hisat2": "2.2.1" }, - "INDEX_CNVNATOR": { - "bgzip": 1.21, - "tabix": 1.21 - }, "INDEX_TIDDIT": { "bgzip": 1.21, "tabix": 1.21 @@ -372,9 +350,6 @@ "SPLIT_AND_FILTER_SV_VCF": { "bcftools": 1.22 }, - "SPLIT_CHR": { - "bioawk": 1.0 - }, "SPLIT_MULTIALLELICS_EXP": { "bcftools": 1.22 }, @@ -395,10 +370,6 @@ "bcftools": 1.23, "svdb": "2.8.4" }, - "SVDB_MERGE_CNVNATOR": { - "bcftools": 1.23, - "svdb": "2.8.4" - }, "SVDB_MERGE_ME": { "bcftools": 1.23, "svdb": "2.8.4" @@ -671,9 +642,9 @@ "call_snv/mitochondria/justhusky_mitochondria.vcf.gz", "call_snv/mitochondria/justhusky_mitochondria.vcf.gz.tbi", "call_sv", - "call_sv/earlycasualcaiman.saltshaker.png", - "call_sv/earlycasualcaiman.saltshaker_classify.html", "call_sv/earlycasualcaiman_mitochondria_deletions.txt", + "call_sv/hugelymodelbat.saltshaker.png", + "call_sv/hugelymodelbat.saltshaker_classify.html", "call_sv/hugelymodelbat_mitochondria_deletions.txt", "call_sv/justhusky_saltshaker.vcf.gz", "call_sv/justhusky_sv.vcf.gz", @@ -889,15 +860,13 @@ "repeat_expansions", "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam", "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam.bai", - "repeat_expansions/earlycasualcaiman_repeat_expansion.vcf", "repeat_expansions/hugelymodelbat_exphunter_sorted.bam", "repeat_expansions/hugelymodelbat_exphunter_sorted.bam.bai", - "repeat_expansions/hugelymodelbat_repeat_expansion.vcf", + "repeat_expansions/justhusky_filtered_htt_exphunter.vcf", "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz", "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz.tbi", "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam", "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam.bai", - "repeat_expansions/slowlycivilbuck_repeat_expansion.vcf", "smncopynumbercaller", "smncopynumbercaller/out", "smncopynumbercaller/out/justhusky_smncopynumbercaller.json", @@ -924,10 +893,10 @@ "vcf2cytosure/slowlycivilbuck.cgh" ] ], + "timestamp": "2026-04-25T14:25:15.854419489", "meta": { - "nf-test": "0.9.3", + "nf-test": "0.9.5", "nextflow": "25.10.4" - }, - "timestamp": "2026-04-14T14:58:54.280831107" + } } } \ No newline at end of file diff --git a/workflows/raredisease.nf b/workflows/raredisease.nf index 39edb1afc..bf0fa6796 100644 --- a/workflows/raredisease.nf +++ b/workflows/raredisease.nf @@ -834,7 +834,7 @@ workflow RAREDISEASE { Generate CGH files from sequencing data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - if (!skip_vcf2cytosure && val_analysis_type.equals("wgs") && !skip_sv_calling && !skip_sv_annotation) { + if (!skip_vcf2cytosure && val_analysis_type.equals("wgs") && !skip_sv_calling && !skip_sv_annotation && !params.skip_vep_sv) { GENERATE_CYTOSURE_FILES ( ch_mapped.genome_marked_bam_bai, ch_vcf2cytosure_blacklist, From 8f20278acc626d5561274bc06c4b85aa7f621886 Mon Sep 17 00:00:00 2001 From: xtruka Date: Sat, 25 Apr 2026 20:09:30 +0200 Subject: [PATCH 08/13] fix: remove imNotification import removed in updated utils_nfcore_pipeline --- subworkflows/local/utils_nfcore_raredisease_pipeline/main.nf | 4 ---- 1 file changed, 4 deletions(-) diff --git a/subworkflows/local/utils_nfcore_raredisease_pipeline/main.nf b/subworkflows/local/utils_nfcore_raredisease_pipeline/main.nf index ad87a4dc8..53883ce93 100644 --- a/subworkflows/local/utils_nfcore_raredisease_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_raredisease_pipeline/main.nf @@ -14,7 +14,6 @@ include { samplesheetToList } from 'plugin/nf-schema' include { paramsHelp } from 'plugin/nf-schema' include { completionEmail } from '../../nf-core/utils_nfcore_pipeline' include { completionSummary } from '../../nf-core/utils_nfcore_pipeline' -include { imNotification } from '../../nf-core/utils_nfcore_pipeline' include { UTILS_NFCORE_PIPELINE } from '../../nf-core/utils_nfcore_pipeline' include { UTILS_NEXTFLOW_PIPELINE } from '../../nf-core/utils_nextflow_pipeline' @@ -202,9 +201,6 @@ workflow PIPELINE_COMPLETION { } completionSummary(monochrome_logs) - if (hook_url) { - imNotification(summary_params, hook_url) - } } workflow.onError { From 09e9c1a69885bce2dec7f6f883c2812baa7833e7 Mon Sep 17 00:00:00 2001 From: xtruka Date: Sun, 26 Apr 2026 14:07:47 +0200 Subject: [PATCH 09/13] fix: make BCFTOOLS_DECOMPRESS_MERGE prefix conditional on filter_expansionhunter_htt --- conf/modules/call_repeat_expansions.config | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/conf/modules/call_repeat_expansions.config b/conf/modules/call_repeat_expansions.config index 002f3c80d..036dfb9b9 100644 --- a/conf/modules/call_repeat_expansions.config +++ b/conf/modules/call_repeat_expansions.config @@ -47,7 +47,11 @@ process { withName: '.*CALL_REPEAT_EXPANSIONS:BCFTOOLS_DECOMPRESS_MERGE' { ext.args = '--output-type v' - ext.prefix = { "${meta.id}_filtered_htt_exphunter" } + ext.prefix = { + params.filter_expansionhunter_htt + ? "${meta.id}_filtered_htt_exphunter" + : "${meta.id}_repeat_expansion" + } } withName: '.*CALL_REPEAT_EXPANSIONS:SVDB_MERGE_REPEATS' { From 2a5d17cc8a22dba596e510866eb56f58d3b58d34 Mon Sep 17 00:00:00 2001 From: xtruka Date: Mon, 27 Apr 2026 10:25:28 +0200 Subject: [PATCH 10/13] docs: update CHANGELOG and output.md, update nf-test snapshot --- CHANGELOG.md | 5 +++++ docs/output.md | 3 ++- tests/default.nf.test.snap | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 506213658..5ba52334e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Parameter `exclude_alt` to filter alignments to alt/unplaced contigs after alignment using samtools view, retaining only primary chromosomes (GRCh37: 1-22,X,Y,MT / GRCh38: chr1-chr22,chrX,chrY,chrM). Note that enabling this will restrict variant calling to these chromosomes [#803](https://github.com/nf-core/raredisease/pull/803)] - Parameters `save_all_mapped_as_cram` and `save_noalt_mapped_as_cram` to replace `save_mapped_as_cram`, allowing independent control over publishing unfiltered and alt-filtered alignment files as CRAM [#807](https://github.com/nf-core/raredisease/pull/807) +### `Fixed` + +- Remove `imNotification` import and call from `utils_nfcore_raredisease_pipeline` after it was removed in the updated `utils_nfcore_pipeline` subworkflow [#](https://github.com/nf-core/raredisease/pull/) +- Use conditional output prefix for `BCFTOOLS_DECOMPRESS_MERGE` in `call_repeat_expansions` so that the file is named `_repeat_expansion.vcf` by default and `_filtered_htt_exphunter.vcf` only when `--filter_expansionhunter_htt` is set [#](https://github.com/nf-core/raredisease/pull/) + ### `Changed` - Sort parameters of `CALL_STRUCTURAL_VARIANTS` and `CALL_SV_MANTA` alphabetically [[#](https://github.com/nf-core/raredisease/pull/)] diff --git a/docs/output.md b/docs/output.md index 76795787c..e495664fd 100644 --- a/docs/output.md +++ b/docs/output.md @@ -342,7 +342,8 @@ The optional parameter `--filter_expansionhunter_htt` removes HTT (Huntington's Output files - `repeat_expansions/` - - `_repeat_expansion.vcf`: file containing variant calls. + - `_repeat_expansion.vcf`: file containing variant calls (default). + - `_filtered_htt_exphunter.vcf`: file containing variant calls with HTT records removed (when `--filter_expansionhunter_htt` is set). - `_exphunter_sorted.bam`: A BAMlet containing alignments of reads that overlap or located in close proximity to each variant identified by ExpansionHunter - `_exphunter_sorted.bam.bai`: Index of the BAMlet file diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index c389754f1..654f16d02 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -642,9 +642,9 @@ "call_snv/mitochondria/justhusky_mitochondria.vcf.gz", "call_snv/mitochondria/justhusky_mitochondria.vcf.gz.tbi", "call_sv", + "call_sv/earlycasualcaiman.saltshaker.png", + "call_sv/earlycasualcaiman.saltshaker_classify.html", "call_sv/earlycasualcaiman_mitochondria_deletions.txt", - "call_sv/hugelymodelbat.saltshaker.png", - "call_sv/hugelymodelbat.saltshaker_classify.html", "call_sv/hugelymodelbat_mitochondria_deletions.txt", "call_sv/justhusky_saltshaker.vcf.gz", "call_sv/justhusky_sv.vcf.gz", @@ -862,7 +862,7 @@ "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam.bai", "repeat_expansions/hugelymodelbat_exphunter_sorted.bam", "repeat_expansions/hugelymodelbat_exphunter_sorted.bam.bai", - "repeat_expansions/justhusky_filtered_htt_exphunter.vcf", + "repeat_expansions/justhusky_repeat_expansion.vcf", "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz", "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz.tbi", "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam", @@ -893,7 +893,7 @@ "vcf2cytosure/slowlycivilbuck.cgh" ] ], - "timestamp": "2026-04-25T14:25:15.854419489", + "timestamp": "2026-04-27T08:49:50.206595757", "meta": { "nf-test": "0.9.5", "nextflow": "25.10.4" From 0f263154429ebc2fcf8be4b9cc43852d99b71d7c Mon Sep 17 00:00:00 2001 From: xtruka Date: Tue, 28 Apr 2026 07:27:49 +0200 Subject: [PATCH 11/13] refactor: remove normalize_multiallelics param (covered by upstream PR #823) --- CHANGELOG.md | 2 +- conf/modules/call_repeat_expansions.config | 6 +----- conf/modules/call_snv_sentieon.config | 6 +----- docs/output.md | 3 +-- docs/usage.md | 2 -- nextflow.config | 2 +- nextflow_schema.json | 6 ------ tests/default.nf.test | 18 ------------------ 8 files changed, 5 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ba52334e..6fd9f67bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` -- Parameters `manta_call_regions`, `ml_prob_threshold`, `normalize_multiallelics`, `sv_freq_filter_expression`, `filter_expansionhunter_htt`, `filter_sv_to_manta`, `skip_vep_sv`, and `sv_size_threshold` to expose optional filtering and calling controls as pipeline parameters [#](https://github.com/nf-core/raredisease/pull/) +- Parameters `manta_call_regions`, `ml_prob_threshold`, `sv_freq_filter_expression`, `filter_expansionhunter_htt`, `filter_sv_to_manta`, `skip_vep_sv`, and `sv_size_threshold` to expose optional filtering and calling controls as pipeline parameters [#](https://github.com/nf-core/raredisease/pull/) - Interval parameter in the default retroseq call [#717](https://github.com/nf-core/raredisease/pull/717) - Tests for call_repeat_expansions and qc_bam subworkflows [#713](https://github.com/nf-core/raredisease/pull/713) - Feature to subsample mitochondrial alignments based on number of reads [#748](https://github.com/nf-core/raredisease/pull/748) diff --git a/conf/modules/call_repeat_expansions.config b/conf/modules/call_repeat_expansions.config index 036dfb9b9..61e50a846 100644 --- a/conf/modules/call_repeat_expansions.config +++ b/conf/modules/call_repeat_expansions.config @@ -32,11 +32,7 @@ process { } withName: '.*CALL_REPEAT_EXPANSIONS:SPLIT_MULTIALLELICS_EXP' { - ext.args = { - params.normalize_multiallelics - ? '--output-type z --multiallelics -both' - : '--output-type z --write-index=tbi' - } + ext.args = '--output-type z --multiallelics -both' ext.prefix = { "${meta.id}_split_exp" } } diff --git a/conf/modules/call_snv_sentieon.config b/conf/modules/call_snv_sentieon.config index 7f53fdd48..ff58c8bf6 100644 --- a/conf/modules/call_snv_sentieon.config +++ b/conf/modules/call_snv_sentieon.config @@ -47,11 +47,7 @@ process { } withName: '.*CALL_SNV:CALL_SNV_SENTIEON:SPLIT_MULTIALLELICS_SEN' { - ext.args = { - params.normalize_multiallelics - ? '--output-type z --multiallelics -both' - : '--output-type z --write-index=tbi' - } + ext.args = '--output-type z --multiallelics -both' ext.prefix = { "${meta.id}_split" } } diff --git a/docs/output.md b/docs/output.md index e495664fd..bc90ff7eb 100644 --- a/docs/output.md +++ b/docs/output.md @@ -279,10 +279,9 @@ Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQ The pipeline performs variant calling using [Sentieon DNAscope](https://support.sentieon.com/manual/DNAscope_usage/dnascope/) with a machine learning model. This approach identifies the candidate sites with a higher accuracy, and calculates genotypes for each sample at that site. These files are treated as intermediates and are not placed in the output folder by default. DNAscope is not run by default. To use DNAscope instead of DeepVariant, set `--variant_caller` to sentieon. -Variant filtering behaviour can be controlled with two optional parameters: +Variant filtering behaviour can be controlled with an optional parameter: - `--ml_prob_threshold`: When set (e.g. `0.6`), variants with `INFO/ML_PROB <= threshold` are tagged `ML_FAIL` and subsequently removed. When not set, variants already tagged `MLrejected` by Sentieon are tagged `ML_FAIL` instead. -- `--normalize_multiallelics`: When `true`, adds `--multiallelics -both` to the bcftools norm step, splitting multiallelic records into biallelic records. Disabled by default to avoid a ~4% reduction in indel precision.
Output files diff --git a/docs/usage.md b/docs/usage.md index 4aee65c21..6a6b2ea81 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -255,13 +255,11 @@ The mandatory and optional parameters for each category are tabulated below. | | known_dbsnp_tbi2 | | | par_bed4 | | | ml_prob_threshold2 | -| | normalize_multiallelics5 | 1Default variant caller is DeepVariant, but you have the option to use Sentieon as well.
2These parameters are only used by Sentieon.
3Default is `WGS`, but you have the option to choose `WES` and `mito` as well.
4This parameter is only used by Deepvariant.
-5When `true`, adds `--multiallelics -both` to the bcftools norm step. Disabled by default to avoid a ~4% indel precision loss. Applies to both Sentieon and ExpansionHunter normalisation steps.
##### 5. Variant calling - Structural variants diff --git a/nextflow.config b/nextflow.config index 907bbc3d4..f8391cdf3 100644 --- a/nextflow.config +++ b/nextflow.config @@ -92,7 +92,7 @@ params { sv_size_threshold = null // e.g. 1000000 — filter SVs larger than this (bp) manta_call_regions = null // BED.gz file restricting Manta to specific regions; null = whole genome ml_prob_threshold = null // ML_PROB filter threshold (e.g. 0.6); null = use pipeline default (0.95) - normalize_multiallelics = false // if true, add --multiallelics -both to bcftools norm steps + variant_consequences_snv = null variant_consequences_sv = null vep_filters = null diff --git a/nextflow_schema.json b/nextflow_schema.json index c29581032..c7ce34ea1 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -635,12 +635,6 @@ "description": "bcftools -e expression to filter SVs by population frequency (e.g. 'INFO/SWEFRQ >= 0.02'). Null disables the filter.", "help_text": "Full bcftools exclude expression, supporting any INFO field. Variants matching the expression are removed. Example: 'INFO/SWEFRQ >= 0.02 || INFO/AF >= 0.02'." }, - "normalize_multiallelics": { - "type": "boolean", - "default": false, - "fa_icon": "fas fa-code-branch", - "description": "If true, add --multiallelics -both to bcftools norm (SPLIT_MULTIALLELICS). Disabled by default to avoid ~4% indel precision loss verified with GIAB." - }, "sv_size_threshold": { "type": "integer", "fa_icon": "fas fa-filter", diff --git a/tests/default.nf.test b/tests/default.nf.test index c4249e801..fd07cd509 100644 --- a/tests/default.nf.test +++ b/tests/default.nf.test @@ -127,22 +127,4 @@ nextflow_pipeline { } } - test("-profile test -- normalize_multiallelics") { - - options "-stub" - - when { - params { - outdir = "$outputDir" - skip_tools = "germlinecnvcaller,gens" - normalize_multiallelics = true - } - } - - then { - assertAll( - { assert workflow.success } - ) - } - } } From 4aea0b25f32083fab6494a4b9e6c373a1d6625fc Mon Sep 17 00:00:00 2001 From: xtruka Date: Tue, 28 Apr 2026 08:08:13 +0200 Subject: [PATCH 12/13] revert: re-enable CNVnator in call_structural_variants and svcaller_priority --- main.nf | 4 +- .../local/call_structural_variants/main.nf | 9 +- tests/default.nf.test.snap | 893 +----------------- 3 files changed, 11 insertions(+), 895 deletions(-) diff --git a/main.nf b/main.nf index f6439d972..384409d17 100644 --- a/main.nf +++ b/main.nf @@ -350,9 +350,9 @@ workflow NFCORE_RAREDISEASE { } } else { if (val_analysis_type.equals("wgs")) { - ch_svcaller_priority = channel.value(["tiddit", "manta", "gcnvcaller"]) + ch_svcaller_priority = channel.value(["tiddit", "manta", "gcnvcaller", "cnvnator"]) } else { - ch_svcaller_priority = channel.value(["manta", "gcnvcaller"]) + ch_svcaller_priority = channel.value(["manta", "gcnvcaller", "cnvnator"]) } } diff --git a/subworkflows/local/call_structural_variants/main.nf b/subworkflows/local/call_structural_variants/main.nf index 046c241af..d5c115189 100644 --- a/subworkflows/local/call_structural_variants/main.nf +++ b/subworkflows/local/call_structural_variants/main.nf @@ -7,7 +7,7 @@ include { CALL_SV_TIDDIT } from '../call_sv_tiddit' include { CALL_SV_MT } from '../call_sv_MT' include { SVDB_MERGE } from '../../../modules/nf-core/svdb/merge/main' include { CALL_SV_GERMLINECNVCALLER } from '../call_sv_germlinecnvcaller' -// include { CALL_SV_CNVNATOR } from '../call_sv_cnvnator' // disabled: container broken (assert.h not found) +include { CALL_SV_CNVNATOR } from '../call_sv_cnvnator' // disabled: container broken (assert.h not found) include { TABIX_TABIX } from '../../../modules/nf-core/tabix/tabix/main' workflow CALL_STRUCTURAL_VARIANTS { @@ -71,8 +71,11 @@ workflow CALL_STRUCTURAL_VARIANTS { .collect{ _meta, vcf -> vcf } .set { ch_tiddit_vcf } - // CALL_SV_CNVNATOR disabled: container missing C headers (assert.h not found, exit 140) - // ch_cnvnator_vcf stays as channel.empty() defined above + CALL_SV_CNVNATOR (ch_genome_bam_bai, ch_genome_fasta, ch_case_info) + .vcf + .collect{ _meta, vcf -> vcf } + .set { ch_cnvnator_vcf } + } if (!skip_germlinecnvcaller) { diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 654f16d02..e6f02b942 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -1,899 +1,12 @@ { "-profile test": { "content": [ - { - "ADD_VARCALLER_TO_BED": { - "bgzip": 1.21, - "tabix": 1.21 - }, - "BCFTOOLS_ANNOTATE": { - "bcftools": 1.22 - }, - "BCFTOOLS_CONCAT": { - "bcftools": 1.22 - }, - "BCFTOOLS_CONCAT_ME": { - "bcftools": 1.22 - }, - "BCFTOOLS_DECOMPRESS_MERGE": { - "bcftools": 1.22 - }, - "BCFTOOLS_MERGE_MT": { - "bcftools": 1.22 - }, - "BCFTOOLS_REHEADER_EXP": { - "bcftools": 1.22 - }, - "BCFTOOLS_REHEADER_ME": { - "bcftools": 1.22 - }, - "BCFTOOLS_ROH": { - "bcftools": 1.22 - }, - "BCFTOOLS_SORT": { - "bcftools": 1.22 - }, - "BCFTOOLS_SORT_ME": { - "bcftools": 1.22 - }, - "BCFTOOLS_VIEW": { - "bcftools": 1.22 - }, - "BCFTOOLS_VIEW_FILTER": { - "bcftools": 1.22 - }, - "BCFTOOLS_VIEW_MANTA": { - "bcftools": 1.22 - }, - "BCFTOOLS_VIEW_RHOCALL": { - "bcftools": 1.22 - }, - "BCFTOOLS_VIEW_TIDDIT": { - "bcftools": 1.22 - }, - "BCFTOOLS_VIEW_UNCOMPRESS": { - "bcftools": 1.22 - }, - "BEDTOOLS_PAD_TARGET_BED": { - "bedtools": "2.31.1" - }, - "BWAMEM2_INDEX_GENOME": { - "bwamem2": "2.2.1" - }, - "BWAMEM2_INDEX_MT": { - "bwamem2": "2.2.1" - }, - "BWAMEM2_INDEX_MT_SHIFT": { - "bwamem2": "2.2.1" - }, - "BWAMEM2_MEM": { - "bwamem2": "2.2.1", - "samtools": "1.22.1" - }, - "BWAMEM2_MEM_MT": { - "bwamem2": "2.2.1", - "samtools": "1.22.1" - }, - "BWA_INDEX_GENOME": { - "bwa": "0.7.19-r1273" - }, - "CAT_CAT_BAIT": { - "pigz": 2.8 - }, - "CAT_FASTQ": { - "cat": 9.5 - }, - "CHROMOGRAPH_AUTOZYG": { - "chromograph": "1.3.1" - }, - "CHROMOGRAPH_COV": { - "chromograph": "1.3.1" - }, - "CHROMOGRAPH_REGIONS": { - "chromograph": "1.3.1" - }, - "CHROMOGRAPH_SITES": { - "chromograph": "1.3.1" - }, - "CREATE_HGNCIDS_FILE": { - "create_hgncids_file": 1.0, - "python": "3.14.3" - }, - "CREATE_PEDIGREE_FILE": { - "coreutils": 9.5 - }, - "CUSTOM_ADDMOSTSEVERECONSEQUENCE": { - "addmostsevereconsequence": "1.2.0", - "bgzip": 1.21 - }, - "CUSTOM_ADDMOSTSEVEREPLI": { - "addmostseverepli": "1.2.0", - "bgzip": 1.21 - }, - "DEEPVARIANT": { - "deepvariant": "1.9.0" - }, - "ENSEMBLVEP_FILTERVEP": { - "ensemblvep": 115.2, - "perl-math-cdf": 0.1 - }, - "ENSEMBLVEP_ME": { - "ensemblvep": 110.1, - "perl-math-cdf": 0.1, - "tabix": 1.21 - }, - "ENSEMBLVEP_MT": { - "ensemblvep": 110.1, - "perl-math-cdf": 0.1, - "tabix": 1.21 - }, - "ENSEMBLVEP_SNV": { - "ensemblvep": 110.1, - "perl-math-cdf": 0.1, - "tabix": 1.21 - }, - "ENSEMBLVEP_SV": { - "ensemblvep": 110.1, - "perl-math-cdf": 0.1, - "tabix": 1.21 - }, - "EXPANSIONHUNTER": { - "bgzip": "1.22.1", - "expansionhunter": "5.0.0" - }, - "FASTP": { - "fastp": "1.0.1" - }, - "FASTQC": { - "fastqc": "0.12.1" - }, - "GATK4_FILTERMUTECTCALLS_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_MERGEBAMALIGNMENT_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_MERGEVCFS_LIFT_UNLIFT_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_MUTECT2_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_PRINTREADS_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_REVERTSAM_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_SAMTOFASTQ_MT": { - "gatk4": "4.6.2.0" - }, - "GATK4_SELECTVARIANTS": { - "gatk4": "4.6.2.0" - }, - "GATK4_SPLITINTERVALS": { - "gatk4": "4.6.2.0" - }, - "GATK4_VARIANTFILTRATION_MT": { - "gatk4": "4.6.2.0" - }, - "GATK_BILT": { - "gatk4": "4.6.2.0" - }, - "GATK_ILT": { - "gatk4": "4.6.2.0" - }, - "GATK_SD": { - "gatk4": "4.6.2.0" - }, - "GATK_SD_MT": { - "gatk4": "4.6.2.0" - }, - "GATK_SHIFTFASTA": { - "gatk4": "4.6.2.0" - }, - "GAWK": { - "gawk": "5.3.1" - }, - "GENMOD_ANNOTATE": { - "genmod": "3.10.2" - }, - "GENMOD_COMPOUND": { - "genmod": "3.10.2" - }, - "GENMOD_MODELS": { - "genmod": "3.10.2" - }, - "GENMOD_SCORE": { - "genmod": "3.10.2" - }, - "GET_CHROM_SIZES": { - "coreutils": 9.5 - }, - "GLNEXUS": { - "glnexus": "1.4.1" - }, - "HISAT2_INDEX_GENOME": { - "hisat2": "2.2.1" - }, - "INDEX_TIDDIT": { - "bgzip": 1.21, - "tabix": 1.21 - }, - "LAST_INDEX_MT": { - "last": 1611 - }, - "MANTA": { - "manta": "1.6.0" - }, - "MARKDUPLICATES": { - "picard": "3.4.0" - }, - "ME_SPLIT_ALIGNMENT": { - "samtools": "1.22.1" - }, - "MITOSALT": { - "mitosalt": "1.1.1" - }, - "MOSDEPTH": { - "mosdepth": "0.3.11" - }, - "MT_DELETION": { - "mitodel": 1.0, - "samtools": 1.23 - }, - "NGSBITS_SAMPLEGENDER": { - "ngsbits": 202512 - }, - "PEDDY": { - "peddy": "0.4.8" - }, - "PICARD_ADDORREPLACEREADGROUPS_MT": { - "picard": "3.4.0" - }, - "PICARD_COLLECTHSMETRICS": { - "picard": "3.4.0" - }, - "PICARD_COLLECTMULTIPLEMETRICS": { - "picard": "3.4.0" - }, - "PICARD_COLLECTWGSMETRICS_WG": { - "picard": "3.4.0" - }, - "PICARD_COLLECTWGSMETRICS_Y": { - "picard": "3.4.0" - }, - "PICARD_LIFTOVERVCF": { - "picard": "3.4.0" - }, - "PICARD_MARKDUPLICATES_MT": { - "picard": "3.4.0" - }, - "PICARD_SORTVCF": { - "picard": "3.4.0" - }, - "REMOVE_DUPLICATES_GL": { - "bcftools": 1.22 - }, - "REMOVE_DUPLICATES_MT": { - "bcftools": 1.22 - }, - "RENAMESAMPLE_EXP": { - "picard": "3.4.0" - }, - "RENAME_BAI": { - "coreutils": 9.5 - }, - "RENAME_BAM": { - "coreutils": 9.5 - }, - "RETROSEQ_CALL": { - "retroseq": 1.5 - }, - "RETROSEQ_DISCOVER": { - "retroseq": 1.5 - }, - "RHOCALL_ANNOTATE": { - "rhocall": "0.5.1" - }, - "RHOCALL_VIZ": { - "rhocall": "0.5.1" - }, - "SALTSHAKER_CALL": { - "saltshaker": "1.0.0" - }, - "SALTSHAKER_CLASSIFY": { - "saltshaker": "1.0.1" - }, - "SALTSHAKER_PLOT": { - "saltshaker": "1.0.0" - }, - "SAMTOOLS_COLLATE": { - "samtools": "1.22.1" - }, - "SAMTOOLS_EXTRACT_MT": { - "samtools": "1.22.1" - }, - "SAMTOOLS_FAIDX_MT": { - "samtools": "1.22.1" - }, - "SAMTOOLS_INDEX_ALIGN": { - "samtools": "1.22.1" - }, - "SAMTOOLS_INDEX_MARKDUP": { - "samtools": "1.22.1" - }, - "SAMTOOLS_INDEX_MT": { - "samtools": "1.22.1" - }, - "SAMTOOLS_SORT": { - "samtools": "1.22.1" - }, - "SAMTOOLS_SORT_MT": { - "samtools": "1.22.1" - }, - "SAMTOOLS_STATS": { - "samtools": "1.22.1" - }, - "SAMTOOLS_VIEW": { - "samtools": "1.22.1" - }, - "SAM_TO_BAM": { - "samtools": "1.22.1" - }, - "SEQTK_SAMPLE": { - "seqtk": "1.4-r122" - }, - "SMNCOPYNUMBERCALLER": { - "smncopynumbercaller": "1.1.2" - }, - "SPLIT_AND_FILTER_SV_VCF": { - "bcftools": 1.22 - }, - "SPLIT_MULTIALLELICS_EXP": { - "bcftools": 1.22 - }, - "SPLIT_MULTIALLELICS_GL": { - "bcftools": 1.22 - }, - "SPLIT_MULTIALLELICS_MT": { - "bcftools": 1.22 - }, - "SPRING_DECOMPRESS_TO_FQ_PAIR": { - "spring": "1.1.1" - }, - "STRANGER": { - "stranger": "0.10.0", - "tabix": 1.23 - }, - "SVDB_MERGE": { - "bcftools": 1.23, - "svdb": "2.8.4" - }, - "SVDB_MERGE_ME": { - "bcftools": 1.23, - "svdb": "2.8.4" - }, - "SVDB_MERGE_REPEATS": { - "bcftools": 1.23, - "svdb": "2.8.4" - }, - "SVDB_MERGE_TIDDIT": { - "bcftools": 1.23, - "svdb": "2.8.4" - }, - "SVDB_QUERY_DB": { - "svdb": "2.8.4" - }, - "TABIX_ANNOTATE": { - "tabix": 1.21 - }, - "TABIX_BGZIPINDEX_PADDED_BED": { - "bgzip": 1.21, - "tabix": 1.21 - }, - "TABIX_BGZIPTABIX": { - "bgzip": 1.21, - "tabix": 1.21 - }, - "TABIX_DBSNP": { - "tabix": 1.21 - }, - "TABIX_EXP_RENAME": { - "tabix": 1.21 - }, - "TABIX_GNOMAD_AF": { - "tabix": 1.21 - }, - "TABIX_ME": { - "tabix": 1.21 - }, - "TABIX_ME_SPLIT": { - "tabix": 1.21 - }, - "TABIX_TABIX": { - "tabix": 1.21 - }, - "TABIX_TABIX_MERGE": { - "tabix": 1.21 - }, - "TABIX_TABIX_MT2": { - "tabix": 1.21 - }, - "TABIX_TABIX_MT": { - "tabix": 1.21 - }, - "TIDDIT_COV": { - "tiddit": "3.9.5" - }, - "TIDDIT_COV_VCF2CYTOSURE": { - "tiddit": "3.9.5" - }, - "TIDDIT_SV": { - "tiddit": "3.9.5" - }, - "UCSC_WIGTOBIGWIG": { - "ucsc": 482 - }, - "UNTAR_VEP_CACHE": { - "untar": 1.34 - }, - "UPD_REGIONS": { - "upd": 0.1 - }, - "UPD_SITES": { - "upd": 0.1 - }, - "VCF2CYTOSURE": { - "vcf2cytosure": "0.9.3" - }, - "VCFANNO": { - "vcfanno": "0.3.7" - }, - "VCFANNO_MT": { - "vcfanno": "0.3.7" - }, - "Workflow": { - "nf-core/raredisease": "v2.7.0dev" - }, - "ZIP_TABIX_ROHCALL": { - "bgzip": 1.21, - "tabix": 1.21 - } - }, + null, [ - "alignment", - "alignment/earlycasualcaiman_mt_subsample.bam", - "alignment/earlycasualcaiman_mt_subsample.bam.bai", - "alignment/earlycasualcaiman_sorted_md.bam", - "alignment/earlycasualcaiman_sorted_md.bam.bai", - "alignment/earlycasualcaiman_sorted_md.metrics.txt", - "alignment/hugelymodelbat_mt_subsample.bam", - "alignment/hugelymodelbat_mt_subsample.bam.bai", - "alignment/hugelymodelbat_sorted_md.bam", - "alignment/hugelymodelbat_sorted_md.bam.bai", - "alignment/hugelymodelbat_sorted_md.metrics.txt", - "alignment/slowlycivilbuck_mt_subsample.bam", - "alignment/slowlycivilbuck_mt_subsample.bam.bai", - "alignment/slowlycivilbuck_sorted_md.bam", - "alignment/slowlycivilbuck_sorted_md.bam.bai", - "alignment/slowlycivilbuck_sorted_md.metrics.txt", - "annotate_mobile_elements", - "annotate_mobile_elements/justhusky_me_pli_clinical.vcf.gz", - "annotate_mobile_elements/justhusky_me_pli_clinical.vcf.gz.tbi", - "annotate_mobile_elements/justhusky_me_pli_research.vcf.gz", - "annotate_mobile_elements/justhusky_me_pli_research.vcf.gz.tbi", - "annotate_snv", - "annotate_snv/genome", - "annotate_snv/genome/earlycasualcaiman_rhocallviz", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr1.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr10.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr11.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr12.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr13.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr14.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr15.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr16.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr17.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr18.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr19.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr2.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr20.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr21.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr22.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr3.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr4.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr5.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr6.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr7.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr8.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr9.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chrM.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chrX.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chrY.png", - "annotate_snv/genome/earlycasualcaiman_rhocallviz/earlycasualcaiman_rhocallviz.bed", - "annotate_snv/genome/earlycasualcaiman_rhocallviz/earlycasualcaiman_rhocallviz.bw", - "annotate_snv/genome/earlycasualcaiman_rhocallviz/earlycasualcaiman_rhocallviz.wig", - "annotate_snv/genome/hugelymodelbat_rhocallviz", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr1.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr10.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr11.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr12.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr13.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr14.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr15.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr16.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr17.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr18.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr19.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr2.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr20.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr21.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr22.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr3.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr4.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr5.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr6.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr7.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr8.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr9.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chrM.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chrX.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chrY.png", - "annotate_snv/genome/hugelymodelbat_rhocallviz/hugelymodelbat_rhocallviz.bed", - "annotate_snv/genome/hugelymodelbat_rhocallviz/hugelymodelbat_rhocallviz.bw", - "annotate_snv/genome/hugelymodelbat_rhocallviz/hugelymodelbat_rhocallviz.wig", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr1.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr10.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr11.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr12.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr13.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr14.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr15.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr16.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr17.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr18.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr19.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr2.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr20.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr21.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr22.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr3.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr4.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr5.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr6.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr7.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr8.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr9.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chrM.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chrX.png", - "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chrY.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr1.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr10.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr11.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr12.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr13.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr14.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr15.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr16.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr17.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr18.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr19.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr2.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr20.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr21.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr22.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr3.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr4.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr5.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr6.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr7.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr8.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr9.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chrM.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chrX.png", - "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chrY.png", - "annotate_snv/genome/justhusky_rhocall_filter_vep.vcf.gz", - "annotate_snv/genome/justhusky_rhocall_filter_vep.vcf.gz.tbi", - "annotate_snv/genome/slowlycivilbuck_rhocallviz", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr1.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr10.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr11.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr12.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr13.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr14.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr15.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr16.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr17.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr18.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr19.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr2.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr20.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr21.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr22.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr3.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr4.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr5.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr6.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr7.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr8.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr9.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chrM.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chrX.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chrY.png", - "annotate_snv/genome/slowlycivilbuck_rhocallviz/slowlycivilbuck_rhocallviz.bed", - "annotate_snv/genome/slowlycivilbuck_rhocallviz/slowlycivilbuck_rhocallviz.bw", - "annotate_snv/genome/slowlycivilbuck_rhocallviz/slowlycivilbuck_rhocallviz.wig", - "annotate_snv/mitochondria", - "annotate_snv/mitochondria/justhusky_mitochondria_vcfanno_vep.vcf.gz", - "annotate_snv/mitochondria/justhusky_mitochondria_vcfanno_vep.vcf.gz.tbi", - "annotate_sv", - "annotate_sv/justhusky_svdbquery_vep.vcf.gz", - "annotate_sv/justhusky_svdbquery_vep.vcf.gz.tbi", - "annotate_sv/justhusky_svdbquery_vep_summary.html", - "call_mobile_elements", - "call_mobile_elements/justhusky_mobile_elements.vcf.gz", - "call_mobile_elements/justhusky_mobile_elements.vcf.gz.tbi", - "call_snv", - "call_snv/genome", - "call_snv/genome/justhusky_snv.vcf.gz", - "call_snv/genome/justhusky_snv.vcf.gz.tbi", - "call_snv/mitochondria", - "call_snv/mitochondria/justhusky_mitochondria.vcf.gz", - "call_snv/mitochondria/justhusky_mitochondria.vcf.gz.tbi", - "call_sv", - "call_sv/earlycasualcaiman.saltshaker.png", - "call_sv/earlycasualcaiman.saltshaker_classify.html", - "call_sv/earlycasualcaiman_mitochondria_deletions.txt", - "call_sv/hugelymodelbat_mitochondria_deletions.txt", - "call_sv/justhusky_saltshaker.vcf.gz", - "call_sv/justhusky_sv.vcf.gz", - "call_sv/justhusky_sv.vcf.gz.tbi", - "call_sv/slowlycivilbuck_mitochondria_deletions.txt", - "fastqc", - "fastqc/earlycasualcaiman_LNUMBER1", - "fastqc/earlycasualcaiman_LNUMBER1/earlycasualcaiman_LNUMBER1.html", - "fastqc/earlycasualcaiman_LNUMBER1/earlycasualcaiman_LNUMBER1.zip", - "fastqc/hugelymodelbat_LNUMBER3", - "fastqc/hugelymodelbat_LNUMBER3/hugelymodelbat_LNUMBER3.html", - "fastqc/hugelymodelbat_LNUMBER3/hugelymodelbat_LNUMBER3.zip", - "fastqc/slowlycivilbuck_LNUMBER2", - "fastqc/slowlycivilbuck_LNUMBER2/slowlycivilbuck_LNUMBER2.html", - "fastqc/slowlycivilbuck_LNUMBER2/slowlycivilbuck_LNUMBER2.zip", - "multiqc", - "multiqc/multiqc_data", - "multiqc/multiqc_data/.stub", - "multiqc/multiqc_plots", - "multiqc/multiqc_report.html", - "ngsbits_samplegender", - "ngsbits_samplegender/earlycasualcaiman_ngsbits_sex.tsv", - "ngsbits_samplegender/hugelymodelbat_ngsbits_sex.tsv", - "ngsbits_samplegender/slowlycivilbuck_ngsbits_sex.tsv", - "peddy", - "peddy/justhusky.het_check.csv", - "peddy/justhusky.het_check.png", - "peddy/justhusky.html", - "peddy/justhusky.ped_check.csv", - "peddy/justhusky.ped_check.png", - "peddy/justhusky.ped_check.rel-difference.csv", - "peddy/justhusky.peddy.ped", - "peddy/justhusky.sex_check.csv", - "peddy/justhusky.sex_check.png", - "peddy/justhusky.vs.html", - "pedigree", - "pedigree/justhusky.ped", - "pipeline_info", - "pipeline_info/nf_core_raredisease_software_mqc_versions.yml", - "qc_bam", - "qc_bam/earlycasualcaiman_hsmetrics.CollectHsMetrics.coverage_metrics", - "qc_bam/earlycasualcaiman_mosdepth.global.dist.txt", - "qc_bam/earlycasualcaiman_mosdepth.per-base.bed.gz", - "qc_bam/earlycasualcaiman_mosdepth.per-base.bed.gz.csi", - "qc_bam/earlycasualcaiman_mosdepth.per-base.d4", - "qc_bam/earlycasualcaiman_mosdepth.quantized.bed.gz", - "qc_bam/earlycasualcaiman_mosdepth.quantized.bed.gz.csi", - "qc_bam/earlycasualcaiman_mosdepth.region.dist.txt", - "qc_bam/earlycasualcaiman_mosdepth.regions.bed.gz", - "qc_bam/earlycasualcaiman_mosdepth.regions.bed.gz.csi", - "qc_bam/earlycasualcaiman_mosdepth.summary.txt", - "qc_bam/earlycasualcaiman_mosdepth.thresholds.bed.gz", - "qc_bam/earlycasualcaiman_mosdepth.thresholds.bed.gz.csi", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.alignment_summary_metrics", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle.pdf", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle_metrics", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.insert_size_histogram.pdf", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.insert_size_metrics", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_by_cycle.pdf", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_by_cycle_metrics", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_distribution.pdf", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_distribution_metrics", - "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.read_length_histogram.pdf", - "qc_bam/earlycasualcaiman_tidditcov.bed", - "qc_bam/earlycasualcaiman_tidditcov.bw", - "qc_bam/earlycasualcaiman_tidditcov.wig", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr1.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr10.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr11.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr12.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr13.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr14.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr15.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr16.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr17.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr18.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr19.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr2.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr20.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr21.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr22.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr3.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr4.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr5.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr6.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr7.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr8.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chr9.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chrM.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chrX.png", - "qc_bam/earlycasualcaiman_tidditcov.wig_chrY.png", - "qc_bam/earlycasualcaiman_wgsmetrics.CollectWgsMetrics.coverage_metrics", - "qc_bam/earlycasualcaiman_wgsmetrics_y.CollectWgsMetrics.coverage_metrics", - "qc_bam/hugelymodelbat_hsmetrics.CollectHsMetrics.coverage_metrics", - "qc_bam/hugelymodelbat_mosdepth.global.dist.txt", - "qc_bam/hugelymodelbat_mosdepth.per-base.bed.gz", - "qc_bam/hugelymodelbat_mosdepth.per-base.bed.gz.csi", - "qc_bam/hugelymodelbat_mosdepth.per-base.d4", - "qc_bam/hugelymodelbat_mosdepth.quantized.bed.gz", - "qc_bam/hugelymodelbat_mosdepth.quantized.bed.gz.csi", - "qc_bam/hugelymodelbat_mosdepth.region.dist.txt", - "qc_bam/hugelymodelbat_mosdepth.regions.bed.gz", - "qc_bam/hugelymodelbat_mosdepth.regions.bed.gz.csi", - "qc_bam/hugelymodelbat_mosdepth.summary.txt", - "qc_bam/hugelymodelbat_mosdepth.thresholds.bed.gz", - "qc_bam/hugelymodelbat_mosdepth.thresholds.bed.gz.csi", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.alignment_summary_metrics", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle.pdf", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle_metrics", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.insert_size_histogram.pdf", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.insert_size_metrics", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_by_cycle.pdf", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_by_cycle_metrics", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_distribution.pdf", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_distribution_metrics", - "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.read_length_histogram.pdf", - "qc_bam/hugelymodelbat_tidditcov.bed", - "qc_bam/hugelymodelbat_tidditcov.bw", - "qc_bam/hugelymodelbat_tidditcov.wig", - "qc_bam/hugelymodelbat_tidditcov.wig_chr1.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr10.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr11.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr12.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr13.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr14.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr15.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr16.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr17.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr18.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr19.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr2.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr20.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr21.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr22.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr3.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr4.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr5.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr6.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr7.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr8.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chr9.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chrM.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chrX.png", - "qc_bam/hugelymodelbat_tidditcov.wig_chrY.png", - "qc_bam/hugelymodelbat_wgsmetrics.CollectWgsMetrics.coverage_metrics", - "qc_bam/hugelymodelbat_wgsmetrics_y.CollectWgsMetrics.coverage_metrics", - "qc_bam/slowlycivilbuck_hsmetrics.CollectHsMetrics.coverage_metrics", - "qc_bam/slowlycivilbuck_mosdepth.global.dist.txt", - "qc_bam/slowlycivilbuck_mosdepth.per-base.bed.gz", - "qc_bam/slowlycivilbuck_mosdepth.per-base.bed.gz.csi", - "qc_bam/slowlycivilbuck_mosdepth.per-base.d4", - "qc_bam/slowlycivilbuck_mosdepth.quantized.bed.gz", - "qc_bam/slowlycivilbuck_mosdepth.quantized.bed.gz.csi", - "qc_bam/slowlycivilbuck_mosdepth.region.dist.txt", - "qc_bam/slowlycivilbuck_mosdepth.regions.bed.gz", - "qc_bam/slowlycivilbuck_mosdepth.regions.bed.gz.csi", - "qc_bam/slowlycivilbuck_mosdepth.summary.txt", - "qc_bam/slowlycivilbuck_mosdepth.thresholds.bed.gz", - "qc_bam/slowlycivilbuck_mosdepth.thresholds.bed.gz.csi", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.alignment_summary_metrics", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle.pdf", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle_metrics", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.insert_size_histogram.pdf", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.insert_size_metrics", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_by_cycle.pdf", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_by_cycle_metrics", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_distribution.pdf", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_distribution_metrics", - "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.read_length_histogram.pdf", - "qc_bam/slowlycivilbuck_tidditcov.bed", - "qc_bam/slowlycivilbuck_tidditcov.bw", - "qc_bam/slowlycivilbuck_tidditcov.wig", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr1.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr10.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr11.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr12.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr13.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr14.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr15.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr16.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr17.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr18.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr19.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr2.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr20.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr21.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr22.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr3.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr4.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr5.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr6.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr7.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr8.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chr9.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chrM.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chrX.png", - "qc_bam/slowlycivilbuck_tidditcov.wig_chrY.png", - "qc_bam/slowlycivilbuck_wgsmetrics.CollectWgsMetrics.coverage_metrics", - "qc_bam/slowlycivilbuck_wgsmetrics_y.CollectWgsMetrics.coverage_metrics", - "rank_and_filter", - "rank_and_filter/justhusky_mt_ranked_clinical.vcf.gz", - "rank_and_filter/justhusky_mt_ranked_clinical.vcf.gz.tbi", - "rank_and_filter/justhusky_mt_ranked_research.vcf.gz", - "rank_and_filter/justhusky_mt_ranked_research.vcf.gz.tbi", - "rank_and_filter/justhusky_snv_ranked_clinical.vcf.gz", - "rank_and_filter/justhusky_snv_ranked_clinical.vcf.gz.tbi", - "rank_and_filter/justhusky_snv_ranked_research.vcf.gz", - "rank_and_filter/justhusky_snv_ranked_research.vcf.gz.tbi", - "rank_and_filter/justhusky_sv_ranked_clinical.vcf.gz", - "rank_and_filter/justhusky_sv_ranked_clinical.vcf.gz.tbi", - "rank_and_filter/justhusky_sv_ranked_research.vcf.gz", - "rank_and_filter/justhusky_sv_ranked_research.vcf.gz.tbi", - "repeat_expansions", - "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam", - "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam.bai", - "repeat_expansions/hugelymodelbat_exphunter_sorted.bam", - "repeat_expansions/hugelymodelbat_exphunter_sorted.bam.bai", - "repeat_expansions/justhusky_repeat_expansion.vcf", - "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz", - "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz.tbi", - "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam", - "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam.bai", - "smncopynumbercaller", - "smncopynumbercaller/out", - "smncopynumbercaller/out/justhusky_smncopynumbercaller.json", - "smncopynumbercaller/out/justhusky_smncopynumbercaller.tsv", - "trimming", - "trimming/earlycasualcaiman_LNUMBER1.fastp.html", - "trimming/earlycasualcaiman_LNUMBER1.fastp.json", - "trimming/earlycasualcaiman_LNUMBER1.fastp.log", - "trimming/earlycasualcaiman_LNUMBER1_R1.fastp.fastq.gz", - "trimming/earlycasualcaiman_LNUMBER1_R2.fastp.fastq.gz", - "trimming/hugelymodelbat_LNUMBER3.fastp.html", - "trimming/hugelymodelbat_LNUMBER3.fastp.json", - "trimming/hugelymodelbat_LNUMBER3.fastp.log", - "trimming/hugelymodelbat_LNUMBER3_R1.fastp.fastq.gz", - "trimming/hugelymodelbat_LNUMBER3_R2.fastp.fastq.gz", - "trimming/slowlycivilbuck_LNUMBER2.fastp.html", - "trimming/slowlycivilbuck_LNUMBER2.fastp.json", - "trimming/slowlycivilbuck_LNUMBER2.fastp.log", - "trimming/slowlycivilbuck_LNUMBER2_R1.fastp.fastq.gz", - "trimming/slowlycivilbuck_LNUMBER2_R2.fastp.fastq.gz", - "vcf2cytosure", - "vcf2cytosure/earlycasualcaiman.cgh", - "vcf2cytosure/hugelymodelbat.cgh", - "vcf2cytosure/slowlycivilbuck.cgh" + "pipeline_info" ] ], - "timestamp": "2026-04-27T08:49:50.206595757", + "timestamp": "2026-04-28T07:52:50.055467244", "meta": { "nf-test": "0.9.5", "nextflow": "25.10.4" From d2fe26b0292a99225d90ba4d6b16108794683b8e Mon Sep 17 00:00:00 2001 From: xtruka Date: Tue, 28 Apr 2026 09:30:40 +0200 Subject: [PATCH 13/13] update snapshot cnvnator back --- tests/default.nf.test.snap | 925 ++++++++++++++++++++++++++++++++++++- 1 file changed, 922 insertions(+), 3 deletions(-) diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index e6f02b942..ba6c6abf9 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -1,12 +1,931 @@ { "-profile test": { "content": [ - null, + { + "ADD_VARCALLER_TO_BED": { + "bgzip": 1.21, + "tabix": 1.21 + }, + "BCFTOOLS_ANNOTATE": { + "bcftools": 1.22 + }, + "BCFTOOLS_CONCAT": { + "bcftools": 1.22 + }, + "BCFTOOLS_CONCAT_ME": { + "bcftools": 1.22 + }, + "BCFTOOLS_DECOMPRESS_MERGE": { + "bcftools": 1.22 + }, + "BCFTOOLS_MERGE_MT": { + "bcftools": 1.22 + }, + "BCFTOOLS_REHEADER_EXP": { + "bcftools": 1.22 + }, + "BCFTOOLS_REHEADER_ME": { + "bcftools": 1.22 + }, + "BCFTOOLS_ROH": { + "bcftools": 1.22 + }, + "BCFTOOLS_SORT": { + "bcftools": 1.22 + }, + "BCFTOOLS_SORT_ME": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW_CNVNATOR": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW_FILTER": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW_MANTA": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW_RHOCALL": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW_TIDDIT": { + "bcftools": 1.22 + }, + "BCFTOOLS_VIEW_UNCOMPRESS": { + "bcftools": 1.22 + }, + "BEDTOOLS_PAD_TARGET_BED": { + "bedtools": "2.31.1" + }, + "BWAMEM2_INDEX_GENOME": { + "bwamem2": "2.2.1" + }, + "BWAMEM2_INDEX_MT": { + "bwamem2": "2.2.1" + }, + "BWAMEM2_INDEX_MT_SHIFT": { + "bwamem2": "2.2.1" + }, + "BWAMEM2_MEM": { + "bwamem2": "2.2.1", + "samtools": "1.22.1" + }, + "BWAMEM2_MEM_MT": { + "bwamem2": "2.2.1", + "samtools": "1.22.1" + }, + "BWA_INDEX_GENOME": { + "bwa": "0.7.19-r1273" + }, + "CAT_CAT_BAIT": { + "pigz": 2.8 + }, + "CAT_FASTQ": { + "cat": 9.5 + }, + "CHROMOGRAPH_AUTOZYG": { + "chromograph": "1.3.1" + }, + "CHROMOGRAPH_COV": { + "chromograph": "1.3.1" + }, + "CHROMOGRAPH_REGIONS": { + "chromograph": "1.3.1" + }, + "CHROMOGRAPH_SITES": { + "chromograph": "1.3.1" + }, + "CNVNATOR_CALL": { + "cnvnator": "0.4.1" + }, + "CNVNATOR_CONVERT2VCF": { + "cnvnator": "0.4.1" + }, + "CNVNATOR_HIST": { + "cnvnator": "0.4.1" + }, + "CNVNATOR_PARTITION": { + "cnvnator": "0.4.1" + }, + "CNVNATOR_RD": { + "cnvnator": "0.4.1" + }, + "CNVNATOR_STAT": { + "cnvnator": "0.4.1" + }, + "CREATE_HGNCIDS_FILE": { + "create_hgncids_file": 1.0, + "python": "3.14.3" + }, + "CREATE_PEDIGREE_FILE": { + "coreutils": 9.5 + }, + "CUSTOM_ADDMOSTSEVERECONSEQUENCE": { + "addmostsevereconsequence": "1.2.0", + "bgzip": 1.21 + }, + "CUSTOM_ADDMOSTSEVEREPLI": { + "addmostseverepli": "1.2.0", + "bgzip": 1.21 + }, + "DEEPVARIANT": { + "deepvariant": "1.9.0" + }, + "ENSEMBLVEP_FILTERVEP": { + "ensemblvep": 115.2, + "perl-math-cdf": 0.1 + }, + "ENSEMBLVEP_ME": { + "ensemblvep": 110.1, + "perl-math-cdf": 0.1, + "tabix": 1.21 + }, + "ENSEMBLVEP_MT": { + "ensemblvep": 110.1, + "perl-math-cdf": 0.1, + "tabix": 1.21 + }, + "ENSEMBLVEP_SNV": { + "ensemblvep": 110.1, + "perl-math-cdf": 0.1, + "tabix": 1.21 + }, + "ENSEMBLVEP_SV": { + "ensemblvep": 110.1, + "perl-math-cdf": 0.1, + "tabix": 1.21 + }, + "EXPANSIONHUNTER": { + "bgzip": "1.22.1", + "expansionhunter": "5.0.0" + }, + "FASTP": { + "fastp": "1.0.1" + }, + "FASTQC": { + "fastqc": "0.12.1" + }, + "GATK4_FILTERMUTECTCALLS_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_MERGEBAMALIGNMENT_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_MERGEVCFS_LIFT_UNLIFT_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_MUTECT2_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_PRINTREADS_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_REVERTSAM_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_SAMTOFASTQ_MT": { + "gatk4": "4.6.2.0" + }, + "GATK4_SELECTVARIANTS": { + "gatk4": "4.6.2.0" + }, + "GATK4_SPLITINTERVALS": { + "gatk4": "4.6.2.0" + }, + "GATK4_VARIANTFILTRATION_MT": { + "gatk4": "4.6.2.0" + }, + "GATK_BILT": { + "gatk4": "4.6.2.0" + }, + "GATK_ILT": { + "gatk4": "4.6.2.0" + }, + "GATK_SD": { + "gatk4": "4.6.2.0" + }, + "GATK_SD_MT": { + "gatk4": "4.6.2.0" + }, + "GATK_SHIFTFASTA": { + "gatk4": "4.6.2.0" + }, + "GAWK": { + "gawk": "5.3.1" + }, + "GENMOD_ANNOTATE": { + "genmod": "3.10.2" + }, + "GENMOD_COMPOUND": { + "genmod": "3.10.2" + }, + "GENMOD_MODELS": { + "genmod": "3.10.2" + }, + "GENMOD_SCORE": { + "genmod": "3.10.2" + }, + "GET_CHROM_SIZES": { + "coreutils": 9.5 + }, + "GLNEXUS": { + "glnexus": "1.4.1" + }, + "HISAT2_INDEX_GENOME": { + "hisat2": "2.2.1" + }, + "INDEX_CNVNATOR": { + "bgzip": 1.21, + "tabix": 1.21 + }, + "INDEX_TIDDIT": { + "bgzip": 1.21, + "tabix": 1.21 + }, + "LAST_INDEX_MT": { + "last": 1611 + }, + "MANTA": { + "manta": "1.6.0" + }, + "MARKDUPLICATES": { + "picard": "3.4.0" + }, + "ME_SPLIT_ALIGNMENT": { + "samtools": "1.22.1" + }, + "MITOSALT": { + "mitosalt": "1.1.1" + }, + "MOSDEPTH": { + "mosdepth": "0.3.11" + }, + "MT_DELETION": { + "mitodel": 1.0, + "samtools": 1.23 + }, + "NGSBITS_SAMPLEGENDER": { + "ngsbits": 202512 + }, + "PEDDY": { + "peddy": "0.4.8" + }, + "PICARD_ADDORREPLACEREADGROUPS_MT": { + "picard": "3.4.0" + }, + "PICARD_COLLECTHSMETRICS": { + "picard": "3.4.0" + }, + "PICARD_COLLECTMULTIPLEMETRICS": { + "picard": "3.4.0" + }, + "PICARD_COLLECTWGSMETRICS_WG": { + "picard": "3.4.0" + }, + "PICARD_COLLECTWGSMETRICS_Y": { + "picard": "3.4.0" + }, + "PICARD_LIFTOVERVCF": { + "picard": "3.4.0" + }, + "PICARD_MARKDUPLICATES_MT": { + "picard": "3.4.0" + }, + "PICARD_SORTVCF": { + "picard": "3.4.0" + }, + "REMOVE_DUPLICATES_GL": { + "bcftools": 1.22 + }, + "REMOVE_DUPLICATES_MT": { + "bcftools": 1.22 + }, + "RENAMESAMPLE_EXP": { + "picard": "3.4.0" + }, + "RENAME_BAI": { + "coreutils": 9.5 + }, + "RENAME_BAM": { + "coreutils": 9.5 + }, + "RETROSEQ_CALL": { + "retroseq": 1.5 + }, + "RETROSEQ_DISCOVER": { + "retroseq": 1.5 + }, + "RHOCALL_ANNOTATE": { + "rhocall": "0.5.1" + }, + "RHOCALL_VIZ": { + "rhocall": "0.5.1" + }, + "SALTSHAKER_CALL": { + "saltshaker": "1.0.0" + }, + "SALTSHAKER_CLASSIFY": { + "saltshaker": "1.0.1" + }, + "SALTSHAKER_PLOT": { + "saltshaker": "1.0.0" + }, + "SAMTOOLS_COLLATE": { + "samtools": "1.22.1" + }, + "SAMTOOLS_EXTRACT_MT": { + "samtools": "1.22.1" + }, + "SAMTOOLS_FAIDX_MT": { + "samtools": "1.22.1" + }, + "SAMTOOLS_INDEX_ALIGN": { + "samtools": "1.22.1" + }, + "SAMTOOLS_INDEX_MARKDUP": { + "samtools": "1.22.1" + }, + "SAMTOOLS_INDEX_MT": { + "samtools": "1.22.1" + }, + "SAMTOOLS_SORT": { + "samtools": "1.22.1" + }, + "SAMTOOLS_SORT_MT": { + "samtools": "1.22.1" + }, + "SAMTOOLS_STATS": { + "samtools": "1.22.1" + }, + "SAMTOOLS_VIEW": { + "samtools": "1.22.1" + }, + "SAM_TO_BAM": { + "samtools": "1.22.1" + }, + "SEQTK_SAMPLE": { + "seqtk": "1.4-r122" + }, + "SMNCOPYNUMBERCALLER": { + "smncopynumbercaller": "1.1.2" + }, + "SPLIT_AND_FILTER_SV_VCF": { + "bcftools": 1.22 + }, + "SPLIT_CHR": { + "bioawk": 1.0 + }, + "SPLIT_MULTIALLELICS_EXP": { + "bcftools": 1.22 + }, + "SPLIT_MULTIALLELICS_GL": { + "bcftools": 1.22 + }, + "SPLIT_MULTIALLELICS_MT": { + "bcftools": 1.22 + }, + "SPRING_DECOMPRESS_TO_FQ_PAIR": { + "spring": "1.1.1" + }, + "STRANGER": { + "stranger": "0.10.0", + "tabix": 1.23 + }, + "SVDB_MERGE": { + "bcftools": 1.23, + "svdb": "2.8.4" + }, + "SVDB_MERGE_CNVNATOR": { + "bcftools": 1.23, + "svdb": "2.8.4" + }, + "SVDB_MERGE_ME": { + "bcftools": 1.23, + "svdb": "2.8.4" + }, + "SVDB_MERGE_REPEATS": { + "bcftools": 1.23, + "svdb": "2.8.4" + }, + "SVDB_MERGE_TIDDIT": { + "bcftools": 1.23, + "svdb": "2.8.4" + }, + "SVDB_QUERY_DB": { + "svdb": "2.8.4" + }, + "TABIX_ANNOTATE": { + "tabix": 1.21 + }, + "TABIX_BGZIPINDEX_PADDED_BED": { + "bgzip": 1.21, + "tabix": 1.21 + }, + "TABIX_BGZIPTABIX": { + "bgzip": 1.21, + "tabix": 1.21 + }, + "TABIX_DBSNP": { + "tabix": 1.21 + }, + "TABIX_EXP_RENAME": { + "tabix": 1.21 + }, + "TABIX_GNOMAD_AF": { + "tabix": 1.21 + }, + "TABIX_ME": { + "tabix": 1.21 + }, + "TABIX_ME_SPLIT": { + "tabix": 1.21 + }, + "TABIX_TABIX": { + "tabix": 1.21 + }, + "TABIX_TABIX_MERGE": { + "tabix": 1.21 + }, + "TABIX_TABIX_MT2": { + "tabix": 1.21 + }, + "TABIX_TABIX_MT": { + "tabix": 1.21 + }, + "TIDDIT_COV": { + "tiddit": "3.9.5" + }, + "TIDDIT_COV_VCF2CYTOSURE": { + "tiddit": "3.9.5" + }, + "TIDDIT_SV": { + "tiddit": "3.9.5" + }, + "UCSC_WIGTOBIGWIG": { + "ucsc": 482 + }, + "UNTAR_VEP_CACHE": { + "untar": 1.34 + }, + "UPD_REGIONS": { + "upd": 0.1 + }, + "UPD_SITES": { + "upd": 0.1 + }, + "VCF2CYTOSURE": { + "vcf2cytosure": "0.9.3" + }, + "VCFANNO": { + "vcfanno": "0.3.7" + }, + "VCFANNO_MT": { + "vcfanno": "0.3.7" + }, + "Workflow": { + "nf-core/raredisease": "v2.7.0dev" + }, + "ZIP_TABIX_ROHCALL": { + "bgzip": 1.21, + "tabix": 1.21 + } + }, [ - "pipeline_info" + "alignment", + "alignment/earlycasualcaiman_mt_subsample.bam", + "alignment/earlycasualcaiman_mt_subsample.bam.bai", + "alignment/earlycasualcaiman_sorted_md.bam", + "alignment/earlycasualcaiman_sorted_md.bam.bai", + "alignment/earlycasualcaiman_sorted_md.metrics.txt", + "alignment/hugelymodelbat_mt_subsample.bam", + "alignment/hugelymodelbat_mt_subsample.bam.bai", + "alignment/hugelymodelbat_sorted_md.bam", + "alignment/hugelymodelbat_sorted_md.bam.bai", + "alignment/hugelymodelbat_sorted_md.metrics.txt", + "alignment/slowlycivilbuck_mt_subsample.bam", + "alignment/slowlycivilbuck_mt_subsample.bam.bai", + "alignment/slowlycivilbuck_sorted_md.bam", + "alignment/slowlycivilbuck_sorted_md.bam.bai", + "alignment/slowlycivilbuck_sorted_md.metrics.txt", + "annotate_mobile_elements", + "annotate_mobile_elements/justhusky_me_pli_clinical.vcf.gz", + "annotate_mobile_elements/justhusky_me_pli_clinical.vcf.gz.tbi", + "annotate_mobile_elements/justhusky_me_pli_research.vcf.gz", + "annotate_mobile_elements/justhusky_me_pli_research.vcf.gz.tbi", + "annotate_snv", + "annotate_snv/genome", + "annotate_snv/genome/earlycasualcaiman_rhocallviz", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr1.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr10.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr11.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr12.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr13.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr14.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr15.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr16.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr17.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr18.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr19.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr2.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr20.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr21.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr22.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr3.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr4.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr5.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr6.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr7.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr8.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chr9.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chrM.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chrX.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz.bed_chrY.png", + "annotate_snv/genome/earlycasualcaiman_rhocallviz/earlycasualcaiman_rhocallviz.bed", + "annotate_snv/genome/earlycasualcaiman_rhocallviz/earlycasualcaiman_rhocallviz.bw", + "annotate_snv/genome/earlycasualcaiman_rhocallviz/earlycasualcaiman_rhocallviz.wig", + "annotate_snv/genome/hugelymodelbat_rhocallviz", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr1.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr10.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr11.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr12.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr13.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr14.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr15.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr16.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr17.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr18.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr19.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr2.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr20.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr21.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr22.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr3.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr4.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr5.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr6.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr7.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr8.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chr9.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chrM.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chrX.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz.bed_chrY.png", + "annotate_snv/genome/hugelymodelbat_rhocallviz/hugelymodelbat_rhocallviz.bed", + "annotate_snv/genome/hugelymodelbat_rhocallviz/hugelymodelbat_rhocallviz.bw", + "annotate_snv/genome/hugelymodelbat_rhocallviz/hugelymodelbat_rhocallviz.wig", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr1.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr10.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr11.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr12.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr13.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr14.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr15.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr16.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr17.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr18.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr19.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr2.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr20.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr21.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr22.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr3.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr4.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr5.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr6.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr7.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr8.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chr9.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chrM.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chrX.png", + "annotate_snv/genome/hugelymodelbat_upd_regions.bed_chrY.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr1.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr10.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr11.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr12.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr13.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr14.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr15.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr16.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr17.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr18.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr19.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr2.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr20.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr21.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr22.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr3.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr4.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr5.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr6.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr7.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr8.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chr9.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chrM.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chrX.png", + "annotate_snv/genome/hugelymodelbat_upd_sites.bed_chrY.png", + "annotate_snv/genome/justhusky_rhocall_filter_vep.vcf.gz", + "annotate_snv/genome/justhusky_rhocall_filter_vep.vcf.gz.tbi", + "annotate_snv/genome/slowlycivilbuck_rhocallviz", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr1.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr10.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr11.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr12.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr13.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr14.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr15.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr16.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr17.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr18.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr19.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr2.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr20.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr21.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr22.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr3.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr4.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr5.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr6.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr7.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr8.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chr9.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chrM.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chrX.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz.bed_chrY.png", + "annotate_snv/genome/slowlycivilbuck_rhocallviz/slowlycivilbuck_rhocallviz.bed", + "annotate_snv/genome/slowlycivilbuck_rhocallviz/slowlycivilbuck_rhocallviz.bw", + "annotate_snv/genome/slowlycivilbuck_rhocallviz/slowlycivilbuck_rhocallviz.wig", + "annotate_snv/mitochondria", + "annotate_snv/mitochondria/justhusky_mitochondria_vcfanno_vep.vcf.gz", + "annotate_snv/mitochondria/justhusky_mitochondria_vcfanno_vep.vcf.gz.tbi", + "annotate_sv", + "annotate_sv/justhusky_svdbquery_vep.vcf.gz", + "annotate_sv/justhusky_svdbquery_vep.vcf.gz.tbi", + "annotate_sv/justhusky_svdbquery_vep_summary.html", + "call_mobile_elements", + "call_mobile_elements/justhusky_mobile_elements.vcf.gz", + "call_mobile_elements/justhusky_mobile_elements.vcf.gz.tbi", + "call_snv", + "call_snv/genome", + "call_snv/genome/justhusky_snv.vcf.gz", + "call_snv/genome/justhusky_snv.vcf.gz.tbi", + "call_snv/mitochondria", + "call_snv/mitochondria/justhusky_mitochondria.vcf.gz", + "call_snv/mitochondria/justhusky_mitochondria.vcf.gz.tbi", + "call_sv", + "call_sv/earlycasualcaiman_mitochondria_deletions.txt", + "call_sv/hugelymodelbat_mitochondria_deletions.txt", + "call_sv/justhusky_saltshaker.vcf.gz", + "call_sv/justhusky_sv.vcf.gz", + "call_sv/justhusky_sv.vcf.gz.tbi", + "call_sv/slowlycivilbuck.saltshaker.png", + "call_sv/slowlycivilbuck.saltshaker_classify.html", + "call_sv/slowlycivilbuck_mitochondria_deletions.txt", + "fastqc", + "fastqc/earlycasualcaiman_LNUMBER1", + "fastqc/earlycasualcaiman_LNUMBER1/earlycasualcaiman_LNUMBER1.html", + "fastqc/earlycasualcaiman_LNUMBER1/earlycasualcaiman_LNUMBER1.zip", + "fastqc/hugelymodelbat_LNUMBER3", + "fastqc/hugelymodelbat_LNUMBER3/hugelymodelbat_LNUMBER3.html", + "fastqc/hugelymodelbat_LNUMBER3/hugelymodelbat_LNUMBER3.zip", + "fastqc/slowlycivilbuck_LNUMBER2", + "fastqc/slowlycivilbuck_LNUMBER2/slowlycivilbuck_LNUMBER2.html", + "fastqc/slowlycivilbuck_LNUMBER2/slowlycivilbuck_LNUMBER2.zip", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_data/.stub", + "multiqc/multiqc_plots", + "multiqc/multiqc_report.html", + "ngsbits_samplegender", + "ngsbits_samplegender/earlycasualcaiman_ngsbits_sex.tsv", + "ngsbits_samplegender/hugelymodelbat_ngsbits_sex.tsv", + "ngsbits_samplegender/slowlycivilbuck_ngsbits_sex.tsv", + "peddy", + "peddy/justhusky.het_check.csv", + "peddy/justhusky.het_check.png", + "peddy/justhusky.html", + "peddy/justhusky.ped_check.csv", + "peddy/justhusky.ped_check.png", + "peddy/justhusky.ped_check.rel-difference.csv", + "peddy/justhusky.peddy.ped", + "peddy/justhusky.sex_check.csv", + "peddy/justhusky.sex_check.png", + "peddy/justhusky.vs.html", + "pedigree", + "pedigree/justhusky.ped", + "pipeline_info", + "pipeline_info/nf_core_raredisease_software_mqc_versions.yml", + "qc_bam", + "qc_bam/earlycasualcaiman_hsmetrics.CollectHsMetrics.coverage_metrics", + "qc_bam/earlycasualcaiman_mosdepth.global.dist.txt", + "qc_bam/earlycasualcaiman_mosdepth.per-base.bed.gz", + "qc_bam/earlycasualcaiman_mosdepth.per-base.bed.gz.csi", + "qc_bam/earlycasualcaiman_mosdepth.per-base.d4", + "qc_bam/earlycasualcaiman_mosdepth.quantized.bed.gz", + "qc_bam/earlycasualcaiman_mosdepth.quantized.bed.gz.csi", + "qc_bam/earlycasualcaiman_mosdepth.region.dist.txt", + "qc_bam/earlycasualcaiman_mosdepth.regions.bed.gz", + "qc_bam/earlycasualcaiman_mosdepth.regions.bed.gz.csi", + "qc_bam/earlycasualcaiman_mosdepth.summary.txt", + "qc_bam/earlycasualcaiman_mosdepth.thresholds.bed.gz", + "qc_bam/earlycasualcaiman_mosdepth.thresholds.bed.gz.csi", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.alignment_summary_metrics", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle.pdf", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle_metrics", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.insert_size_histogram.pdf", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.insert_size_metrics", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_by_cycle.pdf", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_by_cycle_metrics", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_distribution.pdf", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.quality_distribution_metrics", + "qc_bam/earlycasualcaiman_multiplemetrics.CollectMultipleMetrics.read_length_histogram.pdf", + "qc_bam/earlycasualcaiman_tidditcov.bed", + "qc_bam/earlycasualcaiman_tidditcov.bw", + "qc_bam/earlycasualcaiman_tidditcov.wig", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr1.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr10.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr11.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr12.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr13.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr14.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr15.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr16.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr17.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr18.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr19.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr2.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr20.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr21.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr22.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr3.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr4.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr5.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr6.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr7.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr8.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chr9.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chrM.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chrX.png", + "qc_bam/earlycasualcaiman_tidditcov.wig_chrY.png", + "qc_bam/earlycasualcaiman_wgsmetrics.CollectWgsMetrics.coverage_metrics", + "qc_bam/earlycasualcaiman_wgsmetrics_y.CollectWgsMetrics.coverage_metrics", + "qc_bam/hugelymodelbat_hsmetrics.CollectHsMetrics.coverage_metrics", + "qc_bam/hugelymodelbat_mosdepth.global.dist.txt", + "qc_bam/hugelymodelbat_mosdepth.per-base.bed.gz", + "qc_bam/hugelymodelbat_mosdepth.per-base.bed.gz.csi", + "qc_bam/hugelymodelbat_mosdepth.per-base.d4", + "qc_bam/hugelymodelbat_mosdepth.quantized.bed.gz", + "qc_bam/hugelymodelbat_mosdepth.quantized.bed.gz.csi", + "qc_bam/hugelymodelbat_mosdepth.region.dist.txt", + "qc_bam/hugelymodelbat_mosdepth.regions.bed.gz", + "qc_bam/hugelymodelbat_mosdepth.regions.bed.gz.csi", + "qc_bam/hugelymodelbat_mosdepth.summary.txt", + "qc_bam/hugelymodelbat_mosdepth.thresholds.bed.gz", + "qc_bam/hugelymodelbat_mosdepth.thresholds.bed.gz.csi", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.alignment_summary_metrics", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle.pdf", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle_metrics", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.insert_size_histogram.pdf", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.insert_size_metrics", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_by_cycle.pdf", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_by_cycle_metrics", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_distribution.pdf", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.quality_distribution_metrics", + "qc_bam/hugelymodelbat_multiplemetrics.CollectMultipleMetrics.read_length_histogram.pdf", + "qc_bam/hugelymodelbat_tidditcov.bed", + "qc_bam/hugelymodelbat_tidditcov.bw", + "qc_bam/hugelymodelbat_tidditcov.wig", + "qc_bam/hugelymodelbat_tidditcov.wig_chr1.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr10.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr11.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr12.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr13.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr14.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr15.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr16.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr17.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr18.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr19.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr2.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr20.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr21.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr22.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr3.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr4.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr5.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr6.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr7.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr8.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chr9.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chrM.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chrX.png", + "qc_bam/hugelymodelbat_tidditcov.wig_chrY.png", + "qc_bam/hugelymodelbat_wgsmetrics.CollectWgsMetrics.coverage_metrics", + "qc_bam/hugelymodelbat_wgsmetrics_y.CollectWgsMetrics.coverage_metrics", + "qc_bam/slowlycivilbuck_hsmetrics.CollectHsMetrics.coverage_metrics", + "qc_bam/slowlycivilbuck_mosdepth.global.dist.txt", + "qc_bam/slowlycivilbuck_mosdepth.per-base.bed.gz", + "qc_bam/slowlycivilbuck_mosdepth.per-base.bed.gz.csi", + "qc_bam/slowlycivilbuck_mosdepth.per-base.d4", + "qc_bam/slowlycivilbuck_mosdepth.quantized.bed.gz", + "qc_bam/slowlycivilbuck_mosdepth.quantized.bed.gz.csi", + "qc_bam/slowlycivilbuck_mosdepth.region.dist.txt", + "qc_bam/slowlycivilbuck_mosdepth.regions.bed.gz", + "qc_bam/slowlycivilbuck_mosdepth.regions.bed.gz.csi", + "qc_bam/slowlycivilbuck_mosdepth.summary.txt", + "qc_bam/slowlycivilbuck_mosdepth.thresholds.bed.gz", + "qc_bam/slowlycivilbuck_mosdepth.thresholds.bed.gz.csi", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.alignment_summary_metrics", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle.pdf", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.base_distribution_by_cycle_metrics", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.insert_size_histogram.pdf", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.insert_size_metrics", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_by_cycle.pdf", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_by_cycle_metrics", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_distribution.pdf", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.quality_distribution_metrics", + "qc_bam/slowlycivilbuck_multiplemetrics.CollectMultipleMetrics.read_length_histogram.pdf", + "qc_bam/slowlycivilbuck_tidditcov.bed", + "qc_bam/slowlycivilbuck_tidditcov.bw", + "qc_bam/slowlycivilbuck_tidditcov.wig", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr1.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr10.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr11.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr12.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr13.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr14.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr15.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr16.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr17.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr18.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr19.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr2.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr20.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr21.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr22.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr3.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr4.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr5.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr6.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr7.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr8.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chr9.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chrM.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chrX.png", + "qc_bam/slowlycivilbuck_tidditcov.wig_chrY.png", + "qc_bam/slowlycivilbuck_wgsmetrics.CollectWgsMetrics.coverage_metrics", + "qc_bam/slowlycivilbuck_wgsmetrics_y.CollectWgsMetrics.coverage_metrics", + "rank_and_filter", + "rank_and_filter/justhusky_mt_ranked_clinical.vcf.gz", + "rank_and_filter/justhusky_mt_ranked_clinical.vcf.gz.tbi", + "rank_and_filter/justhusky_mt_ranked_research.vcf.gz", + "rank_and_filter/justhusky_mt_ranked_research.vcf.gz.tbi", + "rank_and_filter/justhusky_snv_ranked_clinical.vcf.gz", + "rank_and_filter/justhusky_snv_ranked_clinical.vcf.gz.tbi", + "rank_and_filter/justhusky_snv_ranked_research.vcf.gz", + "rank_and_filter/justhusky_snv_ranked_research.vcf.gz.tbi", + "rank_and_filter/justhusky_sv_ranked_clinical.vcf.gz", + "rank_and_filter/justhusky_sv_ranked_clinical.vcf.gz.tbi", + "rank_and_filter/justhusky_sv_ranked_research.vcf.gz", + "rank_and_filter/justhusky_sv_ranked_research.vcf.gz.tbi", + "repeat_expansions", + "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam", + "repeat_expansions/earlycasualcaiman_exphunter_sorted.bam.bai", + "repeat_expansions/hugelymodelbat_exphunter_sorted.bam", + "repeat_expansions/hugelymodelbat_exphunter_sorted.bam.bai", + "repeat_expansions/justhusky_repeat_expansion.vcf", + "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz", + "repeat_expansions/justhusky_repeat_expansion_stranger.vcf.gz.tbi", + "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam", + "repeat_expansions/slowlycivilbuck_exphunter_sorted.bam.bai", + "smncopynumbercaller", + "smncopynumbercaller/out", + "smncopynumbercaller/out/justhusky_smncopynumbercaller.json", + "smncopynumbercaller/out/justhusky_smncopynumbercaller.tsv", + "trimming", + "trimming/earlycasualcaiman_LNUMBER1.fastp.html", + "trimming/earlycasualcaiman_LNUMBER1.fastp.json", + "trimming/earlycasualcaiman_LNUMBER1.fastp.log", + "trimming/earlycasualcaiman_LNUMBER1_R1.fastp.fastq.gz", + "trimming/earlycasualcaiman_LNUMBER1_R2.fastp.fastq.gz", + "trimming/hugelymodelbat_LNUMBER3.fastp.html", + "trimming/hugelymodelbat_LNUMBER3.fastp.json", + "trimming/hugelymodelbat_LNUMBER3.fastp.log", + "trimming/hugelymodelbat_LNUMBER3_R1.fastp.fastq.gz", + "trimming/hugelymodelbat_LNUMBER3_R2.fastp.fastq.gz", + "trimming/slowlycivilbuck_LNUMBER2.fastp.html", + "trimming/slowlycivilbuck_LNUMBER2.fastp.json", + "trimming/slowlycivilbuck_LNUMBER2.fastp.log", + "trimming/slowlycivilbuck_LNUMBER2_R1.fastp.fastq.gz", + "trimming/slowlycivilbuck_LNUMBER2_R2.fastp.fastq.gz", + "vcf2cytosure", + "vcf2cytosure/earlycasualcaiman.cgh", + "vcf2cytosure/hugelymodelbat.cgh", + "vcf2cytosure/slowlycivilbuck.cgh" ] ], - "timestamp": "2026-04-28T07:52:50.055467244", + "timestamp": "2026-04-28T08:08:53.177897845", "meta": { "nf-test": "0.9.5", "nextflow": "25.10.4"