<< Chapter < Page Chapter >> Page >

The cartesian coordinates you have just read will serve as a basis for performing rotations, according to what method you choose to represent and manipulate the protein, as discussed in class. The following guidelines should help you get started with either method:

  • If using the global coordinate (simple) approach, you can use the cartesian coordinates just read as a basis to perform rotations on them. For the most interesting task of transforming atomic positions, you simply need to iterate over the atoms affected by the transformation and multiply their position with the transformation matrix. Say the position of atom i needs to be transformed by your transformation matrix. You can do so by multiplying trans_mat with backbone_chain(i, :) as in trans_mat * backbone_chain(i, :)' . Note that the colon is very convenient as it gives an entire row or an entire column and that backbone_chain(i, :)' gives you the transpose that is necessary for the multiplication to be carried out.
  • If using the Denavit-Hartenberg local frames, you first need to extract the bond lengths and angles, and the initial dihedral angles, from the cartesian coordinates. To do so, you can loop over the atoms computing these values and storing them (for example in arrays named bonds, angles, dihedrals ). Once this is done, you have extracted a representation of the protein in its internal coordinates and can discard the cartesian coordinates, or keep the coordinates array to store the reconstructed protein after performing manipulations. The absolute position/orientation of the protein is not important and can be ignored by assuming the anchor atom rests at the origin and that the first bond angle and dihedral angle are both zero. Remember you can perform rotations now by simply adding/subtracting from the dihedral angles, but to recover the cartesian coordinates once the rotations are done you need to build a chain of homogeneous transformations as discussed in class.

In any case, your transformation matrices need to have dimension 4x4 to work with homogeneous coordinates. You can initialize an empty 4x4 matrix by writing trans_mat = zeros(4,4); . Then you can set the elements of this matrix to what they should be for the particular method you use. You can evaluate all the cosines and sines that you need in Matlab. Matlab offers you built-in operations such as dot product or vector norm. Make sure that you understand these operations before you apply them. Recall that you can rotate any bond except the peptide bond, which is rigid.

Conduct the following rotations:

  • Rotate the dihedral bond between the N and CA of the last aminoacid by 30 degrees. Does the structure change much? What atoms move inspace as the result of this rotation? Please answer Q1 .
  • Now choose any dihedral bond roughly in the middle of the protein and experiment with its rotationuntil you reach a conformation that has steric clashes (atoms collide with one another). Please answer Q3 and Q4 .

If you wish to visualize the resulting conformations in VMD, you simply have to produce a file with the transformed coordinates. This file should be in ASCII (text) format and must have an empty/dummy first line, and all atom coordinates following (for example all in a single line, separated by spaces). You can save this file with ".crd" extension. Then, you can use the same "backbone_native.pdb" file, and use VMD's option "Load data into molecule" to load your new coordinates from the .crd file.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Geometric methods in structural computational biology. OpenStax CNX. Jun 11, 2007 Download for free at http://cnx.org/content/col10344/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Geometric methods in structural computational biology' conversation and receive update notifications?

Ask