Skip to content

Use multiplatform UMCCR gatk-bwamem-jni instead of org.broadinstitute.hellbender.* - #691

Open
brainstorm wants to merge 5 commits into
hartwigmedical:masterfrom
umccr:umccr_gatk_bwamem_jni
Open

brainstorm wants to merge 5 commits into
hartwigmedical:masterfrom
umccr:umccr_gatk_bwamem_jni

Conversation

@brainstorm

Copy link
Copy Markdown

This PR subsitutes Broad Institute's gatk-bwamem-jni for UMCCR's fork:

https://github.com/umccr/gatk-bwamem-jni/

Building native objects for 4 os-arch pairs, signing and publishing to Maven Central (Sonatype) now happens transparently in GitHub's CI/CD for greater convenience and more accessible security auditing (as opposed to non-CI/CD built artifacts), i.e:

https://github.com/umccr/gatk-bwamem-jni/actions/runs/13742549372

The original motivation for this change is seamless multiplatform support of that dependency when working on an Linux-Aarch64 port of Oncoanalyser.

Merging this code would avoid having to use an EVSEE fork that supports Linux/Aarch64 and/or setting up -DLIBBWA_PATH and shipping binary blobs in Hmftools' code tree.

/cc @scwatts @ohofmann

…within gatk-bwamem-jni package (except windows, which can be arranged in a future release)
@brainstorm
brainstorm marked this pull request as ready for review April 14, 2025 05:14
@ohofmann

Copy link
Copy Markdown

+1 from me here. This is likely the last blocker before we can confirm arm64 support for the WiGiTS framework which should save folks a bit of money for their large cohort re-analysis projects.

@ohofmann

ohofmann commented Nov 9, 2025

Copy link
Copy Markdown

Argh. Disregard the approval, that was not intended.

rhassaine added a commit to rhassaine/oncoanalyser that referenced this pull request Jan 12, 2026
This commit enables running oncoanalyser with ARM64-native HMF tool
containers, supporting validation of UMCCR's gatk-bwamem-jni library
(PR hartwigmedical/hmftools#691).

Changes include:

1. Constants.groovy:
   - Add REDUX_BQR_TSV file type to support Redux base quality recalibration outputs
   - Add REDUX_BQR_TSV_TUMOR, REDUX_BQR_TSV_NORMAL, REDUX_BQR_TSV_DONOR input constants

2. Redux module (modules/local/redux/main.nf):
   - Remove deprecated -write_stats parameter
   - Add .bqr.tsv output file for base quality recalibration data
   - Update output channel to include BQR TSV files

3. SAGE modules (modules/local/sage/{germline,somatic}/main.nf):
   - Remove deprecated -bqr_write_plot parameter
   - Change -jitter_param_dir to -jitter_bqr_dir to align with tool updates

4. ESVEE module (modules/local/esvee/main.nf):
   - Update -write_types parameter format for ESVEE 2.0 compatibility
   - Change from space-separated to semicolon-separated list

5. Redux processing subworkflow (subworkflows/local/redux_processing/main.nf):
   - Add BQR TSV file handling to output channels
   - Pass BQR files to downstream processes

6. SAGE calling subworkflow (subworkflows/local/sage_calling/main.nf):
   - Add BQR TSV inputs with proper fallback to Constants
   - Wire BQR files from Redux to SAGE processes

These changes support:
- HMF tools versions: Redux 2.0, SAGE 5.0, ESVEE 2.0, and others
- ARM64 containers with UMCCR's multiplatform gatk-bwamem-jni
- Base image: mambaorg/micromamba:latest (Debian 13, GLIBC 2.41)

For validation testing against x86_64 baseline to assess output equivalence.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants