schrodinger.application.livedesign.ld_utils module

schrodinger.application.livedesign.ld_utils.copy_structure_properties(rl_map, from_key, to_key, include_receptors)

For every ligand in a receptor-ligand map, copy the structure property value at key from_key to the structure property at the key to_key. Optionally do the same for the receptor structures.

Parameters:
  • rl_map (data_classes.ReceptorLigandMap) – a receptor-ligand map
  • from_key (str) – the source structure property key
  • to_key (str) – the destination structure property key
  • include_receptors (bool) – whether to also copy structure properties for the receptors in the map
schrodinger.application.livedesign.ld_utils.copy_structure_property_value(st, from_key, to_key)

For the supplied structure, copy the value of the structure property stored at from_key to to_key. The value at from_key will remain unchanged. This function should work as expected regardless of whether values at from_key or to_key are defined.

Parameters:
  • st (structure.Structure) – a structure
  • from_key (str) – the source structure property key
  • to_key (str) – the destination structure property key
schrodinger.application.livedesign.ld_utils.build_receptor_ligand_map(structure_map, maestro_data_type)

Return a receptor-ligand map containing all of the structures in structure_map formatted according to the specified data type.

Note that the resulting map will not preserve the receptor keys from structure_map; because ligands and receptors are stored as groups, the ligand key will instead be used in any scenario in which a receptor and ligand are grouped.

Parameters:
  • structure_map (dict(str, structure.Structure)) – a dictionary mapping string keys to ligand or receptor structures
  • maestro_data_type (data_types.BaseMaestroData) – the data type used for formatting the receptor- ligand map
Returns:

a receptor-ligand map constructed from the supplied inputs

Return type:

data_classes.ReceptorLigandMap

schrodinger.application.livedesign.ld_utils.update_prop_names(prop_dicts)

Edit the properties to accommodate renaming behavior in SD files; these expect the structure title to have a specific name.

Parameters:prop_dicts (list(OrderedDict(str, str))) – a list of dictionaries each specifying the mapping between a maestro and LD property.
schrodinger.application.livedesign.ld_utils.get_prop_dicts_from_export_data(export_data_list)

Given a list of data_classes.ExportData objects, return a corresponding list of property dictionaries (when possible).

Parameters:export_data_list (list(data_classes.ExportData)) – a list of export data objects
Returns:a list of property dictionaries. Property dictionary formatting should match the dictionary formatting required by the properties argument of LDClient.start_export_assay_and_pose_data().
Return type:list(dict(str, str))
schrodinger.application.livedesign.ld_utils.separate_complex(complex_st)

Given a receptor-ligand complex structure, separate the ligands from the receptors. Return a list of ‘receptor’ structures and a corresponding list of ligand structures. The receptors are the rest of the complex once the ligand has been removed.

Parameters:complex_st (structure.Structure) – a ligand-receptor complex
Returns:a receptor list and corresponding ligand list
Return type:tuple(list(structure.Structure), list(structure.Structure))
schrodinger.application.livedesign.ld_utils.zip_dir(zipdir, output_file, split_path=True)

Recursively zips a directory, including the empty directories.

Parameters:
  • zipdir (str) – The path to the directory to zip
  • output_file (str) – Output file to write zip to
  • split_path (bool) – Whether to write archive as abspath or relative to the zipdir
schrodinger.application.livedesign.ld_utils.extract_prjzip(prjzip)

Extracts a .prjzip or .prz.zip file to a temp dir. The project’s directory name is not altered.

Parameters:prjzip (str) – The path to the project to unzip
Returns:Path to the unzipped project
schrodinger.application.livedesign.ld_utils.convert_prj(input_prj, decrement=False)

Runs $SCHRODINGER/utilities/project_convert on a project. This can be used to convert a project to the current format, or if decrement is True the project will be converted to the immediate previous version.

Parameters:
  • input_prj (str) – The path to the project to convert
  • decrement (bool) – Whether to decrement the project’s version
Returns:

Path to the converted project

schrodinger.application.livedesign.ld_utils.convert_prjzip(prjzip, decrement=False)

Runs $SCHRODINGER/utilities/project_convert on a zipped project. The project is then re-zipped with the same filename.

Parameters:
  • prjzip (str) – The path to the zipped project to be converted
  • decrement (bool) – Whether to decrement the project’s version
schrodinger.application.livedesign.ld_utils.get_new_file_name(prefix, extension)

Returns a unique filename with the given prefix and extension.

Parameters:
  • prefix (str) – the prefix for the desired file name
  • extension (str) – the extension for the desired file name
Returns:

a file name that begins with prefix, ends with extension, and does not correspond to an existing file

Return type:

str

schrodinger.application.livedesign.ld_utils.modify_prjzip(prjzip_path)

Context manager for opening an older version .prjzip file for modification.

Parameters:prjzip_path (str) – path to an older version .prjzip file
Returns:the project stored in the supplied file
Return type:project.Project
schrodinger.application.livedesign.ld_utils.get_sha1(file_path)

Return the SHA1 hash of a specified file. If no file path is provided, return None.

Parameters:file_path (str or None) – the path to a file, or None
Returns:the SHA1 hash of the file located at file_path, or None
Return type:str or None
schrodinger.application.livedesign.ld_utils.get_round_trip_hash(st)

Return a hash of relevant structure and host data. This will be used to determine whether structures imported from LiveDesign can be exported back to LiveDesign using corporate ID (vs. structure) matching.

Parameters:st (structure.Structure) – a structure
Returns:a hash value related to the provided structure
Return type:str
schrodinger.application.livedesign.ld_utils.apply_round_trip_hash(st)

Store a structure-dependent hash as a property on this structure.

Parameters:st (structure.Structure) – a structure
schrodinger.application.livedesign.ld_utils.st_matches_round_trip_hash(st)

Determine whether the supplied structure has been altered in an important way since its structure hash was stored.

Parameters:st (structure.Structure) – a structure
Returns:whether the round trip hash value stored on this structure matches a newly-generated structure hash
Return type:bool
schrodinger.application.livedesign.ld_utils.safely_set_property(st, key, value)

Set a specified property on a structure. If the supplied value is None, delete the property if it is already defined on the structure if possible.

Raises:

ValueError – if the user attempts to set the title to None

Parameters:
  • st (structure.Structure) – a structure
  • key (str) – a structure property key
  • value (bool or int or float or str or None) – the value to store in the structure property dictionary