3DNA Forum

Questions and answers => General discussions (Q&As) => Topic started by: yangsy on April 20, 2009, 04:02:00 am

Netiquette · Download · News · Gallery · Homepage · DSSR Manual · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · DSSR Licensing · Video Overview· RNA Covers

Title: how the cartesian coordinates transform to PDB format
Post by: yangsy on April 20, 2009, 04:02:00 am
Hi Xiang-Jun
 I am calculating the structures with QM and thinking to calculate the struc.parameters with 3DNA for some stacking base-pairs.I first use 3DNA and encounter with a trouble on how the cartesian coordinates transform to PDB format.I don't know how to get aroud of this problem. Can you help me?
Regarts
 Si-Ya
Title: Re: how the cartesian coordinates transform to PDB format
Post by: ramon989 on April 20, 2009, 06:25:05 am
Hi Si-Ya,

In the manual of 3DNA, the calculation going from atomic coordinates to helix parameter frame is discussed quite thoroughly.
Further there are some references, which discuss this in more detail. Since I don't have the manual lying around here.....
There is a paper by Babcock et al.. which discusses a couple of parameters, and than there is a paper by Calladine et al (I think), which has quite a "simple" approach for some of the helix parameters.
Sorry I cannot be more specific. If I have the time, I'll look up the references and write them down here.

Unfortunately, it is not a type-and-go solution.
If you have analytical expressions for these transformations, I'd be happy to hear them.

Kind regards,
Ramon van der Werf
Radboud University Nijmegen, The Netherlands
Title: Re: how the cartesian coordinates transform to PDB format
Post by: yangsy on April 20, 2009, 11:48:09 am
Hi Ramon,
 Thank you in advance for your help.
 I hope that the dates of stacking base-pair structure are transformed from the cartesian coordinate to PDB format so as to calculating base-pair steps parameter
I don't know how to solve it. Please help me.
Kind regards,
Si-Ya

 The dates of stacking base-pair structure appendix:
