An Efficient Parallel Algorithm for Accelerating Computational Protein Design 1 Institute for Interdisciplinary Information Sciences Tsinghua University 2 Department of Computer Science, Department of Biochemistry Duke University Jul, 2014 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng An Efficient Parallel Algorithm for Computational Protein Design Jianyang Zeng 1 , ∗ Yichao Zhou 1 Wei Xu 1 Bruce R. Donald 2
Why We Need Protein Design? Applications New Drug Discovery Enzyme Optimization Drug Resistance Prediction New Biosensor Design Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng An Efficient Parallel Algorithm for Computational Protein Design
What is Structure-Based Protein Design? Val Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng 1D amino acid sequence Ile Ser Ile Trp Ile Ala Pro Asp Ser Gly Glu Wild-type protein’s structure Pro Gly Gly His Pro Ile Toolbox Backbone Template Energy Functions Rotamer Library Algorithm Design An Efficient Parallel Algorithm for Computational Protein Design · · · · · ·
Protein Design as an Optimization Problem NP Hard! Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng Self energy of rotamer i r i r i r backbone Energy Function (Optimization Target) An Efficient Parallel Algorithm for Computational Protein Design rotamer j s rotamer i r E 2 ( i r , j s ) ( E ) 1 i r � � � E T = E 1 ( i r ) + E 2 ( i r , j s ) j s , i < j Pairwise energy between rotamer i r and j s
Protein Design as an Optimization Problem NP Hard! Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng Self energy of rotamer i r i r i r backbone Energy Function (Optimization Target) An Efficient Parallel Algorithm for Computational Protein Design rotamer j s rotamer i r E 2 ( i r , j s ) ( E ) 1 i r � � � E T = E 1 ( i r ) + E 2 ( i r , j s ) j s , i < j Pairwise energy between rotamer i r and j s
Search Algorithm [Xu06] Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng [Yanover02] Propagation Belief Annealing Simulated [Voigt00] Monte Carlo … Algorithm Approx … composition Space Search Tree De- ford05] [Kings- ear Program Integer Lin- [Hong09] and Bound Branch [Leach98] DEE/A* Algorithm Exact Algorithm An Efficient Parallel Algorithm for Computational Protein Design
Search Algorithm [Xu06] Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng [Yanover02] Propagation Belief Annealing Simulated [Voigt00] Monte Carlo … Algorithm Approx … composition Space Search Tree De- ford05] [Kings- ear Program Integer Lin- [Hong09] and Bound Branch [Leach98] DEE/A* Algorithm Exact Algorithm An Efficient Parallel Algorithm for Computational Protein Design
Dead End Elimination/A* Algorithm Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng An Efficient Parallel Algorithm for Computational Protein Design
Heuristic Function in A* Search -22 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng u min r min -37 Admissible Residue 3 Residue 2 Residue 1 -17 An Efficient Parallel Algorithm for Computational Protein Design -31 -30 -29 -32 -37 -37 -25 -30 -30 -34 -34 -34 ⇒ ⇒ ⇒ f ( x ) = g ( x ) + h ( x ) � � � g ( x ) = E 1 ( i r ) + E 2 ( i r , j s ) i r ∈ D ( x ) i r ∈ D ( x ) j s ∈ D ( x ) , i < j � � � � � h ( x ) = E 1 ( i r ) + E 2 ( i r , j s ) + E 2 ( i r , k u ) i ∈ U ( x ) j s ∈ D ( x ) k ∈ U ( x )
Heuristic Function in A* Search -22 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng u min r min -37 Admissible Residue 3 Residue 2 Residue 1 -17 An Efficient Parallel Algorithm for Computational Protein Design -31 -29 -30 -32 -37 -25 -37 -30 -30 -34 -34 -34 ⇒ ⇒ ⇒ = f ( x ) = g ( x ) + h ( x ) ⇒ � � � g ( x ) = E 1 ( i r ) + E 2 ( i r , j s ) i r ∈ D ( x ) i r ∈ D ( x ) j s ∈ D ( x ) , i < j � � � � � h ( x ) = E 1 ( i r ) + E 2 ( i r , j s ) + E 2 ( i r , k u ) i ∈ U ( x ) j s ∈ D ( x ) k ∈ U ( x )
A* Search x 1 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 x 1 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 x 1 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 x 3 -30 -25 -30 -30 -32 -37 -37 -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search x Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 3 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 -34 -30 -25 -30 -30 -32 -37 -37 -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 3 ) = − 34
A* Search -37 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 -34 -30 -25 -30 -30 -32 -37 -37 x An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 2 ) = − 30
A* Search -37 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 x -37 x 1 -37 -32 -30 x 2 -30 -25 -30 -34 -34 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 2 ) = − 30
A* Search -37 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 -34 -30 -25 -30 -30 -32 -37 x -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 2 )
A* Search -37 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng x 1 x 2 x Qveue Priority DEE Pruned Visited Visiting In Qveue -17 -22 -31 -29 -34 -34 -34 -30 -25 -30 -30 -32 x 1 -37 x -37 An Efficient Parallel Algorithm for Computational Protein Design f ( x 1 ) = − 37 f ( x 2 )
Our Contribution Dead-End-Elimination A* Search Algorithm Massive Parallel on a GPU Faster Heuristic Memory Bounded Our Contribution 20000x speedup! Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng An Efficient Parallel Algorithm for Computational Protein Design
Our Contribution Dead-End-Elimination A* Search Algorithm Massive Parallel on a GPU Faster Heuristic Memory Bounded Our Contribution 20000x speedup! Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng An Efficient Parallel Algorithm for Computational Protein Design
A Brief Concept to GPU Core 1 Core 2 CPU (several cores) performance GPU (thousands of cores) Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng An Efficient Parallel Algorithm for Computational Protein Design ☺ More computational units ☺ Decent single thread ☺ Energy efficient ☹ Limited in parallelism ☹ Need massive parallelism
First Level of Parallelism x 1 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng rithm? How to parallelize A* algo- Problem: Priority An Efficient Parallel Algorithm for Computational Protein Design x 2 x k x Qveue f ( x 1 ) f ( x 2 ) · · · · · · f ( x k − 1 ) x k − 1 f ( x k )
First Level of Parallelism x 1 Yichao Zhou , Wei Xu , Bruce R. Donald , Jianyang Zeng tions can be done in parallel. Computation of heuristic func- Priority An Efficient Parallel Algorithm for Computational Protein Design x 2 x k x Qveue f ( x 1 ) f ( x 2 ) · · · · · · f ( x k − 1 ) x k − 1 f ( x k )
Recommend
More recommend