Beruflich Dokumente
Kultur Dokumente
, y
, z
, 1)
t
= R
i
(x, y, z, 1)
t
where (x
, y
, z
1 0 0 0
0 1 0 0
0 0 1 d
i
0 0 0 1
(1)
After removing the displacement, one needs to align the two frames to make their axes coincide. Axis
x
i1
does not coincide with axis x
i
due to the dihedral angle
i
between them. Axis z
i1
does not
coincide with axis z
i
due to the bond angle
i1
between them. We rst align x
i1
with x
i
, and then
align z
i1
with z
i
.
To align x
i1
with x
i
, one needs to perform a rotation by the dihedral angle
i
around axis z
i
. This
rotation is given by the following matrix:
R
z
i
(
i
) =
cos(
i
) sin(
i
) 0 0
sin(
i
) cos(
i
) 0 0
0 0 1 0
0 0 0 1
(2)
To align z
i1
with z
i
, one can perform the rotation by bond angle
i1
around axis x
i
. This rotation is
given by the following matrix:
5
R
x
i
(
i1
) =
1 0 0 0
0 cos(
i1
) sin(
i1
) 0
0 sin(
i1
) cos(
i1
) 0
0 0 0 1
(3)
Note that the order of rotations is important. One cannot perform the rotation of frame F
i1
by
i1
rst
and then the dihedral rotation, because a rotation by
i1
changes the axis x
i1
to x
i1
. The value for
the dihedral
i
is dened with respect to x
i1
and x
i
, not x
i1
and x
i
. To do the rotation by the dihedral
second, you would need to update the denition of
i
with respect to x
i1
since the axis x
i1
changed.
This is not convenient since for every transformation you would need to recompute the dihedral angle;
this is why a rotation by the bond angle rst and the dihedral angle second is necessary.
Now we can nally transform F
i1
to F
i
by combining the above matrices as follows:
R
i
= R
x
i
(
i1
) R
z
i
(
i
) T
z
i
(d
i
)
where:
R
i
=
cos(
i
) sin(
i
) 0 0
sin(
i
) cos(
i1
) cos(
i
) cos(
i1
) sin(
i1
) sin(
i1
)d
i
sin(
i
) sin(
i1
) cos(
i
) sin(
i1
) cos(
i1
) cos(
i1
)d
i
0 0 0 1
(4)
This formula provides all we need to integrate the atom coordinates from any starting point. As we said
before, a generic step in the integration is to get the cartesian coordinates (x, y, z) of any atom A
i
with
respect to frame F
i1
as follows:
(x, y, z, 1)
t
= R
i
(0, 0, 0, 1)
t
Recall that the coordinates of atom A
i
in its own frame F
i
are (0, 0, 0) since we dened each local
frame as resting on the atom centers, so the origin of frame F
i
is the atom A
i
.
When using internal coordinates, the position of atom A
0
(the anchor atom) is the only one known,
so every other atoms cartesian coordinates can be obtained by chaining matrices R
i
. Since the local
coordinates of atom A
i
in its own frame are (0, 0, 0) (each local frame is attached to the center of an
atom), its coordinates (x, y, z) with respect to the frame attached to the anchor atom are computed as
follows:
(x, y, z, 1)
t
= R
1
R
2
. . . R
i
(0, 0, 0, 1)
t
Thus, for any value of i, we can retrieve A
i
s position in terms of A
0
and all the bond parameters
between them (encoded in all the matrices). The only thing left to specify to globally place our protein
is its orientation. One can allow for rotations or translations of the local frame attached to the anchor
atom with respect to some global frame. Rotations of the anchor atom with respect to a global frame
cause a rigid rotation of the entire polypeptide chain. To do so, one can dene the rotation frame as the
Euler matrix dened by the Euler angles of the local frame of the anchor atom to the global frame.
6
There are many conventions to dene the Euler matrix. One of them, the XY Z convention, denes
the Euler matrix as the product of three rotation matrices: rotation around z by angle ; rotation around
y by the angle ; rotation around x by the angle . In the X-Y-Z convention, the order is as follows:
E = R
z
() R
y
() R
x
()
This denition yields as the Euler matrix the one below:
E =
cos() cos() cos() sin() sin() sin() cos() cos() sin() cos() + sin() sin() 0
sin() cos() sin() sin() sin() + cos() cos() sin() sin() cos() cos()sin() 0
sin() cos() sin() cos() cos() 0
0 0 0 1
(5)
Propagation of the rotation by the Euler matrix to the entire polypeptide chain can be done as follows:
(x, y, z, 1)
t
= E R
1
R
2
. . . R
i
(x
0
, y
0
, z
0
, 1)
t
Remember that all the proteins internal coordinates (bond angles, bond lengths and dihedral angles)
are encoded in the R
i
matrices, so this formula provides the conversion between internal and cartesian
coordinates we set out to nd.
For more information on the original application of Denavit-Hartenberg local frames to robotic mech-
anisms, see [1].
[1] J. Craig. Introduction to robotics: manipulation and control. Addison-Wesley, 2 edition, 1989.
7