1   N   -4.547   1.251   -3.596
2   C   -3.321   0.564   -3.608
3   N   -2.143   1.240   -3.607
4   C   -2.177   2.555   -3.597
5   C   -3.377   3.312   -3.596
6   C   -4.547   2.624   -3.596
7   N   -1.027   3.163   -3.598
8   H   -0.990   4.166   -3.582
9   H   -0.189   2.592   -3.584
10  O   -3.251   -0.665   -3.598
11  H   -5.404   0.739   -3.643
12  H   -5.492   3.154   -3.615
13  N   -3.902   -1.748   -0.377
14  C   -2.508   -1.582   -0.356
15  N   -1.953   -0.346   -0.275
16  C   -2.757   0.696   -0.223
17  C   -4.173   0.604   -0.257
18  C   -4.711   -0.641   -0.327
19  N   -2.185   1.865   -0.159
20  H   -2.747   2.695   -0.111
21  H   -1.172   1.893   -0.117
22  O   -1.728   -2.533   -0.396
23  H   -4.294   -2.661   -0.487
25  H   -4.815   1.469   -0.229
24  H   -5.785   -0.773   -0.364
26  N   0.653   -0.820   2.976 
27  C   1.276   -2.015   2.857 
28  N   0.658   -3.190   2.759 
29  C   -0.706   -3.078   2.789 
30  C   -1.438   -1.912   2.912 
31  C   -0.717   -0.667   3.004 
32  O   -1.151   0.480   3.109 
33  H   1.212   0.017   3.059 
34  H   3.093   -1.126   2.934 
35  H   3.057   -2.883   2.788 
36  H   -1.429   -5.070   2.558 
37  H   -3.684   -3.922   2.802 
38  N   -2.812   -2.192   2.936 
39  C   -2.854   -3.494   2.829 
40  N   4.230   2.788   3.359 
41  C   3.633   4.008   3.544 
42  C   2.280   4.108   3.616 
43  C   1.532   2.910   3.475 
44  N   0.232   2.947   3.540 
45  N   2.076   1.725   3.297 
46  C   3.429   1.640   3.237 
47  O   3.904   0.518   3.059 
48  H   4.256   4.885   3.651 
49  H   1.819   5.070   3.775 
50  H   -0.272   2.076   3.412 
51  H   -0.238   3.824   3.668 
52  N   4.956   0.181   -0.223
53  C   4.986   1.551   -0.144
54  N   3.813   2.120   -0.061
55  C   2.925   1.037   -0.121
56  C   1.486   0.981   -0.093
57  O   0.670   1.899   0.015 
58  N   0.979   -0.295   -0.215
59  C   1.750   -1.403   -0.333
60  N   1.127   -2.542   -0.449
61  N   3.080   -1.407   -0.353
62  C   3.617   -0.154   -0.240
63  H   5.785   2.246   -0.078
64  H   -0.026   -0.395   -0.223
65  H   0.110   -2.587   -0.440
66  H   1.684   -3.373   -0.551
67  N   3.772   -2.376   -3.698
68  C   4.600   -1.280   -3.689
69  N   3.979   -0.131   -3.638
70  C   2.625   -0.495   -3.625
71  C   1.426   0.301   -3.550
72  O   1.308   1.522   -3.472
73  N   0.266   -0.445   -3.554
74  C   0.240   -1.798   -3.622
75  N   -0.935   -2.363   -3.650
76  N   1.317   -2.577   -3.696
77  C   2.488   -1.868   -3.682
78  H   5.546   -1.057   -3.775
79  H   -0.609   0.058   -3.514
80  H   -1.782   -1.800   -3.614
81  H   -0.973   -3.364   -3.722
82  H   5.226   2.701   3.368 
83  H   4.026   -3.343   -3.679
84  N   2.579   -2.002   2.855 
85  N   -1.629   -4.101   2.706 
86  H   -3.385   4.391   -3.604
87  H   5.727   -0.456   -0.240
Title: Re: how the cartesian coordinates transform to PDB format
Post by: xiangjun on April 20, 2009, 11:14:46 pm
First, thanks to Ramon for getting actively involved in answering other user's question. Over the years, it is my hope that 3DNA forum could turn into a virtual community where more people would participate in discussing issues related to nucleic acid structures. I am hoping others will follow your lead, and the 3DNA forum becomes more active.

Now to Si-Ya's question. 3DNA starts from a nucleic-acid containing structure in PDB format (http://www.wwpdb.org/documentation/format32/v3.2.html). Note specifically the coordinate section (http://www.wwpdb.org/documentation/format32/sect9.html). As a more concrete example, have a look of the residue DT8 in chain A of entry 355d, as shown below:
Code: [Select]
ATOM    142  P    DT A   8       5.196  18.285   8.120  1.00 13.16           P 
ATOM    143  OP1  DT A   8       3.928  18.831   8.653  1.00 14.21           O 
ATOM    144  OP2  DT A   8       5.211  16.970   7.475  1.00 12.40           O 
ATOM    145  O5'  DT A   8       5.818  19.323   7.094  1.00 12.21           O 
ATOM    146  C5'  DT A   8       6.104  20.657   7.510  1.00 10.87           C 
ATOM    147  C4'  DT A   8       6.937  21.347   6.466  1.00  9.09           C 
ATOM    148  O4'  DT A   8       8.271  20.815   6.382  1.00  8.32           O 
ATOM    149  C3'  DT A   8       6.372  21.324   5.049  1.00  9.83           C 
ATOM    150  O3'  DT A   8       6.060  22.664   4.718  1.00 11.88           O 
ATOM    151  C2'  DT A   8       7.476  20.700   4.203  1.00  8.59           C 
ATOM    152  C1'  DT A   8       8.709  20.942   5.040  1.00  7.33           C 
ATOM    153  N1   DT A   8       9.786  19.985   4.858  1.00  7.74           N 
ATOM    154  C2   DT A   8      11.028  20.464   4.498  1.00  6.25           C 
ATOM    155  O2   DT A   8      11.253  21.654   4.285  1.00  7.74           O 
ATOM    156  N3   DT A   8      12.003  19.496   4.402  1.00  6.29           N 
ATOM    157  C4   DT A   8      11.852  18.139   4.631  1.00  5.16           C 
ATOM    158  O4   DT A   8      12.819  17.406   4.547  1.00  6.98           O 
ATOM    159  C5   DT A   8      10.502  17.708   4.979  1.00  5.39           C 
ATOM    160  C7   DT A   8      10.230  16.254   5.214  1.00  6.78           C 
ATOM    161  C6   DT A   8       9.556  18.638   5.074  1.00  5.19           C 
It is not just about the coordinates, but also about the naming convention of the base and backbone atoms. For example, for thymine, you have N1--C2--N3--C4--C5--C6 ring atoms, and O2 and O4 atoms attaching to C2 and C4.

