Running time and performance

8 views
Skip to first unread message

Lucas Souza

unread,
Aug 19, 2026, 5:20:11 PM (5 days ago) Aug 19
to GeneRax
Dear all,

I am a new GeneRax user and I am testing a simple dataset.

I have a single gene family (alignment length of 334 columns) and a rooted species tree with 904 species. I am using UndatedDTL as the reconciliation model and the default settings for all other parameters. Since I generated the trees using IQ-TREE, I used the substitution model selected for the gene tree (Q.pfam+I+R6).

I am running this on an HPC with 128 cores allocated, but I would like to know roughly how long I should expect this run to take. If anyone could share tips on how to improve performance and efficiency for this scenario, I would greatly appreciate it.

P.S. Gene tree optimization with radius=1 took around 3 hours to complete.

Thank you in advance,
Lucas

Benoit Morel

unread,
Aug 20, 2026, 10:10:08 AM (4 days ago) Aug 20
to Lucas Souza, GeneRax
Hi Lucas,
It is really hard to predict the running time. I think that often each step (radius 1, 2, 3 etc.) can take roughly the same time, but not necessarily. If it doesn't fit your cluster wall time (often 24h), that's ok because you can just restart the process.
If it takes too long, you can also stop after radius 1 or 2, because the process should have already fixed a lot of reconstruction errors. It often happens that the last steps (radius 4 and 5) don't improve the tree anymore. 
I hope that helps!
Benoit

--
You received this message because you are subscribed to the Google Groups "GeneRax" group.
To unsubscribe from this group and stop receiving emails from it, send an email to generaxusers...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/generaxusers/9878f294-d17b-41e9-a5c5-6c9f8aa6f688n%40googlegroups.com.

Lucas Souza

unread,
Aug 20, 2026, 10:29:24 AM (4 days ago) Aug 20
to GeneRax
Hi Benoit,
Thank you for the reply!
I can easily set my HPC walltime limit to 10 days. However, the radius 2 is running now for 24 hours and in the running_jobs log I cannot see any moving report as I could see during radius 1 (you can see below). Is that normal?

radius 1 log:
´´´
[00:01:12] Starting optimizeGeneTreesSlave
LibpllModel Q.pfam+I+R6
[00:01:12] Starting optimizing gene tree
Number of ranks 63
(0.00807837, 0.267444, 0.253302, score = 0)
Taxa number: 1663
joint: -56137.8  libpll: -45850.6  reconciliation: -10287.1  
Initial ll = -56137.8
[00:31:26] SPR Search with radius 1: trying 4983 prune nodes
[00:34:20] Found 2342 potential better moves
[00:34:20] GeneRax will try to apply them chunk by chunk...
[00:34:20] Applying a chunk of 10 potential good moves simultaneously...
...
´´´

radius 2 log:
´´´
mpi-scheduler optimizeGeneTrees /scratch/p302808/GeneRax/generax_output/results/x/geneTree.newick /scratch/p302808/GeneRax/x_mapping.link /scratch/p302808/GeneRax/aligned_trimmed_dereplicated.fasta /scratch/p302808/GeneRax/generax_output/species_trees/inferred_species_tree.newick Q.pfam+I+R6 /scratch/p302808/GeneRax/generax_output/gene_optimization_1/dtl_rates.txt 1 2 0 1 UNIFORM 0 0 0 0 PARENTS 0 0 0.000001 NONE 0 2 -1 1 1 1 2 /scratch/p302808/GeneRax/generax_output/results/x/geneTree.newick /scratch/p302808/GeneRax/generax_output/results/x/stats.txt 0 /scratch/p302808/GeneRax/generax_output/gene_optimization_1/checkpoints/x
[03:38:19] Starting optimizeGeneTreesSlave
LibpllModel Q.pfam+I+R6
[03:38:19] Starting optimizing gene tree
Number of ranks 127
(0.00015735, 0.272747, 0.130024, score = 0)
Taxa number: 1663
´´´

Best,
Lucas

Benoit Morel

unread,
Aug 20, 2026, 10:36:25 AM (4 days ago) Aug 20
to Lucas Souza, GeneRax
Good question. I am not sure that it is normal (I think the heavy part should come after " SPR Search with radius 2" but the logs stop before. 
But I don't see what you could have done wrong if it ran correctly with radius 1.

Maybe you could check RAM consumption (with top or htop on linux)... If you exceed your machine's RAM; it could go very slow without any warning. 

If it really hangs for too long, you can also just run with radius 1 and have a first look at the result. Reconstructing a tree with that many nodes is really difficult anyway (I mean, there is a limit to how accurate we can estimate the past only from an alignment and the species tree). So maybe radius 1 is enough to make a good use of the species tree for the correction.

Benoit



Reply all
Reply to author
Forward
0 new messages