Skip to content

Scout upload of tomte case to multiple DNA cases has inconsistent terminating/non-terminating error handling in subcommands #5195

Description

@kedhammar

As prodbioinfo,
I want Scout uploads of RNA cases iterating across multiple DNA cases, to have consistent behavior across subcommands, so it becomes easier to pick up failed commands.

Work impact

Answer the following questions:

  • Is there currently a workaround for this issue? If so, what is it?
    • No
  • How much time would be saved by implementing this feature on a weekly basis?
    • N/A
  • How many users are affected by this issue?
    • prodbioinfo
  • Are customers affected by this issue?
    • Potentially, if failed upload subcommands are missed it would affect scout results.

Acceptance Criteria

  • Code is re-factored to ensure consistent behavior when any subcommand fails for any case being iterated over
    ...

Notes

These are the subcommands running in the tomte scout upload

    context.invoke(validate_case_samples_are_rna, case_id=case_id)
    context.invoke(upload_rna_delivery_report_to_scout, case_id=case_id)
    context.invoke(upload_rna_alignment_file_to_scout, case_id=case_id, dry_run=dry_run)
    context.invoke(upload_multiqc_to_scout, case_id=case_id, dry_run=dry_run)
    context.invoke(upload_rna_omics_to_scout, case_id=case_id, dry_run=dry_run)
    context.invoke(upload_rna_junctions_to_scout, case_id=case_id, dry_run=dry_run)

From what I can tell, all individual subcommands find the related DNA cases and iterates over them (redundant?). The inconsistency is that upload_rna_omics_to_scout raises a terminating error, while the previous subcommands are non-terminating, meaning we fail in the middle of iterating across subcommands and cases, which can be difficult to pickup.

This was discovered for tomte case probablekiwi which is tricky because it links to a raredisease analysis engagingkoala which is present on Scout37 but not Scout38 (it was run shortly prior to transitioning the genome builds I assume). The solution was to re-run the DNA as creativegiraffe under Scout38 and upload to that, but the old case was still caught in the upload command, the subcommands naturally failed, and the valid upload to the new case was interrupted partway through.

I'm not requesting that we guard for this very specific scenario, just highlighting the inconsistent error handling I discovered as a part of it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions