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

Questions and answers > MD simulations

3dna.pl - A Perl Script for Parsing 3DNA Output

(1/2) > >>

slaw:
Hi All,

Please see the attached Perl script that can be used in conjunction with 3DNA (assuming that it is already installed).

# 3dna.pl -h

Usage:   3dna.pl [-options] <PDBfile>
Options: [-show all|none|out|inp|key1:keyn]
         [-inp name]
         [-setinp name]
         [-type]
         [-ref name [offset]]
         [-madbend]
         [-axis]
         [-groove minor|major|all]
         [-par shear|stretch|stagger|buckle|propel|open|all]
         [-step shift|slide|rise|tilt|roll|twist|all]
         [-helix x|y|hrise|incl|tip|htwist|all]
         [-pucker ampl|phase|both|pucker|all]
         [-torsion alpha|beta|gamma|delta|epsilon|zeta|chi|all]

To use this script, simply provide a valid PDB file.  For example:

$ 3dna.pl -groove major 1bna.pdb

major --- --- --- 17.3 17.3 16.3 17.4 18.4 --- --- ---

The hyphens correspond to parts of the structure where measurements could not be performed.  The order of the output is according to the base pairs from 3DNA and can be extracted by using the "-ref name" option.  Using "-ref" will produce a reference file that tells you what the base pair order is:

$ 3dna.pl -groove major -ref ref.out 1bna.pdb

Looking at the reference file we see:

major(1) BP1:1-24(2) BP2:2-23(3) BP3:3-22(4) BP4:4-21(5) BP5:5-20(6) BP6:6-19(7) BP7:7-18(8) BP8:8-17(9) BP9:9-16(10) BP10:10-15(11) BP11:11-14(12)

The brackets corresponds to the column from the major groove output.  Thus, the first column tells you that the original output is for the major groove, the second column is base pair 1 (BP1) which is formed between base 1 and base 4, the third column is base pair 2 (BP2) which is formed between base 2 and base 23, and so on.  

$ 3dna.pl -groove all -ref ref.out 1bna.pdb

This gives you both the major and minor grooves:

minor major --- --- --- --- --- --- 12.0 17.3 10.5 17.3 9.9 16.3 9.3 17.4 9.9 18.4 --- --- --- --- --- ---

However, now both grooves are listed with the reference file looking like:

minor(1) major(2) BP1:1-24(3) BP1:1-24(4) BP2:2-23(5) BP2:2-23(6) BP3:3-22(7) BP3:3-22(8) BP4:4-21(9) BP4:4-21(10) BP5:5-20(11) BP5:5-20(12) BP6:6-19(13) BP6:6-19(14) BP7:7-18(15) BP7:7-18(16) BP8:8-17(17) BP8:8-17(18) BP9:9-16(19) BP9:9-16(20) BP10:10-15(21) BP10:10-15(22) BP11:11-14(23) BP11:11-14(24)

The other measurements are done the same way and multiple measurements can be combined and parsed at the same time:

$ 3dna.pl -groove major -torsion alpha 1bna.pdb

major --- --- --- 17.3 17.3 16.3 17.4 18.4 --- --- --- alpha --- -65.6 -62.6 -62.9 -43.0 -73.3 -56.6 -59.2 -58.5 -67.3 -73.9 -81.5 -65.0 -72.2 -66.8 -59.1 -58.6 -58.3 -57.1 -56.6 -69.2 -63.0 -51.3 ---

Here the major grooves are displayed first followed by the alpha values in order.

More documentation can be found in the header section as comments in the script itself.  Please feel free to e-mail me at slaw@msu.edu if you have any questions, comments, or concerns.

Sean

slaw:
In order to use this with the MMTSB Tool Set and to process a CHARMM/NAMD trajectory file, use "processDCD.pl"

processDCD.pl -apply "3dna.pl -groove major" template.pdb trajectory.dcd

This will apply the command "3dna.pl -groove major" to each simulation frame of trajectory.dcd.  It is important that the template.pdb matches the trajectory.dcd!

xiangjun:
Hi Sean,

Thanks for contributing your Perl script for parsing 3DNA output! I've downloaded and played around with it a bit, and found it well-formatted and documented. I am impressed that your script parses 3DNA output in such a flexible way, and integrates nicely with the MMTSB Tool Set for handling MD simulation trajectories. Well-done!

I am sure the 3DNA user community will benefit from your effort; I am hopefully more would follow your lead to share their scripts or experiences.

Xiang-Jun

slaw:
Xiang-jun,

Thank you for your kind words.  A little side note, the MMTSB Tool Set is developed (in collaboration with other labs) by members of my lab (Feig Lab @ Michigan State University) and hence, I am an active user of this useful toolset.  The 3dna.pl script was written by me to (hopefully) accurately decipher the verbose 3DNA output.  I make a special effort to document most/all of my code because it is helpful and also because I am forgetful.  I too hope that this script will aid others in their applications using 3DNA.

Sean

slaw:
As requested, an example of the DCD file (note that it is in binary format!) is attached along with a PDB template.

The data was generated by running 1,000 steps of MD using implicit solvent.

Using the MMTSB Toolset:

processDCD.pl -apply "3dna.pl -groove major" template.pdb dna.dcd > output

The typical 3DNA output will print to the screen while the major groove information will be written to the output file and should look like:

1 0.0750 major --- --- --- 17.2 17.4 16.4 17.4 18.7 --- --- ---
2 0.1500 major --- --- --- 17.1 17.3 16.4 17.4 18.9 --- --- ---
3 0.2250 major --- --- --- 17.2 17.6 16.2 17.4 19.1 --- --- ---
4 0.3000 major --- --- --- 17.4 17.5 15.9 17.3 19.1 --- --- ---
5 0.3750 major --- --- --- 17.8 17.7 15.6 17.1 19.0 --- --- ---
6 0.4500 major --- --- --- 18.0 18.0 15.4 17.2 19.0 --- --- ---
7 0.5250 major --- --- --- 18.1 18.1 15.3 17.2 19.1 --- --- ---
8 0.6000 major --- --- --- 18.0 18.3 15.4 17.3 19.2 --- --- ---
9 0.6750 major --- --- --- 18.1 18.8 15.4 17.4 19.3 --- --- ---
10 0.7500 major --- --- --- 18.2 19.0 15.3 17.5 19.4 --- --- ---
11 0.8250 major --- --- --- 18.2 19.3 15.4 17.4 19.4 --- --- ---
12 0.9000 major --- --- --- 18.1 19.1 15.6 17.3 19.3 --- --- ---
13 0.9750 major --- --- --- 18.2 19.0 15.5 17.2 19.3 --- --- ---
14 1.0500 major --- --- --- 18.3 18.6 15.2 17.4 19.1 --- --- ---
15 1.1250 major --- --- --- 18.4 18.4 15.1 17.6 19.1 --- --- ---
16 1.2000 major --- --- --- 18.5 18.2 15.3 17.6 19.2 --- --- ---
17 1.2750 major --- --- --- 18.6 18.2 15.3 17.7 19.3 --- --- ---
18 1.3500 major --- --- --- 18.8 18.0 15.1 17.8 19.5 --- --- ---
19 1.4250 major --- --- --- 18.7 18.1 15.1 17.8 19.8 --- --- ---
20 1.5000 major --- --- --- 18.7 18.0 15.1 17.8 19.7 --- --- ---


The first column is just the row number, the second column is the simulation time and the remaining columns is output as per 3dna.pl (see above).

Hope this helps.

Seam

Navigation

[0] Message Index

[#] Next page

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

Go to full version