schrodinger.application.livedesign.maestro_data_types module

class schrodinger.application.livedesign.maestro_data_types.Export3D

Bases: enum.Enum

An enumeration.

Optional = 3
Required = 1
Unavailable = 2
schrodinger.application.livedesign.maestro_data_types.get_unique_ligands(ct_list)

Return the set of ligands in a list of cts that is unique by SMILES.

Parameters:ct_list (structure.Structure) – the structures to analyze
Returns:the set of unique ligands
Return type:set of analyze.Ligand
schrodinger.application.livedesign.maestro_data_types.maestro_select_only(entry_ids)

Select the specified entry IDs in the project and deselect all others.

Parameters:entry_ids (list(str)) – the entry IDs corresponding to entries currently in the project
schrodinger.application.livedesign.maestro_data_types.format_numbered_message(base_msg, n, singular_string, plural_string)

Given a specially-formatted message containing a numbered word, return the proper human-readable translation using the correct form of that word.

Example input:
base_msg = ‘I have {n} {variable_string}.’ n = 2 singular_string = egg plural_string = eggs
Example output:
‘I have 2 eggs.’
Parameters:
  • base_msg (str) – the message to be formatted. Should contain two new-style formatting replacement points, {n} and {variable_string}, for the number and numbered word that should be added to the message
  • n (int) – the number to be added to the message
  • singular_string (str) – if n = 1, use this string as the numbered word in the message
  • plural_string (str) – if n != 1, use this string as the numbered word in the message
class schrodinger.application.livedesign.maestro_data_types.BaseMaestroData(rl_map)

Bases: schrodinger.ui.qt.appframework2.validation.ValidationMixin

Abstract class for storing and validating data for various formats of ligand-based systems in anticipation of export to LiveDesign.

Variables:BATCHES_INCLUDE_TARGETS (bool) – whether the getBatches() method should return maps that contain receptor structures in addition to ligand structures
name = ''
description = ''
export_3d = 3
MIN_NODES = 1
MIN_STRUCTURES = 1
BATCHES_INCLUDE_TARGETS = False
NODE_SINGULAR_STRING = ''
NODE_PLURAL_STRING = ''
TARGET_SINGULAR_STRING = ''
TARGET_PLURAL_STRING = ''
getAvailableProperties()

Compile all properties of all structures scheduled for export.

Returns:a list of identifying information for the union of all structure properties for each structure scheduled for export
Return type:list(data_classes.LDData)
checkNumEntries(**kwargs)
analyzeStructures()

Compile and cache important ligand and receptor information from the receptor-ligand map. Meant to be called once on initialization.

getSummary()

Return a summary of the receptor and ligand data stored in this object. Meant to be overridden by a subclass.

Returns:a summary of the data stored on this object
Return type:str
getTargetEntryID(target=None)

Return the entry ID of the target associated with this data class.

Parameters:target (structure.Structure) – a target structure, if applicable
Returns:the target entry ID (if possible), or None
Return type:str or None
getBatches(batch_size)

An generator for receptor-ligand maps containing a subset of the receptor-ligand pairs contained in the rl_map instance variable. If possible, may also modify the open Maestro project to assist with export to LiveDesign.

Parameters:batch_size (int) – the largest number of receptor-ligand pairs that will be in the receptor-ligand maps yielded by this method
Returns:an iterator of receptor-ligand maps
Return type:iterator(data_classes.ReceptorLigandMap)
getRLEntryIDs(rl_map=None)

Return all available entry IDs for structures found in the supplied receptor-ligand map. If no receptor-ligand map is specified, the rl_map instance variable will be used.

Parameters:rl_map (data_classes.ReceptorLigandMap or None) – a receptor-ligand map, or None
Returns:a list of entry IDs
Return type:list()
exportRLMap(rl_map)

Manage the environment for exporting a single receptor-ligand map to LiveDesign by selecting relevant project rows when entering the context environment.

Parameters:rl_map (data_classes.ReceptorLigandMap) – the receptor-ligand map for export
Returns:the supplied receptor-ligand map
Return type:data_classes.ReceptorLigandMap
batchIteration()

Manage the environment for exporting receptor-ligand maps to LiveDesign, e.g. by changing the project selection state after iterating over all receptor-ligand batches.

