Top Banner
Andrew Leaver-Fay, PhD Baker Lab University of Washington
39

Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Dec 13, 2015

Download

Documents

Vernon Todd
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Andrew Leaver-Fay, PhDBaker LabUniversity of Washington

Page 2: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

mini

Page 3: Andrew Leaver-Fay, PhD Baker Lab University of Washington.
Page 4: Andrew Leaver-Fay, PhD Baker Lab University of Washington.
Page 5: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Speed. Flexibility. Usability.

O(N2)

O(N) & O(Nlg N)

O(k)

Past

Present

Future

Page 6: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Speed. Flexibility. Usability.Speed vs. Flexibility

Hard coded parameters (e.g. pair_cutoffs, count_pair)

R++: Score terms responsible for entire structure (e.g. constraints)

All scorers (score function, packer, minimizer) know what score terms exist

Mini: Score terms responsible for entire residue pairs

Communication through global variables instead of input parameters

Context is not tracked

Packer’s sparse matrix for RPEs assumes AA’s being packed

Page 7: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Speed. Flexibility. Usability.Speed vs. UsabilityRefold by hand from carefully chosen starting points

Lazy refold

Plan and optimize for a single mode of interaction

Design-in efficiency for all possible future uses

Hidden assumptions (e.g. refold assumes ideal bond geometry)

Track old scores in global arrays (e.g. best_bumps)

Page 8: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Speed. Flexibility. Usability.Flexibility vs. UsabilityComplete Generality: C, Unix Specific, reliable, understandable

functionality that can’t be modified

Job Distributor generalized for arbitrary movers

Flag report (“What flags are used in this protocol?” ~ halting problem)

Thread Safety

Page 9: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Speed. Flexibility. Usability.

O(N2)

O(N) & O(Nlg N)

O(k)

Past

Present

Future

Page 10: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Model Protocol

Pose pose;

ScoreFunction * sfxn;

Mover * mover;

MonteCarlo MC( sfxn );

for i = 1 to X

mover->apply( pose );

MC.boltzman( pose ); // 1 sfxn call, 1 pose copy

Page 11: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Model Protocol

Pose pose;

ScoreFunctionOP sfxn;

MoverOP mover;

MonteCarlo MC( sfxn );

for i = 1 to X

mover->apply( pose );

MC.boltzman( pose ); // 1 sfxn call, 1 pose copy

Page 12: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

O(N2) O(NlgN) Scoring

• Neighbor detection: O(N2) O(N lg N)• NxN tables sparse graph• Score terms left to themselves

ScoreFunction evaluates terms for neighboring residue pairs*

• O(N2) terms replaced with O(N) equivalents

O(NlgN)O(N)

O(N + k)

O(N)

a b

ab

Page 13: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

EnergyMethod Hierarchy

Context Dependcy

Range

Count

Page 14: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

ScoringRealScoreFunction::operator()( Pose & pose) const pose.update_residue_neighbors( info_ ); setup_for_scoring( pose ); for e = {u,v } pose.energy_graph() eval_cd_2b( pose.res(u), pose.res(v) ); if ( pose.moved_relative( u, v ) ) total += eval_ci_2b( pose.res(u), pose.res(v), e); else

total += e; total += eval_cd_1b( pose ); total += eval_ci_1b( pose ); finalize( total ); return total;

Page 15: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

• Holds EnergyMethods that the user wants evaluated

• Input to – minimizer – pack_rotamers– rotamer_trials

ScoreFunction as a Container

Page 16: Andrew Leaver-Fay, PhD Baker Lab University of Washington.
Page 17: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

• Holds EnergyMethods that the user wants evaluated

• Input to – minimizer – pack_rotamers– rotamer_trials

ScoreFunction as a Container

Page 18: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

• Holds EnergyMethods that the user wants evaluated

• Input to – minimizer – pack_rotamers– rotamer_trials– OnTheFlyInteractionGraph– GreenPacker

ScoreFunction as a Container

Page 19: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

Reuses RPEs for groups of residues that aren’t moving wrt each other.

For Example:

Fixed-backbone ligand docking

Fixed backbone protein docking

Page 20: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

Reuses RPEs for groups of residues that aren’t moving wrt each other.

Prot/Prot CI 2B energies reusedProt/Prot CI 2B energies reused

Prot/Prot CD 2B energies freshly calculatedProt/Prot CD 2B energies freshly calculated

All Prot/Prot 2B energies freshly calculated

Page 21: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

Reuses RPEs for groups of residues that aren’t moving wrt each other.

