schrodinger.application.matsci.jobutils module¶
Copyright Schrodinger, LLC. All rights reserved.
-
class
schrodinger.application.matsci.jobutils.
CellRunInfo
(structs, basename, replicate, multiple_cells, component=None, sequence_info=None)¶ Bases:
object
Holds the information for the run for a single cell
-
class
schrodinger.application.matsci.jobutils.
MultijobDriver
(runlist, options, args, log, remote_script, default_jobname, basename=None)¶ Bases:
object
Resubmit the driver as subjobs
-
COMPOSITION_FLAG
= '-composition'¶
-
COMPOSITION_FLAG_SHORT
= '-c'¶
-
multijob_driver
(runlist, options, args, basename, log, remote_script)¶ Create multiple cells in parallel running a subjob for each cell. Zip up the resulting cms files into a jobname.zip file and set it as the structure output file to be incorporated.
Parameters: - runlist (list of
CellRunInfo
) – Each item of runlist will generate a subjob and a single cell - options (
argparse.Namespace
) – The command line options - args (iterable) – The command line arguments as passed in by sys
- basename (str) – The zipped .zip or . maegz filename for all job files.
- log (function) – function(msg) writes msg to log file
- remote_script (string) – the dir and name for driver to resubmit
- runlist (list of
-
-
class
schrodinger.application.matsci.jobutils.
StringCleaner
(extra_replacement_pairs=None, separator='-')¶ Bases:
object
Manages the cleaning of strings.
-
cleanAndUniquify
(input_str, clear_prev=False, max_len=100)¶ Shorten if necessary, replace certain characters in an input string and then uniquify the string by comparing with a dictionary of previous names and number of times used.
Parameters: - input_str (str) – the input string we want cleaned and uniqified
- clear_prev (bool) – specify if the dictionary of previous names should first be cleared
- max_len (int) – maximum length of the input_str allowed, otherwise it will be shortened to the max_len value
Return type: Returns: the input string now cleaned and uniquified
-
-
schrodinger.application.matsci.jobutils.
add_keyword_parser_argument
(parser, arghelp=None)¶ Add a keyword argument to the parser
Parameters: parser ( argparse.ArgumentParser
) – The parser to add this argument to
-
schrodinger.application.matsci.jobutils.
add_restart_parser_arguments
(parser)¶ Add restart arguments to the parser
Parameters: parser ( argparse.ArgumentParser
) – The parser to add arguments to
-
schrodinger.application.matsci.jobutils.
add_save_desmond_files_parser_argument
(parser)¶ Add a
SAVE_FLAG
argument to the parserParameters: parser ( argparse.ArgumentParser
) – The parser to add this argument to
-
schrodinger.application.matsci.jobutils.
archive_job_data
(path, files_path)¶ Create a gzipped tar archive in the current directory from the provided list of file paths. All the error handling is on the caller function.
Parameters: - path (files_path) – Path to the new archive to be created
- path – List of files to be archived
-
schrodinger.application.matsci.jobutils.
check_license
(panel=None, token=94, name='', as_validator=False)¶ Check if a valid token exists
Parameters: - panel (schrodinger.ui.qt.appframework.AppFramework) – panel to use to put up an error dialog if no license
- token (
schrodinger.utils.license
constant) – A token type from the schrodinger.utils.license module, such as MATERIALSCIENCE_MAIN or MATERIALSCIENCE_GA - name (str) – The user-identifiable name for the token - used for error messages. If not provided, the string used in the license module for this token (if one exists) will be used.
- as_validator (bool) – If True, this function will work as an AF2 validation method. Instead of posting a dialog or printing a message for a failed license check, it will return (False, error_message).
Return type: bool or (bool, str)
Returns: True if valid license exists. If no valid license exists, False will be returned by default, but (False, msg) will be returned if as_validator=True. Note that (False, msg) evalutes to True so must be handled by the calling routine as not a boolean if as_validator=True.
-
schrodinger.application.matsci.jobutils.
clean_string
(string, default='title')¶ Cleans the given string by removing special characters to make it acceptable for a file name. If the string is blank, it will be replaced by the value of default.
Parameters: Return type: Returns: A string usable as a filename
-
schrodinger.application.matsci.jobutils.
create_restart_jobcmd
(driver_path, zip_fn, restart_options, args, default_jobname)¶ Generate command-line list for the job restart.
Parameters: Return type: list
@rparam: List of parameters ready for job submission
-
schrodinger.application.matsci.jobutils.
create_restart_launcher
(script, prog, input_name, output_name, zip_name, options, args)¶
-
schrodinger.application.matsci.jobutils.
create_run_dir
(panel, jobname)¶ Create a subdirectory to run a job in, asking the user and removing existing directories if needed.
Parameters: - panel (schrodinger.ui.qt.appframework.AppFramework) – panel to use to put up an error dialog if no license
- jobname (str) – The name of the job. The directory will be jobname + _dir
Return type: Returns: The path to the directory or None if an existing directory was found and the user elected not to remove it
-
schrodinger.application.matsci.jobutils.
escape_dollars_for_cmdline
(pattern)¶ Make sure $ are escaped in the given pattern for command lines
Parameters: pattern (str) – A string to modify Return type: str Returns: pattern with a in front of $
-
schrodinger.application.matsci.jobutils.
extract_job_data
(options)¶ Unzip the archive in the current directory. All the error handling is on the caller function.
Parameters: options ( argparse.Namespace
) – The object holding all the option values
-
schrodinger.application.matsci.jobutils.
get_jobname
(default_jobname)¶ Return a the jobname from backend, command line (-NAMEJOB / environment), DEFAULT_JOBNAME
Parameters: default_jobname (str) – default_jobname of the current module Return type: string @rparam: jobname
-
schrodinger.application.matsci.jobutils.
get_matsci_user_data_dir
()¶ Get the absolute path to the user’s local MatSci data directory for storing custom templates, protocols, etc. Directory is created if it doesn’t exist.
Return type: str Returns: The absolute path the Materials Science data parent directory
-
schrodinger.application.matsci.jobutils.
get_option
(options, flag)¶ Return the option value associated with flag
Parameters: - options (
argparse.Namespace
) – The object holding all the option values - flag (str) – The flag for the desired option.
Return type: any
Returns: The value associated with flag, or None if flag (minus any leading dashes) is not found as a property on options
- options (
-
schrodinger.application.matsci.jobutils.
get_restart_id_filename
(jobname)¶ For the given restart jobname, return the name of the file containing the job id.
Return type: str Returns: The name of the restart jobid file
-
schrodinger.application.matsci.jobutils.
get_restart_options
(options)¶ Get the command line options from the -restart_x flags
Return type: tuple Returns: tuple of strings (viewname, incorporation, project, host:cpu, jobname)
-
schrodinger.application.matsci.jobutils.
get_source_path
(source, existence_check=True)¶ Get the source path to the original job directory
Parameters: - source (
schrodinger.structure.Structure
orschrodinger.project.ProjectRow
) – Either the ProjectRow or the structure to obtain the source information from. If a structure, can be either a Structure or a Cms object. - existence_check (bool) – If True (default), a blank string will be returned if the source path does not exist. If False, the path is returned regardless of whether it exists or not.
Return type: Returns: The original job directory or a blank string if none is found
- source (
-
schrodinger.application.matsci.jobutils.
get_stripped_defaults
(adict)¶ Remove dashes in the beginning of the keys. Used with ArgumentParser.
Parameters: adict (dict{string:any}) – Dictionary of defaults Return type: dict{string:any} @rparam: Dictionary of defaults with dashed stripped from the keys
-
schrodinger.application.matsci.jobutils.
parse_keyword_list
(options, exit_on_error=True, logger=None, validate=False)¶ Adds keystring and keydict properties to the argparse options object that are the list of keyword arguments turned into, respectively, a string or a dictionary. Valid keyword syntax is checked for.
Typical usage:
jobutils.add_keyword_parser_argument(parser) options = parser.parse_args(args) jobutils.parse_keyword_list(options) print options.keystring, options.keydict
Parameters: - options (
argparse.Namespace
) – The parser Namespace object with a keywords attribute - exit_on_error (bool) – True if the ValueError for keyword syntax should result in a message being printed and sys.exit() being called, False if the error should just be raised.
- logger (
logging.Logger
) – The logger to use for recording error messages, otherwise they’ll be printed. - validate (bool) – Whether keywords/values not recognized by Jaguar should be considered an error.
Raises: ValueError – If an invalid keyword pair syntax is detected and handle_error is False
- :raises
schrodinger.application.jaguar.validation.JaguarKeywordException
- if validate=True, exit_on_error=False and an invalid Jaguar keyword/value has been used.
- options (
-
schrodinger.application.matsci.jobutils.
parse_restart_parameters_file
(path)¶ Parse parameters file.
Format of the file: 1st line is driver’s filename 2nd line is original arguments passed to the driver
Parameters: path (str) – Path to the file with original arguments Return type: dict Returns: Dictionary with parsed values
-
schrodinger.application.matsci.jobutils.
prepare_job_spec_builder
(argv, program_name, default_jobname, input_fn=None, set_driver_reserves_cores=False)¶ Prepare generic job specification builder. If set_driver_reserves_cores script (driver) is set to True, script is expected to use all the cores (cpus), similar to umbrella mode in multisim. For an example see stress-strain driver. For all other cases (such as in opto/hopping/amorphous) keep set_driver_reserves_cores to False.
Parameters: - argv (list) – The list of command line arguments, including the script name at [0], similar to that returned by sys.argv
- program_name (str) – Program name
- default_jobname (str) – Default job name
- input_fn (str) – Input filename
- set_driver_reserves_cores (bool) – If True, enable launchapi.setDriverReservesCores
Return type: launchapi.JobSpecificationArgsBuilder
Returns: Job specification builder object
-
schrodinger.application.matsci.jobutils.
set_option
(options, flag, value)¶ Set the option value associated with flag
Parameters: - options (
argparse.Namespace
) – The object holding all the option values - flag (str) – The flag for the desired option. If the string starts with a ‘-‘, the ‘-‘ is removed.
- value (any) – The value to set the option.flag value to
- options (
-
schrodinger.application.matsci.jobutils.
set_source_path
(struct, backend=None, job=None)¶ Set the source path property to the original job directory. This is obtained from the job control Job object for this process. If no Job object is found, the current directory is used.
Parameters: - struct (
schrodinger.structure.Structure
) – The structure to set the property on. Note that property setting works properly on both Structure and Cms objects. - backend (
schrodinger.job.jobcontrol._Backend
) – The job control backend. Will be used to obtain the job object if no job is supplied. If neither backend or job are supplied, the backend will be obtained from job control (if one exists). - job (
schrodinger.job.jobcontrol.Job
) – The job control job for this process. If not supplied, will be obtained from the backend (if one exists).
Return type: Returns: The directory set as the source path. Will be either the OrigLaunchDir property of the job or the current directory if not running under job control.
- struct (
-
schrodinger.application.matsci.jobutils.
string_to_value
(string)¶ Change a text string from a file to a value. Converts string values of special Python tokens such as True, False or None to the Python tokens. Converts numbers to int or float if possible.
Parameters: string (str) – The string to convert Returns: string converted to, in order of preference: [True|False|None], int, float, or input type
-
schrodinger.application.matsci.jobutils.
working_directory
(*args, **kwds)¶ A context manager which changes the working directory to the given path, and then changes it back to its previous value on exit.
-
schrodinger.application.matsci.jobutils.
write_idfile
(jobobj)¶ Store the job id in a file as a signal to the GUI that a new job has been launched.
Parameters: jobobj ( schrodinger.job.jobcontrol.Job
) – The object holding all the option values
-
schrodinger.application.matsci.jobutils.
write_restart_parameters_file
(driver, args, outpath)¶ Write out original arguments to parameters file and add the file as an output file to any existing jobcontrol backend.
Parameters:
-
schrodinger.application.matsci.jobutils.
zip_and_set_incorporation
(zipname, filelist)¶ Zip up all the requested files and set the resulting archive as the job control backend structure output file (if runnning under job control).
Parameters: - zipname (str) – The name of the archive to create
- filelist (list) – Each item in filelist is the name of a file to add to file zipname