getNextEntryId()
class schrodinger.application.livedesign.maestro_data_types.IndividualStructureBase(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.BaseMaestroData

Class representing data types for which each structure in the input receptor-ligand map is either a single target or a single node structure.

checkNumNodes(**kwargs)
class schrodinger.application.livedesign.maestro_data_types.TargetlessBase(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.IndividualStructureBase

Base class for data types that do not have a target structure. Subclasses must redefine MAX_NUM_ATOMS.

Variables:MAX_NUM_ATOMS (int) – the maximum number of atoms per structure
dummy_entry_id = None
MAX_NUM_ATOMS = 0
checkNumAtoms(**kwargs)
getTargetEntryID(target=None)

Return the entry ID of the dummy target created during batch export.

See parent class for complete method documentation.

class schrodinger.application.livedesign.maestro_data_types.OrganometallicCompounds(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.TargetlessBase

name = 'Organometallic Compounds'
description = 'Upload organometallic compounds. Each compound must be its own entry.'
MAX_NUM_ATOMS = 700
NODE_SINGULAR_STRING = 'organometallic compound'
NODE_PLURAL_STRING = 'organometallic compounds'
analyzeStructures()

Record the total number of compounds.

getSummary()

Return a summary of the receptor and ligand data stored in this object. Meant to be overridden by a subclass.

Returns:a summary of the data stored on this object
Return type:str
class schrodinger.application.livedesign.maestro_data_types.Ligands(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.TargetlessBase

name = 'Ligands'
description = 'Upload ligands. Each ligand must be in its own entry. Non-ligand structures will be ignored.'
MAX_NUM_ATOMS = 130
NODE_SINGULAR_STRING = 'ligand'
NODE_PLURAL_STRING = 'ligands'
analyzeStructures()

Only record the number of unique ligands.

getSummary()

Return a summary of the receptor and ligand data stored in this object. Meant to be overridden by a subclass.

Returns:a summary of the data stored on this object
Return type:str
class schrodinger.application.livedesign.maestro_data_types.DockedPoses(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.IndividualStructureBase

name = 'Docked Poses'
description = 'Upload docked poses based on the PV format. Selection should include one receptor, in its own entry, and docked ligands, each in a separate entry.'
NODE_SINGULAR_STRING = 'ligand'
NODE_PLURAL_STRING = 'ligands'
TARGET_SINGULAR_STRING = 'receptor'
TARGET_PLURAL_STRING = 'receptors'
getTargetEntryID(target=None)

Because all receptor-ligand pairs in the receptor-ligand map should have the same receptor, return the entry ID associated with any of them.

See parent class for complete method documentation.

checkNumNodes(**kwargs)
checkTargets(**kwargs)
getSummary()

Return a summary of the receptor and ligand data stored in this object. Meant to be overridden by a subclass.

Returns:a summary of the data stored on this object
Return type:str
analyzeStructures()

Calculate and store receptor data in addition to the ligand data calculated by the superclass method.

class schrodinger.application.livedesign.maestro_data_types.Complexes(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.BaseMaestroData

BATCHES_INCLUDE_TARGETS = True
name = 'Receptor-Ligand Complexes'
description = 'Upload receptor-ligand complexes. Selection should include n entries, where each entry includes a receptor and at least one ligand.'
NODE_SINGULAR_STRING = 'ligand'
NODE_PLURAL_STRING = 'ligands'
TARGET_SINGULAR_STRING = 'receptors'
checkTargets(**kwargs)
checkLigands(**kwargs)
getTargetEntryID(target=None)

Return the entry ID of the provided receptor structure.

See parent class for complete method documentation.

getSummary()

Return a summary of the receptor and ligand data stored in this object. Meant to be overridden by a subclass.

Returns:a summary of the data stored on this object
Return type:str
class schrodinger.application.livedesign.maestro_data_types.CovalentDockingComplexes(rl_map)

Bases: schrodinger.application.livedesign.maestro_data_types.Complexes

name = 'Covalent Docking Complexes'
description = 'Upload covalent docking structures. Selection should include outputs from the covalent docking panel. Uploaded ligands will be the original (input) structures prior to covalent docking processing.'
schrodinger.application.livedesign.maestro_data_types.get_ld_data_from_data_names(data_names)

Given a list of structure data names (e.g. “s_m_title”), return a list of corresponding LD Data instances.

Parameters:data_names (list(str)) – a list of structure data names
Returns:a list of LD Data objects corresponding to each structure data name
Return type:list(data_classes.LDData)
schrodinger.application.livedesign.maestro_data_types.get_structure_data_names(structures)
Parameters:structures (list(structure.Structure)) – a list of structures
Returns:set of data names for every property on each structure
Return type:set(str)
schrodinger.application.livedesign.maestro_data_types.get_structure_entry_IDs(structures)
Parameters:structures (list(structure.Structure)) – a list of structures
Returns:a set of the entry IDs stored in each structure
Return type:set(str)