schrodinger.application.combinatorial_screen.driver_utils module¶
Provides miscellaneous functionality for combinatorial_screen_driver.py.
Copyright Schrodinger LLC, All Rights Reserved.
- schrodinger.application.combinatorial_screen.driver_utils.combine_log_files(subjobs, logger)¶
Concatenates the contents of subjob log files.
- Parameters
subjobs (list(str)) – Subjob names
logger (Logger) – Logger to which concatenated log files are to be written
- schrodinger.application.combinatorial_screen.driver_utils.create_clib_archive(archive_file, route_node, fp_dir=None)¶
Creates a combinatorial library archive (.czip) from a synthetic route node and fingerprint files for the reactants. It is assumed that for each reactant file <path>/<reactant>.* referenced in route_node, there’s an associated fingerprint file <reactant>.fp in the CWD or in fp_dir.
- Parameters
archive_file (str) – The name of the archive to create.
route_node (route.RouteNode) – Synthetic route node
fp_dir (str) – The directory in which to look for a given fingerprint file if it’s not found in the CWD.
- schrodinger.application.combinatorial_screen.driver_utils.create_reactant_files(reactant_files, smiles, titles, counts)¶
Creates reactant CSV files containing subsets of reactants. If N is the number of reactants, then reactant_files, smiles, titles and counts should each have a length of N. The number of smiles and titles written for the ith reactant is counts[i].
- Parameters
reactant_files (list(str)) – The N reactant files to create
smiles (list(list(str))) – N lists of reactant SMILES
titles (list(list(str))) – N lists of reactant titles
counts – The number of reactants in each of the N subsets
- schrodinger.application.combinatorial_screen.driver_utils.extract_archive(archive_file, dest_dir=None)¶
Extracts a combinatorial library archive and returns the path to the archive directory (.clib).
- Parameters
archive_file (str) – The name of the archive to extract
dest_dir (str) – Extract to directory other than CWD
- Returns
Path to archive directory
- Return type
str
- schrodinger.application.combinatorial_screen.driver_utils.find_reactions(reaction_dict, reactions)¶
Recursive function for descending a reaction route dictionary and finding reaction names.
- Parameters
reaction_dict (dict) – Dictionary containing “reaction_name” and “precursors” keys, where the latter points to a list of dictionaries, one of which may also contain “reaction_name” and “precursors” keys, hence the need for recursion.
reactions (list(str)) – List of reaction names. Updated by this function.
- schrodinger.application.combinatorial_screen.driver_utils.get_clib_dir(archive_file)¶
Returns the name of the .clib directory within the supplied .czip archive. The normal convention is <library>.czip <–> <library>.clib, but a user may decide to change the name of the root portion of the archive so that this is no longer true.
- Parameters
archive_file (str) – The name of the combinatorial library archive
- Returns
The name of the .clib directory within the archive
- Return type
str
- Raises
OSError – If no .clib directory is found
- schrodinger.application.combinatorial_screen.driver_utils.get_combinatorial_synthesis_command(args)¶
Returns the command that should be used to run combinatorial_synthesis minus the -max_products option.
- Parameters
args (argparse.Namespace) – Command line arguments
- Returns
combinatorial_synthesis command
- Return type
list(str)
- schrodinger.application.combinatorial_screen.driver_utils.get_distributed_fp_commands(args)¶
Returns lists of subjob commands for running distributed reactant fingerprint generation. Commands are not returned for fingerprint files that already exist in the CWD or in args.fp_dir.
- Parameters
args (argparse.Namespace) – Command line arguments
- Returns
list of subjob commands
- Return type
list(list(str))
- schrodinger.application.combinatorial_screen.driver_utils.get_existing_fp_file(fp_file, fp_dir=None)¶
Returns the name of a reactant fingerprint file if the file exists in the CWD or in fp_dir. Returns None if the file doesn’t exist in either location.
- Parameters
fp_file (str) – The reactant fingerprint file. Only the basename is used.
fp_dir (str) – The directory in which to look for the fingerprint file. If None, only the CWD is checked.
- Returns
The name of the existing fingerprint file, or None. If found in fp_dir, the leading path to fp_dir is included.
- Return type
str
- schrodinger.application.combinatorial_screen.driver_utils.get_existing_fp_files(route_node, fp_dir=None)¶
Returns the names of any existing reactant fingerprint files in the CWD or in fp_dir that will be used in lieu of generating from scratch.
- Parameters
route_node (route.RouteNode) – Synthetic route node
fp_dir (str) – The directory in which to look for the fingerprint file. If None, only the CWD is checked.
- Returns
Existing fingerprint file names, including the leading path if found in fp_dir.
- Return type
list(str)
- schrodinger.application.combinatorial_screen.driver_utils.get_fp_files(archive_dir)¶
Returns the names of the fingerprint files within the directory of an extracted combinatorial library archive.
- Parameters
archive_dir (str) – Path to archive directory (.clib)
- Returns
Fingerprint files names, including leading path
- Return type
list(str)
- schrodinger.application.combinatorial_screen.driver_utils.get_jobname(args)¶
Returns an appropriate name based on args.subjob, SCHRODINGER_JOBNAME, the job control backend, or the base name of args.lib_file. In the last case, “_setup” or “_run” is appended to the string.
- Parameters
args (argparse.Namespace) – Command line arguments
- Returns
job name
- Return type
str
- schrodinger.application.combinatorial_screen.driver_utils.get_num_license_tokens() int ¶
Returns the number of license tokens to check out, which is equal to the number of CPUs over which the job is to be distributed.
- schrodinger.application.combinatorial_screen.driver_utils.get_parser()¶
Creates argparse.ArgumentParser with supported command line options.
- Returns
Argument parser object
- Return type
argparser.ArgumentParser
- schrodinger.application.combinatorial_screen.driver_utils.get_reactant_files(route_file)¶
Returns the list of runtime paths for the reactant files referenced in the supplied JSON route file.
- Parameters
route_file – JSON route file
- Returns
List of reactant file names
- Return type
list(str)
- schrodinger.application.combinatorial_screen.driver_utils.replace_reactant_file_name(reaction_dict)¶
Recursive function for descending a reaction route dictionary and replacing reagent names or reagent file names with CSV file names which have a matching root but no leading path. For example, the reagent name name “thiols” would be replaced with “thiols.csv”, as would the reagent file name “/path/to/thiols.pfx”.
- Parameters
reaction_dict (dict) – Dictionary containing “reaction_name” and “precursors” keys, where the latter points to a list of dictionaries, one of which may also contain “reaction_name” and “precursors” keys, hence the need for recursion. The dictionary is modified in-place.
- schrodinger.application.combinatorial_screen.driver_utils.replace_reactant_file_names(route_node)¶
Returns a synthetic route node which is identical to the supplied one, except for the replacement of the reagent names or reagent file names with matching CSV file names which have no leading path.
- Parameters
route_node (route.RouteNode) – Synthetic route node
- Returns
Synthetic route node containing new reactant file names
- Return type
- schrodinger.application.combinatorial_screen.driver_utils.summarize_archive(archive_file)¶
Returns a string that summarizes the contents of a combinatorial library archive.
- Parameters
archive_file (str) – The name of the combinatorial library archive
- Returns
A summary of the archive contents
- Return type
str
- schrodinger.application.combinatorial_screen.driver_utils.validate_args(args)¶
Checks the validity of command line arguments.
- Parameters
args (argparser.Namespace) – argparser.Namespace with command line arguments
- Returns
tuple of validity and non-empty error message if not valid
- Return type
bool, str
- schrodinger.application.combinatorial_screen.driver_utils.write_hits(args, num_hits, logger)¶
Writes the products with the highest similarities to the query to the hit file.
- Parameters
args (argparser.Namespace) – argparser.Namespace with command line arguments
num_hits (int) – The number of hits to write
logger (Logger) – Logger to which messages are to be written
- schrodinger.application.combinatorial_screen.driver_utils.zip_library_dir(library_dir)¶
Creates a Zip file <library>.czip from a directory <library>.clib.
- Parameters
library_dir (str) – The library directory to zip