The PDBtools package

[Tags:gpl, library]

This is a collection of modules for the analysis of protein coordinates. The suite allows efficient computation on a large data set of RCSB protein data bank files. Parsing returns both protein and ligand coordinates. All of the information in ATOM and HETATM records of a PDB file is preserved.

[Skip to Readme]


Versions 0.0.1, 0.0.2, 0.0.3
Dependencies base (>3 && <5), bytestring, containers [details]
License GPL-3
Author Grant Rotskoff
Category Bioinformatics
Home page
Source repository head: git clone git://
Uploaded Wed Apr 4 23:24:39 UTC 2012 by GrantRotskoff
Distributions NixOS:0.0.3
Downloads 946 total (10 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 8 reports]


  • PDBtools
    • PDBtools.Base
    • PDBtools.Residues
  • PDButil
    • PDButil.PDBparse
    • PDButil.Vectors



Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for PDBtools

Readme for PDBtools-0.0.2

These modules provide an algebraic data type for atoms and proteins.
The data is expected to come from Protein Data Bank .pdb files. 
The parser will interpret ATOM and HETATM record types.

When implementing the parser over a large number of files:

1. Compile your code. 
2. Use mapM_ in your main loop to ensure computations are done sequentially, otherwise you'll likely see a stack overflow.
   There are certainly other solutions to memory management, depending on the sorts of computations that you're hoping to do.
   If mapM_ doesn't suit your goals, you may want to explore seq and deepSeq.

At the moment, all vector operations are conducted by Vectors.hs. Be warned that
this is an unsafe module (it makes no effort to check vector lengths, etc. In our case everything is three dimensional, so this isn't a problem. Vectors.hs is a module that could benefit from a great deal of expansion. Matrix operations are hopefully coming soon.