Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.11.3
-
Fix Version/s: 2.11.3.0
-
Component/s: Command Line Interface
-
Labels:None
-
Environment:Linux, macOS, Windows
Description
I have been working on a new command line interface framework for Jalview, which is intended to replace the old jalview.bin.ArgsParser class.
There can be a transition period where both systems are in place -- the design of the new arguments should not interfere with the old, unless both systems are used at the same time (in which case the outcome is unpredictable and the user should not do this).
This means that old scripts using (solely) the old system will continue to work, with a suitable transition period (1-2 years?) allowing old command line arguments to be converted (by the user) to their new equivalents.
The new system (almost) exclusively uses double-dash arguments (e.g. "--open") and can take argument values with an "=" whilst the old system uses single dash (or no dash) arguments.
The new system will also take argument values without an "=" if the argument is defined to take a value or values. Multiple arguments can be supplied in this way so that shell file globbing (e.g. "--open ~/work/*/myfiles*.fa") can be used. Alternatively, Java-style globbing can be used when using an "=" to set a value (e.g. "--open=~/work/**.fa").
The one instance where the new system overrides the old is if you simply supply a list of filenames, e.g. jalview ~/work/myfiles*.fa (which can obviously be a non-globbed single file), in which case the new argument framework will assume these are files to be opened in separate MSA frames.
More details below.
There can be a transition period where both systems are in place -- the design of the new arguments should not interfere with the old, unless both systems are used at the same time (in which case the outcome is unpredictable and the user should not do this).
This means that old scripts using (solely) the old system will continue to work, with a suitable transition period (1-2 years?) allowing old command line arguments to be converted (by the user) to their new equivalents.
The new system (almost) exclusively uses double-dash arguments (e.g. "--open") and can take argument values with an "=" whilst the old system uses single dash (or no dash) arguments.
The new system will also take argument values without an "=" if the argument is defined to take a value or values. Multiple arguments can be supplied in this way so that shell file globbing (e.g. "--open ~/work/*/myfiles*.fa") can be used. Alternatively, Java-style globbing can be used when using an "=" to set a value (e.g. "--open=~/work/**.fa").
The one instance where the new system overrides the old is if you simply supply a list of filenames, e.g. jalview ~/work/myfiles*.fa (which can obviously be a non-globbed single file), in which case the new argument framework will assume these are files to be opened in separate MSA frames.
More details below.