CCL Home Page
Up Directory CCL README
This directory contains several Python modules that are useful
in computational chemistry:

PDB.py  (requires TextFile.py, Vector.py and umath.py)

  High-level I/O with PDB files. Allows you to deal with PDB files as if they
  were lists of residues and atoms. Example:
     for residue in PDBConfiguration('protein.pdb'):
         for atom in residue:
             print atom.name, atom.position


TextFile.py

  Unified access to compressed and uncompressed files, plus access
  to text files as a sequence of lines. ONLY FOR UNIX SYSTEMS!


Derivatives.py (requires Vector.py and umath.py)

  Automatic derivatives. Calculates analytical derivatives numerically, given
  only the original function, to any order and for any number of
  variables. Example:
     x = DerivVar(1.1,0)
     y = DerivVar(0.44, 1)
     f = exp(x**2+y**2)
     print f
  prints:
     (4.06982499598, [8.95361499116, 3.58144599646])


FirstDerivatives.py (requires Vector.py and umath.py)

  Automatic first-order derivatives. This module is a subset of
  Derivatives.py and compatible as far as possible. The restriction
  to first-order derivatives makes it faster.


Potential.py (requires Derivatives.py, FirstDerivatives.py, Vector.py
              and umath.py)

  Automatic gradient and force constant calculation for potential
  functions (or any function).
  Example:
     def harmonic(k, r1, r2):
          dr = r1-r2
	 return k*dr*dr
     harmonic_g = PotentialWithGradientsAndForceConstants(harmonic)
     energy, gradients, force_constants = \
            harmonic_g(100., Vector(0,3,1), Vector(1,2,0))
     print energy
     print gradients
     print force_constants
  prints:
     300.0
     [Vector(-200.0,200.0,200.0), Vector(200.0,-200.0,-200.0)]
     [[200.0, 0.0, 0.0, -200.0, 0.0, 0.0],
      [0.0, 200.0, 0.0, 0.0, -200.0, 0.0],
      [0.0, 0.0, 200.0, 0.0, 0.0, -200.0],
      [-200.0, 0.0, 0.0, 200.0, 0.0, 0.0],
      [0.0, -200.0, 0.0, 0.0, 200.0, 0.0],
      [0.0, 0.0, -200.0, 0.0, 0.0, 200.0]]


Vector.py (requires umath.py)

  3d-vectors, used by the three other modules.


umath.py

  Simplified substitute for the module "umath" from the
  numerics package. Use only if you don't have the
  numerics package. This module is used by all the other
  modules in this directory.



=========================================================
Where to get "python":

Here's the list of FTP sites:

  U.S. Sites

  ftp.python.org in /pub/python/ (Python's home site) 
  gatekeeper.dec.com in /pub/plan/python/ 
  ftp.uu.net in /languages/python/> 
  ftp.wustl.edu in /graphics/graphics/sgi-stuff/python/ (often busy) 
  ftp.sterling.com in /programming/languages/python/ 
  uiarchive.cso.uiuc.edu in /pub/lang/python/ 

  European sites

  ftp.cwi.nl in /pub/python/ 
  ftp.funet.fi in /pub/languages/python/ 
  ftp.sunet.se in /pub/lang/python/ 
  unix.hensa.ac.uk in /mirrors/uunet/languages/python/ 
  ftp.ibp.fr in /pub/python/ 
  ftp.switch.ch in /software/sources/python/ 
  ftp.informatik.tu-muenchen.de in /pub/comp/programming/languages/python/ 

  Australian sites

  ftp.dstc.edu.au in /pub/python/ 

There is also a Web page with all information that anyone could
possibly want about Python at http://www.python.org. And the
Usenet group comp.lang.python for further questions.

The numerics package mentioned above is currently in alpha test.
Anyone interested in contributing to development and testing should
join the Python Matrix SIG by sending a message containing the line
"subscribe matrix-sig " to Majordomo@python.org.  The
numerics package provides complex numbers and fast arrays, plus a
number of other useful features for numerical work.
Modified: Tue Mar 5 17:00:00 1996 GMT
Page accessed 7273 times since Sat Apr 17 21:35:45 1999 GMT