Skip to content

AleRax - #8900

Open
aparamitarana009-boop wants to merge 6 commits into
galaxyproject:mainfrom
aparamitarana009-boop:alerax
Open

AleRax#8900
aparamitarana009-boop wants to merge 6 commits into
galaxyproject:mainfrom
aparamitarana009-boop:alerax

Conversation

@aparamitarana009-boop

@aparamitarana009-boop aparamitarana009-boop commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

FOR CONTRIBUTOR:

  • I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • Use of AI
    • The contribution is mostly AI generated
    • The contribution has been assisted by AI
  • License permits unrestricted use (educational + commercial)
  • This PR adds a new tool or tool collection
  • This PR updates an existing tool or tool collection
  • This PR does something else (explain below)

This PR adds a wrapper for AleRax (v1.4.0, available on Bioconda), a tool for species tree inference and gene tree reconciliation under gene duplication, transfer and loss.

Inputs: a species tree (or a MiniNJ / random starting tree), a list collection of gene tree samples (one element per gene family), and an optional list collection of gene-to-species mapping files.

Options: species tree search (SKIP / REROOT / HYBRID), reconciliation model (UndatedDTL / UndatedDL), model parametrization (GLOBAL / PER-FAMILY / PER-SPECIES), number of samples and random seed.

Outputs: species tree, log, per-family likelihoods, per-family event counts and transfers (as collections), and an optional .tar archive of the full output folder.

The test data is a small subset (two families) of the primates example from the AleRax repository. All 7 tests pass locally with planemo test, and planemo lint / planemo shed_lint are clean.

This is my first tool for IUC, so any feedback is very welcome.

@Deeptivarshney could you have a look for review? Thanks!

Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
@aparamitarana009-boop

Copy link
Copy Markdown
Contributor Author

please review

Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved

@SaimMomin12 SaimMomin12 left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice first wrapper! Some comments inline.

Comment thread tools/alerax/alerax.xml
Comment on lines +17 to +23
NP=\${GALAXY_SLOTS:-1} &&
if [ "\$NP" -gt $n_families ]; then NP=$n_families; fi &&
if [ "\$NP" -gt 1 ]; then
MPI_PREFIX="mpiexec --allow-run-as-root --oversubscribe -np \$NP";
else
MPI_PREFIX="";
fi &&

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capping NP at the number of families is a nice touch. One thing though: CI runs with GALAXY_SLOTS=1, so the mpiexec branch never actually runs in the tests. Did you try it locally with something like GALAXY_SLOTS=2 planemo test? The bioconda package uses OpenMPI, so --allow-run-as-root --oversubscribe should be fine, but it'd be good to know it really works in the container. Could you confirm you've run it with more than one slot?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried it with GALAXY_SLOTS=2 on my Mac, but I have an Apple chip, and the AleRax biocontainer is only built for linux/amd64 (bioconda has no ARM build of alerax). So Docker has to emulate it, and it already fails at MPI_Init, even with just one slot.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI should run with more than one slot. I remember 2 / 4? Can you output some test string to see if this is happening. Can we see somehow else if it is working.

@aparamitarana009-boop does bioconda support ARM in general, then bumping the build over there might help, i.e rebuild the package.

Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/.shed.yml Resolved
Comment thread tools/alerax/alerax.xml Resolved
Comment thread tools/alerax/alerax.xml
</configfiles>
<inputs>

<conditional name="species_tree_input">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix indentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage/Discuss

Development

Successfully merging this pull request may close these issues.

5 participants