As of release v2.3-2016sept06, the C source code of the 3DNA software package is available. The code can be found in the
$X3DNA/src folder of the distributed tarballs for Linux, Mac OS X, and Windows. Since 3DNA is written in pure ANSI C, it can be compiled without changes on any platform with a modern C compiler.
The original codebase of 3DNA was written around year 2000. Up until v2.3, the infrastructure of 3DNA has remained stable for 16 years. During the time, 3DNA has been widely adopted in other bioinformatics pipelines and cited over 1,500 times. Over the years, I’ve received quite a few requests for 3DNA source code. However, due to complications of various factors (including software licensing), 3DNA had only been distributed in executable forms for the crucial C programs. Now, the C code of 3DNA is finally open source!
As before, users need to register on the 3DNA Forum to download the software. The download page also includes
x3dna-v2.0.tar.gz that accompanied the 2008 Nature Protocols paper, and
x3dna-v1.5.tar.gz that corresponded to the 2003 Nucleic Acids Research paper. Other than minor revisions to pass strict
gcc compiler options, the v1.5 and v2.0 codebases are kept as they were. 3DNA is backward-compatible as far as the key base-pair parameters are concerned. Moreover, between v1.5 and v2.0, the command-line interface stays the same. The two previous versions are released for historical reasons. For example, one may notice some obvious “similarities” between 3DNA v1.5 and RNAView.
The development of DSSR and SNAP will push 3DNA into a brand new version (v3), which contains significant changes in functionality and interface, and is no longer compatible with previous versions. I intend to keep 3DNA v2.3 in a ‘maintenance’ mode: no new features are planed, but bug reports and user questions will be promptly addressed on the 3DNA Forum, as always. Making 3DNA open source should help further prompt its adoptions, and adaptations in structural bioinformatics of nucleic acids.
There are numerous types of software licenses, but none of them seems to be a good fit for my purpose. As a result, I’ve come up with a permissive “citation-ware” license with contents as below:
3DNA is a suite of software programs for the analysis, rebuilding and visualization of 3-Dimensional Nucleic Acid structures. Permission to use, copy, modify, and distribute this suite for any purpose, with or without fee, is hereby granted, and subject to the following conditions: At least one of the 3DNA papers must be cited, including the following two primary ones: 1. Lu, X. J., & Olson, W. K. (2003). "3DNA: a software package for the analysis, rebuilding and visualization of three‐dimensional nucleic acid structures." Nucleic Acids Research, 31(17), 5108-5121. 2. Lu, X. J., & Olson, W. K. (2008). "3DNA: a versatile, integrated software system for the analysis, rebuilding and visualization of three-dimensional nucleic-acid structures." Nature Protocols, 3(7), 1213-1227. THE 3DNA SOFTWARE IS PROVIDED "AS IS", WITHOUT EXPRESSED OR IMPLIED WARRANTY OF ANY KIND. Any 3DNA-related questions, comments, and suggestions are welcome and should be directed to the open 3DNA Forum (http://forum.x3dna.org/).