curveDNA estimates the natural curvature of double-stranded DNA (dsDNA). The algorithm used is explained in
E.S. Shpigelman, E.N. Trifonov and A. Bolshoy, Bioinformatics (1993) 9 (4): 435-440.
The twist, wedge and direction of the wedge parameters are taken from
S. Balasubramanian, F. Xu, and W. K. Olson, Biophysical journal (2009) 96 (6): 2245-2260
- Can print the local bending and curvature as defined in D. S. Goodsell and R. E. Dickerson, Nucleic Acid Research (1994) 22 (24): 5497-5503
- Can print an mgl file containing the positions of each base-pair centre of mass and phosphates. mgl files can be visualised with cogli1
- Can print the standard output the sequence filename, the end-to-end distance and the "perfect" end-to-end distance (that is, the end-to-end distance of a perfect double-stranded B-DNA of the same length)
curveDNA requires cmake and a c++11-compliant gcc
The code can be compiled as follows:
$ mkdir build
$ cd build
$ cmake ..
$ make
After the compilation stage the curveDNA executable will be placed in the build/bin folder.
curveDNA [options] sequence_file
--help, -h
Print usage and exit
--mgl, -m
Print one mgl file for each sequence file provided. If the name of the input file is sequence.txt, the output file will be named sequence.txt.mgl
--end-to-end, -e
Print the sequence filename, the end-to-end distance and the "perfect" end-to-end distance (that is, the end-to-end distance of a perfect double-stranded B-DNA of the same length)
--bending, -b
Print the local bending of the sequence. The output filename is the input filename plus the .bnd extension. The optional argument sets the bracket value used to compute the local bending (defaults to 1)
--curvature, -c
Print the curvature of the sequence. The output filename is the input filename plus the .crv extension. The optional argument sets the bracket value used to compute the curvature (defaults to 15)
curveDNA uses
- The Lean Mean C++ Option Parser, written by Matthias S. Benkmann
- The OpenGL Mathematics (GLM) library