Skip to content

--hisat2 parameter is declared but never used (genome HISAT2 index always rebuilt) #882

Description

@apolitics

Description

params.hisat2 is defined in nextflow.config and nextflow_schema.json (with no description) but is never consumed anywhere in the codebase (main.nf / workflows/ / subworkflows/). Only the unrelated params.hisat2_build_memory is used.

In subworkflows/local/prepare_references/main.nf the genome HISAT2 index is built unconditionally inside the MT gate:

if (val_analysis_type.matches("wgs|mito") || val_run_mt_for_wes) {
    ...
    ch_genome_hisat2_index = HISAT2_INDEX_GENOME(ch_genome_fasta,[[:],[]], [[:],[]]).index.collect()

There is no if (!val_hisat2) guard, and PREPARE_REFERENCES's take: block has no hisat2 input (the PREPARE_REFERENCES(...) call omits it). By contrast --bwa / --bwamem2 / --bwameme all have the if (!val_x) {...} else {...} guard.

Impact

A pre-built HISAT2 index cannot be supplied via --hisat2; the index is rebuilt on every run with MT analysis enabled (--run_mt_for_wes true, or wgs/mito) — even though HISAT2 is only consumed by SV calling.

Expected behaviour

--hisat2 <dir> should be honored (skip the build), mirroring the existing --bwa handling.

Versions

Observed on 3.0.0; confirmed identical on master (2026-06-14).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions