3DNA is a versatile, integrated software system for the analysis, rebuilding and visualization of three-dimensional nucleic-acid-containing structures, including their complexes with proteins and other ligands. At its core, the software uses a simple matrix-based scheme for calculating a complete set of rigid-body parameters that characterize the spatial relationship of the base pairs in DNA and RNA structures. In 3DNA, structural analysis and model rebuilding are the two sides of the same coin: the description of structure is geometrically straightforward and the computation of parameters is mathematically rigorous, allowing for exact rebuilding of a molecular structure based on the derived parameters. Other unique features of 3DNA include: (1) the automatic detection of all possible base pairs, higher-order base associations and helical fragments, which makes analyzing nucleic-acid structures straightforward; (2) a comprehensive collection of 55 fiber models of regular DNA and RNA helices in various polymorphic forms and stoichiometries; (3) generation of base rectangular block schematic presentations highly effective in revealing the key features of small- to medium-sized nucleic-acid structures; (4) in silico base mutation with the sugar-phosphate backbone untouched and the original base reference frame conserved, handy for theoretical studies of DNA-protein interactions; and (5) DSSR for a comprehensive characterization of RNA (secondary) structures from three-dimensional coordinates.
3DNA is written in strict ANSI C computer language, with connecting Ruby scripts. The software package consists of over two-dozen executable programs that can be run directly from the command line in a Unix/Linux-like environment (including Mac OS X, and MinGW/MSYS and Cygwin on Windows). The software has been designed following the Unix philosophy: “Write programs that do one thing and do it well. Write programs to work together.” Each 3DNA component program aims to solve a specific set of closely related problems practically: robust and efficient, getting its job done and then out of the way. Once the user is familiar with the package, it is straightforward to combine the various pieces and other command-line-driven (or capable) tools in a script to automate commonly repeated tasks. Moreover, w3DNA provides a convenient web-interface to commonly used functionality of 3DNA, making the tool accessible to bench scientists, novices non-Linux/Unix users and for educational purposes.
3DNA originated in the SCHNAaP and SCHNArP complementary pair of programs to compute DNA rigid-body parameters and to reconstruct structures from those parameters. Our efforts to resolve the discrepancies among nucleic-acid conformational analysis programs and the consequent definition of the standard base reference frame by the structural biology community prompted us to take advantage of various features in the earlier programs and to adopt the standard frame in 3DNA. The 3DNA software was first made available on the Internet in late 1999, v1.5 was released in late 2002, and then v2.0 in 2008 to accompany the Nature Protocols paper. 3DNA is checked against all NDB entries before each major release to ensure that it works in real world applications. Over the years, we have taken each and every 3DNA-related question from a wide spectrum of user community as an opportunity to improve the functionality of the software. We strive to respond to users as quickly and concretely as possible, often with a step-by-step recipe, until an issue is resolved. This process has helped us to refine and improve the software and has prompted us to add new functionality.
Today, 3DNA has become a prominent structural bioinformatics tool, and is widely used in the scientific community. Overall, 3DNA has received near 900 citations in articles published in ~100 peer-reviewed biology, chemistry and material sciences journals. Broadly speaking, 3DNA’s applications fall into the following three categories: (1) as a standard method for nucleic acid structural analysis; (2) integrated into various structural bioinformatics resources, including the NDB and PDB; (3) enabling new scientific discoveries — 3DNA’s rigorous and reversible engine for the analysis/rebuilding of nucleic acid structures and its efficient and robust implementation in a single software package allow for new hypotheses to be formulated and validated against a large number of structures.
3DNA was initially created by Dr. Xiang-Jun Lu during 1999 to 2002 while working as a post-doctoral research associate in Dr. Wilma Olson’s laboratory at Rutgers — the State University of New Jersey. Thereafter, Dr. Lu — in collaboration with Dr. Olson — had continued to maintain and support 3DNA in his spare time as a sideline project. As of September 2011, 3DNA has been supported by an NIH R01 grant (GM096889), titled “Continued Development and Maintenance of the 3DNA Suite of Programs.” As PI of the funded project, Dr. Lu is now dedicated to pushing 3DNA to the next level to better serve the ever-changing needs of an ever-growing user community. We are working on a new release (currently in beta test) of 3DNA v2.1, which contains refinements/bug-fixes of v2.0, and significant new features.