README.dang Home Page: Richardsons' Laboratory J. Michael Word - 2/2000


On this page:



Introduction


Dang is a simple UNIX C++ program to read a Protein DataBank (PDB) molecular structure coordinate file and generate a table of several useful geometric measurements for each residue or base. In its most basic form, it writes out dihedral angles (phi, psi, chi) hence the name. It also identifies disulfide bonds. For nucleic acids, the pseudo-rotation angle is generated. The output is formated for easy parsing by awk, grep, sort and other UNIX utilities. The flag -extra will add tau, omega, max B, min OCC, Ca pseudo-dihedral, Ca-Ca distance.

Dang was constructed from an early version of Reduce.



Running Dang


Dang is a command-line program. The format of the command is:

dang [-flags...] inputfile.pdb [ outputfile.txt ]


Program Flags:


-EXtra include additional measurements
-NAME "text" identifier listed in first column of output
-NOCUToff do not use cutoffs for B-factor and occupancy
-BCUToff#.# B-factor cutoff for water atoms (default=9999)
-OCUToff#.# occupancy cutoff for water atoms (default=0.33)
-NMR no cutoffs and no warnings for missing B & occ
-NONNMR cuttoffs and warnings even if MODEL record exists
-Model# which model to process (default=1)
-Nterm# max number of nterm residue (default=1)
-ONLYA only adjust 'A' conformations (default)
-ALLALT process adjustments for all conformations
-Quiet do not write extra info to the console
-Help write out full description of command line arguments


Optional Compilation


To build an executable from the source for Dang, modify the Makefile as appropriate (you may need to refer to Makefile.g++ or Makefile.sgi). Then type the command: make dang

I have not yet tried to make on a DECalpha or with g++ but have tried to construct appropriate Makefiles.

Example Output


Here is a fragment of output from the command: dang myprot.pdb

:  306 ARG:         : : phi     : -158.18 deg
:  306 ARG:         : : psi     :  150.22 deg
:  306 ARG:         : : chi1    :  121.75 deg
:  306 ARG:         : : chi2    :  153.95 deg
:  306 ARG:         : : chi3    :  -94.23 deg
:  306 ARG:         : : chi4    :  118.38 deg
:  306 ARG:         : : chi5    :  179.96 deg

With the -extra flag, dang will write out more information: dang -extra myprot.pdb (the comments are not in the output)

:  306 ARG:         : : max Bval:   56.30           # largest B-factor
:  306 ARG:         : : min OCC :    1.00           # smallest occupancy
:  306 ARG:         : : Ca dihr :   17.24 deg       # i-2, i-1, i, i+1
:  306 ARG:         : : Ca-Ca   :    6.90 A         # i-1, i distance
:  306 ARG:         : : phi     : -158.18 deg       # C(-1),N,CA,C
:  306 ARG:         : : psi     :  150.22 deg       # N,CA,C,N(+1)
:  306 ARG:         : : tau     :  106.32 deg       # N,CA,C
:  306 ARG:         : : omega   : -179.82 deg       # CA,C,N(+1),CA(+1)
:  306 ARG:         : : chi1    :  121.75 deg       # N, CA, CB, CG
:  306 ARG:         : : chi2    :  153.95 deg       # etc...
:  306 ARG:         : : chi3    :  -94.23 deg
:  306 ARG:         : : chi4    :  118.38 deg
:  306 ARG:         : : chi5    :  179.96 deg

DNA and RNA generates information about the sugar pucker (P and v-max) and the dihedral of the sugar-to-base bond. In the following example we have included an identifying label in column 1: dang -name "id1" mydna.pdb

id1:A  60   A:C4'-exo  : : P       :   54.34 deg
id1:A  60   A:         : : v-max   :   41.09 deg
id1:A  60   A:         : : chi     : -148.05 deg

The extra information for DNA and RNA is as follows: dang -ex mydna.pdb

:A  60   A:         : : max Bval:   39.35           # largest B-factor
:A  60   A:         : : min OCC :    1.00           # smallest occupancy
:A  60   A:         : : P-P dihr:  -59.96 deg       # i-2, i-1, i, i+1
:A  60   A:         : : P-P(-1) :    5.54 A         # i-1, i distance
:A  60   A:         : : alpha   :   43.86 deg       # O3'(-1),P,O5',C5'
:A  60   A:         : : beta    :   81.37 deg       # P,O5',C5',C4'
:A  60   A:         : : gamma   :   30.37 deg       # O5',C5',C4',C3'
:A  60   A:         : : delta   :   76.93 deg       # C5',C4',C3',O3'
:A  60   A:         : : epsilon : -170.32 deg       # C4',C3',O3',P
:A  60   A:         : : zeta    :  144.98 deg       # C3',O3',P,O5'(+1)
:A  60   A:         : : v0      :  -25.58 deg       # C4',O4',C1',C2'
:A  60   A:         : : v1      :   -0.81 deg       # O4',C1',C2',C3'
:A  60   A:         : : v2      :   24.70 deg       # C1',C2',C3',C4'
:A  60   A:         : : v3      :  -40.06 deg       # C2',C3',C4',O4'
:A  60   A:         : : v4      :   41.09 deg       # C3',C4',O4',C1'
:A  60   A:C4'-exo  : : P       :   54.34 deg       # pseudorotation angle
:A  60   A:         : : v-max   :   41.09 deg       # maximum v value
:A  60   A:         : : chi     : -148.05 deg       # O4',C1',N1,C2 or N9,C4


Copy of In-Line Help


arguments: [-flags] filename or -

Calculates dihedrals, etc. and writes to standard output

Flags:
-EXtra         include additional measurements

-NAME "text"   identifier listed in first column of output
-Model#        which model to process (default=1)
-NOCUToff      do not use cutoffs for B-factor and occupancy
-BCUToff#.#    B-factor  cutoff for water atoms (default=9999)
-OCUToff#.#    occupancy cutoff for water atoms (default=0.33)
-NMR           no cutoffs and no warnings for missing B & occ
-NONNMR        cuttoffs and warnings even if MODEL record exists
-Nterm#        max number of nterm residue (default=1)

-ONLYA         only adjust 'A' conformations (default)
-ALLALT        process adjustments for all conformations

-Quiet         do not write extra info to the console
-Help          write out full description of command line arguments


Further Information


Dang is a C++ program developed on Silicon Graphics workatations. It was written by J. Michael Word in the laboratory of David and Jane Richardson, at Duke University.

e-mail:
J. Michael Word or
David C. Richardson
URL: http://kinemage.biochem.duke.edu
Biochemistry Department
Duke University
Durham, NC USA 27710