psamm.command
– Command line interface¶
Command line interface.
Each command in the command line interface is implemented as a subclass of
Command
. Commands are also referenced from setup.py
using the
entry point mechanism which allows the commands to be automatically
discovered.
The main()
function is the entry point of command line interface.
-
exception
psamm.command.
CommandError
¶ Error from running a command.
This should be raised from a
Command.run()
if any arguments are misspecified. When the command is run and theCommandError
is raised, the caller will exit with an error code and print appropriate usage information.
-
class
psamm.command.
Command
(model, args)¶ Represents a command in the interface, operating on a model.
The constructor will be given the NativeModel and the command line namespace. The subclass must implement
run()
to handle command execution. The doc string will be used as documentation for the command in the command line interface.In addition,
init_parser()
can be implemented as a classmethod which will allow the command to initialize an instance ofargparse.ArgumentParser
as desired. The resulting argument namespace will be passed to the constructor.-
classmethod
init_parser
(parser)¶ Initialize command line parser (
argparse.ArgumentParser
)
-
run
()¶ Execute command
-
argument_error
(msg)¶ Raise error indicating error parsing an argument.
-
fail
(msg, exc=None)¶ Exit command as a result of a failure.
-
classmethod
-
class
psamm.command.
MetabolicMixin
(*args, **kwargs)¶ Mixin for commands that use a metabolic model representation.
-
class
psamm.command.
ObjectiveMixin
¶ Mixin for commands that use biomass as objective.
Allows the user to override the default objective from the command line.
-
class
psamm.command.
LoopRemovalMixin
¶ Mixin for commands that perform loop removal.
-
class
psamm.command.
SolverCommandMixin
(*args, **kwargs)¶ Mixin for commands that use an LP solver.
This adds a
--solver
parameter to the command that the user can use to select a specific solver. It also adds the method_get_solver()
which will return a solver with the specified default requirements. The user requirements will override the default requirements.
-
class
psamm.command.
ParallelTaskMixin
¶ Mixin for commands that run parallel computation tasks.
-
class
psamm.command.
FilePrefixAppendAction
(option_strings, dest, nargs=None, fromfile_prefix_chars='@', **kwargs)¶ Action that appends one argument or multiple from a file.
If the argument starts with a character in
fromfile_prefix_chars
the remaining part of the argument is taken to be a file path. The file is read and every line is appended. Otherwise, the argument is simply appended.
-
exception
psamm.command.
ExecutorError
¶ Error running tasks on executor.
-
psamm.command.
main
(command_class=None, args=None)¶ Run the command line interface with the given
Command
.If no command class is specified the user will be able to select a specific command through the first command line argument. If the
args
are provided, these should be a list of strings that will be used instead ofsys.argv[1:]
. This is mostly useful for testing.
-
psamm.command.
main_sbml
(command_class=None, args=None)¶ Run the SBML command line interface.