As your example shows, it is clearly not in proper PDB format. It seems to be in xyz format. One might consider using 'babel' to convert it into PDB format. However, this converted version is not the one accepted by 3DNA, for reasons detailed in the above paragraph. I vaguely remember there is some tool to do proper conversion to PDB with correct atom names. Google it to see for yourself. For your specific purpose, I guess the 'simplest' way is to write a script to perform the conversion by taking into atom name convention into consideration.

HTH,

Xiang-Jun
Title: Re: how the cartesian coordinates transform to PDB format
Post by: ramon989 on April 22, 2009, 05:05:14 am
Hi Si-Ya,

Looking at the reply from Xiang-Jun, I must have misunderstood your question.
I understood your question as how to implement transformation from helix parameter frame to cartesian coordinates.
This is described in the papers:

M.S. Babcock, E.P.D. Pednault, W.K. Olson (1994): J.Mol.Biol., 237(1), pp. 125-156
     -  Formal and correct, but takes some time to read

M.S. Babcock, E.P.D. Pednault, W.K. Olson (1995): J.Mol.Biol., 251(5), pp. 648-664
     -  Easily accessible, but some details are taken from the article I mentioned above

Now I understand you do use 3DNA for this task, but want to transform the 3DNA coordinate file to a proper PDB format.
In the past I have written scripts to convert 3DNA to a format that Xplor (Structure calculation program) can use.
Later I have written a script to convert from X-plor format to PDB format (which is accepted for submitting structures to the online protein databank).
Do you want to submit your structure to the online databank ? Or do you want to do further analysis requiring cartesian coordinates ?

But I think trying Openbabel is certainly worth a try, this is the easiest optin available. It can be obtained in some Linux distributions via the automatic update option (In Fedora Core 9+ as root: yum install openbabel). Otherwise it can be obtained via http://openbabel.org/wiki/Main_Page (http://openbabel.org/wiki/Main_Page).

I will look up these scripts (as soon as I booted into Linux again), and post them here. (Or if I have time, combine the two to one 3DNA2PDB script)

Regards,
Ramon van der Werf
Title: Re: how the cartesian coordinates transform to PDB format
Post by: ramon989 on April 22, 2009, 11:35:18 am
Attached you'll find the scripts I mentioned.
When you untar, i.e. tar -xvzf pythonscripts.tar.gz
you will get two scripts:
3dna2xplor.py
xplor2pdb.py

To convert a file from 3dna to xplor compatible format, type in the command line:
python 3dna2xplor.py
(Answer the questions it poses, and it will work. I don't know how it handles Thymidine residues)

Then you edit xplor2pdb.
line 8 gives the inputfile. (note: pdbbestand is dutch for pdb file)
line 9 gives the outputfile (This is the one to be written in TRUE PDB FORMAT)
Sorry for this confusing naming of variables.
During my Ph.D. I've written a dozen of scripts, and their not all as neat as they should be.

After editing the file, save and run from the command line:
python xplor2pdb.

In the output file the 'END' at the end of the PDB file has an empty space before it. This should be removed for submission.


Regards,
Ramon

Created and maintained by Dr. Xiang-Jun Lu [律祥俊] (xiangjun@x3dna.org)
The Bussemaker Laboratory at the Department of Biological Sciences, Columbia University.