Source code for haddock.clis.cli_restraints

"""
HADDOCK3 CLI for restraints-related tasks.

DISCLAIMER: these scripts have been ported from old code and are not
optimized for code quality and performance. They are provided as a convenience
for the user.

USAGE::

    haddock3-restraints <TASK_NAME> <TASK_ARGS>

For the list of available tasks, run::

    haddock3-restraints -h

For the list of arguments for a given task, run::

    haddock3-restraints <TASK_NAME> -h
"""
import argparse
import sys

from haddock.clis.restraints.restrain_bodies import add_restrain_bodies_arguments, restrain_bodies
from haddock.clis.restraints.passive_from_active import add_pass_from_act_arguments, passive_from_active
from haddock.clis.restraints.validate_tbl import add_validate_tbl_arguments, validate_tbl
from haddock.clis.restraints.active_passive_to_ambig import add_actpass_to_ambig_arguments, actpass_to_ambig
from haddock.clis.restraints.calc_accessibility import add_calc_accessibility_arguments, calc_accessibility


# Command line interface parser
ap = argparse.ArgumentParser(
    prog="haddock3-restraints",
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    )

subparsers = ap.add_subparsers(title='subcommands',
                               description='valid subcommands',
                               help='additional help')

# restrain_bodies subcommand
restrain_bodies_subcommand = subparsers.add_parser('restrain_bodies')
restrain_bodies_subcommand.set_defaults(func=restrain_bodies)
restrain_bodies_subcommand = add_restrain_bodies_arguments(restrain_bodies_subcommand)

# passive_from_active subcommand
pass_from_act_subcommand = subparsers.add_parser('passive_from_active')
pass_from_act_subcommand.set_defaults(func=passive_from_active)
pass_from_act_subcommand = add_pass_from_act_arguments(pass_from_act_subcommand)

# validate_tbl subcommand
validate_tbl_subcommand = subparsers.add_parser('validate_tbl')
validate_tbl_subcommand.set_defaults(func=validate_tbl)
validate_tbl_subcommand = add_validate_tbl_arguments(validate_tbl_subcommand)

# active_passive_to_ambig subcommand
actpass_to_ambig_subcommand = subparsers.add_parser('active_passive_to_ambig')
actpass_to_ambig_subcommand.set_defaults(func=actpass_to_ambig)
actpass_to_ambig_subcommand = add_actpass_to_ambig_arguments(actpass_to_ambig_subcommand)

# calc_accessibility subcommand
calc_accessibility_subcommand = subparsers.add_parser('calc_accessibility')
calc_accessibility_subcommand.set_defaults(func=calc_accessibility)
calc_accessibility_subcommand = add_calc_accessibility_arguments(calc_accessibility_subcommand)

def _ap():
    return ap


[docs]def load_args(ap): """Load argument parser args.""" return ap.parse_args()
[docs]def maincli(): """Execute main client.""" args = ap.parse_args() cmd = vars(load_args(ap)) cmd.pop("func") args.func(**cmd)
if __name__ == "__main__": sys.exit(maincli())