Post on 12-Jan-2016
Inverse Kinematics
Inverse Kinematics (IK)
T
q1
q2 q3
q4q5
Given a kinematic chain (serial linkage),the position/orientation of oneend relative to the other (closed chain), find the values of the joint parameters
rigid groupsof atoms
Why is IK useful for proteins?
Filling gaps in structure determination by X-ray crystallography
Structure DeterminationX-Ray Crystallography
Automated Model Building Software systems: RESOLVE, TEXTAL, ARP/wARP,
MAID
• 1.0Å < d < 2.3Å ~ 90% completeness• 2.3Å ≤ d < 3.0Å ~ 67% completeness (varies
widely)1
Manually completing a model:
• Labor intensive, time consuming• Existing tools are highly interactive
JCSG: 43% of data sets 2.3Å
1Badger (2003) Acta Cryst. D59
Model completion is high-throughput bottleneck
1.0Å 3.0Å
The Completion Problem
Input:• Electron-density map• Partial structure•Two anchor residues•Amino-acid sequence of missing fragment (typically 4 – 15 residues long)
Output: • Few candidate conformation(s) of fragment that
- Respect the closure constraint (IK)- Maximize match with electron-density map
Main part of protein (f olded)
Protein f ragment (f uzzy map)
Anchor 1(3 atoms)
Anchor 2(3 atoms)
Main part of protein (f olded)
Protein f ragment (f uzzy map)
Anchor 1(3 atoms)
Anchor 2(3 atoms)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest 0.6Å aaRMSD
Why is IK useful for proteins?
Filling gaps in structure determination by X-ray crystallography
Studying the motion space of “loops” (secondary structure elements connecting helices and strands), which often play a key role in:• enzyme catalysis, • ligand binding (induced fit), • protein – protein interactions
Loop motion in Amylosucrase
17-residue loop that plays important role in protein’s activity
Loop 7 of 1G5A
Conformations obtained by deformation sampling
1K96
Why is IK useful for proteins?
Filling gaps in structure determination by X-ray crystallography
Studying the motion space of “loops” (secondary structure elements connecting helices and strands), which often play a key role in:• enzyme catalysis, • ligand binding (induced fit), • protein – protein interactions
Sampling conformations using homology modeling Chain tweaking for better prediction of folded state R.
[Singh and B. Berger. ChainTweak: Sampling from the Neighbourhood of a Protein Conformation. Proc. Pacific Symposium on Biocomputing, 10:52-63, 2005.]
Generic Problem Definition
Inputs: Protein structure with missing fragment(s) (typically 4 – 15 residues long, each)
Amino-acid sequence of each missing fragment
Outputs: Conformation of fragment or distribution of conformations that
• Respect the closure constraint (IK)•Avoid atomic clashes• Satisfy other constraints, e.g., maximize match with
electron density map, minimize energy function, etc
Inputs: Closed kinematic chain with n degrees of freedom
Relative positions/orientations X of end frames Target function T(Q) →
Outputs: Conformation(s) that
• Achieve closure• Optimize T
IK Problem
T
Relation to Robotics
Some Bibliographical References
Robotics/Computer Science
• Exact IK solvers– Manocha & Canny ’94– Manocha et al. ’95
• Optimization IK solvers– Wang & Chen ’91
• Redundant manipulators– Khatib ’87 – Burdick ’89
• Motion planning for closed loops– Han & Amato ’00 – Yakey et al. ’01– Cortes et al. ’02, ’04
Biology/Crystallography• Exact IK solvers
– Wedemeyer & Scheraga ’99– Coutsias et al. ’04
• Optimization IK solvers– Fine et al. ’86– Canutescu & Dunbrack Jr. ’03
• Ab-initio loop closure– Fiser et al. ’00 – Kolodny et al. ’03
• Database search loop closure– Jones & Thirup ’86– Van Vlijman & Karplus ’97
• Semi-automatic tools– Jones & Kjeldgaard ’97– Oldfield ’01
Forward Kinematics
d1
d2
1
2
(x,y)
x = d1 cos 1 + d2 cos(1+2)y = d1 sin 1 + d2 sin(1+2)
Inverse Kinematics
d1
d2
1
2
(x,y)
2 = cos-1x2 + y2 – d1
2 – d22
2d1d2
-x(d2sin2) + y(d1 + d2cos2)
y(d2sin2) + x(d1 + d2cos2)1 =
Inverse Kinematics
d1
d2
(x,y)
2 = cos-1x2 + y2 – d1
2 – d22
2d1d2
-x(d2sin2) + y(d1 + d2cos2)
y(d2sin2) + x(d1 + d2cos2)1 =
Two solutions
More Complicated Example
d1
d2
1
2
d3
(x,y)
3
Redundant linkage Infinite number of solutions Self-motion space
More Complicated Example
d1
d2
1
2
d3
(x,y)
3
1-D space(self-motionspace)
d3d2
d1(1,2,3)
More Complicated Example
d1
d2
1
2
d3
3
No redundancy Finite number of solutions
(x,y,)
d3d2
d1(1,2,3)
General Results from Kinematics
Number of DOFs of a linkage (dimensionality of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).
Examples: - Open chain: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k
Nlink = 4Njoint = 3NDOF = 3(4-1)-(3-1)3 = 3
Nlink = 4Njoint = 4NDOF = 1
General Results from Kinematics
Number of DOFs of a linkage (dimension of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).
Examples: - Open chain: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k
Nlink = 4Njoint = 3NDOF = 3(4-1)-(3-1)3 = 3
Nlink =Njoint = NDOF =
General Results from Kinematics
Number of DOFs of a linkage (dimension of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).
Examples: - Open chain: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k
Nlink = 4Njoint = 3NDOF = 3(4-1)-(3-1)3 = 3
Nlink = 3Njoint = 3NDOF = 0
General Results from Kinematics
Number of DOFs of a linkage (dimension of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).
Examples: - Open chain: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k5 amino-acids10 - joints10 linksNDOF = 4
General Results from Kinematics
6-joint chain in 3-D space: NDOF=0 At most 16 distinct IK solutions
IK Methods
Analytical (exact) techniques (only for 6 joints) Write forward kinematics in the form of
polynomial equations (use t = tan(/2) Simplify, e.g., using the fact that two
consecutive torsional angles and have intersecting axes [Coutsias, Seck, Jacobson, Dill, 2004]
Solve
E.A. Coutsias, C. Seok, M.P. Jacobson, and K.A. Dill.A Kinematic View of Loop Closure. J. Comp. Chemistry, 25:510-528, 2004
Decomposition Method for Randomly Sampling Conformations
of Closed Chains Decompose closed chain into:
• 6 “passive” joints • n-6 “active” joints
Decompose closed chain into:• 6 “passive” joints • n-6 “active” joints
Sample the active joint parameters
Compute the passive joint parameters using exact IK solver
Decomposition Method for Randomly Sampling Conformations
of Closed Chains
J. Cortés, T. Siméon, M. Renaud-Siméon, and V. Tran. Geometric Algorithms for the Conformational Analysis of Long Protein Loops. J. Comp. Chemistry, 25:956-967, 2004
Application of Decomposition Method
Amylosucrase
IK Methods
Analytical (exact) techniques (only for 6 joints) Write forward kinematics in the form of
polynomial equations (use t = tan(/2) Simplify, e.g., using the fact that two
consecutive torsional angles and have intersecting axes [Coutsias, Seck, Jacobson, Dill, 2004]
Solve Iterative (approximate) techniques
CCD (Cyclic Coordinate Descent) Method
Generate random conformation with one end of chain at required position/orientation
Repeat until other end is at required position/orientation or algorithm is stuck at local minimum– Pick one DOF– Change to minimize
closure distanceL.T. Wang and C.C. Chen. A Combined Optimization Method for Solving the Inverse Kinematics Problem of Mechanical Manipulators.IEEE Tr. On Robotics and Automation, 7:489-498, 1991.
fixed end
moving end
Application of CCD to Proteins
Closure Distance: 2 22
S N N C C C C
Compute and move s.t. 0ii
Sq
q
A.A. Canutescu and R.L. Dunbrack Jr.Cyclic coordinate descent: A robotics algorithm for protein loop closure. Prot. Sci. 12:963–972, 2003.
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
Advantages of CCD
Simplicity No singularity problem Possibility to constrain each joint independent of all others
But may get stuck at local minima!
CCD with Ramachandran Maps
Ramachandran maps assign probabilities to φ-ψ pairs
φ
ψ
CCD with Ramachandran Maps
Ramachandran maps assign probabilities to φ-ψ pairs
Change a pair (φi,ψi) at each iteration: Compute change to φi
Compute change to ψi based on change to φi
Accept with probability min(1,Pnew/Pold)
IK Methods
Analytical (exact) techniques (only for 6 joints) Write forward kinematics in the form of
polynomial equations (use t = tan(/2) Simplify, e.g., using the fact that two
consecutive torsional angles and have intersecting axes [Coutsias, Seck, Jacobson, Dill, 2004]
Solve Iterative (approximate) techniques
Jacobian Matrix Q: n-vector of internal coordinates X: 6-vector defining endpoint’s
position/orientation n ≥ 6 Forward kinematics: X = F(Q) dxi = [∂fi(Q)/∂q1] dq1 +…+ [∂fi(Q)/∂qn]
dqn dX = J dQEfficient algorithm to compute Jacobian:
K.S. Chang and O. Khatib. Operational Space Dynamics: Efficient Algorithms for Modeling and Control of Branching Mechanisms. IEEE Int. Conf. on Robotics and Automation (ICRA),pp. 850-856, Sand Francisco, April 2000.
Jacobian Matrix J
∂f1(Q)/∂q1 ∂f1(Q)/∂q2 … ∂f1(Q)/∂qn
∂f2(Q)/∂q1 ∂f2(Q)/∂q2 … ∂f2(Q)/∂qn
……∂f6(Q)/∂q1 ∂f6(Q)/∂q2 … ∂f6(Q)/∂qn
Case where n = 6
J is a square 6x6 matrix. Problem: Given X, find Q such that X= F(Q) Start at any X0 = F(Q0) Method:
1. Interpolate linearly between X0 and X sequence X1, X2, …, Xp = X
2.For i = 1,…,p doa) Qi = Qi-1 + J-1(Qi-1)(Xi-Xi-1)
b) Reset Xi to F(Qi)
Case where n > 6
dX = J dQ J is an 6n matrix. Assume rank(J) = 6. Null space { dQ0 | J dQ0 = 0} has dim = n -
6
Case where n > 6
dX = J dQ J is an 6n matrix. Assume rank(J) = 6 Find J+ (pseudo-inverse) such that JJ+ = I
dQ = J+dX Null space { dQ0 | J dQ0 = 0} has dim = n -
6 dQ = J+dX + dQ0
arbitrarily chosenin null space
Computation of J+
1. SVD decomposition J = U VT where: - U in an 66 square orthonormal matrix- V is an n6 square orthonormal matrix- is of the form diag[i]:
2. J+ = V + UT where +=diag[1/i]
12
6
0
dX U66 VT6n dQ66
=
Getting Null spaceJ
dX U66 VTnn dQ6n
0=
Getting Null spaceJ
Gram-Schmidt orthogonalization
dX U66 VTnn dQ6n
0
(n-6) basis N of null space
=
Getting Null spaceJ
NT
Minimization of Target Function T with Closure
when n > 6Input: Chain with both ends at goal
positions and orientations
Repeat1. Compute Jacobian matrix J at current q2. Compute null-space basis N using SVD of J 3. Compute gradient T(q)4. Move along projection NNTy of y=-T(q) onto
N until minimum is reached or closure is broken New qI. Lotan, H. van den Bedem, A.M. Deacon and J.-C Latombe. Computing Protein Structures from Electron Density Maps: The Missing Loop Problem.
Proc. 6th Workshop on Algorithmic Foundations of Robotics (WAFR `04)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest 0.6Å aaRMSD
TM1621
Green: manually completed conformation
Cyan: conformation computed by stage 1
Magenta: conformation computed by stage 2
The aaRMSD improved by 2.4Å to 0.31Å
Produced by H. van den Bedem
Multi-Modal Loop
Produced by H. van den Bedem
A323Hist
A316Ser