Skip to content

Tcs and implied loss scores - #104

Merged
alpae merged 28 commits into
foldfrom
tcs-and-implied-loss-scores
Oct 9, 2026
Merged

alpae merged 28 commits into
foldfrom
tcs-and-implied-loss-scores

Conversation

@sinamajidian

Copy link
Copy Markdown
Collaborator

No description provided.

alpae and others added 28 commits December 20, 2025 00:11
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.2.0 to 6.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5.2.0...v6.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/actions/setup-python-6.1.0

Bump actions/setup-python from 5.2.0 to 6.1.0
license file and publication always refered to MPL-2.0, only the
license attribute in the pyproject.toml file was wrong (MIT).
This script processes proteome data by parsing FASTA files, extracting transcripts, and writing splice files for species with multiple transcripts.
If external subprocesses such as mafft got killed (e.g. by SLURM)
because of OOM, the main FastOMA python process did simply raise an
Exception and terminated with exit code 1. This prevented nextflow
from restarting it with more memory/time.

We now report properly the exit code of Mafft and FastTree and exit
the python code with the same exit code (stored in WrapperError)
use -profile slurm,large instead
nf-test's strict-syntax support (fixed upstream in v0.9.4, askimed/nf-test#326)
still chokes on C-style array literals like `new byte[100]`; switch the
getMaxFileSize fixtures to RandomAccessFile.setLength() instead. Also enable
the "function" test filter in the nf-test CI matrix so these tests actually run.
adds TCS score according to reference implementation.
adds implied loss score computing the nr of implied loss of a (sub)HOG.
adds several addition nf-tests checkign the functions used in
lib/Utils.groovy and for the processes check_input and omamer_run.
adds unittests about the score calculation and update
the nf-test output with the addtional score lines
The published dessimozlab/fastoma:dev image (the pipeline's default
container) only tracks the dev branch, so PR/feature-branch CI runs
against docker/singularity profiles were silently testing stale code
whenever a change touched the Python package. Build the image for the
exact commit under test instead and point the pipeline at it via a new
FASTOMA_CONTAINER_OVERRIDE env var, without touching the
container_name/container_version params used by real users.

Fix strict-syntax config error in container override

nextflow.config's strict-syntax parser (used by newer/latest-everything
Nextflow builds) rejects a bare top-level `if` statement mixed with
config statements ("If statements cannot be mixed with config
statements"). Replace it with an elvis-operator assignment, matching
the style already used for the NXF_OFFLINE conditional include a few
lines above.
Adds --store-completeness-score/--store-implied-losses-score/--store-tcs-score
options to fastoma-infer-subhogs (wired through FastOMA.nf as
store_completness_score/store_implied_losses_score/store_tcs_score params) so
score computation can be toggled per run.

collect_subhogs now looks ahead at the first HOG in the pickle folder to
only write scoreDef entries for scores actually present in the run's
output, instead of always writing all three.

compute time for score computation is tracked during the to_orthoxml()
call. Serialization is generally quick, score computation uses roughly
40% of the time.
The previous --store_*_score params (default true) were missing from
nextflow_schema.json, so nf-schema parsed CLI-supplied values as plain
strings instead of booleans -- a non-empty string is truthy in Groovy,
so --store_tcs_score false never actually disabled anything.

Switch to --disable_*_score (default false): setting the flag means
the user actively wants to disable the score, so bare presence of the
flag conveys the intent without needing a boolean value at all.
@alpae
alpae merged commit dc445d6 into fold Oct 9, 2026
37 of 46 checks passed
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