Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain...

Preview:

Citation preview

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

Recommended