|README.autobondrot||Home Page: Richardsons' Laboratory||J. Michael Word - 8/1999|
Atomic coordinates for specific conformations (in PDB format) can be output.
A simple example of how to use
These example files are available packaged with the autobondrot scripts from our web site.
First, take the PDB file (with hydrogens from Reduce) and use Prekin to make a rotatable group or mutation. In this example, tyrosine 61 in the PDB file 1ah7H is examined and we used Prekin to create 1ah7y61bondrot.kin.
The script for sampling the scores is created with mkrotscr, which translates the @bondrot sections of the .kin file into the proper syntax for the .rotscr file.
When running mkrotscr, the residue and PDB file are listed after the kinemage filename, so that mkrotscr can construct a plausible suggested command line for a sidechain rotation in the .rotscr file. Executing this command will invoke Probe to calculate contacts and summarize the result as a probe score. The proposed Probe command reads the autobondrot information until the END_OF_INPUT marker is seen. To make this file an executable UNIX shell script simply execute:
When the residue numbers are unique, an alternative way to create this rotation script is to use pdb2rotscr, a simple command script which combines Prekin and mkrotscr. In our example, the command would be as follows:
This .rotscr file needed to be edited because Mage wrote out a third rotatable bond (the OH) which we did not want to explore. In addition, we modified the bounds of the search of chi2 from 0-359° (by 5) to 0-179° (by 10) because the phenyl ring is symmetric and it is not necessary to scan chi2 as finely as chi1. To make the file more informative, we changed the rotation names from "rot1" and "rot2" to "chi1" and "chi2". We only want a torsional penalty applied to chi1 so we took out all but the first "cos" record.
A duplicate copy of the atom record for C-zeta was deleted for neatness. Finally, since this residue does not have any branch points which require independent nested rotations we can safely delete the SAVE/RESTORE pair: ( and ). The final result is as follows:
atom 1 cb tyr 61 34.219 17.937 4.659 1.00 0.00 bondrot:chi1:78.7: 0:359:5:33.138:18.517: 5.531:34.219:17.937: 4.659 cos:-3:60:3: atom 1 1hb tyr 61 34.766 18.777 4.206 1.00 0.00 atom 1 2hb tyr 61 34.927 17.409 5.315 1.00 0.00 atom 1 cg tyr 61 33.836 16.989 3.546 1.00 0.00 bondrot:chi2:-11.8: 0:179:10:34.219:17.937: 4.659:33.836:16.989: 3.546 atom 1 cd1 tyr 61 32.578 16.433 3.418 1.00 0.00 atom 1 cd2 tyr 61 34.803 16.657 2.603 1.00 0.00 atom 1 ce1 tyr 61 32.294 15.554 2.393 1.00 0.00 atom 1 ce2 tyr 61 34.520 15.798 1.551 1.00 0.00 atom 1 cz tyr 61 33.249 15.259 1.456 1.00 0.00 atom 1 hd1 tyr 61 31.793 16.694 4.142 1.00 0.00 atom 1 hd2 tyr 61 35.813 17.084 2.693 1.00 0.00 atom 1 he1 tyr 61 31.299 15.089 2.328 1.00 0.00 atom 1 he2 tyr 61 35.291 15.550 0.807 1.00 0.00 atom 1 oh tyr 61 32.991 14.372 0.421 1.00 0.00 atom 1 hh tyr 61 33.803 14.287 -0.156 1.00 0.00 END_OF_INPUT
We make the script executable with:
A table of scores is generated by running this rotation script, which feeds the records up to the END_OF_INPUT to Probe after the
Finally, the scores can be contoured by Kin2Dcont and viewed in Mage. The range of contour levels can be customized as required.
A similar program, Kin3Dcont, makes contours of 3 dimensional datasets. Our data is uniformly sampled
The input script for autobondrot is composed of records of the following types:
|three transformation types:||BONDROT (aka ROT), TRANS, NULL|
|three function types:||COS, POLY, CONST|
|the atomic coordinates:||ATOM|
|branching control:||SAVE, RESTORE aka ( and )|
The information on each record (except ATOM) is separated by colons and must be all on one line. Any line beginning with a # is ignored, providing a convenient means of including comments in the script. For rotations, BONDROT and COS records head each section of ATOM records which are subject to the same rotation.
*BONDROT - Both the current angle of the rotatable bond and the range of angles to be sampled are defined on the BONDROT record, along with the end points of the axis. It consists of eleven data fields: the axis name, current angle, beginning rotation angle, final rotation angle, the amount of rotation, and finally the x, y and z values of the beginning and end of the rotation axis.
The axis name does not have to be a number (e.g., chi1 or phi).
The current angle can be measured with the measures tool within Mage.
Any atoms listed before the first BONDROT will be output but their coordinates will not be altered. Subsequent BONDROT records are treated as nested rotations. Use SAVE and RESTORE records to control where these nested rotations begin and end.
The nested chi1, chi2 rotations in our tyrosine example are:
bondrot:chi1: 78.7: 0:359:5: 33.138:18.517:5.531: 34.219:17.937:4.659 ... atoms rotate about chi1 ... bondrot:chi2:-11.8: 0:179:5: 34.219:17.937:4.659: 33.836:16.989:3.546 ... atoms rotate about chi1 then chi2 ...
Here the chi1 dihedral axis is defined by the C-alpha and C-beta atoms while chi2 is defined by
Note that the axis does not have to be along a bond. For example, an entire molecule could be rotated around the coordinate axes.
*TRANS - Probe can also translate atoms. In this case, the axis defines the direction of the translation, and instead of angles we have angstroms.
*NULL - A null transformation does not modify the position of any atoms. It has no data fields.
*COS - after the transformation record (e.g., BONDROT) one or more records can be provided which define a bias function. The most generally useful is the COS record which is used to add a torsional penalty to Probe scores as we rotate around a dihedral. It consists of up to four data fields: scalefactor, phase offset, frequency, and a seldom used offset which defaults to 1. In our example, we use a torsion only with chi1:
This describes the following function: -3*(1 - cos(3*(x - 60)))/2, a cosine with three peaks with a value of 0.0 at -60, +60 and 180 and a value of -3.0 at 0, 120 and 240.
More complicated functions may be built frome those provided by ganging-up more than one COS, POLY or CONST record.
*POLY - A polynomial can be built from one or more POLY records. It has three data fields: a scalefactor, offset and degree.
results in the following quadratic: 5.0*(x - 0.0)^2
*CONST - a constant value can be added to the score. This record has one data field: the value.
*ATOM - Rotations and other transformations operate on ATOM records, listing each atom which is subject to the bond rotation. ATOM records may also be supplied prior to any BONDROT record, in which case they are not subject to any rotation. All ATOM records are in PDB-atom record format.
The critical data fields are the full atom name, residue name, residue number and x,y,z position. The format requires data to be in specific columns.
atom 1hb tyr 61 34.766 18.777 4.206 1.00 0.00
*SAVE - Abbreviated "(", SAVE saves the current transformation on a stack.
*RESTORE - Abbreviated ")", RESTORE backs up to the last previously saved transformation. Save and restore are used to organize transformations for branching groups. For example when rotating the all sidechain angles of an isoleucine (including the methyl groups) the following SAVE/RESTORE grouping is required:
bondrot:chi1: ... ... ( bondrot:chi2: ... ... bondrot:CD1 meth: ... ... ) bondrot:CG2 meth: ... ...
*GO - GO records are optional. If included, they consist of a set of angles, one for each BONDROT or TRANS, in the same order. Many GO records can be included in a single .rotscr file.
If there are no GO records, autobondrot will generate all permutations of conformations defined on the BONDROT records. If one or more GO records are found, autobondrot will not grind through all these permutations but will instead run the command on the specific conformation listed. A series of GO records will sample a discrete set of conformations. This statement sets the chi1 and chi2 limits of 60° and 90°, respectively.
If the -verbose option (versus -quiet or -q) is used, Probe will write atom records for the transformed coordinates to standard error, once for each GO record. This may be useful as a way of generating coordinates for a specific orientation. To capture this standard error output in a file along with standard output, UNIX provides the command line syntax command >& outputfile
*Include files - These records are also optional. If a line begins with an @ sign the following text is treated as a filename (@filename) and Probe attempts to start reading autobondrot commands from this file, to the end, before continuing on with the current file. Include files can be nested. The most common use for includes is to add in pre-defined batches of go statements which sample set regions of conformation space for a residue type.
An ensemble of programs, available for UNIX or LINUX, is required to run Probe with the
|mkrotscr||an awk script (executable ascii text file)|
|Probe||version 2.0 or later, a C program (binary executable)|
|Reduce||version 2.12 or later, a C++ program (binary executable)|
|maxv||optional awk script used when the maximum value must be selected for certain ranges of conformations
For example, to select the best OH angle for a serine for each Chi1 angle.
Each of these programs must be placed in a directory listed in your PATH. If the download process has not made the files executable, each must be made executable with the command:
Awk is an interpreted scripting language for processing text files which is available on almost all UNIX systems.
Probe is used in the example above to calculate contact dot scores.
Reduce is listed above because hydrogens are necessary for successful use of Probe. Add the hydrogens to the PDB file before running prekin and the rest of the operations listed above.
See Word et al. (2000) "Exploring steric contraints on protein mutations using MAGE/PROBE", Protein Sci. 9, 2251-2259 for an application example.
J. Michael Word or
David C. Richardson
Durham, NC USA 27710