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
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