Package schrodinger :: Package application :: Package desmond :: Module fep_scholar_util :: Class FEPScholarMapper
[hide private]
[frames] | no frames]

Class FEPScholarMapper

object --+
         |
        FEPScholarMapper

This is a mapper class used by FEP Scholar GUI so that we don't need to use Canvas MCS for matching molecule atoms.

Instance Methods [hide private]
 
__init__(self, st1, st2, dist=0.4, match1=None, match2=None, core_hop=False)
Class initializer, which takes two molecule structures that need to be matched.
 
createMap(self)
This function should be called when this class is initialized.
tuple
getMatches(self)
This function returns tuple that contains lists of 'core' atom indices for both structures.
 
_remove_partial_ring_match(self)
This function takes the two structures and their atom mapping and removes mapping of atoms that are in partial rings or in alicyclic substructure
 
_update_st2_props(self, core_mol_orig, remove_atoms)
Remove i_fep_mapping property from st2 structure of those atoms that were matched to broken rings and alicyclic matching.
 
_getMol1CoreAtomsMapping(self)
 
_getMol2CoreAtomsMapping(self)
list
_getMatches(self, st, order_by=None)
This function returns a list of 'core' atoms for a given structure.
tuple
getMutations(self)
This function finds mutated atoms for two ligand structures.
tuple
getHotAtoms(self)
This function returns lists of 'hot' atoms for two ligands.
tuple
getStructures(self)
This function returns structure.Structure objects for two ligands.
float
getCoreRmsd(self)
This function calculates RMSD for core atoms in two ligands.
 
get_carat_map(self, st)
 
clear_atom_props(self, st)
 
get_dist(self, xyz1, xyz2)
 
get_atom_key(self, atom)
dict
get_coords_dict(self, st)
This function creates so-called coordinates dictionary for each atom in a structure.
 
del_from_carat(self, idx)
 
set_match_atom(self, atom, matched_atom_index)
 
match_by_cartesian_coordinates(self, st_new)
 
match_by_distance(self, st_new, distance)
 
get_core_map(self, st_new)
 
remove_unconn_core_atoms(self, st_new)
 
match_core_hydrogens(self, st_new)
 
get_fep_mapping(self, st)
structure.Structure
_get_fep_mapping_from_matches(self, st)
This function is called to set up mapping properties in a given structure from matching core atom indices provided at class initialization.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, st1, st2, dist=0.4, match1=None, match2=None, core_hop=False)
(Constructor)

 

Class initializer, which takes two molecule structures that need to be matched. If optional core atom matches for two molecules are provided (match1 and match2) this data would be used to match two molecules instead.

Parameters:
  • st1 (structure.Structure) - first structure
  • st2 (structure.Structure) - second structure
  • dist (float) - distance cutoff
  • match1 (list) - list of core atom indices for first structure
  • match2 (list) - list of core atom indices for second structure
Overrides: object.__init__

createMap(self)

 

This function should be called when this class is initialized. It determines atom mapping between two structures. Mapping information is stored as various properties in structure objects.

getMatches(self)

 

This function returns tuple that contains lists of 'core' atom indices for both structures. For the second ligand list of atom matches is reordered to reference the list of matches for the first ligand.

Returns: tuple
tuple that contains two lists of core atoms

_update_st2_props(self, core_mol_orig, remove_atoms)

 

Remove i_fep_mapping property from st2 structure of those atoms that were matched to broken rings and alicyclic matching.

Parameters:
  • core_mol_orig (SchrodStruc) - core molecule before trimming partial ring/alicycle matching
  • remove_atoms (int) - list of atoms in core_mol_orig that should be removed from the core

_getMatches(self, st, order_by=None)

 

This function returns a list of 'core' atoms for a given structure. It takes another list as an optional argument, which is used to order the list of core atoms.

Parameters:
  • st (structure.Structure) - ligand structure
  • order_by (list) - list of 'reference' structure core atoms which defines order of core atoms for this structure.
Returns: list
list of 'core' atoms for a given structure

getMutations(self)

 

This function finds mutated atoms for two ligand structures. Atoms in two ligands are defined as 'mutated' if they are defined as 'core' atoms, but don't have same atomic numbers.

Returns: tuple
tuple that contains lists of 'mutated' atoms for two ligands

getHotAtoms(self)

 

This function returns lists of 'hot' atoms for two ligands.

Returns: tuple
tuple that contains lists of 'hot' atoms.

getStructures(self)

 

This function returns structure.Structure objects for two ligands. Note that these structures are different(!) from the ones used to initialize this class. There contain special fep mapping properties.

Returns: tuple
modified structures for two ligands

getCoreRmsd(self)

 

This function calculates RMSD for core atoms in two ligands.

Returns: float
core RMSD

get_coords_dict(self, st)

 

This function creates so-called coordinates dictionary for each atom in a structure. Here key is the text string based on atom coordinates and value is atom's MetaAtom object.

Returns: dict
'coordinates dictionary'

_get_fep_mapping_from_matches(self, st)

 

This function is called to set up mapping properties in a given structure from matching core atom indices provided at class initialization.

Parameters:
Returns: structure.Structure
copy of input structure with FEP mapping properties