11. Utility macros Keyword: utilities This chapter lists and explains how to use the utility macros, that is the command files in ">utils/" available also via "MAIN_UTILS:". A more up to date information and files are availabe in the "Dialog mode accessories", in the chapter related to the menu block "UTILS". 11.1. Protein bonds Keyword: covalent bond generation, calculate bonds, generate bonds The file ">utils/protein.bond" CALCULATES covalent BONDS between a protein atoms on the basis of interatomic distances. In order to speed up the calculation first only bonds within each single residue are calculated, then the connections between C and N atoms for NEIGHBOR residues (residues along the chain) are calculated. Finally DISULFIDE bonds are calculated with an explicit distance criterion 2.1AA. > calculate bond residue > calculate bond select atom name C N end neighbor > calculate bond distance 2.1 disulfide > return Covalent bonds are stored in a connectivity table (CTABLE), where each atom has an entry. Each atom entry contains a list of all its covalent bond partners. WARNING: You should not apply this procedure when several disulfide bonds are overlaping. This is the case when you want to compare similar molecules, superimposed to each other. Apply your own and calculate the disulfide bridges for each molecule separately. Use macros "MAIN_UTILS:calculate.bonds" or "MAIN_UTILS:calc_segm_bonds.com". 11.2. Show unit cell Keyword: unit cell The procedure ">utils/show.cell" reads in fractional coordinates of cell origins, connects them with covalent bonds and converts them to the orthogonal world. It then displays in blue lattice of several unit cells, designates by "ATOM NAMES" crystal origin and the axis. WARNING: The unit cell parameters should be read before calling the procedure. > key old sele all end > read file >utils/5.cell coor gauss > key cell_atom sele .not. old end > calc bond sele cell_atom end dist 1.1 > set coor sele cell_atom end ortho > ima col 245 sele cell_atom end bond > ima col 245 sele name atom C[%] .and. cell_atom end atom name > return I recommend you to display unit cells as the first image object, immediately after the "IMAGE INIT" call, delete the unit cell atoms and save the images into the background: > image init > <>utils/show.cell > delete atom sele cell_atom end > image from 11.3. Ramachandran plot The command file ">utils/rama.com" reads in the GRAPH of Ramachandran plot and displays it in the GRAPH OBJECT 1. Then a dial set is defined, which allow you to define the size of the plot and position it to the desired place. The dial set is protected from deletion with the 'SET DIAL 1 FROM 1' command. > graph > object 1 > scale 1.0 > character scale 0.01 > read file >utils/rama.graph > exit > set dial 1 init > set dial 1 graph obj 1 translate > set dial 4 graph obj 1 scale > set dial 5 graph obj 1 char > set dial 1 write > set dial 1 from 1 > return The Ramachandarn plot is composed of several image objects, so turn the ones that disturb you off by clicking their image names on the right side of the image window. Similarly as the dials set, it makes sense to put the plot into the image background in order to prevent its deletion, since as any graph object it will disappear from the image display as soon a redraw command will be invoked somewhere within MAIN. > image from After this is done, display your molecules and start manipulating them. In order to see where you residue lies click an atom first and then teh HIS_RAMA. A cross will appear at the residue position in the Ramachandran plot. When you rotate about a phi or psi bond the cross will monitor the rotations.