schrodinger.application.phase.packages.phase_database_job_utils module¶
Performs job-related functionality for phase_database_driver.py.
Copyright Schrodinger LLC, All Rights Reserved.
- schrodinger.application.phase.packages.phase_database_job_utils.add_any_arg(args, command, flag, dest=None, subset=False)¶
Helper function that adds a [-flag, value] pair or [-flag] to the provided command if the value is set in args.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
flag – The single-dash flag that externally identifies the argument, such as ‘-new’, ‘-i’ or ‘-source’
dest – The destination attribute, such as ‘newdb’ or ‘infile’. May be omitted if dest is derived from flag, e.g, ‘-source’.
subset – If True, the argument is an input or output subset specification, in which case get_subset_name will be used to standardize the value before adding to command
- Returns
True if argument was added, False if not
- Return type
bool
- schrodinger.application.phase.packages.phase_database_job_utils.add_convert_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the convert task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_delete_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the delete task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_export_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the export task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_extract_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the extract task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_import_only_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the import task but not the splice task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_import_or_splice_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in both the import and splice tasks.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_index_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the index task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_prefer_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the prefer task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_query_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the query task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_revise_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the revise task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.add_subset_args(args, command)¶
Helper function for make_backend_command which adds arguments that are used in the subset task.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
command (list[str]) – Command line list to which arguments are to be added
- schrodinger.application.phase.packages.phase_database_job_utils.create_okay_file(prefix)¶
Creates the file <prefix>.okay with the time/date.
- Parameters
prefix (str) – File prefix
- schrodinger.application.phase.packages.phase_database_job_utils.get_jobname(args)¶
Determines the job name from args in the following order of precedence:
args.subjob
args.jobname
args.db_path and args.task
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
- Returns
Job name
- Return type
str
- schrodinger.application.phase.packages.phase_database_job_utils.get_pending_splice_data(db_path, jobname)¶
For each pending splice subjob, this function returns a tuple of subjob name, subjob database, subjob starting ID, and subjob structure file.
- Parameters
db_path (str) – Database path/name
jobname (str) – Job name of parent splice job
- Returns
List of tuples containing subjob information described above
- Return type
list[tuple(str, str, int, str)]
- Raises
RuntimeError if the starting_blocks file isn’t found
- schrodinger.application.phase.packages.phase_database_job_utils.get_pending_subjobs(db_path)¶
Returns the names of pending subjobs for revise, index and convert jobs.
- Parameters
db_path (str) – Database path/name
- Returns
Pending subjob names
- Return type
list[str]
- Raises
RuntimeError if the subjob_names file isn’t found
- schrodinger.application.phase.packages.phase_database_job_utils.get_query_subjobs(jobname)¶
Returns query subjob names read from the file <jobname>_subjob_names.
- Parameters
jobname (str) – Parent job name
- Returns
Subjob names
- Return type
list[str]
- Raises
RuntimeError if the <jobname>_subjob_names isn’t found
- schrodinger.application.phase.packages.phase_database_job_utils.get_restartable_subjob_args(args)¶
Returns an argparse.Namespace with arguments that are common to all subjobs of a revise, index or convert job. The arguments needed to launch these subjobs are very basic because once a subjob is running, it reads all of the original arguments from the options file in the restart directory.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
- Returns
Arguments that do not vary from one subjob to the next
- Return type
argparse.Namespace
- schrodinger.application.phase.packages.phase_database_job_utils.get_testable_value(arg)¶
Returns a value derived from arg, the logical truth of which may be used by add_any_arg as a condition for adding arg to the command.
- Parameters
arg (Any type) – The argument to be tested
- Returns
arg or str(arg), the latter if arg is a numeric 0
- Return type
type(arg) or str
- schrodinger.application.phase.packages.phase_database_job_utils.make_backend_command(args, binary_task=False)¶
Assembles a phase_database/phase_multi_database backend command from the provided argparse.Namespace. Depending on the supplied arguments, the returned command may do any of the following:
Invoke the top-level phase_database wrapper to launch a subjob.
Invoke the phase_database/phase_multi_database binary to do the setup or cleanup for a job.
Invoke the phase_database binary to perform the actual work of a job or subjob.
- Parameters
args (argparse.Namespace) – argparse.Namespace from which to construct the command
binary_task – If True, the phase_database binary is to be invoked to perform the actual work of a job or subjob. This use case can be tedious or impossible to deduce from args alone, so binary_task is provided to make it unambiguous.
- Returns
The command, with the backend as the first argument
- Return type
list[str]
- schrodinger.application.phase.packages.phase_database_job_utils.restart_supported(task)¶
Returns True if the supplied task may be restarted.
- Parameters
task (str) – The phase_database task
- Returns
Whether the task can be restarted
- Return type
bool
- schrodinger.application.phase.packages.phase_database_job_utils.set_input_and_output_files(args, jsb)¶
Registers input and output files for the current job through the provided JobSpecification builder. Raises a phase_utils.MissingInputFileError if a required input file is missing.
- Parameters
args (argparse.Namespace) – argparse.Namespace with command line arguments
jsb (launchapi.JobSpecificationArgsBuilder) – JobSpecification builder
- Raises
phase_utils.MissingInputFileError if a required input file is missing