src.utilities (28 February 2006)
index
/home/todd/release/pdb2pqr-1.1.0/src/utilities.py

Utilities for PDB2PQR Suite
 
This module provides various utilities for the PDB2PQR suite to be
imported into other Python scripts.
 
----------------------------
 
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-2006.  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
       
math
os
string
sys

 
Functions
       
add(coords1, coords2)
Add one 3-dimensional point to another
 
Parameters
    coords1: coordinates of form [x,y,z]
    coords2: coordinates of form [x,y,z]
Returns
    list:  List of coordinates equal to coords2 + coords1 (list)
analyzeConnectivity(map, key)
Analyze the connectivity of a given map using the key value.
 
Parameters
    map:  The map to analyze (dict)
    key:  The key value (variable)
Returns
    list: A list of connected values to the key (list)
cross(coords1, coords2)
Find the cross product of two 3-dimensional points
 
Parameters
    coords1: coordinates of form [x,y,z]
    coords2: coordinates of form [x,y,z]
Returns
    list:  Cross product coords2 and coords1 (list)
distance(coords1, coords2)
Calculate the distance between two coordinates, as denoted by
 
    dist = sqrt((x2- x1)^2 + (y2 - y1)^2 + (z2 - z1)^2))
 
Parameters
    coords1: Coordinates of form [x,y,z]
    coords2: Coordinates of form [x,y,z]
Returns
    dist:  Distance between the two coordinates (float)
dot(coords1, coords2)
Find the dot product of two 3-dimensional points
 
Parameters
    coords1: coordinates of form [x,y,z]
    coords2: coordinates of form [x,y,z]
Returns
    value:  Dot product coords2 and coords1 (float)
factorial(n)
Returns the factorial of the given number n
getAngle(coords1, coords2, coords3)
Get the angle between three coordinates
 
Parameters
    coords1:  The first coordinate set (atom)
    coords2:  The second (vertex) coordinate set (atom)
    coords3:  The third coordinate set (atom)
Returns
    angle:  The angle between the atoms (float)
getDatFile(name)
Grab a data file. If the file cannot be found in the
given directory, try the current system path.
 
Parameters
    name:  The name of the file to get (string)
Returns
    path:  The path to the file (string)
getDihedral(coords1, coords2, coords3, coords4)
Calculate the angle using the four atoms
 
Parameters
    coords1: First of four coordinates of form [x,y,z]
    coords2: Second of four
    coords3: Third of four
    coords4: Fourth of four
Returns
    value: Size of the angle (float)
getFFfile(name)
Grab the forcefield file.  May or may not residue in the dat/
directory.
getNamesFile(name)
Grab the *.names file that contains the XML mapping.
 
Parameters
    name:  The name of the forcefield (string)
Returns
    path:  The path to the file (string)
getPDBFile(path)
Obtain a PDB file.  First check the path given on the command
line - if that file is not available, obtain the file from the
PDB webserver at http://www.rcsb.org/pdb/ .
 
Parameters
    path:  Name of PDB file to obtain (string)
 
Returns
    file:  File object containing PDB file (file object)
normalize(coords)
Normalize a set of coordinates
 
Parameters
    coords: coordinates of form [x,y,z]
Returns
    list: normalized coordinates (list)
shortestPath(graph, start, end, path=[])
Uses recursion to find the shortest path from one node to
another in an unweighted graph.  Adapted from
http://www.python.org/doc/essays/graphs.html .
 
Parameters:
    graph: A mapping of the graph to analyze, of the form
           {0: [1,2], 1:[3,4], ...} . Each key has a list
           of edges.
    start: The ID of the key to start the analysis from
    end:   The ID of the key to end the analysis
    path:  Optional argument used during the recursive step
           to keep the current path up to that point
 
Returns:
    (variable): Returns a list of the shortest path (list)
                Returns None if start and end are not
                connected
sortDictByValue(dict)
Sort a dictionary by its values
 
Parameters
    dict:  The dictionary to sort (dict)
Returns
    items: The dictionary sorted by value (list)
subtract(coords1, coords2)
Subtract one 3-dimensional point from another
 
Parameters
    coords1: coordinates of form [x,y,z]
    coords2: coordinates of form [x,y,z]
Returns
    list:  List of coordinates equal to coords1 - coords2 (list)

 
Data
        DIHEDRAL = 57.2958
SMALL = 9.9999999999999995e-08
__author__ = 'Todd Dolinsky'
__date__ = '28 February 2006'

 
Author
        Todd Dolinsky