DISTANG (CCP4: Supported Program)
NAMEdistang - Distances and angles calculation
SYNOPSISdistang xyzin foo_in.brk
DESCRIPTIONDISTANG is a general purpose program for calculating atomic distances within a protein molecule, and between symmetry equivalent molecules within a crystal lattice. It is based on Sam Motherwell's program DJANGO, developed for the Cambridge Data Base (and that goes back to John Rollett's original algorithm!).
PROGRAM FUNCTIONThe functions of the program DISTANG may be summarised as follows:
The standard options are driven by the keyword DISTANCE using combinations of the subsidiary keywords ALL or VDW and INTER or INTRA.
Another useful option is to do a packing search. If the orientation of a molecule is known, various translational parameters can be tested to find those which give impossible packing. See GRID for details about this.
KEYWORDED INPUTAll control input is in free format with keywords specifying the options required. The possibilities are:
ADDRADIUS, ANGLE, DISTANCE, DMIN, END, FROM, GRID, LIST, OUTPUT, RADII, SYMMETRY, TITLE, TO, TORSION
The only compulsory one is RADII.
DISTANCE [ VDW | ALL ] [ INTER | INTRA ]
SYMMETRY <SG>Followed by a spacegroup name or number or explicit symmetry operator in the standard form.
RADII <atomid> <radii> ...[COMPULSORY INPUT]
Set search radii for atom types. A list of atom types and radii follows on the same line.
Default values are: CA 1.5 C 1.5 N 1.5 O 1.5 SG 1.5 OW 1.5
The program tries to match the atom name to the 2 character atom types first, and if none are found to the 1 character atom types. This allows you to set different radii for CA and other Carbon atoms say, but there is an unsolved problem for CAlcium.
If the atom name does not match it is ignored (Beware lost SG etc.)
FROM [ [ ATOM <inat0> [TO] <inat1> ] | [ RESIDUE <ires0> [TO] <ires1> ]] ... [ CHAIN ALL | ONS | CA ]
TO [ [ ATOM <jnat0> [TO] <jnat1> ] | [ RESIDUE <jres0> [TO] <jres1> ]] ... [ CHAIN ALL | ONS | CA ]Sets atom limits. (Default all atoms to all.)
If ATOM is specified it is followed by <inat0> and <inat1>, respectively the first and last target atoms checked. I.e. FROM atoms <inat0> to <inat1> are checked against TO atoms <jnat0> to <jnat1>. (Atoms are numbered 1 to NAT, in the order read, but the residue order can be varied without restriction. Beware: atoms with occ=0.0 are not counted.)
If RESIDUE is specified it is followed by <jres0> and <jres1>, respectively the first and last target residues checked, and optionally subsidiary keywords:
ANGLECalculate bond angles between bonded atom triples.
ADDRADIUS <addrii>Value added to the value given by the RADIUS keyword. Only applies if the RADIUS keyword is also given.
DMIN <dmin>The minimum distance printed is dmin
LIST <natoms>List fractional and orthogonal coordinates for first <natoms> atoms.
OUTPUT [ LPOUT | KHCONN | PDBCONN ]
GRID <xmin> <xmax> <dtx> <ymin> <ymax> <dty> <zmin> <zmax> <dtz>All in fractions of unit cell.
Define search grid for a correctly oriented molecule through asymmetric unit. The coordinates are translated over the grid and a table of the number of bad contacts is generated; i.e. it is a sort of packing search. It sets all RADII except that for CA equal 0 to save time. The default RADII for CA is 2.0Å but you can reset this.
TITLE <title>Title to print on output.
TORSIONCalculate torsion angles between bonded atom quadruples. Probably will not work but there is residual code for any eager programmer to look at.
distang XYZIN $CTEST/toxd/toxd.pdb << END-distang SYMM 19 dist vdw INTRA RADI C 1.5 CA 1.5 N 1.5 O 1.5 OW 1.6 FROM ATOM 1 TO 1000 TO ATOM 1 to 200000 END END-distang distang XYZIN $CTEST/toxd/toxd.pdb << END-distang SYMM 19 dist vdw INTRA RADI C 1.5 CA 1.5 N 1.5 O 1.5 OW 1.6 FROM RES ALL CHAIN A 1 to 125 TO RES ALL CHAIN W 1 to 256 END END-distang # Calculate distance angles for B2 c-unique contacts. # distang XYZIN $CTEST/toxd/toxd.pdb << END-distang SYMM P212121 dist all angle RADI C 0.8 N 1.5 O 1.5 OW 1.6 FROM ATOM 1 TO 561 TO ATOM 1 TO 561 END END-distang # Calculate distance angles and output PROTIN type distance list. # for a new substrate (Prepare other parts of dictionary with RWDICT) distang KHCONN $CCP4_SCR/junk.kh XYZIN substrate.pdb << END-distang SYMM 19 output khconn dist all angle RADI C 0.8 N 0.8 O 0.8 P 1.3 FROM ATOM 1320 TO 1350 ! Atoms in a substrate perhaps. TO ATOM 1320 to 1350 END END-distang # A grid search: check your rotation function distang XYZIN taka_2065115.pdb << EOF SYMM 170 DIST VDW INTER RADI CA 1.8 GRID 0 1 0.05 0 1 0.05 0 0 1 FROM ATOM 1 TO 10000 TO ATOM 1 TO 10000 END EOF
SEE ALSOAlternative contact analysis: