Bioplib
Protein Structure C Library
 All Data Structures Files Functions Variables Typedefs Macros Pages
Handling PDB Data

BiopLib - Handling PDB Data

Analyzing structures

Atom names and elements

Calculations

Conversions

Extracting data

File IO

BiopLib provides functions for reading and writing PDB and PDBML (XML) files. The functions blReadPDB() and blWritePDB() will read and write the ATOM/HETATM records only. The functions blReadWholePDB() and blWriteWholePDB() will include the header and trailer information from the PDB file. There are also functions to extract data from these headers of directly from the headers in a PDB file.

If the BiopLib library has been compiled with XML support then the above functions will also read and write PDBML formatted files.

Key functions

Other functions

The reading functions will create a linked list of PDB data structures. With each node in the list corresponding to an ATOM or HETATM record and containing all the data for the record. BiopLib also provides functions to search, manipulate and perform calculations on the list as well as functions to write PDB and PDBML files.

By default, the format of the file read (pdb/pdbml) is the format for output. Set format for output files with the macros: FORCEPDB or FORCEXML

Fitting

Key functions

Other functions

Manipulating the PDB linked list

ATOM records within the PDB linked list can be manipulated with the following functions and macros.

Macros for the creation and deletion of PDB linked lists include:

The contents of PDB linked lists can be manipulated with the following functions:

Miscellaneous functions

Modifying the structure

Moving the structure

Searching the PDB linked list

The following functions allow you to search and walk through the PDB linked list.

Residue specification string

Some of the above functions will parse a residue specification string. The residue specification string is in the form, [c][.]num[i] where 'c' is the chain label 'num' is the residue number and 'i' is the insertion code. The chain label and insert code are optional. The chain label can be separated from the residue number with a period allowing of numerical or multi-letter chain ids. For example:

  A10
  A.10A
  1.10
  Light.10