palaeoware / trevosim

TREvoSim - The [Tr]ee [Evo]lutionary [Sim]ulator program
GNU General Public License v3.0
4 stars 3 forks source link

Command line functionality #31

Open ms609 opened 2 months ago

ms609 commented 2 months ago

The "Batch mode" dialog seems to allow for multiple replicates with identical run settings, but I can't see a way to programmatically run multiple iterations with different settings: for instance, to run a hundred simulations in which each has a different rate parameter – which is what I would (perhaps wrongly?) understand from the term "batch mode".

Does such a functionality exist? Perhaps what I'm really looking for is just a way to launch TREvoSim from the command line with parameters specified manually (or by a script); or to launch an instance of TREvoSim that runs automatically from a given settings save file.

RussellGarwood commented 1 month ago

Thanks for these thoughts. My intention for the batch mode was to run replicates with the same settings - this is the same in REvoSim, so is consistent terminology across our packages.

At the moment, no functionality such as that you request exists. Long term I plan to faciltate this with a headless vanilla C++ version (see comment in #3 ), however, I won't be able to achieve that for this release. I may be able to achieve a command line version that loads a settings file then runs once for this release, time constraints allowing. If I do I will post here, and if not I will leave this issue open until one is in place.

ms609 commented 1 month ago

That makes sense, thanks – it certainly isn't necessary in the context of the review, but it will be a useful addition when it comes.

RussellGarwood commented 3 days ago

@ms609 I've taken advantage of a fairly quiet moment in the Museum fur Naturkunde to implement something along these lines, and test it on Linux - see above push. If you launch the software from the command line with the switch -o or --open, pointing towards a settings file, it should load that file, and then run the simulation to completion before quitting the software.

There are a few things that could trip it up with Windows, but I am not able to test directly right now. Any feedback from you or @alanspencer would be appreciated when/if either of you gets the chance.

I will add this to the documentation once it is clear whether it is working OK on all systems!