# debump¶

Routines for biomolecule optimization.

Code author: Jens Erik Nielsen

Code author: Todd Dolinsky

Code author: Yong Huang

Code author: Nathan Baker

class pdb2pqr.debump.Debump(biomolecule, definition=None)[source]

Grab bag of random stuff that apparently didn’t fit elsewhere.

Todo

This class needs to be susbtantially refactored in to multiple classes with clear responsibilities.

__init__(biomolecule, definition=None)[source]

Initialize the Debump object.

Parameters: biomolecule (Biomolecule) – the biomolecule to debump definition (Definition) – topology definition file
debump_biomolecule()[source]

Minimize bump score for molecule.

Make sure that none of the added atoms were rebuilt on top of existing atoms. See each called function for more information.

Raises: ValueError – if missing (backbone) atoms are encountered
debump_residue(residue, conflict_names)[source]

Debump a specific residue.

Only should be called if the residue has been detected to have a conflict. If called, try to rotate about dihedral angles to resolve the conflict.

Parameters: residue (Residue) – the residue in question conflict_names ([str]) – a list of atomnames that were rebuilt too close to other atoms True if successful, False otherwise bool
find_nearby_atoms(atom)[source]

Find nearby atoms for conflict-checking.

Uses neighboring cells to compare atoms rather than an all versus all O(n^2) algorithm, which saves a great deal of time. There are several instances where we ignore potential conflicts; these include donor/acceptor pairs, atoms in the same residue, and bonded CYS bridges.

Parameters: atom (Atom) – find nearby atoms to this atom a dictionary of Atom too close to amount of overlap for that atom dict
find_residue_conflicts(residue, write_conflict_info=False)[source]

Find conflicts between residues.

Parameters: residue (Residue) – residue to check write_conflict_info (bool) – write verbose output about conflict list of conflicts [str]
get_bump_score(residue)[source]

Get a bump score for a residue.

Parameters: residue (Residue) – residue with bumping to evaluate bump score float
get_bump_score_atom(atom)[source]

Find nearby atoms for conflict-checking.

Uses neighboring cells to compare atoms rather than an all versus all O(n^2) algorithm, which saves a great deal of time. There are several instances where we ignore potential conflicts; these include donor/acceptor pairs, atoms in the same residue, and bonded CYS bridges.

Parameters: atom (Atom) – find nearby atoms to this atom a bump score sum((dist-cutoff)**20 for all nearby atoms float
get_closest_atom(atom)[source]

Get the closest atom that does not form a donor/acceptor pair.

Used to detect potential conflicts.

Note

Cells must be set before using this function.

Parameters: atom (Atom) – the atom to test the closest atom to the input atom that does not satisfy a donor/acceptor pair. Atom
score_dihedral_angle(residue, anglenum)[source]

Assign score to dihedral angle.

Parameters: residue (Residue) – residue with dihedral angles to score anglenum (int) – specific dihedral angle index score for dihedral angle float
set_dihedral_angle(residue, anglenum, angle)[source]

Rotate a residue about a given angle.

Uses quatfit methods to perform the matrix mathematics.

Parameters: residue (Residue) – residue to rotate anglenum – specific dihedral angle index angle (float) – the angle to set the dihedral to