naturalis / supersmart

Self-Updating Platform for the Estimation of Rates of Speciation, Migration And Relationships of Taxa
MIT License
17 stars 5 forks source link

Possibility to run the pipeline from any directory on the VM #25

Closed hettling closed 10 years ago

hettling commented 10 years ago

I is desirable that the command to run the pipeline is present in the PATH on the virtual machine such that it can be invoked from any directory

hettling commented 10 years ago

instead of 'run.sh' the script invoking the pipeline should maybe be called 'supersmart'

rvosa commented 10 years ago

This issue, #26 and #27 are all related in that they imply a top-level script that takes subcommands, such that you might do things like smrt tnrs [--names=/path/to/names.txt], i.e. a single executable smrt that takes as its first command the name of an action that maps 1:1 onto another script - in this example: tnrs => parallel_write_taxa_table.pl - and with any additional arguments forwarded stupidly to the implementing script. I place the command line arguments here in square brackets (i.e., they're optional) because it might be user friendly to have the convention that names.txt basically always has the same name and is to be found in the current working directory, if not specified otherwise.

As a possibility to consider, we might use App::Cmd to do this (see http://search.cpan.org/dist/App-Cmd/). The downside is that this would imply some refactoring of the scripts, as they become modules that are loaded by the top-level script. The upside, though, is that these modules can be unit tested.