Skip to content

fix(xorf): adapt XORF call and cutoffs to xorf v0.2.0 - #35

Merged
alejandrogzi merged 2 commits into
mainfrom
v0.1.17b
Oct 22, 2026
Merged

alejandrogzi merged 2 commits into
mainfrom
v0.1.17b

Conversation

@alejandrogzi

Copy link
Copy Markdown
Member

Why

xorf v0.2.0 changes the XORF take signature from 17 to 19 inputs. xasm's wrapper still passed 17, so every run failed during workflow validation before any task ran:

ERROR ~ Workflow `XASM:FULL_RUN:POLISH:XORF_RUN:XORF` declares 19 input channels but 17 were given

The two inputs were added upstream in v0.1.2: skip_transaid after skip_netstart, and strip_truncations after do_polishing.

v0.2.0 also ships the v3.2 classifier with its cutoff in the model bundle (0.29; 0.33 for the no-TransAID model). xasm still overrode it with 0.50 / 0.03; upstream reports that keeping 0.50 calls 0.55-0.85% fewer coding transcripts.

Changes

  • Pass skip_transaid and strip_truncations to XORF with upstream defaults (false / true), preserving the previous always-strip behavior.
  • Expose xorf_skip_transaid and xorf_strip_truncations in nextflow.config and params.json.
  • Pass --no-transaid to PREDICT when xorf_skip_transaid is enabled, so the no-TransAID model is actually selected.
  • Set xorf_predict_min_score_max_predictions and xorf_predict_threshold to -1 so both use the model bundle cutoff.

Testing

  • nextflow config . -profile test,docker
  • nextflow run . -profile test,docker -preview (previously failed at the XORF invocation with the arity error)
  • The full test e2e cannot run on the local arm64 host: ghcr.io/alejandrogzi/genepred:latest has no arm64 manifest, and amd64 emulation segfaults deacon. CI will exercise the full profile.

Note: the --infer_strandedness warning in the report is unrelated. validateRun() only warns on the fastp path and does not fail the run; the fatal error was the input-channel count.

xorf v0.1.2 added skip_transaid (after skip_netstart) and strip_truncations (after do_polishing) to the XORF take block. The submodule bump to v0.2.0 therefore failed before execution with 'declares 19 input channels but 17 were given'.

Pass both from xasm params, defaulting to upstream behavior (skip_transaid=false, strip_truncations=true), mirror --no-transaid in PREDICT when skip_transaid is enabled, and document both in nextflow.config/params.json.
xorf v0.2.0 ships the v3.2 classifier with its cutoff in the model bundle (0.29; 0.33 for the no-TransAID model). The old 0.50 / 0.03 overrides retained fewer annotated CDSs (0.55-0.85% fewer coding transcripts upstream). Set predict_min_score_max_predictions and predict_threshold to -1 so both come from the bundle.
@alejandrogzi
alejandrogzi merged commit 9bc5bf0 into main Oct 22, 2026
2 checks passed
@alejandrogzi
alejandrogzi deleted the v0.1.17b branch October 22, 2026 21:46
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.

1 participant