Package MolKit :: Package pdb2pqr :: Package src :: Module pdb
[hide private]
[frames] | no frames]

Module pdb

source code

PDB parsing class

This module parses PDBs in accordance to PDB Format Description Version 2.2 (1996); it is not very forgiving. Each class in this module corresponds to a record in the PDB Format Description. Much of the documentation for the classes is taken directly from the above PDB Format Description.

----------------------------

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

----------------------------

Classes [hide private]
  END
END class
  MASTER
MASTER class
  CONECT
CONECT class
  ENDMDL
ENDMDL class
  TER
TER class
  SIGUIJ
SIGUIJ class
  ANISOU
ANISOU class
  SIGATM
SIGATM class
  HETATM
HETATM class
  MOL2BOND
Bonding of MOL2 files
  MOL2MOLECULE
Tripos MOL2 molecule 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
  ATOM
ATOM class
  MODEL
MODEL class
  TVECT
TVECT class
  MTRIX3
MTRIX3 class
  MTRIX2
MTRIX2 class
  MTRIX1
MTRIX1 class
  SCALE3
SCALE3 class
  SCALE2
SCALE2 class
  SCALE1
SCALE1 class
  ORIGX2
ORIGX2 class
  ORIGX3
ORIGX3 class
  ORIGX1
ORIGX1 class
  CRYST1
CRYST1 class
  SITE
SITE class
  CISPEP
CISPEP field
  SLTBRG
SLTBRG field
  HYDBND
HYDBND field
  LINK
LINK field
  SSBOND
SSBOND field
  TURN
TURN field
  SHEET
SHEET field
  HELIX
HELIX field
  FORMUL
FORMUL field
  HETSYN
HETSYN field
  HETNAM
HETNAM field
  HET
HET field
  MODRES
MODRES field
  SEQRES
SEQRES field
  SEQADV
SEQADV field
  DBREF
DBREF field
  REMARK
REMARK field
  JRNL
JRNL field The JRNL record contains the primary literature citation that describes the experiment which resulted in the deposited coordinate set.
  SPRSDE
SPRSDE field
  REVDAT
REVDAT field
  AUTHOR
AUTHOR field
  EXPDTA
EXPDTA field
  KEYWDS
KEYWDS field
  SOURCE
SOURCE field
  COMPND
COMPND field
  CAVEAT
CAVEAT field
  TITLE
TITLE field
  OBSLTE
OBSLTE field
  HEADER
HEADER field

Functions [hide private]
  readAtom(line)
If the ATOM/HETATM is not column-formatted, try to get some information by parsing whitespace from the right.
  readPDB(file)
Parse PDB-format data into array of Atom objects.
  getRandom()
Download a random PDB and return the path name.
  main()
Main driver for testing.

Function Details [hide private]

readAtom(line)

source code 

 If the ATOM/HETATM is not column-formatted, try to get some
 information by parsing whitespace from the right.  Look for
 five floating point numbers followed by the residue number.

 Parameters
     line:  The line to parse(string)
if record == ATOM:
     self.serial = int(string.strip(line[6:11]))
     self.name = string.strip(line[12:16])
     self.altLoc = string.strip(line[16])
     self.resName = string.strip(line[17:20])
     self.chainID = string.strip(line[21])
     self.resSeq = int(string.strip(line[22:26]))
     self.iCode = string.strip(line[26])
     self.x = float(string.strip(line[30:38]))
     self.y = float(string.strip(line[38:46]))
     self.z = float(string.strip(line[46:54]))
     try:
         self.occupancy = float(string.strip(line[54:60]))
         self.tempFactor = float(string.strip(line[60:66]))
         self.segID = string.strip(line[72:76])
         self.element = string.strip(line[76:78])
         self.charge = string.strip(line[78:80])
     except ValueError, IndexError:
         self.occupancy = 0.00
         self.tempFactor = 0.00
         self.segID = 0
         self.element = 0
         self.charge = 0
 else: raise ValueError, record

readPDB(file)

source code 
Parse PDB-format data into array of Atom objects.
Parameters
  file:  open file object 
Returns (dict, errlist)
  dict:  a dictionary indexed by PDB record names 
  errlist:  a list of record names that couldn't be parsed 

getRandom()

source code 
Download a random PDB and return the path name.
Returns
  path name of downloaded file

main()

source code 
Main driver for testing. Parses set number of random PDBs