In the field of nucleic acid structural analysis, it seems fair to say that Curves+ and 3DNA are nowadays the top two choices. To the best of my knowledge, these two programs are also the only ones that confirm to the standard base reference frame. Moreover, as noted in my previous post, Curves+ and 3DNA are “constructive competitors” with complementary functionality: Curves+ is unique in providing a curvilinear helical axis, a bending analysis, a full description of groove widths and depths and its seamless integration to the analysis of molecular dynamics trajectories, while 3DNA’s strength lies in its cohesrent approach combining analysis, rebuilding, and visualization into one package.
Given the complementarity between Curve+ and 3DNA, it makes sense to build a ‘bridge’ between the two so users can easily take advantage of both programs. Starting from 3DNA v1.5, find_pair
has the -c
option to generate input for Curves directly from a PDB file. Over the years, this option appears to have received little attention — at least, I am not aware of any literature reference to it. Now, the updated Curves+ program has introduced the new lib name list variable, among other changes. I have thus added the -curves+
option (abbreviation -c+
) to find_pair
to make its output compatible with Curves+.
As always, the point/process is best illustrated with an example — here with the Dickerson B-DNA dodecamer solved at high resolution by Williams et al. (PDB entry 355d).
find_pair -c+ 355d.pdb 355d-curves+.inp
The generated file 355d-curves+.inp
has the following content:
&inp file=355d.pdb, lis=355d, fit=.t., lib=/Users/xiangjun/Curves+/standard, isym=1, &end 2 1 -1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 24 23 22 21 20 19 18 17 16 15 14 13
which can be fed into Curves+ as below,
Cur+ < 355d-curves+.inp
The four output files are: 355d.cda
, 355d.lis
, 355d_X.pdb
and 355d_b.pdb
.
Please note the followings:
- The environment variable CURVES_PLUS_STDLIB should be set, pointing to the directory where Curves+ is installed (containing files
standard_b.lib
andstandard_s.lib
). In the example above, CURVES_PLUS_STDLIB is set to/Users/xiangjun/Curves+
. - The
find_pair -c+
option (currently) is applicable only to double helical DNA/RNA structures, the most common application scenario. - The
-c+
option ignores HETATM records, in accordance with Curves+ where proteins, water and HETATM are automatically removed at input. (see Curves+ user manual, section Input data) - To run
Cur+ < 355d-curves+.inp
again in the same folder, the four output files must first be deleted (e.g.,rm -f 355d.cda 355d.lis 355d_[Xb].pdb
). This is best taken care of via a script.
Obviously, the nucleic acid structure community benefits the most to have both Curves+ and 3DNA at its disposal and be able to easily switch between them — hopefully, the find_pair -c+
option would serve as such a ‘bridge’.