Source code for schrodinger.application.phase.packages.phase_option_utils

"""
Module that provides options parsing functionality.

Copyright Schrodinger LLC, All Rights Reserved.
"""

import argparse


[docs]def create_argparse_namespace(argv, valid_pos_args, valid_flags, valid_keys): """ Creates an argparse.Namespace object from command line arguments and known positional arguments and options. :param argv: Command line arguments, including program name :type: list of str :param valid_pos_args: All recognized positional arguments :type: list of str :param valid_flags: All recognized flags :type: list of str :param valid_keys: All recognized keys for key,value pairs :type: list of str :return: An argument namespace derived from inputs :rtype: argparse.Namespace """ argparse_parser = argparse.ArgumentParser(prog=argv[0]) for pos_arg in valid_pos_args: argparse_parser.add_argument(pos_arg) for flag in valid_flags: argparse_parser.add_argument(flag, action="store_true") for key in valid_keys: argparse_parser.add_argument(key) argparse_namespace, _ = argparse_parser.parse_known_args(argv[1:]) return argparse_namespace
[docs]def parse_shape_screen_options(argv): """ Creates shape screen argument namespace from command line options. :param argv: Command line arguments, including program name :type argv: list of str :return: Argument namespace :rtype: argparse.Namespace """ valid_pos_args = [] valid_flags = [ "-advance", "-append", "-atoms", "-best", "-classic", "-connect", "-distinct", "-dual", "-flex", "-flexAppend", "-hydrogens", "-inplace", "-LOCAL", "-NICE", "-NOCHECKPOINT", "-NOJOBID", "-nosort", "-nv", "-only", "-osd", "-pharm", "-proj", "-scoreInPlace", "-sort", "-split", "-stereo", "-table", "-v", "-verbose", "-WAIT", "-IFDX_MODE" ] valid_keys = [ "-align", "-alt", "-atomtypes", "-atomTypes", "-atomweights", "-atomWeights", "-CHECKPOINT", "-ewin", "-fd", "-filter", "-flexAmideOption", "-flexConfsPerBond", "-flexMaxConfs", "-flexMaxRelEnergy", "-flexSearchMethod", "-force", "-HOST", "-INTERVAL", "-isub", "-JOB", "-keep", "-limit", "-map", "-max", "-norm", "-NSUB", "-osub", "-rad", "-redun", "-report", "-RESTART", "-sample", "-screen", "-shape", "-title", "-TMDIR", "-xvol" ] return create_argparse_namespace(argv, valid_pos_args, valid_flags, valid_keys)