schrodinger.application.mcpro.perturbations module¶
Classes for dealing with graphs for constructing optimal FEP pathways.
Copyright Schrodinger, LLC. All rights reserved.
-
class
schrodinger.application.mcpro.perturbations.
PertID
(fragA=None, fragB=None, weight=None)¶ Storage class for perturbation identification
-
class
schrodinger.application.mcpro.perturbations.
PertReorder
(start=None, end=None, start_dummies=None, end_dummies=None)¶ Storage class for perturbation reordering
-
add_atom
(start, end, start_dummy, end_dummy)¶ Method to add an atom to the reorder list
-
-
class
schrodinger.application.mcpro.perturbations.
Perturbations
(verticies, pert_db_file=None, pert_db_type='ring')¶ Class to read, create, and manipulate the graph of perturbations from which user-specified list of fragments will be converted to a list of FEPs to be run
-
analyze_paths
(reference=None)¶ Method to get shortest paths based on the lowest scoring minimum spanning graph. Central vertex against which all ddGs will be computed may be found automatically or selecte by the user. Reference vertex must be a member of the subgraph
-
create_adjacent_list
(perturb_ids, verticies)¶ Method takes the complete list of perturbation IDs and the list of fragments currently of interest and creates the symmetric reweighted adjacent list in the form
- G = { ‘A’:{‘B’:1, ‘C’:10},
- ‘B’:{‘C’:10, ‘A’:1}, ‘C’:{‘A’:10, ‘B’:1}}
-
dijkstra
(G, start, end=None)¶ Implementation of Dijkstra’s algorithm to find the shortest path between start and end verticies. Note G is a hash of the form, where the verticies (A, B, C) are connected by edges with weights of 1 or 10.
- G = { ‘A’:{‘B’:1, ‘C’:10},
- ‘B’:{‘C’:10, ‘A’:1}, ‘C’:{‘A’:10, ‘B’:1}}
All weights must be positive and symmetric, i.e. A-B weight must equal B-A weight.
-
generate_reordered_ct
(mode, ct, reorder_obj)¶ Method to convert input ct for use in Model System creation for FEP mode = 1 convert ct for use as starting struture mode = 2 convert ct for use as ending structure
Take input structure, add any necessary dummy atoms, create new reorder list, reorder molecule.
-
get_best_vertex
(verticies, dist)¶ Method to return lowest weighted connection to vertex G found in verticies
-
get_diff_pert
(path, found_pert, adj_list)¶ Method looks for perturbations found in path and not found in array of pertub_ids in found_pert and sums their weights
-
get_directed_pert
(pertid)¶ Method that returns the directed perturbation path taken from the perturbation database for an A->B transformation
-
get_gui_table
()¶ Method to return two lists containing the FEPs to be performed text_curr_pert contains ‘A -> B’ once for each sub-perturbation needed text_path_pert contains the titles for each sub-perturbation
-
get_pert_data
()¶
-
get_pert_reference
()¶
-
get_pert_unique_feps
()¶ return a directed list of all unique perturbations to be performed
-
get_text_path
(path, fromLig, toLig)¶ Method converts a path to the text labels suitable for output in the GUI table
-
get_weight
(verticies, pertid)¶ Method to identify if current pertid fragments are found in the vertex list and return appropriate scale factors
-
grab_reorder_obj
(start, end)¶ return PertReorder objects for start and end structures
-
modify_ct
(startCt, endCt)¶ Method to set bond lengths/angles/torsions for dummy atoms found in start/end Cts
-
shortestPath
(G, start, end)¶ Find a single shortest path from the given start vertex to the given end vertex. The input has the same conventions as dijkstra(). The output is a list of the vertices in order along the shortest path.
-
-
schrodinger.application.mcpro.perturbations.
adjustDum
(ct, value, atom1, atom2, atom3=None, atom4=None)¶ Adjust a distance, angle or dihedral angle. If atom3 is None then the distance between atom1 and atom2 will be set to value, atom2 and all atoms attached to that atom will be moved. If atom4 is None then the angle between atom1, atom2 and atom3 will set to value, atom3 and all other atoms attached to that will be moved. If all atoms are specified then the dihedral angle made by atom1, atom2, atom3 and atom4 will be set to value and atom4 and all other atoms attached to that will be moved. All distances are specified in Angstroms, all angles in degrees.
All atom arguments can be integers or _StructureAtom objects. There is no return value for this function.
-
schrodinger.application.mcpro.perturbations.
convert_to_pos_dihedral
(inDih)¶
-
schrodinger.application.mcpro.perturbations.
find_pert_db
(pert_db_type='ring')¶ Method to return perturbation database path
-
schrodinger.application.mcpro.perturbations.
gen_reordered_ct
(mode, ct, reorder_obj)¶ Method to convert input ct for use in Model System creation for FEP mode = 1 convert ct for use as starting struture mode = 2 convert ct for use as ending structure
Take input structure, add any necessary dummy atoms, create new reorder list, reorder molecule.
-
schrodinger.application.mcpro.perturbations.
import_perturbations
(file)¶ Method reads the perturbation database which includes a list of perturbation ids and the structural reordering lists/dummy additions. Data in perturb_ids[] is directional, i.e. fragA->fragB
-
schrodinger.application.mcpro.perturbations.
modify_ct
(startCt, endCt)¶ Method to set bond lengths/angles/torsions for dummy atoms found in start/end Cts
-
schrodinger.application.mcpro.perturbations.
set_dummy_geometry
(ct, refct, tmp)¶ Set dummy atom geometries in ct bond, angle, and torsions are set off first bond/angle/torsion found in refct that doesn’t correspond to a newly added dummy atom. datom-batom-aatom,tatom