Bio.PDB.FragmentMapper module
Classify protein backbone structure with Kolodny et al’s fragment libraries.
It can be regarded as a form of objective secondary structure classification. Only fragments of length 5 or 7 are supported (ie. there is a ‘central’ residue).
Full reference:
Kolodny R, Koehl P, Guibas L, Levitt M. Small libraries of protein fragments model native protein structures accurately. J Mol Biol. 2002 323(2):297-307.
The definition files of the fragments can be obtained from:
http://github.com/csblab/fragments/
You need these files to use this module.
The following example uses the library with 10 fragments of length 5. The library files can be found in directory ‘fragment_data’.
>>> from Bio.PDB.PDBParser import PDBParser
>>> from Bio.PDB.FragmentMapper import FragmentMapper
>>> parser = PDBParser()
>>> structure = parser.get_structure("1a8o", "PDB/1A8O.pdb")
>>> model = structure[0]
>>> fm = FragmentMapper(model, lsize=10, flength=5, fdir="PDB")
>>> chain = model['A']
>>> res152 = chain[152]
>>> res157 = chain[157]
>>> res152 in fm # is res152 mapped? (fragment of a C-alpha polypeptide)
False
>>> res157 in fm # is res157 mapped? (fragment of a C-alpha polypeptide)
True
- class Bio.PDB.FragmentMapper.Fragment(length, fid)
Bases:
object
Represent a polypeptide C-alpha fragment.
- __init__(length, fid)
Initialize fragment object.
- Parameters:
length (int) – length of the fragment
fid (int) – id for the fragment
- get_resname_list()
Get residue list.
- Returns:
the residue names
- Return type:
[string, string,…]
- get_id()
Get identifier for the fragment.
- Returns:
id for the fragment
- Return type:
int
- get_coords()
Get the CA coordinates in the fragment.
- Returns:
the CA coords in the fragment
- Return type:
NumPy (Nx3) array
- add_residue(resname, ca_coord)
Add a residue.
- Parameters:
resname (string) – residue name (eg. GLY).
ca_coord (NumPy array with length 3) – the c-alpha coordinates of the residues
- __len__()
Return length of the fragment.
- __sub__(other)
Return rmsd between two fragments.
- Returns:
rmsd between fragments
- Return type:
float
Examples
This is an incomplete but illustrative example:
rmsd = fragment1 - fragment2
- __repr__()
Represent the fragment object as a string.
Returns <Fragment length=L id=ID> where L=length of fragment and ID the identifier (rank in the library).
- class Bio.PDB.FragmentMapper.FragmentMapper(model, lsize=20, flength=5, fdir='.')
Bases:
object
Map polypeptides in a model to lists of representative fragments.
- __init__(model, lsize=20, flength=5, fdir='.')
Create instance of FragmentMapper.
- Parameters:
model (L{Model}) – the model that will be mapped
lsize (int) – number of fragments in the library
flength (int) – length of fragments in the library
fdir (string) – directory where the definition files are found (default=”.”)
- __contains__(res)
Check if the given residue is in any of the mapped fragments.
- __getitem__(res)
Get an entry.
- Returns:
fragment classification
- Return type:
L{Fragment}