Thomas hamelryck wrote:
>> 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
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
Molecule, Atom, CovalentBond classes. These are not ready to be
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
between your classes to a minimum. For example, if an Atom class
a list of pointers to Bond objects and a Bond class contains two
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
to be avoided. The more physical dependencies, the more a simple change
one part of a class library is likely to cause problems in other parts.
solve the Atom, Bond problem by creating Graph of Atoms within the
Molecule class to hold the connectivity information. In this way Atom
freed from their dependence on Bond. This also makes sense on a
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
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
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
releasing a set math classes in the next few weeks. These will do
squares fit, matrix inverse, FFT etc.
Please tell me more about what you want do, as we might be able to
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/