3DNA: A Software Package for the Analysis, Rebuilding, and Visualization of Three-dimensional Nucleic Acid Structures

Xiang-Jun Lu & Wilma Olson

Welcome to the 3DNA (v2.0) Homepage

This page is not fully ready for public release yet—we are still working on it! Please let us know if you see any area for improvement. Before the 3DNA v2 is official released and this site updated (no specific date yet), please use the current 3DNA website at http://rutchem.rutgers.edu/~xiangjun/3DNA.

3DNA v1.5 was released near the end of 2002. Over the years, we are pleased to see 3DNA being widely used by the community, and we have been happily answering hundreds of questions from 3DNA users all over the world.

With its original design, the 3DNA software has well-withstood extensive real-world tests. Thus while there have been numerous improvements and minor bug-fixes, we have not updated the download page. During this time, it has also become obvious to us that 3DNA can be further improved, both in functionality and in documentation, to make it even more useful to the community.

When the 3DNA server was first set up during the summer of 2006, we started by creating the 3DNA forum. In the meantime, we have been researching to find a suitable web framework that will make long-term development and maintenance easy, and we are now set with Ruby on Rails. As time goes, we will set up a complete web-interface to the most common 3DNA functionalities (e.g., generating a fiber model, creating the block-view images etc.) Thus ordinary users won’t be scared off by its current Unix style command-line driven interface. We would imagine the web-based 3DNA server would also be a useful education tool on nucleic acid structures.

The 3DNA software has been under SVN since the server was set up. The current version is tagged as v2.0 instead of v1.6 due to many changes as outlined below:

  • Compliant with the remediated PDB format. The updated “baselist.dat” handles “DA/DC/DG/DT” and all other uncommon nucleotide residue names from all NDB entries up to the February 2008 releases.
  • Addition of Perl script “x3dna_r3d2png” to convert ”.r3d” files from 3DNA “alc2img”, “stack2img”, “r3d_atom” etc directly to PNG images using “render” from Raster3D or ray-traced image using PyMOL.
  • Addition of Perl script “nmr_ensemble” to generate automatically “blocview” style NMR ensemble image.
  • The format of file misc_3dna.par is now much more appreciable than the original cryptic format, which was added on piece by piece as the software evolved.
  • The -t option is now the default for “find_pair”, thus HETATM records are automatically taken into consideration for finding pairs. To account for only ATOM records, try the newly added “-a” option. Note that “-t” still is accepted for backward compatibility.
  • The -xml option has been added for “fiber” and “rebuild” to output nucleic acid structures in PDBML format. Both fully marked-up and simplified PDBML atom record are supported. This format bypasses the f8.3 xyz coordinates size limitation in the original PDB format.
  • The preset MAXBASE (30000) limit for fiber model structures has been eliminated. Users trying to generating very large structures noticed this issue. The sort of arbitrary limit was orginally set due to the consideration of the f8.3 PDB coordinates limition.
  • Nucleic acid structures containing B-Z junction (e.g., PD0693/2ACJ) can be handled automatically. The “analyze” program detects the B-Z transition based on pure geometric features, and calculate parameters accordingly.
  • All Perl scripts have been “cleaned up” by adding “use strict; use warnings;” pragmas. A new utility script “pdb_frag” was added for extracting arbitrary fragments based on chain IDs and residue numbers from a PDB file.
  • Model number is now taken into consideration when distinguishing residues.
  • Add a new functionality in “rotate_mol” so that the rebuilt structure can be transformed into the same orientation as in the original one.
  • Added functionalities in “analyze” to generate the O1P/O2P coordinates with reference to the middle-frame. Wrote Perl script “OP_Mxyz” to extract the info in tabular format.
  • Improved algorithms for identifying pairs and H-bonding patterns.
  • Add option -fit to “std_base” which uses only base ring atoms to set a residue in the standard geometry to be applied in “analyze”, “rebuild” etc.
  • Numerious minor improvements and bug-fixes.