Proteins & Datastructures

William Pitt ubcg08l at mail.cryst.bbk.ac.uk
Wed Feb 12 10:10:05 EST 1997


Thomas hamelryck wrote:
> 
> Hi,
> 
> I'm trying to write a C++ object that can read in a pdb file and represent
> a protein internally. The object should also be capable of performing
> simple manipulations of the structure like deleting a residue or flipping a
> peptide bond.
> 
> My question is :
> 
> Are there any books or references dealing with the efficient representation
> of a protein in a program?  Useful suggestions or programming tips are welcome
> too.
> 

I am involved in a project to create a C++ class library for molecular
modelling and bioinformatics (see http://www.cryst.bbk.ac.uk/classlib/
). 
We are concentrating our efforts on algorithms such sequence alignment,
least squares fitting, FFT etc.. For this project we have been
developing   
Molecule, Atom, CovalentBond classes. These are not ready to be
released  
yet but we have some experience in what you are wanting to do.

I would say
the single most important tip is to try and keep the physical
dependencies   
between your classes to a minimum. For example, if an Atom class
contains
a list of pointers to Bond objects and a Bond class contains two
pointers
to Atom objects then class Atom is physically dependent on class Bond
and vice versa. This is an example of a cyclic dependency as is
particularly
to be avoided. The more physical dependencies, the more a simple change
in
one part of a class library is likely to cause problems in other parts.
We
solve the Atom, Bond problem by creating Graph of Atoms within the
Molecule class to hold the connectivity information. In this way Atom
can   
freed from their dependence on Bond. This also makes sense on a
biological
level: an atom can exist independently of any bonds but a bond must
involve two atoms.

Physical dependencies are, of cause, a general OOP design issue. I
read   
about these problems and how to solve them in C++ report (see
http://www.sigs.com ). I would also say that you are likely to spend
most
of your time writing code to parse pdb files and create objects from the 
data extracted. You might be better off using someone elses classes.
Unfortunately ours will not be ready for sometime yet. However, we will
be
releasing a set math classes in the next few weeks. These will do
least   
squares fit, matrix inverse, FFT etc.

Please tell me more about what you want do, as we might be able to
help.  

Cheers, Will


____________________________________________________________
								
 Will Pitt			Tel: 44-171-6316851
 Crystallography Department,	Fax: 44-171-6316803
 Birkbeck College,		w.pitt at mail.cryst.bbk.ac.uk
 Malet Street,	    	    	http://www.cryst.bbk.ac.uk/~ubcg08l/
 London
 WC1E 7HX
 U.K.



More information about the Molmodel mailing list