| README.dang | Home Page: Richardsons' Laboratory | J. Michael Word - 2/2000 |
On this page:
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.
Dang is a command-line program. The format of the command is:
| -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 |
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.
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
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
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