ligand
and submodule contents¶
ligand
¶
Ligand support functions.
Todo
Some of the definitions in this module belong in a configuration file other than here.
Code author: Jens Erik Nielsen
hydrogens.ligand.mol2
¶
Support molecules in Tripos MOL2 format.
For further information look at (web page exists: 25 August 2005): http://www.tripos.com/index.php?family=modules,SimplePage,,,&page=sup_mol2&s=0
-
class
pdb2pqr.ligand.mol2.
Mol2Atom
[source]¶ MOL2 molecule atoms.
-
assign_radius
(primary_dict, secondary_dict)[source]¶ Assign radius to atom.
Todo
It seems inconsistent that this function pulls radii from a dictionary and the biomolecule routines use force field files.
Parameters:
-
bond_order
¶ Total number of electrons in bonds with other atoms.
Returns: total number of electrons in bonds with other atoms Return type: int
-
coords
¶ Coordinates.
Returns: coordinates Return type: numpy.ndarray
-
distance
(other)[source]¶ Get distance between two atoms.
Parameters: other (Mol2Atom) – other atom for distance measurement Returns: distance Return type: float
-
-
class
pdb2pqr.ligand.mol2.
Mol2Bond
(atom1, atom2, bond_type, bond_id=0)[source]¶ MOL2 molecule bonds.
-
class
pdb2pqr.ligand.mol2.
Mol2Molecule
[source]¶ Tripos MOL2 molecule.
-
assign_parameters
(primary_dict={'C': 1.87, 'Cl': 1.82, 'F': 2.4, 'H': 1.1, 'I': 2.65, 'N': 1.4, 'O.co2': 1.76, 'S': 2.15}, secondary_dict={'Ar': 1.88, 'As': 1.85, 'Br': 1.85, 'C': 1.7, 'Cl': 1.75, 'F': 1.47, 'H': 1.2, 'He': 1.4, 'I': 1.98, 'Kr': 2.02, 'N': 1.55, 'Ne': 1.54, 'O': 1.52, 'P': 1.8, 'S': 1.8, 'Se': 1.9, 'Si': 2.1, 'Te': 2.06, 'Xe': 2.16})[source]¶ Assign charges and radii to atoms in molecule.
Parameters: - primary_dict – primary dictionary of radii indexed by atom type or element
- secondary_dict – backup dictionary for radii not found in primary dictionary
-
find_atom_torsions
(start_atom)[source]¶ Set the torsion angles that start with this atom (name).
Parameters: start_atom (str) – starting atom name Returns: list of 4-tuples containing atom names comprising torsions
-
find_new_rings
(path, rings, level=0)[source]¶ Find new rings in molecule.
This was borrowed from StackOverflow: https://j.mp/2AHaukj
Parameters: - path (list of str) – list of atom names
- rings (list of str) – current list of rings
- level (int) – recursion level
Returns: new list of rings
Return type:
-
parse_atoms
(mol2_file)[source]¶ Parse @<TRIPOS>ATOM section of file.
Parameters: mol2_file – file-like object with MOL2 data
Returns: file-like object advanced to bonds section
Raises: - ValueError – for bad MOL2 ATOM lines
- TypeError – for bad charge entries
-
parse_bonds
(mol2_file)[source]¶ Parse @<TRIPOS>BOND section of file.
Atoms must already have been parsed. Also sets up torsions and rings.
Parameters: mol2_file – file-like object with MOL2 data Returns: file-like object advanced to SUBSTRUCTURE section
-
read
(mol2_file)[source]¶ Routines for reading MOL2 file.
Parameters: mol2_file – file-like object with MOL2 data
-
static
rotate_to_smallest
(path)[source]¶ Rotate cycle path so that it begins with the smallest node.
This was borrowed from StackOverflow: https://j.mp/2AHaukj
Parameters: path (list of str) – list of atom names Returns: rotated path Return type: list of str
-
set_rings
()[source]¶ Set all rings in molecule.
This was borrowed from StackOverflow: https://j.mp/2AHaukj
-
hydrogens.ligand.peoe
¶
Implements the PEOE method.
The PEOE method is described in: Paul Czodrowski, Ingo Dramburg, Christoph A. Sotriffer Gerhard Klebe. Development, validation, and application of adapted PEOE charges to estimate pKa values of functional groups in protein–ligand complexes. Proteins, 65, 424-437, 2006. https://doi.org/10.1002/prot.21110
-
pdb2pqr.ligand.peoe.
assign_terms
(atoms, term_dict)[source]¶ Assign polynomial terms to each atom.
Parameters: Returns: modified list of atoms
Return type:
-
pdb2pqr.ligand.peoe.
electronegativity
(charge, poly_terms, atom_type)[source]¶ Calculate the electronegativity.
Calculation is based on a third-order polynomial in the atomic charge as described in Equation 2 of https://doi.org/10.1002/prot.21110.
Parameters: Returns: electronegativity value
Return type: Raises: IndexError – if incorrect number of poly_terms given
-
pdb2pqr.ligand.peoe.
equilibrate
(atoms, damp=0.778, scale=1.56, num_cycles=6, term_dict={'BR': (10.88, 8.47, 1.16, 19.71), 'C.1': (10.39, 9.45, 0.73, 20.57), 'C.2': (9.29, 9.32, 1.51, 19.62), 'C.3': (7.98, 9.18, 1.88, 19.04), 'C.AR': (8.530000000000001, 9.18, 1.88, 19.04), 'C.CAT': (7.98, 9.18, 1.88, 19.04), 'CL': (10.38, 9.69, 1.35, 22.04), 'F': (12.36, 13.85, 2.31, 30.82), 'H': (7.17, 6.24, -0.56, 12.85), 'I': (10.9, 7.96, 0.96, 18.82), 'N.1': (15.68, 11.7, -0.27, 27.11), 'N.2': (12.87, 11.15, 0.85, 24.87), 'N.3': (17.54, 10.28, 1.36, 28.0), 'N.4': (17.54, 10.28, 1.36, 28.0), 'N.AM': (16.369999999999997, 11.15, 0.85, 24.87), 'N.AR': (11.579999999999998, 11.15, 0.85, 24.87), 'N.PL3': (13.37, 11.15, 0.85, 24.87), 'O.2': (14.18, 12.92, 1.39, 28.49), 'O.3': (11.08, 12.92, 1.39, 28.49), 'O.CO2': (15.25, 13.79, 0.47, 31.33), 'O.OH': (14.98, 12.92, 1.39, 28.49), 'P.3': (10.63, 9.13, 1.38, 20.65), 'S.2': (10.63, 9.13, 1.38, 20.65), 'S.3': (10.63, 9.13, 1.38, 20.65), 'S.O2': (10.63, 9.13, 1.38, 20.65)})[source]¶ Equilibrate the atomic charges.
Parameters: Returns: revised list of atoms
Return type: