| Trees | Indices | Help |
|
|---|
|
|
Module for using APBS to find electrostic potential on the protein surface to analyze
protein-protein (or protein-ligand) interactions. There are two types of analyses
that can be performed here:
(1) Electrostatic complementarity. The reference: J. Mol. Biol. (1997) 268, 570-584.
(2) Residual potential. The reference: Prot. Sci. (2001) 10, 362-377 and also the website:
http://web.mit.edu/tidor/www/residual/description.html
Electrostatic complementarity (EC) defined in (1) provides a single quantity to describe the
interface complementarity, and it is extended here to assign a quantity for each residue
or each atom. Residual potential (RP) defined in (2) focuses on the ligand design, providing
a map of residual (non-ideal) electrostatic potential on the ligand surface. It would be better
used as a visualization tool.
Example usage to get EC:
ct = structure.StructureReader('1brs.maegz').next()
assign_ff(ct) # make sure force field is assigned to initialize the partial charge
lig_atoms = analyze.evaluate_asl(ct, 'chain.name D')
ec = calc_total_complementarity(ct, lig_atoms) # the overal EC
print "Overall EC:",ec
pots_by_atoms = calc_complementarity_by_atom(ct, lig_atoms)
# now get EC by residue
for res in ct.residue:
pots_by_res = {}
for atom in res.atom:
if atom in pots_by_atoms:
pots_by_res[atom.index] = pots_by_atoms[atom.index]
if pots_by_res:
print "Residue EC:", str(res), -1.0 * pearson_by_set(pots_by_res)
To get RP:
jobname = 'test'
rp = ResidualPotential(ct, lig_atoms, jobname = jobname)
residual_potential = rp.getResidualPotential()
# write out the surface and color it with residual potential
rp.ligct.write(jobname+'.maegz')
color_potential_surface(rp.ligsurf, residual_potential)
rp.ligsurf.write(jobname+'_residual.vis')
# also possible to visualize two components of residual potential
inter_potential = rp.getInteractionPotential()
color_potential_surface(rp.ligsurf, inter_potential)
rp.ligsurf.write(jobname+'_inter.vis')
desolv_potential = rp.getDesolvationPotential()
color_potential_surface(rp.ligsurf, desolv_potential)
rp.ligsurf.write(jobname+'_desolv.vis')
Or simply get electrostatic potential by APBS:
pg = get_APBS_potential_grid(ct) # potential on the grid
surf = surface.Surface.newMolecularSurface(ct, 'Surface')
pots = pg.getSurfacePotential(surf.vertex_coords) # potential on the surface points
Copyright Schrodinger, LLC. All rights reserved.
|
|||
|
PotGrid The container that holds the potential grid from APBS calculation. |
|||
|
ResidualPotential Calculator of the residual potential on the ligand surface. |
|||
|
|||
|
|||
|
|||
| two lists of floats: (x, y, z), (xlen, ylen, zlen) |
|
||
| Object of PotGrid class |
|
||
|
|||
|
|||
| List of DX files (potential) |
|
||
|
|||
|
|||
|
|||
| dict of lists. |
|
||
| float |
|
||
|
|||
__doc__ =
|
|||
OPLS_VERSION = 14
|
|||
DIEL_PRO =
|
|||
DIEL_WATER =
|
|||
COARSE_BUFFER = 40.0
|
|||
FINE_BUFFER = 20.0
|
|||
POT_CUTOFF_POSITIVE = 5.0
|
|||
POT_CUTOFF_NEGATIVE = -5.0
|
|||
NON_BURIED_DIST = 1.5
|
|||
logger = log.get_output_logger(name= "escomp")
|
|||
__package__ =
|
|||
|
|||
Color the surface according to the potential at surface points. Red for negative potential, blue for positive potential. red (255, 0, 0) for negative, blue (0, 0, 255) for positive, white (255, 255, 255) for neutral
|
Compute the center and grid size for the input structure.
|
Compute the APBS electrostatic potential on a 3D grid. The partial charge in the ct will be used in APBS calculation. So care should be taken before passing in CT if for example the ligand charge should be disabled. The vdW Radii are used to construct the molecular surface.
|
Write the .PQR file for APBS job.
|
Write the input file for APBS job.
|
Run multiple APBS jobs with job control.
|
Return the total electrostatic complementarity between the specified surfaces.
@type ct: structure._Structure object
@param ct: Structure to which <atoms1> and <atoms2> are indices in.
@type atoms1: Iterable of atom indices
@param atoms1: Atom numbers from the surface for which to calculate the
complementrairity.
@type atoms2: Iterable of atom indices
@param atoms2 = Atom numbers for the other surface. if not specified, use all
other atoms from the CT.
@rtype: float
@return the electrostatic complementarity between the 2 surfaces.
|
Return the pairs of potential values used for calculating electrostatic complementarity
between the specified surfaces, grouped by atom, in one dict.
@type ct: structure._Structure object
@param ct: Structure to which <atoms1> and <atoms2> are indices in.
@type atoms1: Iterable of atom indices
@param atoms1: Atom numbers from the surface for which to calculate the
complementrairity.
@type atoms2: Iterable of atom indices
@param atoms2 = Atom numbers for the other surface. if not specified, use all
other atoms from the CT.
@rtype: dict of lists.
@return: dict key is the index of the atom from the given list, dict value is a list of
potential pairs on the surface points that belong to the buried surface
of this atom. The correlation between the pair of potentials on one atom will give the
complementarity measurement of that atom. Similarly, the correlation between the pair
of potentials on one residue will give the complementarity of that residue, etc.
|
Return the pairs of potential values used for calculating electrostatic complementarity
between the specified surfaces, grouped by atom, in two dicts.
@type ct: structure._Structure object
@param ct: Structure to which <atoms1> and <atoms2> are indices in.
@type atoms1: Iterable of atom indices
@param atoms1: Atom numbers from the surface for which to calculate the
complementrairity.
@type atoms2: Iterable of atom indices
@param atoms2 = Atom numbers for the other surface. if not specified, use all
other atoms from the CT.
@rtype: two dicts of lists.
@return: Each dict corresponds to one of atom sets <atoms1> and <atoms2>. For each dict,
dict key is the index of the atom from the given list, dict value is a list of
potential pairs on the surface points that belong to the buried surface
of this atom. The correlation between the pair of potentials on one atom will give the
complementarity measurement of that atom. Similarly, the correlation between the pair
of potentials on one residue will give the complementarity of that residue, etc.
|
Return the pair of potentials on the buried surface points, grouped by atoms.
|
Compute Pearson Correlation Coefficient for the pair of surface potentials for a set of atoms.
|
|
|||
__doc__
|
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Wed Jan 25 01:17:30 2017 | http://epydoc.sourceforge.net |