Prot/Prot CI 2B energies reusedProt/Prot CI 2B energies reused

Prot/Prot CD 2B energies freshly calculatedProt/Prot CD 2B energies freshly calculated

All Prot/Prot 2B energies freshly calculated

Page 22: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

Reuses RPEs for groups of residues that aren’t moving wrt each other.

Page 23: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

Reuses RPEs for groups of residues that aren’t moving wrt each other.

Page 24: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

Reuses RPEs for groups of residues that aren’t moving wrt each other.

Page 25: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

GreenPacker

• User identifies residue groups that remain fixed wrt each other• 1st packing:

– save rotamer internal geometry– save CI 2B energies

• Subsequent packings: – Find correspondence between original rotamers and new rotamers based

on internal geometry– Intra-group:

• Reuse saved CI 2B energies for rotamers that have a correspondence• Compute fresh CI 2B energies for those that don’t• Compute CD 2B energies

– Inter-group:• Compute all 2B energies

Page 26: Andrew Leaver-Fay, PhD Baker Lab University of Washington.
Page 27: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

• Holds EnergyMethods that the user wants evaluated• Input to

– minimizer – pack_rotamers– rotamer_trials– OnTheFlyInteractionGraph– GreenPacker

ScoreFunction as a Container

Page 28: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

• Holds EnergyMethods that the user wants evaluated• Input to

– minimizer – pack_rotamers– rotamer_trials– OnTheFlyInteractionGraph– GreenPacker– Enzyme Multi State Interaction Graph*– LoopScoreFunction*– LoopPacker*– Sidechain Minimizer*

ScoreFunction as a Container

Page 29: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Minimization

• update_domain_map: O(N)• setup_for_derivatives: O(N)• set_DOF + refold: O(N)• eval_atom_derivative: O(k) -- (Phil?)• score: O(N + k)

Efficient to minimize all residues, inefficient to minimize one residue

Page 30: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Output Sensitive Refold

set_chi Problem: after m updates to the DOFs of an atom tree, refold.

k = # atoms that move

1) O(N+m): refold from root

2) O(m2+k) (complicated)

3) O(k+m): DFS -- Snoeyink

Page 31: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Output Sensitive RefoldDFS:

Record each atom with a DOF change -- O(m)

Mark each atom with a DOF change as “unreached”

Start a DFS from each unvisited atom, stopping at atoms that have already been visited in the DFS. Mark reached atoms -- O(k)

Refold from unreached atoms with DOF changes

Page 32: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Output Sensitive RefoldDFS:

Record each atom with a DOF change -- O(m)

Mark each atom with a DOF change as “unreached”

Start a DFS from each unvisited atom, stopping at atoms that have already been visited in the DFS. Mark reached atoms -- O(k)

Refold from unreached atoms with DOF changes

Page 33: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Output Sensitive RefoldDFS:

Record each atom with a DOF change -- O(m)

Mark each atom with a DOF change as “unreached”

Start a DFS from each unvisited atom, stopping at atoms that have already been visited in the DFS. Mark reached atoms -- O(k)

Refold from unreached atoms with DOF changes

Page 34: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Output Sensitive RefoldDFS:

Record each atom with a DOF change -- O(m)

Mark each atom with a DOF change as “unreached”

Start a DFS from each unvisited atom, stopping at atoms that have already been visited in the DFS. Mark reached atoms -- O(k)

Refold from unreached atoms with DOF changes

Page 35: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Loop Modeling Example

Step 33 Step 34

Page 36: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

O(k) minimization

• “Sidechain minimizer”– Rotamer trials w/ minimization– Pre-minimize rotamers– Pre-minimize rotamer pairs*

• Without modifying core::pack!– class RotamerOperation– class RotamerSetOperation

Page 37: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

When is mini done?

• R++ functionality mini functionality

• Release?

Page 38: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Plug for Roland Dunbrack’s Talk Tomorrow

0 0.4-0.2

Page 39: Andrew Leaver-Fay, PhD Baker Lab University of Washington.

Acknowledgementsashworth dmandell johnk pbradley shefflerbblum ekellogg kaufmann renfrew sidchu flo kevin rhiju smlewisCruiseControl gktaylor leaverfa ronj sramancsmith glemmon momeara rvernon stuartmcyanover havranek monica rwalton texdavis ion mtyka sarel treuilledekim jecorn murphp scooper yabdimaio jeff olange sergey yiliu

Mini Community

David Baker

Brian Kuhlman

Jeff Gray