src.protein (28 February 2006) | index /Users/baker/coding/manifold/pdb2pqr/trunk/pdb2pqr/src/protein.py

`Routines for PDB2PQR
This module contains the protein object used in PDB2PQR and associated
methods
----------------------------
PDB2PQR -- An automated pipeline for the setup, execution, and analysis of
Poisson-Boltzmann electrostatics calculations
Nathan A. Baker (baker@biochem.wustl.edu)
Todd Dolinsky (todd@ccb.wustl.edu)
Dept. of Biochemistry and Molecular Biophysics
Center for Computational Biology
Washington University in St. Louis
Jens Nielsen (Jens.Nielsen@ucd.ie)
University College Dublin
Additional contributing authors listed in documentation and supporting
package licenses.
Copyright (c) 2003-2007. Washington University in St. Louis.
All Rights Reserved.
This file is part of PDB2PQR.
PDB2PQR is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PDB2PQR is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PDB2PQR; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
----------------------------`

Modules
`` |  |
copy math | os string | sys |

Classes
`` |  | Protein
class Protein
`` | `Protein class The protein class represents the parsed PDB, and provides a hierarchy of information - each Protein contains a list of Chain objects as provided in the PDB file. Each Chain then contains its associated list of Residue objects, and each Residue contains a list of Atom objects, completing the hierarchy.`
| Methods defined here: __init__(self, pdblist, definition) `Initialize using parsed PDB file Parameters pdblist: List of Classes of PDB lines as created` createHTMLTypeMap(self, definition, outfilename) `Create an HTML typemap file at the desired location. If a type cannot be found for an atom a blank is listed. Parameters definition: The definition objects. outfilename: The name of the file to write (string)` createResidue(self, residue, resname) `Create a residue object. If the resname is a known residue type, try to make that specific object, otherwise just make a standard residue object. Parameters residue: A list of atoms (list) resname: The name of the residue (string) Returns: residue: The residue object (Residue)` getAtoms(self) `Return all Atom objects in list format Returns atomlist: List of Atom objects in the protein (list)` getChains(self) `Get the chains object Returns chains: The list of chains in the protein (chain)` getCharge(self) `Get the total charge on the protein NOTE: Since the misslist is used to identify incorrect charge assignments, this routine does not list the 3 and 5 termini of nucleic acid chains as having non-integer charge even though they are (correctly) non-integer. Returns: misslist: List of residues with non-integer charges (list) charge: The total charge on the protein (float)` getResidues(self) `Return the list of residues in the entire protein` numAtoms(self) `Get the number of atoms for the entire protein(including multiple chains)` numResidues(self) `Get the number of residues for the entire protein (including multiple chains) Returns count: Number of residues in the protein (int)` printAtoms(self, atomlist, chainflag=0) `Get the text for the entire protein Parameters atomlist: The list of atoms to include (list) chainflag: Flag whether to print chainid or not - Defaults to 0 (int) Returns text: The list of (stringed) atoms (list)` reSerialize(self) `Generate new serial numbers for atoms in the protein`

Data
`` |  | BACKBONE = ['N', 'CA', 'C', 'O', 'O2', 'HA', 'HN', 'H', 'tN'] DIHEDRAL = 57.2958 SMALL = 9.9999999999999995e-08 __author__ = 'Todd Dolinsky' __date__ = '28 February 2006'

Author
`` |  | Todd Dolinsky