mailRe: Redesign of the relax data model: 1. Why change? - 1.2


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on October 11, 2006 - 16:57:
Thanks for the offer.  Currently relax uses the Scientific Python PDB
reader which is very robust even on RNA X-ray structures with big
chunks missing from it (I tried it on a tRNA molecule I downloaded
from the PDB).  Other PDB readers could be added to relax, not as
dependencies but as options.  The other PDB readers available as
Python modules that I have played with include the robust scipy reader
(the resultant data structure is horrible to work with though) and
Biopython.  Your C PDB reader implementation could be added to relax
as an option for the user.

A simple C wrapper function could be written to interface with the
code, adding properties required to work with Python.  An example of
this is the file 'math_fns/relax_fit.c'.  The code could then be
complied into a shared library (*.so or *.dll) and imported into
relax.  The user function 'pdb()' (1.2 line), 'pdb.read()' (1.3 line)
or 'structure.read_pdb()' (future of the 1.3 line) could be modified
to accept an argument so that the user can select which PDB parser
they prefer.  If you would like to attempt this, it would be happily
accepted into relax.  You would however have to licence your code
under the GNU GPL (if you have used Numerical Recipes or any other
outside source of code, that will not be possible).

Nevertheless, the proposed changes to the relax data model
https://mail.gna.org/public/relax-devel/2006-10/msg00053.html
(Message-id: <1160550133.9523.54.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>)
will enable relax to handle RNA without problem.  All PDB variants
should be handled correctly and all types of R1, R2, and NOE data sets
of any atoms in the system will be accepted without problem.

Edward


On 10/11/06, Alexandar Hansen <viochemist@xxxxxxxxx> wrote:
I have implemented code in C to read pdbs primarily using a string matching
approach.  I have run into only a few problems, but it can read most any
pdb.  I have an option in it that allows you to select which molecule number
(0-9,A-Z) to read in from the pdb in cases where there are more than one.  I
haven't modified my code for this for a long time since it works well for
what we use it for and it has some issues with certain formats that I know
about (ie DNA where each strand has a different number) but it could
possibly be a useful starting point for anyone wanting to develop it further
and interested in making it comply with all the various weird PDBs.  I have
it written as a subroutine and stores the pdb into a structure variable that
I created.  Let me know if providing this code would be useful.

Of note, it does NOT require spacings to be perfect and does not care about
tabs, unlike a number of programs I have used.

Alex



Related Messages


Powered by MHonArc, Updated Wed Oct 11 17:40:17 2006