Skip to content

purity_estimate mode: validator incorrectly requires normal REDUX BAM after 2ba879d1 #286

@gavin-peng

Description

@gavin-peng

Description of the bug

Hi @luan-username — this looks related to your recent commits on the purity estimate WGTS mode.

Commit 2ba879d updated AMBER_PROFILING so that in purity_estimate mode, AMBER is skipped when no normal REDUX BAM is provided (and WISP runs without AMBER_LOH).
However, checkLongitudinalSampleInputs in SampleSheet.groovy still throws error when we intentionally omitting normal BAM entirely :

if (longitudinal && has_amber_dir && !has_normal_dna_bam) {
throw ...
}

This means the validator blocks a configuration the subworkflow now explicitly handles gracefully.

Suggested fix: rather than requiring a normal REDUX BAM, only block a raw (non-REDUX) normal BAM — which genuinely cannot be used for longitudinal AMBER — while
allowing the no-normal path through:

def has_normal_raw_bam = Inputs.hasNormalDnaBam(meta)
if (longitudinal && has_amber_dir && has_normal_raw_bam) {
throw new IllegalStateException(
"group_id(${meta.group_id}) - In purity estimate mode, the primary normal DNA BAM " +
"must be REDUX-processed (bam_redux filetype); a raw BAM is not accepted"
)
}

This preserves the April 28 (c05ebe7) enforcement that raw BAMs are rejected, while allowing the no-normal path introduced April 29.

Command used and terminal output

Relevant files

No response

System information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    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