Lecture Notes on Computational Structural Biology
May 2, 2008
B598
fm
FA1
This page intentionally left blank
Lecture Notes on Computational Structural Biology Zhijun Wu
Iowa State University, USA
World Scientific NEW JERSEY
•
LONDON
•
SINGAPORE
•
BEIJING
•
SHANGHAI
•
HONG KONG
•
TA I P E I
•
CHENNAI
Published by World Scientific Publishing Co. Pte. Ltd. 5 Toh Tuck Link, Singapore 596224 USA office: 27 Warren Street, Suite 401402, Hackensack, NJ 07601 UK office: 57 Shelton Street, Covent Garden, London WC2H 9HE
British Library CataloguinginPublication Data A catalogue record for this book is available from the British Library.
LECTURE NOTES ON COMPUTATIONAL STRUCTURAL BIOLOGY Copyright © 2008 by World Scientific Publishing Co. Pte. Ltd. All rights reserved. This book, or parts thereof, may not be reproduced in any form or by any means, electronic or mechanical, including photocopying, recording or any information storage and retrieval system now known or to be invented, without written permission from the Publisher.
For photocopying of material in this volume, please pay a copying fee through the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, USA. In this case permission to photocopy is not required from the publisher.
ISBN13 9789812705891 ISBN10 9812705899
Typeset by Stallion Press Email:
[email protected] Printed in Singapore.
Wanda  Lec Notes on Comp Struc.pmd
1
7/23/2008, 6:49 PM
May 2, 2008
B598
fm
FA1
To my family
v
May 2, 2008
B598
fm
FA1
This page intentionally left blank
May 2, 2008
B598
fm
FA1
Preface
This book is a collection of the lecture notes for a course on computational structural biology taught at the Program on Bioinformatics and Computational Biology at Iowa State University, USA. It is, in a certain sense, a summary of what I have learned and understood about computational structural biology based on my own research experience, and is more of a review from the perspective of a computer scientist or applied mathematician on the subject. The book is focused on introducing computational and mathematical problems, their solution methods, and the research developments. Efforts have been made to keep the contents selfcontained and not too technical, so that readers not previously exposed to related subjects can still understand the materials and appreciate the biological importance and mathematical novelty of the research in the ﬁeld. The ﬁeld of computational structural biology is new and still developing. As such, it is hard to deﬁne the exact scope of the ﬁeld, as different groups of researchers may prefer different names with different research goals and scopes in their minds, such as structural bioinformatics, structural genomics, or biomolecular modeling, to name a few. Here, we just choose the current name, not exclusively, and restrict our discussion to the use of computational methods for the study of the structures and dynamics of biomolecules and, in particular, proteins. Structures and their dynamic properties are key to the understanding of the biological functions of proteins. However, in general, they are difﬁcult to determine. Both experimental and theoretical approaches have been used. They all require intensive mathematical vii
May 2, 2008
viii
B598
fm
FA1
Computational Structural Biology
computing, including data analysis, model building, structure prediction, and dynamics simulation. Mathematical problems arise in various stages of investigations on structure and dynamics. Some of them can be resolved effectively by using existing mathematical tools, while others present remarkable computational challenges. The development of computational structural biology thus follows the great need for mathematics and computation in structural research. In Chap. 1, we discuss the importance of structures for the understanding of proteins and related biological functions. Two classes of computational problems, structure determination and dynamics simulation, as the main subjects of computational structural biology, are introduced. A review on the famous problem of protein folding is given. The topics related to Xray crystallography and nuclear magnetic resonance (NMR) spectroscopy, two major experimental approaches for structure determination, are covered in Chaps. 2 and 3, respectively, with emphasis on the phase problem in Xray crystallography and the distance geometry problem in NMR and their solutions. Two important computational methods, potential energy minimization and molecular dynamics simulation, as well as their extensive applications to protein structures and dynamics are discussed in Chaps. 4 and 5. The knowledgebased approach to structure prediction, an active area of research in recent years, is reviewed in Chap. 6, with a great deal of details left for readers to explore further. The development of other related ﬁelds, including computational genomics and systems biology, and their connection with computational structural biology are also discussed. To be selfcontained, some general knowledge on algorithms and numerical methods are given with relatively rigorous mathematical descriptions in Appendices A and B. In contrast, in the main chapters of the book, the presentation is made purposely without formal mathematical statements (such as theorems and proofs). The bibliography is provided in the form of further readings attached to each chapter and grouped under speciﬁc topics. They are selected readings, not complete references, and are also given in certain suggested reading orders.
May 2, 2008
B598
fm
FA1
Preface
ix
I would like to thank my students and colleagues, Ajith Gunaratne, Feng Cui, Qunfeng Dong, Rahul Ravindrudu, Vladimir Sukhoy, Peter Vedell, Atilla Sit, Xiaoyong Sun, Di Wu, and Wonbin Young, for sharing their knowledge and providing valuable insights while working with me. The constant discussions among us on research in computational biology have been the major source of motivation for the writing of the book. I would also like to thank my biology colleagues David Shalloway, George Phillips, and Robert Jernigan for working with me and introducing me to the fascinating ﬁeld of computational biology; and my optimization advisers and colleagues John Dennis, Robert Bixby, Tom Coleman, Jorge Moré, Richard Tapia, Yin Zhang, Guangye Li, Yinyu Ye, and Yaxiang Yuan for teaching me optimization and encouraging me to explore scientiﬁc applications. I would like to acknowledge the strong support provided by the Department of Mathematics, the Graduate Program on Bioinformatics and Computational Biology, and the Baker Center for Bioinformatics and Biological Statistics, Iowa State University. I have also beneﬁted from the support provided by the Mathematical Biosciences Institute at Ohio State University, USA, the Institute for Mathematics and Its Applications at the University of Minnesota, USA, and the Institute of Computational Mathematics at the Chinese Academy of Sciences, China, for allowing me to visit the institutes while ﬁnishing the book. Finally, I would like to thank Peng Wu for reading the initial draft of the book and providing helpful suggestions; my friend and colleague Dr Chunguang Sun at World Scientiﬁc Publishing Company (WSPC) for suggesting the book project; and the WSPC staff, Wanda Tan, Azouri Bongso, and MeiLian Ho, for their professional help and friendly cooperation on text organization, cover design, and proofreading. Z. Wu
May 2, 2008
B598
fm
FA1
This page intentionally left blank
May 2, 2008
B598
fm
FA1
Contents
Preface
vii
1 Introduction 1.1 Protein Structure 1.2 Structure Determination 1.3 Dynamics Simulation 1.4 The Myth of Protein Folding
1 1 9 13 18
2 Xray Crystallography Computing 2.1 The Phase Problem 2.2 Least Squares Solutions 2.3 Entropy Maximization 2.4 Indirect Methods
27 27 37 46 54
3 NMR Structure Determination 3.1 Nuclear Magnetic Resonance 3.2 Distance Geometry 3.3 Distancebased Modeling 3.4 Structural Analysis
63 63 73 81 87
4 Potential Energy Minimization 4.1 Potential Energy Function 4.2 Local Optimization 4.3 Global Optimization 4.4 Energy Transformation
99 100 107 111 116
5 Molecular Dynamics Simulation 5.1 Equations of Motion
125 125
xi
May 2, 2008
xii
B598
fm
FA1
Computational Structural Biology
5.2 InitialValue Problem 5.3 BoundaryValue Problem 5.4 Normal Mode Analysis
129 138 145
6 Knowledgebased Protein Modeling 6.1 Sequence/Structural Alignment 6.2 Fold Recognition/Inverse Folding 6.3 Knowledgebased Structural Reﬁnement 6.4 Structural Computing and Beyond
156 156 165 169 173
Appendix A Design and Analysis of Computer Algorithms A.1 Evaluation of Algorithms A.2 Intractability A.3 Lists, Arrays, Graphs, and Trees A.4 Sorting, Searching, and Optimization
182 183 188 192 195
Appendix B Numerical Methods B.1 Numerical Linear Algebra B.2 Numerical Optimization B.3 Numerical Solutions to InitialValue Problems B.4 Numerical Solutions to BoundaryValue Problems
202 202 210 218 222
Index
229
April 28, 2008
B598
ch01
FA
Chapter 1 Introduction
Proteins are an important class of biomolecules. They are encoded in genes and expressed in cells via genetic translation. Proteins are lifesupporting (or sometimes, destructive) ingredients and are indispensable for almost all biological processes. In order to understand the diverse biological functions of proteins, knowledge of the threedimensional (3D) structures of proteins and their dynamic behaviors is essential. Unfortunately, these properties are difﬁcult to be determined either experimentally or theoretically. The goal of computational structural biology is to provide an alternative, or sometimes, complementary, approach to protein structures and dynamics by using computer modeling and simulation.
1.1. Protein Structure A protein consists of a sequence of amino acids, typically several hundreds in length. There are 20 different amino acids. Therefore, millions of different proteins can be formed with different amino acid sequences and often different functions. In the human body alone, there are at least several hundreds of thousands of different proteins, with functions ranging from transporting chemicals to passing electrical signals, from activating cellular processes to preventing foreign 1
April 28, 2008
2
B598
ch01
FA
Computational Structural Biology
intrusion, and from forming all kinds of molecular complexes to supporting various physical structures of life. 1.1.1. DNA, RNA, and protein Not all sequences of amino acids are biologically meaningful. Those used in proteins are selected or decided by the biological systems. They are encoded as genes in the DNA sequences and expressed in the cells at certain times and places. A typical gene expression process occurs as follows: a gene, as a DNA sequence, that encodes a protein is ﬁrst transcribed into a corresponding RNA sequence; the RNA sequence is then translated into an amino acid sequence required by the protein (Fig. 1.1). A DNA sequence is made of two complementary chains of four different deoxyribonucleic acids — known as adenine (A), cytosine (C), guanine (G), and thymine (T) — with A in one of the chains pairing with T in another, and C pairing with G. The two chains wrap around each other and form a socalled double helix. During the transcription process, the double helix unwinds, and one of the strands is used as a template to make a single chain of RNA, which consists of four ribonucleic acids — A, C, G, and U (uracil) — that correspond to the deoxyribonucleic acids — A, C, G, and T, respectively — in the DNA templates. In this sense, the RNA sequence is equivalent to the DNA sequence; it is only transcribed in a different form. The RNA
DNA
GAA GTT GAA AAT CAG GCG AAC CCA CGA CTG
RNA
GAA GUU GAA AAU CAG GCG AAC CCA CGA CUG
Protein
GLU GAL GLU ASN GLN ALA ASN PRO ARG LEU
Fig. 1.1. Central dogma of molecular biology. A DNA sequence is transcribed into an RNA sequence, and an RNA sequence is translated into an amino acid sequence, which forms a polypeptide chain and folds into a protein.
April 28, 2008
B598
ch01
FA
Introduction 3
U
C
A
G
U
Phe Phe Leu Leu
Ser Ser Ser Ser
Tyr Tyr End End
Cys Cys End Trp
U C A G
C
Leu Leu Leu Leu
Pro Pro Pro Pro
His His Gln Gln
Arg Arg Arg Arg
U C A G
A
Ile Ile Ile Met
Thr Thr Thr Thr
Asn Asn Lys Lys
Ser Ser Arg Arg
U C A G
G
Val Val Val Val
Ala Ala Ala Ala
Asp Asp Glu Glu
Gly Gly Gly Gly
U C A G
(Third Base)
(First Base)
(Second Base)
Fig. 1.2. Genetic code. A sequence of three RNA molecules translates into one amino acid; there are 20 different amino acids that can be translated from RNA.
chain is processed to produce a chain of amino acids, with every three contiguous ribonucleic acids used to make one amino acid following a generic translation code (Fig. 1.2). There are a total of 64 different RNA triplets. They are mapped to 20 different amino acids. Two amino acids make a dipeptide. The chain of amino acids generated from the RNA chain makes a polypeptide. It folds into a unique 3D structure to become a functional protein. Here, the DNA sequence, or the gene, determines the RNA sequence, and the RNA sequence then determines the amino acid sequence. However, the amino acid sequence, or the polypeptide, will not function as a normal protein until it folds into an appropriate 3D structure called the native structure of the protein. The latter step is called protein folding, and has been a fundamental research topic in biology because of its obvious importance in the study of proteins.
April 28, 2008
4
B598
ch01
FA
Computational Structural Biology
1.1.2. Hierarchy of structures When forming the 3D structure, the chain of amino acids of the protein is not broken. Neighboring amino acids in the chain are always connected by strong chemical bonds. This connected chain of amino acids forms the primary structure of the protein. Different parts of the chain may form different types of structures, depending on their amino acid sequences and sometimes their interactions with other parts of the chain. The most commonly seen structures are αhelices and βsheets. An αhelix is a helical type of structure, most often righthanded. Usually, about 3.6 amino acids form one circular section of the helix, with a 5.4 Å elevation on average. A βsheet is a pleated sheet type of structure formed by a group of chain sections stretched and aligned in parallel. These structures are called the secondary structures of the protein. The secondary structures assemble themselves to ﬁnally form the overall structure called the tertiary structure of the protein (Fig. 1.3). The primary structure shows the connectivity of the amino acids in sequence. It contains all of the information that deﬁnes the protein and hence its structure. At this level, the protein appears as a linear
LEU ARG ASN
PRO ALA
ASN
GLN GLU
GLU
GLU
VAL
GLU
ASN
VAL
GLN
ALA
ASN
PRO
ARG
LEU
...
Fig. 1.3. Protein folding. A polypeptide chain becomes a functional protein after it folds into a proper 3D structure; the latter is called the native structure of the protein.
April 28, 2008
B598
ch01
FA
Introduction 5
chain of amino acids. The secondary structure demonstrates the protein’s local structural patterns. The protein can then be viewed at a higher level as a set of αhelices and βsheets pieced together. The segments between secondary structures usually do not have regular forms; they are called loops or random coils. The tertiary structure gives the detailed arrangement of all the segments of the protein in 3D space. It is usually a compact structure, and is unique for each protein. Most importantly, it is physically or biologically the most favorable structure that the protein takes and is a structure necessary for the protein to achieve its physiological function. 1.1.3. Properties of amino acids Amino acids are the building blocks of proteins. The properties of the amino acids enable proteins to form certain types of secondary and tertiary structures and to have various biological and chemical functions. There are 20 different amino acids. They all have an amino group (H2 N), a carboxyl group (COOH), and a side chain (R). A carbon atom called Cα connects these three parts. The side chains are different for different amino acids. Except for glycine whose side chain has only a hydrogen atom, all side chains have a carbon atom called Cβ connected to Cα . When two amino acids are connected to form a dipeptide, the carboxyl group of one amino acid interacts with the amino group of another and makes a covalent bond called the peptide bond. Each amino acid part between two peptide bonds in a polypeptide chain is also called a residue. Since the connection happens only between the amino group and the carboxyl group of the neighboring amino acids, the amino acid chain without the side chains is called the main chain or the backbone of the protein. Within each amino acid residue, some local structures are relatively easy to be determined and they do not change. For example, the bond lengths and bond angles can be determined based on the chemical knowledge of the bonds and are relatively ﬁxed. Therefore, the amino group and the carboxyl group, as well as some parts of the
April 28, 2008
6
B598
ch01
FA
Computational Structural Biology
side chains, can be determined and considered as rigid. However, the bonds connecting Cα to the functional groups and some of the bonds in the side chains are ﬂexible and can rotate. The angles around the ﬂexible bonds are called the dihedral angles or the torsion angles. They are the main structural freedoms to be determined for the formation of correct protein folds. Amino acids are not just the building material of proteins, but are also the driving force for proteins to form different levels of structures. For example, the hydrogen bonds between amino acids in the neighboring coils of αhelices or in the neighboring strips of βsheets are the key factors for proteins to form these secondary structures. Also, the fact that amino acids can be either hydrophobic or hydrophilic and proteins tend to form tertiary structures with hydrophobic cores has been considered as one of the guiding principles of protein folding. Amino acids can be grouped according to the hydrophobic or hydrophilic properties of their side chains. One group includes the amino acids with nonpolar side chains, which make the amino acids hydrophobic. The hydrophobic group contains glycine, alanine, valine, leucine, isoleucine, methionine, phenylalanine, tryptophan, and proline. Another group includes the amino acids with polar side chains, which make the amino acids hydrophilic. The hydrophilic group includes serine, threonine, cysteine, tyrosine, asparagine, and glutamine. Acidic amino acids are those with side chains that are generally negative in charge because of the presence of a carboxyl group, which is usually dissociated (ionized) in cellular pH. They include aspartic acid and glutamic acid. Basic amino acids have amino groups in their side chains that are generally positive in charge. They include lysine, arginine, and histidine. These last two types of amino acids may be considered as electrically charged amino acids, and are hydrophilic. 1.1.4. Sequence, structure, and function There are close connections among sequences, structures, and functions. Sequences determine structures, and structures determine
April 28, 2008
B598
ch01
FA
Introduction 7
functions. In a broader sense, this implies that similar sequences often have similar structures, and that similar structures often function similarly, although conversely it is not always so. From the point of view of evolution, genes mutate as biological systems develop. Genes that belong to close families are certainly similar and the proteins expressed from them should carry similar structures as well. The conserved parts of the structures are very likely to correspond to some biological functions shared by the similar genes and hence the proteins. These relationships among sequences, structures, and functions are fundamental questions investigated in modern molecular genetics. They are important properties that are often employed in structural and functional studies. Here, we look at two example proteins — a retrotranscriptase found in the HIV virus (Fig. 1.4) and a prion protein that causes mad cow disease (Fig. 1.5) — and see what their sequences, structures, and functions are and how they are related. The HIV virus is a retrovirus, meaning that it is composed of an RNA sequence. Once the virus invades a cell, the RNA sequence is transcribed back to a DNA sequence, which then integrates with the
Fig. 1.4. HIV retrotranscriptase. The enzyme transcribes virus RNA back to DNA so that the virus can be integrated in the host genome; it is 554 residues long and has 4200 atoms without counting the hydrogen atoms.
April 28, 2008
8
B598
ch01
FA
Computational Structural Biology
Fig. 1.5. Prion transformation. A normal prion (PrPC ) can be transformed into an abnormal form (PrPSc ). The latter may be aggregated to dysfunctional complexes that can damage neuron cells and cause mad cow disease.
cell’s normal genome so that the viral RNA can be reproduced. Here, the RNAtoDNA transcription is called retrotranscription, and it occurs only in the presence of a protein called the retrotranscriptase. It turns out that the viral RNA itself contains a gene that produces the required retrotranscriptase. Retrotranscriptase is generated when this gene is expressed in the cell. The former binds onto the viral RNA and transcribes it into a DNA sequence and so on and so forth. The transcriptase protein has a special 3D structure so that it can bind properly onto the virus. The function of the protein therefore depends heavily on its 3D structure. On the other hand, knowing this dependency, researchers have been able to develop drugs that can destroy the 3D structure of the protein and obstruct its proper function, thereby preventing the virus from being transcribed. This is an example of how the structure of a protein is related to its function, and how it can sometimes be used for medical purposes.
April 28, 2008
B598
ch01
FA
Introduction 9
The prion protein has been studied extensively, not only because it is related to the cause of mad cow disease, but also because it gives rise to a rare case of protein infection rather than the conventional viral or bacterial infection. The prion gene is short and expresses a small protein with around 200 residues. The normal prion protein exists in regular cells. Its function is not well understood. It folds into a simple structure with two αhelices and three βsheets. However, the protein sometimes misfolds into a structure with many βsheets. The latter may affect a normal prion, causing it to also take on the same misfolded shape. If the process continues, a large number of misfolded prions accumulate and can damage the cells, in particular the neurons in the brain, causing mad cow disease. This is an example of how structure can affect a protein’s function when it is not folded properly, and again how important this can be in medical research.
1.2. Structure Determination With the completion of the genomic sequencing of human and many other species, studies on proteins, the end products of gene expression, have become urgently more important for the interpretation of genes and their implications on life. However, to understand proteins and their functions, it is essential to know their 3D structures, which, due to various technical reasons, are generally difﬁcult to be determined. This has therefore created a research bottleneck yet to be overcome. 1.2.1. Experimental approaches There is no direct physical means to observe the structure of a protein at a desired resolution, for example, at the residue level. Several experimental approaches have been used to obtain some indirect structural data upon which the structures may be deduced. For example, the diffraction data for a protein crystal can be obtained by Xray crystallography, and can be used to ﬁnd the electron density distribution and hence the structure of the protein; in addition, the magnetic resonance spectra of the nuclear spins in a protein can be detected by nuclear magnetic resonance (NMR) experiments and can be used to estimate
April 28, 2008
10
B598
ch01
FA
Computational Structural Biology
the distances between certain pairs of atoms, and subsequently the coordinates of the atoms in the protein. In both cases, computation plays an important role in collecting and analyzing data and in forming the ﬁnal structures. Xray crystallography and NMR spectroscopy are major experimental techniques used for structure determination. Surveys on the protein structures deposited in the Protein Data Bank (PDB) show that 80% of the structures were determined by Xray crystallography, 15% by NMR, and 5% by other approaches. These structures, about 30 000 in total, contain a high percentage of replications (structures for the same protein determined with different techniques or under different conditions). Some structures are also very similar because there are only few mutations among them. Without counting the replications and the genetically highly related structures, there may be only around several thousands of different proteins whose structures have been determined. However, there are at least several hundreds of thousands of different proteins in the human body alone. Most of their structures are still unknown. The experimental approaches have various limitations. For example, Xray crystallography requires crystallizing the protein, which is timeconsuming and often fails. To obtain accurate enough signals, NMR experiments can only be carried out for small proteins with less than a few hundred residues. Therefore, the number of structures that can be determined by these experimental approaches is far from adequate with respect to the increasing demands for structural information on the hundreds of thousands of proteins of biological and medical importance. 1.2.2. Theoretical approaches Theoretical approaches have been actively pursued as complementary or alternative solutions for structure determination. They are based on physical principles and therefore also called ab initio approaches. For example, with molecular dynamics simulation, one can compute protein motion by solving a system of equations of motion in the force ﬁeld of the protein. Then, ideally, if the entire motion of protein
April 28, 2008
B598
ch01
FA
Introduction 11
folding can be simulated, the structure that the protein eventually folds into may be obtained when the simulation reaches the equilibrium state of the protein. Unfortunately, folding is a relatively long process. The simulation requires a sequence of calculations which is so lengthy that the simulation cannot be completed in a reasonable amount of time, using current simulation algorithms and available computers. An alternative approach is to disregard the physical process of folding and directly search for the protein’s native fold in the protein’s conformational space by using an optimization algorithm. This approach assumes that the structure into which the protein folds has the least potential energy. Therefore, a structure that minimizes the potential energy of the protein is sought. The native fold of the protein should correspond to the global minimum of the potential energy. Here, similar to molecular dynamics simulation, where the force ﬁeld must be given for the protein, a potential energy function needs to be deﬁned so that the potential energy of the protein can be calculated (and optimized) accurately. However, even if such a function was available, it could still be difﬁcult to ﬁnd the global minimum of the function. Work has been done and progress has been made in the development of efﬁcient algorithms so that the simulation of protein folding and the search for the global minimum of protein potential energy may eventually become feasible. For example, algorithms have been developed to increase the step size so that largescale motions can be simulated in a given time. Furthermore, information on the end structure has been used to guide the simulation. Parallel computation has been employed to accelerate the simulation. Additionally, reduced protein models have been introduced so that dynamics simulation and global optimization may be performed more effectively and efﬁciently at a level higher than the atomic level.
1.2.3. Knowledgebased methods There is another group of active approaches for structure determination that can be classiﬁed as theoretical, but is instead grouped
April 28, 2008
12
B598
ch01
FA
Computational Structural Biology
separately as knowledgebased because they are based on the knowledge of known protein structures rather than physical theories. In these approaches, proteins are analyzed and compared with proteins of known structures at either the sequential or structural level. Their structures can then be modeled by using the known protein structures as templates. Because the proteins need to be compared with the existing ones, these approaches have also been called comparative approaches. The theory behind the comparative approaches is that genetically closely related proteins should have similar functions and structures. Therefore, if two proteins have similar sequences of amino acids, their structures should look alike, and one may be used as a template for another. The approaches that rely completely on genetic similarities among proteins are also called homology modeling, because the genetically closely related proteins are called homologs. Sequence comparison is not hard in general, although the sequences need to be properly aligned and appropriate scoring functions have to be developed for the evaluation of the similarity between two given sequences. Not all similar proteins correspond to similar sequences. In fact, there are many cases where different sequences lead to similar proteins structurally and functionally. In order to ﬁnd such similarities among proteins and utilize them for structural modeling, more information is required rather than just sequences. Various techniques including structural alignment have been developed to compare proteins in terms of both sequential and structural similarities. They have been applied to inverse folding as well, i.e. to ﬁnd all sequences or proteins that can fold into a given structure (as opposed to ﬁnding the sequences or proteins of known structures with which a given sequence or protein may share a similar fold). 1.2.4. Structural reﬁnement Due to experimental errors, the structures determined by Xray crystallography or NMR spectroscopy are often not as accurate as desired. Further reﬁnement of the structures, including human intervention, is
April 28, 2008
B598
ch01
FA
Introduction 13
always required. For example, based on the electron density distribution generated by Xray crystallography, the positions for the atoms in the protein can be assigned, but they are usually not very accurate. One way to improve the structure is to use an empirical energy function for the protein to adjust the positions of the atoms so that the energy of the protein can be minimized. In NMR, in addition to obtaining additional experimental data to further improve the structure, several iterations may be required to obtain an ensemble of structures that can eventually satisfy the experimental distance data. The latter may require the solution of a nontrivial mathematical problem called the distance geometry problem. Nonetheless, the experimental data may not be sufﬁcient for the complete determination of the structure. A subsequent energy minimization step may also be necessary. Even so, many NMR structures are still not as accurate and detailed as Xray structures. Further justiﬁcation of the structures remains an important research issue. The reﬁnement of comparative models presents even greater challenges. First, the structures can provide correct models for most but not all local regions of proteins, even if they are obtained from proteins of high sequence and structural similarities. Second, without further experimental evidence, it is difﬁcult to judge whether a model is truly correct or there is still much to improve. If a model is indeed close to the true structure, reﬁnement will be possible; otherwise, further improvement of the model will not differ much from ab initio structural determination. A reﬁnement algorithm that can only provide small improvements on the model will not be of much help.
1.3. Dynamics Simulation A protein structure changes dynamically, not only during folding, but also at equilibrium. The conformational changes of a protein over a certain time period are called the general dynamic properties, while the average behaviors of the protein around an equilibrium state are called the thermodynamic properties. In many cases, the dynamic and thermodynamic properties of proteins are just as important as their
April 28, 2008
14
B598
ch01
FA
Computational Structural Biology
structures for the study of proteins, but they are even harder to examine experimentally. There are two ways of conducting protein dynamics simulation. One is of a more stochastic nature, using the socalled Monte Carlo method to obtain a large number of random samples of physical states. The general behaviors of the protein are then evaluated with the samples. Another is based on the simulation of the motions of the particles, namely, atoms, in the protein through the solution of a timedependent system of equations. A phase space trajectory can be obtained from the solution, with which various dynamic properties of the protein can be analyzed.
1.3.1. Potential energy and force ﬁeld A force ﬁeld can be deﬁned based on the physical interactions among the atoms in a protein. For a given conformation, the force on each atom can then be computed as a function of the positions of all the atoms. A potential energy function can also be deﬁned such that the negative derivatives of the function with respect to the positions of the atoms equal the corresponding forces on the atoms. The potential energy and force ﬁeld must be computable one way or another in order to perform dynamics simulation. If the forces for all the atoms are equal to zero, the atoms will stop moving. The protein is said to be in an equilibrium state. In an equilibrium state, the protein either stays in one conformation or, in most cases when the kinetic energy is not equal to zero, oscillates around the equilibrium state. Since the forces are the negative derivatives of the potential energy, at the equilibrium state, the potential energy is at a stationary point, most likely an energy minimum. At an energy minimum, the protein should be relatively stable because it has the lowest energy at least within a small neighborhood around the minimum. In general, it is assumed that the protein native conformation has the lowest potential energy in the entire conformational space or in other words is a global energy minimum, and therefore should be in the most stable state.
April 28, 2008
B598
ch01
FA
Introduction 15
In principle, the potential energy for a molecule can be computed with quantum chemistry theory. However, the required calculation increases rapidly with an increasing number of atoms and electrons in the molecule. A protein may have several thousands of atoms and several magnitudes more of electrons. Therefore, it is not possible to use the quantum chemistry principle to obtain the potential energy for the protein. A general approach is to use semiempirical functions to calculate the potentials for the protein approximately. The accuracy or the quality of the functions depends on the parameters chosen for the functions. They require carefully collected experimental data to approximate. In fact, whether or not a protein is in the most stable state should be evaluated in terms of free energy rather than simply the potential energy, because free energy describes more accurately the thermostability of a system. The free energy of a system is in general the internal energy of the system minus the product of the temperature and the entropy. So, at a ﬁxed temperature, the free energy may not be minimized at the potential energy minimum since the entropy may increase the free energy. However, since the entropy is difﬁcult to be evaluated, in practice, only the potential energy is considered as an approximate assessment of the stability of the protein. 1.3.2. Monte Carlo simulation A Monte Carlo approach to dynamics simulation assumes that the physical state of the system to be simulated is subject to the Gibbs– Boltzmann distribution. In other words, if E(x) is the potential energy of the system and x is the state variable, then the probability of the system to stay at state x is p(x) = exp[–E(x)/kB T ]/Z, where kB is the Boltzmann constant, T is the temperature, and Z is the normalization constant for the distribution. Based on this assumption, the dynamic behaviors of a physical system can be simulated by generating a large set of sample states that are consistent with the Gibbs–Boltzmann distribution of the system. The statistical properties of the system can then be easily obtained from the samples. Note that the sampled states reﬂect the probability
April 28, 2008
16
B598
ch01
FA
Computational Structural Biology
distribution of the system, but not the dynamic changes over time; hence, they are timeindependent. The statistical signiﬁcance certainly depends on the sufﬁciency of the sampling. For a large system such as a protein, the sufﬁciency is sometimes hard to be achieved. The Monte Carlo simulation is temperaturespeciﬁc. At a given temperature T , a random state x is generated. The state x is evaluated and taken with a probability p(x) as deﬁned earlier. After the state is evaluated, the next state is generated and tested again, and the whole process is repeated. In this way, the set of accepted states will be subject to the Gibbs–Boltzmann distribution of the system. Because the normalization constant does not change for a given system, the probability function can be calculated without dividing Z. At each step, the next state is usually generated by making a small perturbation on the current state, simulating the change of the system from one state to another. 1.3.3. Solution of equations of motion The major simulation scheme to be discussed in this book is based on the solution of the equations of motion that can be established for the particles in a physical system or, more speciﬁcally, the atoms in a molecule. The principle comes from classical mechanics as it is applied to the atoms in the molecule. For each atom i, assuming that Newton’s law of motion holds, the mass mi times the acceleration ai of the atom should be equal to the force fi , i.e. mi ai = fi , i = 1, 2, . . . , n. Given the fact that fi is a function of the state variables {xi }, with xi being the position vector of atom i and ai the second derivative of xi with respect to time, mi d 2 xi /dt2 = fi (x1 , x2 , . . . , xn ). The above system may have an inﬁnite number of solutions. Only if some additional conditions are imposed, will it have a unique solution. The system may have thousands of equations for proteins. The righthand side functions are also highly nonlinear. Therefore, solving the system of equations is not trivial. The only way to approach it is to solve it numerically. But still, the simulation can be very timeconsuming or in other words computationally very demanding, because millions or even billions of steps are required to complete the
April 28, 2008
B598
ch01
FA
Introduction 17
simulation of some motions of biological interest, where each step involves the calculation of the positions of all the atoms at a particular time. The reason that the simulation requires so many steps is that the time step has to be very small on the order of femtoseconds to guarantee the accuracy or convergence of the calculations, while many protein motions are on the order of milliseconds or seconds. Because of this nature, protein dynamics simulation remains a challenging research subject to ultimately become a computational tool accessible to most dynamic behaviors of proteins of biological importance. There are two types of conditions under which dynamics simulation can be performed: initial conditions and boundary conditions. Initial conditions are usually the initial positions and velocities of the atoms, while the boundary conditions are the initial and ending positions of the atoms. The ﬁrst set of conditions is used to ﬁnd protein motions with a given initial conformation and temperature. A solution trajectory can be obtained to indicate how the protein conformation changes along a certain pathway under the given initial condition. The second set of conditions is used to ﬁnd a possible trajectory for the protein motion between two given conformations, for example, how a protein transits from one state to another. Both sets of conditions have some important biological applications. However, the system may be easier to be solved for the ﬁrst set of conditions. The system under the second set of conditions may have either multiple solutions or no solution at all. The solution method is more complex in general, but is easier to implement on parallel computers, which can be an advantage for largescale applications. 1.3.4. Normal mode analysis Besides the regular trajectory calculation, an important topic in dynamics simulation is the evaluation of the structural ﬂuctuation of a protein around its equilibrium state, which is often called normal mode analysis. A protein further changes its conformation even after reaching its equilibrium state. The reason is that although the potential energy is minimized, the protein still has kinetic energy, which
April 28, 2008
18
B598
ch01
FA
Computational Structural Biology
drives the system away from equilibrium, just like a simple harmonic oscillator vibrating around its equilibrium position. The ﬂuctuation is different along different directions in conformational space. A linearly independent set of directions can be found for the protein via normal mode analysis, each with a different vibration frequency called the normal mode. Importantly, in contrast to regular trajectory calculation, normal mode analysis can be performed analytically based on the singular value decomposition of the Hessian matrix of the potential energy function at the equilibrium state. The largest singular value corresponds to the fastest vibration frequency. The vibration of each individual atom is a linear combination of the vibrations in all of the modes. However, if only a few slow modes are included, the ﬂuctuations at a coarse level can then be observed without detailed fast vibrations. Such dynamic properties are often useful for the study of the most important motions of a system. In fact, the slow motions are not affected so much by the fast modes. Therefore, by using only a few slow modes, the size of the variable space for the protein is signiﬁcantly reduced. The structural ﬂuctuations of a protein around its equilibrium state can also be obtained by averaging the structural changes obtained in regular dynamics simulation. They can also be derived from Monte Carlo simulation by averaging the ﬂuctuations in the entire ensemble of sampled states. Additionally, there are coarselevel approximation methods such as the Gaussian network model to evaluate ﬂuctuations at only the residue level, with an approximate elastic network model for the residue–residue interactions.
1.4. The Myth of Protein Folding Having puzzled scientists for decades, the problem of protein folding remains a grand challenge for modern science. While it is a fundamental problem in biology, its solution requires knowledge beyond the traditional ﬁeld of biology and has motivated research activities across many other disciplines including mathematics, computer science, physics, and chemistry.
April 28, 2008
B598
ch01
FA
Introduction 19
1.4.1. Folding of a closed chain First, let us consider the simple mathematical problem of folding an open or closed chain. Suppose that we have a chain with different lengths of links. We call the chain open if the two ends of the chain are not connected; otherwise, we call it closed. It is easy to fold a chain into a line (like folding a necklace into a thin box) if it is open. However, it is not as trivial to fold if the chain is closed. For example, it is harder to put a necklace in a thin box if it is still locked. Mathematically, folding an open chain is equivalent to ﬁnding the positions for a sequence of points (connections in the chain) in a real line so that the distances between the neighboring points are equal to the given lengths (links in the chain). The problem of folding a closed chain has only one more condition that also requires the distance between the ﬁrst and last points to equal zero. It turns out that this last condition makes the problem harder to solve (Fig. 1.6). In terms of computational complexity, the problem of folding an open chain can be solved in polynomial time, while the problem of folding a closed chain has been proven to be NPcomplete. In other words, an open chain can be folded efﬁciently in order of nr steps,
Fig. 1.6. Chain folding. The problem of folding a closed chain is NPcomplete.
April 28, 2008
20
B598
ch01
FA
Computational Structural Biology
where n is the number of links in the chain and r is a ﬁnite number (e.g. r = 1). On the other hand, this can be done for a closed chain only if it is on a nondeterministic computer (nondeterministic polynomial). It would run into exponentially many steps if it is on a regular (deterministic) computer, like what we have. Folding a protein is certainly a much more complicated problem, but it indeed seems like folding a chain, only with more complex conditions. It is difﬁcult or perhaps irrelevant to show whether protein folding is NPcomplete. However, since even folding a closed chain is so hard in general, the problem of protein folding cannot be trivial. Indeed, the solution of the problem has presented great computational difﬁculties yet to be overcome. 1.4.2. Biological and physical basis Although there may be many factors, including small molecules like chaperones, that affect protein folding, it is agreed that the sequence of amino acids which form the protein determines solely the structure it folds into. In other words, the information that is required for a protein to fold into its structure is fully contained in its constituent amino acids and their order in the sequence. This fact can also be understood to mean that under normal biological or physical conditions, the same sequence of amino acids will fold into the same protein, while other factors may affect only the rate of folding but not the ultimate structure. The folding of a protein into a 3D structure is a result of the physical interactions among the amino acids in the protein sequence or, more accurately, among the atoms in the protein. The interactions are driven by the potential energy of the protein. The atoms interact to seek a way of lowering the total potential energy. It is assumed that a protein reaches the global potential energy minimum when forming the native structure. The structure is therefore also considered the most stable. Of course, at nonzero temperatures, the free energy instead of potential energy should be used in the assumption, because in general it is the free energy that every physical system tends to minimize.
April 28, 2008
B598
ch01
FA
Introduction 21
Depending on the potential energy landscape, folding can be a complicated process. There is a theory that folding takes a unique pathway for each protein, crossing a series of intermediate states. The most recent theoretical and experimental studies have shown that the protein potential energy landscape resembles a funnel shape, with many local minima along the walls of the funnel but the global minimum at the bottom. The local minima along the walls should be easy to skip, while there are still many local minima at the bottom around the global minimum, making the global minimum hard to be found. Also, because of such an energy landscape, there is so far no strong evidence supporting unique folding pathways. Therefore, a common consensus is that folding may have multiple pathways, as it seems possible to start from any point of the funnel and follow a path to reach the bottom of the energy landscape. 1.4.3. Computer simulation The process of folding is hard to be observed experimentally. The only properties that can be observed in physical experiments may be the initial and ending structures and the time for folding. Computer simulation is the only way to determine the folding pathway based on physical principles. To make the computation affordable, force ﬁeld functions have been developed so that the forces for various atomiclevel interactions in proteins can be calculated relatively easily and precisely. By using these force functions, we can in principle simulate protein motions such as protein folding by solving a system of equations of motion for any protein of interest. There are many methods to solve the equations. The basic idea is to start with the initial positions and velocities of the atoms and then try to ﬁnd the positions and velocities of the atoms at later times. At each time point, the positions and velocities of the atoms are calculated based on their previous positions and velocities, and the time is advanced by a small step. However, the main challenge is that the step size has to be small — in the order of femtoseconds — to achieve the desired accuracy, while protein folding requires milliseconds or even seconds to complete. Clearly, the simulation of folding may take
April 28, 2008
22
B598
ch01
FA
Computational Structural Biology
millions of billions of steps, which can hardly be affordable on even the most powerful computer to date. Duan and Kollman (1998) performed a 1µs simulation for a small protein, the chicken villin headpiece subdomain HP36. This protein has 36 residues, with 3000 water molecules added into the system. The simulation was carried out on a 256processor CRAY T3E, using the software AMBER for the calculation of the force ﬁeld. The CRAY T3E is a very powerful supercomputer. Even with one processor, it can provide much more computing power than a regular workstation. Still, the entire simulation took 100 days to be completed. The 1µs computer simulation of Duan and Kollman (1998) was able to reveal the major folding pathway of HP36, which usually folds in about 10–100 µs. The ﬁnal structure that the simulation converged to showed a close correlation with the structure obtained through NMR experiments. More importantly, based on the simulation, a folding trajectory was obtained and many intermediate states were discovered. The work was indeed exciting because it was the ﬁrst protein structure folded on a computer using solely physical principles. It was also the ﬁrst time that a complete folding pathway was plotted and analyzed. Efforts have also been made to utilize loosely connected networks of computers for protein folding simulation. Most notable is an Internet website,
[email protected], developed to perform folding simulation over the Internet. The idea is that over the Internet, there are hundreds of thousands of computers often in an idle state; therefore,
[email protected] organizes available computers to donate time for some simulation tasks. For this purpose, the simulation is conducted as follows. A set of trajectories is ﬁrst followed by a group of available computers on the Internet. Once in a while, if a faster folding trajectory is found, a new set of starting points is created around the end point of the trajectory, and the computers are stopped to follow the trajectories started with the new points. The process continues until a folding pathway is found by connecting a sequence of restarted trajectories. During the simulation, a computer can participate at any time and
April 28, 2008
B598
ch01
FA
Introduction 23
request an unﬁnished task. It can return the task to the system whenever the time is up. The returned task may be continued again when another computer becomes available. The website
[email protected] has run for several years, during which quite a few proteins have been folded on the Internet. For example, the folding of the protein HP36 was simulated by Duan and Kollman (1998) for only 1 µs, but the real folding was estimated to take 10– 100 µs. It turns out that
[email protected] was able to complete the entire simulation and provide a full pathway description for folding the protein. The results from
[email protected] may not yet deliver completely satisfactory answers to the questions of protein folding, but they have shown some promising directions that may lead to an ultimate computational solution to the problem of protein folding if proper models, algorithms, and computing resources can be developed and utilized. 1.4.4. Alternative approaches A computational bottleneck in fold simulation is that a long sequence of iterative steps must be carried out, where each step can start only after the previous one has completely ﬁnished. In each step, there are not many calculations to be performed; and even with the most powerful computer (such as a parallel computer), the speedup will be limited and the simulation cannot be completed in a reasonable time. Two alternative approaches to the folding problem are worth mentioning: the boundary value formulation and potential energy minimization approaches. The ﬁrst approach, which assumes the availability of the end structure, ﬁnds a trajectory that connects the given initial and ending structures. The approach cannot be used if the ending structure is unknown. In such a case where the ending structure is available, the trajectory can be formulated as a boundary value problem, which can be done differently from an initial value problem and in a more parallel fashion than the conventional sequential manner. The latter property makes it possible to perform a complete fold simulation if a massively parallel computer is used.
April 28, 2008
24
B598
ch01
FA
Computational Structural Biology
The second approach sacriﬁces the attempt to obtain the folding pathway and focuses solely on ﬁnding the ﬁnal folded structure, which is already a very challenging problem. This approach assumes that the native structure of a protein corresponds to the global minimum of the potential energy of the protein. Therefore, the structure may be found directly, using optimization methods instead of dynamics simulation. However, global optimization is difﬁcult, especially for functions with many local minima such as the potential energy functions for proteins. The success of this approach therefore depends on the development of a global optimization algorithm that can be applied effectively to proteins, motivating many intensive investigations along this line.
Selected Further Readings Protein structure Campbell NA, Reece JB, Biology, 7th ed., Benjamin Cummings, 2004. Berg JM, Tymoczko JL, Stryer L, Biochemistry, W. H. Freeman, 2006. Branden CI, Tooze J, Introduction to Protein Structure, 2nd ed., Garland Publishing Inc., 1999. Lesk AM, Introduction to Protein Architecture: The Structural Biology of Proteins, Oxford University Press, 2001. Creighton TE, Proteins: Structures and Molecular Properties, 2nd ed., Freeman & Co., 1993. JacobMolina A, Arnold A, HIV reverse transcriptase function relationships, Biochemistry 30: 6351–6361, 1991. Rodgers DW, Gamblin SJ, Harris BA, Ray S, Culp JS, Hellmig B, Woolf DJ, Debouck C, Harrison SC, The structure of unliganded reverse transcriptase from the human immunodeﬁciency virus type 1, Proc Natl Acad Sci USA 92: 1222–1226, 1995. Telesnitsky A, Goff SP, Reverse transcriptase and the generation of retroviral DNA, in Retroviruses, Cofﬁn J, Hughes S, Varmus H (eds.), Cold Spring Harbor Laboratory Press, pp. 121–160, 1997. Zahn R, Liu A, Lührs T, Riek R, von Schroetter C, Garcia FL, Billeter M, Calzolai L, Wider G, Wüthrich K, NMR solution structure of the human prion protein, Proc Natl Acad Sci USA 97: 145–150, 2000. Aguzzi A, Montrasio F, Kaeser P, Prions: Health scare and biological challenge, Nat Rev Mol Cell Biol 2: 118–125, 2001.
April 28, 2008
B598
ch01
FA
Introduction 25
Aguzzi A, Heikenwalder M, Cannibals and garbage piles, Nature 423: 127–129, 2003.
Structure determination Woolfson MM, Introduction to Xray Crystallography, 2nd ed., Cambridge University Press, 2003. Drenth J, Principles of Protein Xray Crystallography, 3rd ed., Springer, 2006. Wuthrich K, NMR of Proteins and Nucleic Acids, Wiley, 1986. Keeler J, Understanding NMR Spectroscopy, Wiley, 2005. Schlick T, Molecular Modelling and Simulation: An Interdisciplinary Guide, Springer, 2003. Bourne PE, Weissig H, Structural Bioinformatics, John Wiley & Sons, Inc., 2003.
Dynamics simulation Haile JM, Molecular Dynamics Simulation: Elementary Methods, Wiley, 2001. MaCammon JA, Harvey SA, Dynamics of Proteins and Nucleic Acids, Cambridge University Press, 2004. Brooks III CL, Karplus M, Pettitt BM, Proteins: A Theoretical Perspective of Dynamics, Structure, and Thermodynamics, Advances in Chemical Physics, Vol. 71, Wiley, 2004. Cui Q, Bahar I, Normal Mode Analysis: Theory and Applications to Biological and Chemical Systems, Chapman & Hall/CRC, 2005.
Protein folding Dobson CM, Fersht AR, Protein Folding, Cambridge University Press, 1996. Pain RH, Mechanism of Protein Folding, Oxford University Press, 2000. Wolynes PG, Folding funnels and energy landscapes of larger proteins within the capillarity approximation, Proc Natl Acad Sci USA 94: 6170–6175, 1997. Mirny L, Shkhnovich E, Protein folding theory: From lattice to allatom models, Annu Rev Biophys Biomol Struct 30: 361–396, 2001.
April 28, 2008
26
B598
ch01
FA
Computational Structural Biology
Duan Y, Kollman P, Pathways to a protein folding intermediate observed in a 1microsecond simulation in aqueous solution, Science 282: 740–744, 1998. Duan Y, Kollman PA, Computational protein folding: From lattice to allatom, IBM Syst J 40: 297–309, 2001. Shirts MR, Pande VS, Screen savers of the world unite!, Science 290: 1903–1904, 2000. Pande VS, Baker I, Chapman J, Elmer SP, Khaliq S, Larson SM, Rhee YM, Shirts MR, Snow CD, Sorin EJ, Zagrovic B, Atomistic protein folding simulations on the submillisecond time scale using worldwide distributed computing, Biopolymers 68: 91–109, 2002. Elber R, Meller J, Olender R, Stochastic path approach to compute atomically detailed trajectories: Application to the folding of C peptide, J Phys Chem 103: 899–911, 1999. Wales DJ, Scheraga HA, Global optimization of clusters, crystals, and biomolecules, Science 285: 1368–1372, 1999.
April 28, 2008
B598
ch02
FA
Chapter 2 Xray Crystallography Computing
Xray crystallography is a major experimental tool for structure determination. In order to use this technique, a protein sample has to be gathered, puriﬁed, and crystallized, which usually takes at least several months of lab work. The protein crystal is then applied with Xray to obtain a diffraction image. The image shows only the diffraction intensities and patterns, not the threedimensional (3D) structure, of the protein. The latter must be further derived from the obtained diffraction image, requiring the solution of a wellknown problem called the phase problem.
2.1. The Phase Problem The phase problem has been an intensive research target for more than half a century in the ﬁeld of Xray crystallography. A crystal structure cannot be fully revealed without the solution of the phase problem, either heuristically with the insights from various theoretical or experimental sources or directly using a mathematical or computational approach. In either case, a reliable and accurate solution to the problem has generally proven to be difﬁcult to achieve.
27
April 28, 2008
28
B598
ch02
FA
Computational Structural Biology
2.1.1. Xray diffraction Molecules in the crystalline state form regular patterns, with the atoms appearing periodically in space. The electrons around the atoms, when incident to an Xray beam, become energetically excited and start scattering their own Xrays. Due to the periodic distribution of the atoms in the crystal, the scattered Xrays enhance in a discrete set of directions and produce socalled Xray diffractions or reﬂections. The latter can be recorded by using a diffraction detector, and the patterns and intensities of the diffractions can then be based upon to deduce the electron density distribution in the crystal and hence the structure of the protein (see Fig. 2.1). The conﬁguration of the electrons, which move rapidly around the atoms, can only be described by electron density distribution. Once the electron density distribution is known, the atoms can be identiﬁed in regions with high electron densities. The Xray diffractions, when projected onto a twodimensional (2D) plane, form a lattice of light spots, with each spot corresponding to one diffraction beam. The characteristics of each diffracted light can be described by a complex value called the structure factor. The magnitude (or the amplitude) of the complex value is correlated with the intensity of the corresponding light spot, which can therefore be measured from the diffraction image. However, the complex argument, also called the phase, cannot be detected from the experiments. Otherwise, diffractions protein crystal Xray beam
FH j structure factors
electron density distribution
Fig. 2.1. Xray crystallography. The electrons in the crystal are excited when incident to the incoming Xrays and start scattering Xrays. The scattered Xrays from different electrons enhance in certain directions and form the Xray diffractions.
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 29
knowledge of both the magnitudes and arguments of the structure factors would sufﬁce for the full determination of the electron density distribution. Let ρ(r) be the electron density distribution function for a crystal, where r is the position vector in 3D space. Let FH be a structure factor, where H is a 3D integer vector serving as the index for the factor. Then, the correlation between the electron density distribution and the Xray diffractions can be described rigorously in terms of a mathematical relationship between the electron density distribution function and the structure factors that describe the diffractions: ρ(r) = FH exp(−2πiH · r), (2.1) H∈Z3
FH =
ρ(r) exp(2πiH · r)dr,
H ∈ Z3 ,
(2.2)
V
where V is the volume of a unit cell of the crystal and H · r is the inner product of H and r. Formulas (2.1) and (2.2) show that the electron density distribution function can be expressed as a Fourier series with the structure factors as the coefﬁcients, while each structure factor is a Fourier transform of the electron density distribution function. Clearly, the electron density distribution and hence the structure of the crystal can be obtained if all of the structure factors of the crystal are known, and vice versa. Unfortunately, the structure factors can only be detected partially in the diffraction experiments, with their complex arguments (phases) yet to be determined. The latter gives rise to the famous phase problem in Xray crystallography. 2.1.2. Electron scattering As a light wave, an Xray travels in space, and its electromagnetic strength behaves as a cosine function of position z along a straight line. Let us use X to represent an Xray beam as well as its electromagnetic strength. Then, 2π X = A cos (z + φ), (2.3) λ
April 28, 2008
30
B598
ch02
FA
Computational Structural Biology
where A is the amplitude; λ is the wavelength; and φ is the initial position or, more accurately, the initial phase. Let X1 and X2 be two Xrays scattered from electrons e1 and e2 when they are incident to an incoming Xray X, where e1 and e2 are located at p1 and p2 , respectively (Fig. 2.2). Then, X1 and X2 have the same wavelength as X, and 2π (z + φ1 ), λ 2π (z + φ2 ), X2 = A2 cos λ X1 = A1 cos
(2.4)
where φ1 and φ2 can be different, and A1 and A2 depend on the electron densities of the scattering sources. The electrons e1 and e2 both scatter Xrays in all directions, but only those in the same direction may add up and make diffractions. So, assume that X travels in direction s, and consider X1 and X2 in direction s , and s = s  = 1, where  ·  is the Euclidean norm and represents the length of a vector. Then, at a position z, X2 must have traveled a longer distance or, in other words, started earlier than X1 by the amount of z + φ2 − (z + φ1 ) = d + d = r2 · s − r2 · s = r2 · S,
S
r2 = p2 − p1
s
Xray =>
X
p2
r2
S = s − s′
s′ X2
p1
=> Electron Scattering X1
Fig. 2.2. Xray scattering. The electrons at positions p1 and p2 are incident to Xray X and start scattering Xrays. The scattered Xrays X1 and X2 in the same direction add to become a diffraction.
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 31
where r2 = p2 − p1 and S = s − s . Consider the case when e2 is located at the origin with p2 = 0 and φ2 = 0. We then obtain φ1 = p1 · s − p1 · s = p1 · S, φ2 = r2 · S + p1 · S = p2 · S. We now consider how to add X1 and X2 . From formula (2.3), X can be expressed in the following form: 2π 2π 2π 2π π X = A cos φ cos z + A sin φ cos z+ . λ λ λ λ 2 2π π Since the two cosine functions, cos 2π z and cos z + λ λ 2 , are linearly independent, X can be considered as a combination of two independent components deﬁned by the two functions. The amount components are determined by along the ﬁrst and second 2π 2π A cos λ φ and A sin λ φ , respectively. Therefore, X can be represented more compactly in a complex expression, 2π 2πi 2π X = A cos φ = A exp φ + i sin φ , λ λ λ and X1 and X2 can be written as
2πi φ1 , λ 2πi φ2 . X2 = A2 exp λ
(2.5)
X1 = A1 exp
(2.6)
With these complex representations, adding X1 and X2 becomes simply adding two complex numbers: 2πi 2πi X1 + X2 = A1 exp φ1 + A2 exp φ2 . (2.7) λ λ Since φ1 = p1 · S and φ2 = p2 · S, the addition can also be written as 2πi 2πi X1 + X2 = A1 exp p1 · S + A2 exp p2 · S (2.8) λ λ
April 28, 2008
32
B598
ch02
FA
Computational Structural Biology
or, when necessary, as 2πi p1 · S , X1 + X2 = F exp λ
with
(2.9)
2πi r2 · S , F = A1 + A2 exp λ
where F is equivalent to the sum of X1 and X2 when e1 is assumed to be at the origin. In general, if there are n electrons, e1 , e2 , . . . , en , at positions p1 , p2 , . . . , pn , let rj = pj − p1 , j = 1, 2, . . . , n. Then, we can have the following general formulas for adding all of the scattered Xrays from these electrons: n n 2πi (2.10) pj · S Xj = Aj exp λ j=1
j=1
or
n j=1
2πi p1 · S , Xj = F exp λ
with F=
n j=1
(2.11)
2πi rj · S . Aj exp λ
Note that for any diffraction direction s , we can always ﬁnd a plane T so that the diffraction in direction s can be regarded as a reﬂection on T from the incoming Xray in direction s. The reﬂection angle θ is equal to half of the angle between s and s , and S is perpendicular to T . Because of this property, Xray diffraction is sometimes also called Xray reﬂection. It can be speciﬁed by either its diffraction direction s or the normal vector S of the reﬂection plane. 2.1.3. Atomic scattering factor We now consider the Xrays that can be scattered from an entire atom. Each atom has a group of electrons moving and in fact forming an
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 33
electron cloud around the nucleus. When the atom is incident to an Xray beam, all of its electrons will contribute to scattering new Xrays. Assume that the electron cloud has a symmetric shape and that the scattered Xrays add up as if they form single Xrays scattered from the center of the atom. Let the center of the atom be located at q. Let Xp be the Xray scattered from a position p around q (Fig. 2.3). Then, 2πi Xp = ρ(p − q) exp φp , λ where ρ is the electron density distribution function for the atom. Let S = s − s and r = p − q. Then, φq = q · S, φp = p · S, and φp − φq = r · S. Let Y be the sum of the Xrays scattered from the entire atom in direction s . Then, similar to formulas (2.10) and (2.11) for a group of electrons, we have for a continuous electron cloud Y = Xp dp p∈R3 2πi p · S dp ρ(p − q) exp = λ p∈R3 2πi 2πi = exp q·S r · S dr. ρ(r) exp λ λ r∈R3 In a shorter form,
2πi Y = f exp q·S , λ
(2.12)
p q Fig. 2.3. Atomic scattering. The diffraction from an atom at q is the sum of the diffractions from all of the electrons at p around q.
April 28, 2008
34
B598
ch02
FA
Computational Structural Biology
with f =
r∈R3
ρ(r) exp
2πi r · S dr. λ
Here, since ρ is symmetric, the integral is zero for the imaginary part of the integrand. Therefore, f can be evaluated as 2π r · S dr, (2.13) ρ(r) cos f = λ r∈R3 and it is in general real. The value of f depends only on the electron density distribution around the atom of interest. It shows the Xray scattering capacity for the atom and is therefore called the atomic scattering factor. 2.1.4. Crystal lattice A unit cell is the smallest volume that repeats in the crystal space, and it is usually the volume that contains one single molecule. Suppose that in each unit cell, there are n atoms. Then, the Xrays scattered from the unit cell can be calculated as the sum of those from all atoms in the cell. Let the center of atom j be located at pj , j = 1, 2, . . . , n. Let Yj be the Xray scattered from atom j in direction s . Then, by formula (2.12), 2πi Yj = fj exp pj · S , (2.14) λ with
2π fj = r · S dr, ρj (r) cos λ r∈R3
where fj and ρj are the atomic scattering factor and the electron density distribution function, respectively, for atom j, j = 1, 2, . . . , n. Let Z be the Xray scattered from the entire unit cell. Then, n n 2πi Z= pj · S Yj = fj exp λ j=1 j=1 n 2πi 2πi = exp fj exp p1 · S rj · S , λ λ j=1
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 35
where rj = pj − p1 , j = 1, 2, . . . , n. In a shorter form, 2πi Z = FS exp p1 · S , λ with FS =
n j=1
(2.15)
2πi rj · S . fj exp λ
Here, FS is called the structure factor of a unit cell of the crystal. Suppose that a unit cell is a parallelogram extended by three vectors a, b, c (Fig. 2.4). The cell repeats in space to form a crystal lattice: L = {ua + vb + wc : u, v, w ∈ Z} .
(2.16)
Suppose that 0 ≤ u ≤ n1 − 1, 0 ≤ v ≤ n2 − 1, and 0 ≤ w ≤ n3 − 1. Then, there is a unit cell at each lattice point p = ua+vb+wc and there are a total of n1 ×n2 ×n3 unit cells in the crystal. Assume that there are n atoms in each of the unit cells with positions at p = p1 , p2 , . . . , pn . Then, for a cell at p, we have 2πi Zp = FS exp p·S , (2.17) λ with FS =
n j=1
2πi rj · S , fj exp λ
and the Xray scattered from the entire crystal in direction S can be calculated as the sum of those from all of the unit cells: 2πi KS = p·S . Zp = FS exp λ p∈L
p∈L
r Fig. 2.4. Crystal unit. If the unit is formed by three vectors a, b, c, any point in the unit r = xa + yb + zc.
April 28, 2008
36
B598
ch02
FA
Computational Structural Biology
Note that the sum on the righthand side can be expanded to n 1 −1 u=0
2πi ua · S exp λ
n 2 −1 v=0
2πi vb · S exp λ
n 3 −1 w=0
2πi wc · S . exp λ
Since n1 , n2 , and n3 are all large numbers, the summations will be equal to zero unless a · S, b · S, and c · S are integer multiples of λ. In other words, the crystal will produce diffractions only if a · S = λh b · S = λk
(2.18)
c · S = λl for some integers h, k, and l. These conditions are called the Laue conditions of Xray crystallography. Let V be the volume of a unit cell. We can write the structure factor FS as an integral for all of the electrons in V : FS = V
2πi r · S dr, ρ(r) exp λ
where ρ is the electron density distribution in the entire unit cell V . Let r = xa + yb + zc. In order for FS to be nonzero, S must satisfy the Laue conditions. Therefore, 2πi r · S dr ρ(r) exp FS = λ V 2πi (xa · S + yb · S + zc · S) dr ρ(r) exp = λ V ρ(r) exp [2πi(hx + ky + lz)] dr. =
V
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 37
Let H = (h, k, l)T and r = (x, y, z)T . Let FS be replaced by FH . We then have FH = ρ(r) exp (2πiH · r) dr, H ∈ Z3 . (2.19) V
We now express ρ as a Fourier series, ρ(r) = AK exp(−2πiK · r), K∈Z3
and substitute it into formula (2.19). We then obtain AK exp [2πi(H − K) · r] dr FH = V 3 K∈Z
=
K∈Z3
exp [2πi(H − K) · r] dr = AH ,
AK
H ∈ Z3 ,
V
and therefore, ρ(r) =
FH exp(−2πiH · r).
(2.20)
H∈Z3
2.2. Least Squares Solutions It is difﬁcult to ﬁnd the phases for the formation of a correct crystal structure given only the amplitudes of the structure factors. First, there are inﬁnitely many phases to be determined, while only a ﬁnite number of diffraction spots can be measured. Therefore, only a ﬁnite number of structure factors can eventually be determined, with which an approximate crystal structure can be constructed. The quality of the structure varies with the availability and accuracy of the diffraction data. Second, even with a commonly available set of diffraction data, say for around 10 000 structure factors, the determination of the phases presents a great computational challenge because a large nonlinear system of equations with around 10 000 variables needs to
April 28, 2008
38
B598
ch02
FA
Computational Structural Biology
be solved. An accurate solution to the system has proven difﬁcult to obtain if without a genuinely designed algorithm. 2.2.1. Diffraction equations In terms of atomic scattering factors, the structure factors can be written in the following form: FH =
n
fj exp(2πiH · rj ),
H ∈ Z3 ,
j=1
where fj and rj are the atomic scattering factor and the position vector of atom j, respectively. Because FH is a complex number, FH = FH  exp(iφH ), where the magnitude FH  and complex argument φH are also called the amplitude and phase of FH , respectively. It follows that FH  exp(iφH ) =
n
fj exp(2πiH · rj ),
H ∈ Z3 .
(2.21)
j=1
Each of the above equations is a complex equation and can be split into two real equations: FH  cos φH =
n
fj cos(2πH · rj ),
j=1
FH  sin φH =
n
(2.22) fj sin(2πH · rj ).
j=1
If m structure factors are involved, there will be 2m such equations. If the phases φH and the atomic positions rj in the equations are considered as unknowns while the amplitudes FH  are as given, then there will be m + n unknowns in total. Therefore, in principle, we may be able to solve the equations for the phases and the atomic positions simultaneously as long as we have a greater number of equations than unknowns, i.e. m n.
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 39
2.2.2. Sayre’s equations For practical purposes, structure factors are sometimes scaled or normalized. A unitary structure factor, usually denoted as UH , is deﬁned as the structure factor FH divided by the sum of the atomic scattering factors, i.e. FH
UH = n
j=1 fj
where
=
n
nj exp(2πiH · rj ),
(2.23)
j=1
fj nj = n
j=1 fj
.
A normalized structure factor, usually denoted as EH , is deﬁned as the structure factor FH normalized by the square root of the sum of squares of the atomic scattering factors, i.e. EH = n
FH
2 j=1 fj
1/2 =
n
zj exp(2πiH · rj ),
(2.24)
j=1
where zj = n
fj
2 j=1 fj
1/2 .
Let FH be the structure factor for the density function ρ and ZH the structure factor for ρ2 . Assume that the atoms in the molecule are all equal and there is no overlap among the atoms. Then, FH = f
n
exp(2πiH · rj ),
j=1
where f is the atomic scattering factor calculated with the density distribution function ρ; and ZH = f
∗
n j=1
exp(2πiH · rj ),
April 28, 2008
40
B598
ch02
FA
Computational Structural Biology
where f ∗ is the atomic scattering factor calculated with the density distribution function ρ2 . It follows that FH is proportional to ZH , i.e. FH = CZH ,
H ∈ Z3 ,
(2.25)
where C is a constant, C = f /f ∗ . By the deﬁnition of ZH , ZH = ρ2 (r) exp (−2πiH · r) dr V
=
V
=
K
=
K
FK exp(2πiK · r) ρ(r) exp(−2πiH · r)dr
ρ(r) exp [−2πi(H − K) · r] dr
FK V
FK FH−K ,
K
and therefore ZH is in fact a selfconvolution of FH , i.e. ZH = FK FH−K , H ∈ Z3 .
(2.26)
K
It follows that FH = C
FK FH−K ,
H ∈ Z3 .
(2.27)
K
The above equations show some important relations among structure factors, which are often used as additional information for phase determination. The equations are called Sayre’s equations because of Sayre’s early work on these relations. They can also be written in other equivalent forms such as FH 2 = C FH FK F−H−K , H ∈ Z3 , (2.28) K
UH 2 = C
UH UK U−H−K ,
H ∈ Z3 ,
(2.29)
EH EK E−H−K ,
H ∈ Z3 .
(2.30)
K
EH 2 = C
K
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 41
2.2.3. Cochran distributions In terms of atomic scattering factors, a unitary structure factor UH can be written in the following form: UH = =
n j=1 n
nj exp(2πiH · rj ) nj exp(2πiK · rj ) exp [2πi(H − K) · rj ].
j=1
Then, by averaging both sides of the equation over H and K, we have UH =
n
nj cos(2πK · rj ) cos[2π(H − K) · rj ]
j=1
= cos(2πK · rj ) cos[2π(H − K) · rj ]. Note that UK UH−K =
n n
nj nk exp(2πiK · rj ) exp [2πi(H − K) · rk ].
j=1 k=1
Then, UK UH−K =
n n
nj nk cos(2πK · rj ) cos[2π(H − K) · rk ]
j=1 k=1
≈ cos(2πK · rj ) cos[2π(H − K) · rk ], and approximately, UH = UK UH−K .
(2.31)
Applying this relation to the amplitude and the phase separately, we have UH  = UK UH−K , φH = φK + φH−K .
(2.32)
April 28, 2008
42
B598
ch02
FA
Computational Structural Biology
Now, let UH = AH + iBH , and x = AH − AH , y = BH − BH . If all of the atoms are equal and AH and BH are assumed to be zero, then x2 = A2H − AH 2 n = n2j cos2 (2πH · rj ) − cos(2πH · rj )2 =
j=1 n
n2j
j=1
=
1 1 + cos(4πH · rj ) − cos(2πH · rj )2 2 2
1 . 2n
Following the same argument, we also have 2 − BH 2 y2 = BH
=
n
n2j sin2 (2πH · rj ) − sin(2πH · rj )2
j=1
=
n
n2j
j=1
=
1 1 − cos(4πH · rj ) − sin(2πH · rj )2 2 2
1 . 2n
Let σ be the standard deviation for (AH , BH ). Then, σ 2 = x2 + y2 =
1 . n
(2.33)
By the central limit theorem, the joint probability of AH and BH is then approximately equal to a normal distribution: P(AH , BH ) =
n exp [−n(x2 + y2 )]. π
(2.34)
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 43
Because tan φH = BH /AH , the probability of φH must be proportional to P(AH , BH ), i.e. P(φH ) = cP(AH , BH ), where c is a constant. Since 2π 0
P (φH ) dφH = 1,
we then have the value for the constant c: c = 2π 0
1 P (AH , BH ) dφH
.
We now write x2 + y2 = AH 2 − 2AH · AH + AH 2 + BH 2 − 2BH · BH + BH 2 = UH 2 − 2UH · UH + UH 2 . Note that UH = UK UH−K , UH · UH = UH UK UH−K  cos(φH − φH ). It follows that x2 + y2 = UH 2 + UK UH−K 2 − 2UH UK UH−K  cos(φH − φH ) and P(φH ) = 2π 0
exp(AHK cos φHK ) exp (AHK cos φHK ) dφH
(2.35)
,
where AHK = 2UH UK UH−K  and φHK = φH − φK − φH−K . Given the facts that P(φH ) = P(φHK ) and dφH = dφHK for ﬁxed K, we can also write the above formula in a more general form: P(φHK ) = 2π 0
exp(AHK cos φHK ) exp (AHK cos φHK ) dφHK
.
(2.36)
Formulas (2.35) and (2.36) are known as the Cochran distributions of the phases, and are important statistical properties that can be used for phase evaluations.
April 28, 2008
44
B598
ch02
FA
Computational Structural Biology
2.2.4. Minimal principles Various least squares formulas can be deﬁned for phase determination or reﬁnement using the general equation (2.21) or (2.22), or with other phase relations such as one of the Sayre’s equations (2.27)–(2.30) or the Cochran distribution (2.35) or (2.36). For the diffraction equation (2.21) or (2.22), a general solution principle is to formulate the equations into a least squares problem so that the phases and atomic positions can be found to minimize all of the violations of the equations. Mathematically, the problem is to ﬁnd a set of values for the phases φH and the atomic positions rj so that the sum of squared errors of the equations is minimized, i.e. 2 min Fφ,r + G2φ,r ,
(2.37)
φ,r
with 2 = Fφ,r
FH  cos(φH ) −
H∈S
G2φ,r =
n
2 fj cos(2πH · rj ) ,
j=1
FH  sin(φH ) −
H∈S
n
2 fj sin(2πH · rj ) ,
j=1
where φ = {φH : H in S ⊂ and r = {rj : j = 1, 2, . . . , n}. This problem can be solved by using a conventional optimization method. However, the objective function usually has many local minima and the global minimum is hard to obtain. In practice, a local minimum may be used as an approximate solution to the problem when the objective function is minimized to a sufﬁciently small value. Even such a local minimum may not necessarily be easy to ﬁnd if the initial solution is not good enough. An alternative approach is to utilize additional information from one of the Sayre’s equations (2.27)–(2.30) so that the phases are determined to satisfy not only the general diffraction equations, but also the phase relations in Sayre’s equations. Let us consider Eq. (2.30) and write it in the following equivalent form: EH 2 = C EH E−K EK−H , H ∈ Z3 . Z3 }
K
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 45
Then, by taking the real and imaginary parts of the equation, we have EH EK EH−K  cos(φH − φK − φH−K ), EH 2 = C K
0=C
EH EK EH−K  sin(φH − φK − φH−K ),
H ∈ Z3 .
K
Let AHK = UH UK UH−K  and φHK = φH − φK − φH−K . Then, the equations become EH 2 = C AHK cos φHK , K
0=C
AHK sin φHK ,
H ∈ Z3 .
K
By using these equations, another least squares problem can immediately be obtained for the determination of the phases: min A2φHK + Bφ2HK , (2.38) φ,r
φHK
with AφHK = EH 2 − C BφHK =
AHK cos φHK ,
K
AHK sin φHK ,
K
where φ = {φH : H in S ⊂ Z3 } and r = {rj : j = 1, 2, . . . , n} should also be consistent with the general diffraction equation (2.21) or (2.22). Using the Cochran distribution (2.35) or (2.36), another set of phase reﬁnement formulas can be obtained as well. For example, the expectation of cos φHK can be evaluated by the formula 2π cos φHK exp (AHK cos φHK ) dφHK . (2.39) cos φHK = 0 2π ) (A dφ exp cos φ HK HK HK 0 With this property, a least squares problem can be formulated so that the phases can be determined to make the cosines of the phase triplets,
April 28, 2008
46
B598
ch02
FA
Computational Structural Biology
φHK , to be close to their expectation values as much as possible, i.e. AHK [cos φHK − cos φHK ]2 min Rφ,r = HK , (2.40) φ,r HK AHK where AHK are used as the weights for the errors, and φ = {φH : H in S ⊂ Z3 } and r = {rj : j = 1, 2, . . . , n} should again be consistent with the general diffraction equation (2.21) or (2.22).
2.3. Entropy Maximization Let the unit cell of a crystal be divided into n boxes, and let pj be the percentage of total electrons in box j and j pj = 1. Then, the entropy of the crystal can be deﬁned as S0 (p) = −
n
pj log pj ,
(2.41)
j=1
where p = (p1 , p2 , . . . , pn )T . Let qj be some prior probability of having an electron in box j. Then, a relative entropy S can be deﬁned such that n pj S(p) = − . (2.42) pj log qj j=1
Here, S(p) = 0 if pj = qj for all j, and S(p) < 0 otherwise. In general, for a crystal system with a continuously deﬁned electron density distribution function ρ, the entropy of the system can be evaluated using the formula S0 (ρ) = − ρ(r) log ρ (r) dr, (2.43) V
where V is the volume of the unit cell of the crystal. Similarly, with respect to some prior probability distribution q, a relative entropy S can be deﬁned such that ρ(r) dr. (2.44) S(ρ) = − ρ(r) log q(r) V Here, S(ρ) = 0 if ρ = q, and S(ρ) < 0 otherwise.
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 47
2.3.1. Entropy vs. probability Let us ﬁrst consider the discrete case when the unit cell is divided into n boxes. Suppose that there are N electrons. If there are nj electrons in box j, there will be in total N!/(n1 !n2 ! · · · nn !) arrangements of the electrons in the boxes. If the prior probability of putting an electron in box j is qj , the probability of having one of the above arrangements of the electrons will be P(n1 , n2 , . . . , nn ) =
N! n n q 1 q 2 · · · qnnn . n1 !n2 ! · · · nn ! 1 2
(2.45)
With Stirling’s formula, the probability can be calculated approximately as log P(n1 , n2 , . . . , nn ) ≈ N log N − N −
n n (nj log nj − nj ) + nj log qj j=1
= −N
n j=1
(nj /N) nj log . N qj
j=1
Let pj = nj /N, j = 1, 2, . . . , n. Then, pj is exactly the electron density in box j, and the probability of the electron arrangement P(n1 , n2 , . . . , nn ) is exactly the probability of the electron density distribution P(p1 , p2 , . . . , pn ). Let p = (p1 , p2 , . . . , pn )T . Then, n pj = NS(p), (2.46) pj log log P(p) = −N qj j=1
where S is the entropy function deﬁned in Eq. (2.42). It follows that P(p) = exp [NS(p)]. The above formulas can be generalized to the continuous case so that for any continuously deﬁned electron density distribution function ρ, ρ(r) log P(ρ) = −N dr = NS(ρ), (2.47) ρ(r) log q(r) V
April 28, 2008
48
B598
ch02
FA
Computational Structural Biology
where S is the entropy function deﬁned in Eq. (2.44), and P(ρ) = exp [NS(ρ)]. From Eqs. (2.46) and (2.47), we see that the entropy for a crystal system with an electron density distribution ρ is correlated with the probability of ρ, and the maximum entropy S(ρ) corresponds to the highest probability P(ρ). 2.3.2. Maximizing entropy The entropy maximization approach to the phase problem determines the phases based on the evaluation and, in particular, the maximization of the entropy deﬁned in terms of the corresponding electron density. Central to this approach is a constrained entropy maximization problem, which maximizes the entropy of a given crystal system subject to a set of constraints requiring the structure factors to be equal to some given values. Formally, the problem can be stated as max S(ρ)
(2.48)
ρ
with
V
ρ(r) exp −2πiHj · r dr = FH∗ j ,
j = 1, 2, . . . , m,
ρ (r) dr = 1, V
where FH∗ j are given structure factors with known amplitudes and predicted phases, and p(r) S(ρ) = − ρ(r) log dr. q(r) V For convenience, we write the problem in the following more general form: max S(ρ) (2.49) ρ
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 49
with FHj (ρ) = FH∗ j , FH0 (ρ) = where
FH∗ 0
j = 1, 2, . . . , m, = 1,
FHj (ρ) =
V
ρ(r)CHj (r) dr = CHj ,
j = 0, 1, . . . , m
with CHj (r) = exp(2πiHj · r),
j = 1, 2, . . . , m,
CH0 (r) = 1. Let λ0 , λ1 , . . . , λm be a set of complex Lagrange multipliers. Then, we can form a Lagrangian function for the problem: L(ρ, λ0 , λ1 , . . . , λn ) = S(ρ) +
n
λj · {FHj (ρ) − FH∗ j }.
(2.50)
j=0
Based on general optimization theory, a necessary condition for ρ to be a solution to problem (2.49) is that ρ must satisfy all of the constraints of the problem, and the partial derivative of the Lagrangian function with respect to ρ must also equal zero. Since the objective function of the problem is concave, the condition is also sufﬁcient. It is easy to verify that the objective function for the problem is even strictly concave. Therefore, the solution must also be unique. Note that Lρ (ρ, λ0 , λ1 , . . . , λn ) = S (ρ) +
n
λj · FH j (ρ).
j=0
Therefore, we have
S (ρ)(δρ) +
m j=0
λj · FH j (ρ)(δρ) = 0.
(2.51)
April 28, 2008
50
B598
ch02
FA
Computational Structural Biology
Since
ρ(r) (δρ(r)) dr ρ(r) ln S (ρ)(δρ) = − q(r) V ρ(r) + 1 (δρ(r)) dr ln =− q(r) V
and FH j (ρ)(δρ)
=− V
[ρ(r)CHj (r)] (δρ(r)) dr
=−
V
[CHj (r)](δρ(r)) dr,
we then have m ρ(r) − ln +1− λj · CHj (r) (δρ(r)) dr = 0. q(r) V
(2.52)
j=0
Solve the equation to obtain
m ρ(r) = q(r) exp(λ0 − 1) exp λj · CHj (r) .
(2.53)
j=1
Let λ0 = 1 − log Z or, equivalently, Z = exp(1 − λ0 ). Then, m q(r) ρ(r) = exp λj · CHj (r) . Z
(2.54)
j=1
Since ρ satisﬁes all of the constraints and, in particular, m q(r) exp ρ (r) dr = λj · CHj (r) dr = 1, V V Z j=1
we then obtain Z as a function of λ1 , λ2 , . . . , λm : m Z(λ1 , λ2 , . . . , λm ) = q(r) exp λj · CHj (r) dr. V
j=1
(2.55)
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 51
By applying all other constraints to ρ, we obtain m q(r) λl · CHl (r) CHj (r) dr = FH∗ j , j = 1, 2, . . . , m. exp Z V l=1 (2.56) Note that m 1 ∂j (log Z) = q(r) exp λl · CHl (r) CHj (r) dr, Z V l=1
where ∂j represents ∂j /∂λj . Therefore, Eq. (2.56) can be written as ∂j (log Z)(λ1 , λ2 , . . . , λm ) = FH∗ j ,
j = 1, 2, . . . , m.
(2.57)
This equation is called the entropy equation and can be used to determine all of the parameters λ1 , λ2 , . . . , λm . Once these parameters are determined, ρ can be obtained with formula (2.53) or (2.54) and the entropy maximization problem is solved. 2.3.3. Newton method We now discuss the solution of the entropy equation (2.57). Let gj be a function such that gj (λ1 , λ2 , . . . , λm ) = ∂j (ln Z)(λ1 , λ2 , . . . , λm )−FH∗ j ,
j = 1, 2, . . . , m. (2.58)
Then, we want to ﬁnd λ1 , λ2 , . . . , λm so that gj (λ1 , λ2 , . . . , λm ) = 0,
j = 1, 2, . . . , m.
(2.59)
Let λ = (λ1 , λ2 , . . . , λm )T , g = (g1 , g2 , . . . , gm )T , and F ∗ = (FH∗ 1 , FH∗ 2 , . . . , FH∗ m )T . Then, the equations are equivalent to g(λ) = ∇(log Z)(λ) − F ∗ = 0.
(2.60)
This equation can be solved by using, for example, the Newton method. Thus, given any iterate λ, a new iterate λ+ can be obtained with the formula λ+ = λ − [g (λ)]−1 g(λ). (2.61)
April 28, 2008
B598
52
ch02
FA
Computational Structural Biology
Based on the theory for the Newton method, the formula can be used to generate a sequence of iterates that converges eventually to the solution of the equation if the initial iterate is sufﬁciently close to the solution. Also, the convergence rate is quadratic in the sense that the distance between the iterate λ and the solution λ∗ reduces as a quadratic function in every step. On the other hand, in every step, a linear system of equations needs to be solved to obtain the Newton step
λ = −[g (λ)]−1 g(λ),
(2.62)
which can be computationally costly because it generally requires O(m3 ) calculations. However, the coefﬁcient matrix g (λ) actually has a special structure which can be exploited to obtain the solution of the equation more efﬁciently in O(m log m). 2.3.4. Fast Fourier transform (FFT) and discrete convolution We now examine matrix g (λ) in Eq. (2.62). With the fact that m q(r) exp λj · CHj (r) , ρ(r) = Z j=0
it can be shown that ∂j (log Z)(λ1 , λ2 , . . . , λm ) − FH∗ j = CHj − FH∗ j , ∂jk (log Z)(λ1 , λ2 , . . . , λm ) = CHj − CHk CHj − CHk , j, k = 1, 2, . . . , m. Putting these equations together, we have g = F − F ∗, g = K − FF H , where F H is the complex conjugate of F , F = (FH1 , FH2 , . . . , FHm )T ,
F ∗ = (FH∗ 1 , FH∗ 2 , . . . , FH∗ m )T ,
and
K = {Kj,k } = {FHj −Hk }.
(2.63)
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 53
By using the Sherman–Morrison formula, we have [g ]−1 = (K − FF H )−1 = K−1 +
K−1 FF H K , 1−σ
(2.64)
where σ = F H K−1 F . The calculation of the Newton step then becomes FHV
λ = −[g (λ)]−1 g(λ) = V + U, (2.65) 1 − FHU where V = K−1 (F − F ∗ ), U = K−1 F. Note that K = {FHj −Hk }, FHj −Hk = ρ(r) exp [2πi(Hj − Hk ) · r] dr.
(2.66)
V
Then, it is easy to verify that K−1 = {EHj −Hk }, EHj −Hk = ρ−1 (r) exp [2πi(Hj − Hk ) · r] dr.
(2.67)
V
Therefore, the inverse of matrix K can actually be obtained directly from the Fourier transformation of the inverse of the density distribution function. By using fast Fourier transform (FFT), the calculation of K−1 can then be ﬁnished in O(m log m) ﬂoatingpoint operations. For the calculation of the Newton step, we need not only K−1 , but also the product of K−1 and a vector, say X, which still requires O(m2 ) calculations in general. However, because the matrix K and its inverse are both circulant matrices, the product of such a matrix and a vector can also be reduced to O(m log m) ﬂoatingpoint operations. Let A = (A1 , A2 , . . . , Am )T be a vector. Then, a circulant matrix C(A) is a matrix with its ﬁrst column equal to (A1 , A2 , . . . , Am )T ; the
April 28, 2008
54
B598
ch02
FA
Computational Structural Biology
second, (Am , A1 , . . . , Am−1 )T ; the third, (Am−1 , Am , . . . , Am−2 )T ; and so on and so forth. Let A = (A1 , A2 , . . . , Am )T and B = (B1 , B2 , . . . , Bm )T be two vectors. A discrete convolution of A and B, denoted by ∗, is deﬁned as A ∗ B = C(A)B,
(2.68)
where C(A) is a circulant matrix generated by A. Now, let a = (a1 , a2 , . . . , am )T and b = (b1 , b2 , . . . , bm )T be vectors such that A = FT(a) and B = FT(b), where FT represents Fourier transform and, in particular, discrete Fourier transform. Then, based on the discrete convolution theory, A ∗ B = FT(a) ∗ FT(b) = FT(a · b),
(2.69)
where a · b is the componentwise product of a and b. This simply implies that the discrete convolution of A and B can be calculated as a discrete Fourier transform for the componentwise product of a and b, which can actually be done in O(m log m) time. By applying this result to the product of K−1 X for any vector X = FT(d), we then have K−1 X = E ∗ X = FT(ρ−1 ) ∗ FT(d) = FT(ρ−1 · b).
(2.70)
2.4. Indirect Methods Direct methods have been applied successfully to small molecules, but not to macromolecules such as proteins. The reasons are not only that the mathematical problem becomes too difﬁcult to solve for large molecules, but also that the diffraction data are not as accurate when there are too many atoms. Alternative approaches have been developed to utilize more structural information from various experimental techniques and have proven to be practical for solving protein structures. 2.4.1. Patterson function Let ρ be an electron density distribution function, and ρ(r) = FH exp(−2πiH · r). K∈Z3
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 55
Then, a Patterson function P with respect to ρ is deﬁned such that ρ(r)ρ (r + u) dr (2.71) P(u) = V
for all u in R3 . It is easy to see that the Patterson function is essentially a convolution of ρ with itself at −u. Let ρ(r + u) be expressed as FK exp [−2πiK · (r + u)]. ρ(r + u) = K∈Z3
Then, ρ(r)ρ(r + u) =
FH FK exp{−2πi[(H + K) · r + K · u]}.
H,K
Integrate the equation to obtain ρ(r)ρ (r + u) dr V
=
FH FK exp(−2πiK · u)
=
exp [−2πi(H + K) · r] dr V
H,K
FH FK exp(−2πiK · u)
=
cos [−2π(H + K) · r] dr V
H,K
FH F−H exp(2πiH · u).
H
Note that FH F−H = FH 2 , and we therefore have P(u) = ρ(r)ρ (r + u) dr = FH 2 cos(2πH · u). V
(2.72)
H
From the deﬁnition of the Patterson function, we see that P(u) is the integral of the multiple of the electron densities at the beginning and ending positions of u. If the density at either side of u is zero, then the integral will be zero. On the other hand, if there are two atoms at the beginning and ending positions of u, then the densities will be high around the two positions, and the integral will not be zero and in
April 28, 2008
56
B598
ch02
FA
Computational Structural Biology
fact will achieve a maximum. Because of this property, the Patterson function has a peak for any distance vector between two atoms, and the peaks can be used to detect the distance vectors for the atomic pairs in the molecule. If the distance vectors for all of the atomic pairs are known, the positions of the atoms can in principle be determined, assuming that the vectors can be correctly assigned to the corresponding atomic pairs. The latter can be done if the molecule is small because a simple trialanderror approach will reveal the best possible assignment. However, if the molecule is large, there are too many possible assignments to try, and it will be difﬁcult to ﬁnd the correct one. Furthermore, some distance vectors will not even be distinguishable. 2.4.2. Isomorphous replacement The Patterson function is useful for the determination of the positions of a few speciﬁed atoms such as those required in the isomorphous replacement approach for structure determination. In this approach, a few heavy atoms, usually metal atoms, are introduced into the molecule so that they can occupy certain positions in the molecule while not greatly affecting the structure of the molecule when the molecule is crystallized. Once the heavy atoms are introduced into the molecule, the electron densities around those atoms can be high, and the Patterson function will show large peaks at the distance vectors among them. Since there are only a few such atoms, the distance vectors can be assigned correctly to the atomic pairs after several trials and the positions of the atoms can then be determined. After the positions of the heavy atoms are known, the positions of the remaining atoms and the phases of the structure factors can be derived using a conventional phase determination scheme, with the positions of the heavy atoms as starting positions. 2.4.3. Molecular replacement An initial model for the molecule is usually required as a starting structure for the determination of the phases. Such a model can be obtained
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 57
from some experimental methods such as the isomorphous replacement method or theoretical approaches such as homology modeling. Once a model becomes available, it can be used to generate initial phases and initial atomic positions. However, at ﬁrst, the model structure must be rotated and translated so that it has the same position as the original crystal structure. Otherwise, the phases generated will not correspond to those from the crystal structure, because the values of the phases depend on the origin of the coordinate system selected for the crystal structure. Let Q be a rotation matrix. For a given vector u, u = Qu is a vector obtained from rotating u by Q. A commonly used approach for rotating a given model is to compare the Patterson functions for the crystal structure and the model structure and see if they are correlated after the model is rotated. Consider R= (2.73) P(u)P u du, V
where u = Qu. Then, we want to choose Q so that R can be maximized. Note that P(u) = FH 2 exp(2πiH · u) H
and
P(u ) =
FK 2 exp(2πiK · Qu).
K
Then, R=
H,K
2
FH  FK 
2
exp[−2πi(H + QT K) · u] du. V
The integral in R is nonzero if QT K = −H or K = −QH. So, the summation can be represented in a simpler form as R= FH 2 F−QH 2 , (2.74) H
and an optimal Q can be found by calculating R repeatedly until it is maximized.
April 28, 2008
58
B598
ch02
FA
Computational Structural Biology
Appropriate translation of the model structure can also be obtained by comparing the Patterson functions of the crystal structure and the model structure. A commonly used approach is to ﬁrst compute the crossPatterson function Pc (u, s) = ρ(x − s)ρ QT [x + u − Qs − d] dr V
=
FH F−QH exp [−2πiH · (−s + Qs + d − u)].
H
Let t = −s + Qs + d, and redeﬁne Pc (u, t) = FH F−QH exp [−2πiH · (t − u)]. H
Then, deﬁne a translation function Pc (u, t)P (u) du, T =
(2.75)
V
and determine t so that T can be maximized. Note that the righthand side of the formula is equal to FH F−QH FK 2 exp(−2πiH · t) exp [−2πi(K − H) · u] du, V
H,K
where each term vanishes unless K = H. Then, we have FH 2 FH F−QH exp(−2πiH · t). T =
(2.76)
H
2.4.4. Anomalous scattering Electrons around the atoms are not always free. For heavy atoms, the electrons in the inner shells are more bounded than those in the outer shells. The Xrays scattered by these atoms can therefore be altered. For example, the magnitudes of the structure factors for H and −H can differ as a result of this socalled anomalous scattering.
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 59
In particular, the atomic scattering factor due to anomalous scattering will no longer be a real number. It may have a real part fR and an imaginary part fI , and f = fR + ifI , (2.77) and the magnitude of structure factor FH may not be equal to that of F−H . However, the difference between the two factors can often be used for the determination of the positions of the heavy atoms. With different wavelengths, the anomalous scattering produces different diffraction results. Let FBA = FA + FB , where FA is the anomalous contribution to FBA and FB is the nonanomalous contribution. Let FH be the resulting structure factor. Then, in general, FH 2 = FBA 2 +pFA 2 +FBA FA [q cos(φBA −φA )+r sin(φBA −φA )], (2.78) where p, q, r are functions of the wavelength λ, and FBA  and FB  as well as (φBA − φA ) are unknowns and are independent of the wavelengths. In each diffraction experiment, we can have two equations for each H, one for FH and another for F−H . By using several different wavelengths, we can have a multiple set of equations for FH and F−H . Since the number of equations is more than the number of unknowns, the unknowns can in principle be determined. In particular, the angles φBA can be determined, which is necessary for the determination of the phases for all of the corresponding structure factors FH .
Selected Further Readings The phase problem Rhodes G, Crystallography Made Crystal Clear, Academic Press, 2000. McPherson A, Introduction to Macromolecular Crystallography, Wiley, 2003. Woolfson MM, Introduction to Xray Crystallography, 2nd ed., Cambridge University Press, 2003. Drenth J, Principles of Protein Xray Crystallography, 3rd ed., Springer, 2006.
April 28, 2008
60
B598
ch02
FA
Computational Structural Biology
Least squares solutions Sayre D, The squaring method: A new method for phase determination, Acta Cryst 5: 60–65, 1952. Cochran W, A relation between the signs of structure factors, Acta Cryst 5: 65–67, 1952. Woolfson MM, The statistical theory of sign relationships, Acta Cryst 7: 61–64, 1954. Cochran W, Woolfson MM, The theory of sign relations between structure factors, Acta Cryst 8: 1–12, 1955. Cochran W, Relations between the phases of structure factors, Acta Cryst 8: 473–478, 1955. Germain G, Woolfson MM, On the application of phase relationships to complex structures, Acta Cryst B24: 91–96, 1968. German G, On the application of phase relationships to complex structures II. Getting a good start, Acta Crsyt B28: 274–285, 1970. Hauptman H, Karle J, Crystalstructure determination by means of a statistical distribution of interatomic vectors, Acta Cryst 5: 48–59, 1952. Hauptman H, Karle J, Solution of the Phase Problem I. The Centrosymmetric Crystal, American Crystallography Association Monograph, Vol. 3, Polycrystal Book Service, 1953. Karle J, Karle IL, The symbolic addition procedure for phase determination for centrosymmetric and noncentrosymmetric crystals, Acta Cryst 21: 849–859, 1966. Ladd MFC, Palmer RA, Theory and Practice of Direct Methods in Crystallography, Plenum Press, 1980. Sayre D, Computational Crystallography, Oxford University Press, 1982. DeTitta GT, Weeks CM, Thuman P, Miller R, Hauptman H, Structure solution by minimalfunction phase reﬁnement and Fourier ﬁltering. I. Theoretical basis, Acta Cryst A50: 203–210, 1994. DeTitta GT, Weeks CM, Thuman P, Miller R, Hauptman H, Structure solution by minimalfunction phase reﬁnement and Fourier ﬁltering. II. Implementation and applications, Acta Cryst A50: 210–220, 1994. Hauptman H, A minimal principle in the phase problem of Xray crystallography, in Global Minimization of Nonconvex Energy Functions: Molecular Conformation and Protein Folding, Pardalos PM, Shalloway D, Xue G (eds.), American Mathematical Society, pp. 89–96, 1996.
April 28, 2008
B598
ch02
FA
Xray Crystallography Computing 61
Entropy maximization Klug A, Joint probability distributions of structure factors and the phase problem, Acta Cryst 11: 515–543, 1958. Piro OE, Information theory and the “phase problem” in crystallography, Acta Cryst A39: 61–68, 1983. Bricogne G, Maximum entropy and the foundations of direct methods, Acta Cryst A40: 410–445, 1984. Bricogne G, A Bayesian statistical theory of the phase problem. I. A multichannel maximumentropy formalism for constructing generalized joint probability distributions of structure factors, Acta Cryst A44: 517–545, 1988. Bricogne G, Direct phase determination by entropy maximization and likelihood ranking: Status report and perspectives, Acta Cryst D49: 37–60, 1993. Bricogne G, A Bayesian statistical viewpoint on structure determination: Basic concepts and examples, Methods Enzymol 276: 361–423, 1997. Bricogne G, Gilmore CJ, A multisolution method of phase determination by combined maximization of entropy and likelihood. I. Theory, algorithms and strategy, Acta Cryst A46: 284–297, 1990. Gilmore CJ, Bricogne G, Bannister C, A multisolution method of phase determination by combined maximization of entropy and likelihood. II. Applications to small molecules, Acta Cryst A46: 297–308, 1990. Wu Z, Phillips G, Tapia R, Zhang Y, A fast Newton’s method for entropy maximization in statistical phase estimation, Acta Cryst A57: 681–685, 2001. Wu Z, Phillips G, Tapia R, Zhang Y, A fast Newton’s algorithm for entropy maximization in phase determination, SIAM Rev 43: 623–642, 2001.
Indirect methods Blow DM, Matthews BW, Parameter reﬁnement in the multiple isomorphousreplacement method, Acta Cryst A29: 56–62, 1973. Watenpaugh KD, Overview of phasing by isomorphous replacement, Methods Enzymol 115: 3–15, 1985. Rossmann MG, The Molecular Replacement Method, Gordon & Breach, 1972. Dodson EJ, Gover S, Wolfe W, Molecular Replacement, SERC Daresbury Laboratory, Warrington, UK, 1992.
April 28, 2008
62
B598
ch02
FA
Computational Structural Biology
Hendrickson WA, Smith JL, Sheriff S, Direct phase determination based on anomalous scattering, Methods Enzymol 115: 41–55, 1985. Hendrickson WA, Ogata CM, Phase determination from multiwavelength anomalous diffraction measurements, Methods Enzymol 276: 494–523, 1997.
April 28, 2008
B598
ch03
FA
Chapter 3 NMR Structure Determination
Nuclear magnetic resonance (NMR) spectroscopy is another important experimental technique for protein structure determination. Of about 30 000 protein structures deposited in the Protein Data Bank (PDB) so far, 15% were determined by NMR. The advantage of using NMR for structure determination is that it does not require crystallizing the protein and the structure can be determined in solution, which is critical for proper folding. NMR is used to detect some conformational properties of proteins such as the distances between certain pairs of atoms, upon which the structures can be modeled. The solution to the problem of determining the coordinates of the atoms in the protein given various NMRdetected distance constraints is essential to NMR modeling. An abstract form of the problem is called the distance geometry problem in mathematics, the graph embedding problem in computer science, and the multidimensional scaling problem in statistics.
3.1. Nuclear Magnetic Resonance A nucleus, with electrons spinning around it, can generate a small magnetic ﬁeld. This happens especially for nuclear isotopes like 1 H, 13 C, and 15 N. When such a nucleus is placed in an external magnetic ﬁeld, it will act as a small magnet and try to align itself with the 63
April 28, 2008
64
B598
ch03
FA
Computational Structural Biology
external ﬁeld. There can be two relatively stable states for the nucleus: when it is in the same direction as the external ﬁeld or opposite to it. The former is called the upward state, and the latter the downward state. Of the two, the downward state has the higher energy. When the nucleus changes its state, it absorbs or releases energy known as absorption energy. Different nuclear isotopes have different absorption energies. The nuclei of the same isotope may also have different absorption energies when they are in different chemical or physical environments. The absorption energies of nuclear isotopes can be detected with NMR techniques and used to derive various physical or geometrical properties of molecules. 3.1.1. Nuclear magnetic ﬁelds A nuclear isotope such as 1 H has an intrinsic source of angular momentum called nuclear spin angular moment. This angular momentum generates a small magnetic moment called the nuclear spin magnetic moment. Let M0 be a vector representing the external magnetic ﬁeld and M the magnetic moment of the nucleus. The interaction between the nuclear magnetic moment and the external magnetic ﬁeld has the lowest energy if M is in the same direction as M0 , and the highest energy if M is in the opposite direction of M0 . If M and M0 are not parallel and have an angle θ between them, the interaction between M and M0 generates an angular moment with M rotating around M0 , sweeping out a cone with constant angle θ. This motion is called precession, and M is said to precess about M0 (Fig. 3.1). Let B0 be the magnetic strength of M0 . Let ω0 be the angular frequency of M precessing about M0 . Then, ω0 is proportional to B0 and ω0 = γB0 ,
(3.1)
where γ is called the gyromagnetic ratio. It turns out that the difference between the two energy levels of M (the highest and the lowest) or, in other words, the absorption energy of M is proportional to the precession frequency ω0 of M about M0 . Therefore, in order to ﬁnd the absorption energies of nuclear isotopes, we can just focus on their precession frequencies.
April 28, 2008
B598
ch03
FA
Ex te
rn al Fi el d
NMR Structure Determination 65
M0
Magnetic Field M
Fig. 3.1. Nuclear spin angular momentum. The interaction between the nuclear magnetic moment and the external magnetic ﬁeld has the lowest energy if M is in the same direction of M0 , and the highest energy if M is in the opposite direction of M0 .
Let M0 be placed along the zaxis in a threedimensional (3D) coordinate system. If we apply another small magnetic ﬁeld M1 to the nucleus along a direction perpendicular to M0 , say along the xaxis, the nuclear magnetic moment M will tilt slightly toward M1 and try to precess about M1 as well. It turns out that if we can rotate the x–y plane around the zaxis with the same speed or, more accurately, the same frequency as the precession frequency of M about M0 , the magnetic moment M will act as if it only interacts with M1 and rotate around the xaxis. In fact, the rotation of the x–y plane around the zaxis can be achieved indirectly by applying a periodically changing magnetic ﬁeld M1 along the xaxis (Fig. 3.2). Such a ﬁeld can be produced by sending an electrical pulse in a coil wired around the xaxis. Let ω0 be the precession frequency of M about M0 , and ω1 the frequency of the pulse and hence the frequency of the magnetic ﬁeld M1 . If ω1 is equal to ω0 (in resonance), M1 changes with the same frequency as the precession frequency of M about M0 , which is equivalent to rotating the x–y plane around the zaxis with the same frequency as the precession frequency of M about M0 . As a result, if M is in the same direction along the zaxis, it will precess about M1 and ﬂip around the xaxis
April 28, 2008
66
B598
ch03
FA
Computational Structural Biology
Fig. 3.2. Electrical and magnetic signals. The precession of nuclear magnetic ﬁeld around the external magnetic ﬁeld produces an electrical signal, which can then be transformed to an NMR spectrum in frequency domain.
in the y–z plane. Note that the precession frequency is proportional to the magnetic strength of M1 , and is therefore equal to γB1 . A particular way of making a resonance is that if we let the pulse to sustain for a time t, M will rotate at an angle β = γB1 t from z to –z counter clockwise. In particular, M will ﬂip from z to –y if t = π/(2γB1 ), and from z to –z if t = π/(γB1 ). The pulses used are generally called the 90◦ and 180◦ pulses, respectively, or the onresonance pulses. In practice, due to the different chemical or physical conditions they have, different nuclei tend to have slightly different precession frequencies. Therefore, ω1 may not always be equal to ω0 . However, as long as ω1 is close to ω0 , M will still make similar ﬂips around the xaxis as described above. The pulse making such ﬂips is called the hardresonance pulse. Let 0 = ω0 – ω1 = 0. Effectively, there will still be a magnetic moment along the zaxis but with a reduced precession frequency 0 . Then, after M makes a ﬂip, say from z to –y, it will continue to precess about M0 with the frequency 0 in the x–y plane. After a time t, M will move to a position with Mx = M sin 0 t, My = −M cos 0 t.
(3.2)
April 28, 2008
B598
ch03
FA
NMR Structure Determination 67
Now, when M rotates around the zaxis in the x–y plane, it cuts through the coil around the xaxis and induces an electrical current in the coil. The latter should have the same frequency as 0 . Suppose that there are m nuclei of the same type in a given molecule, with precession frequencies ω01 , ω02 , . . . , ω0m . Let 01 = ω01 – ω1 , 02 = ω02 – ω1 , . . . , 0m = ω0m – ω1 , where ω1 is the oscillating frequency of M1 . Then, all together, the nuclei make a magnetic moment M such that at time t, Mx = M01  sin 01 t + M02  sin 02 t + · · · + M0m  sin 0m t (3.3) and My = −M01  cos 01 t −M02  cos 02 t −· · ·−M0m  cos 0m t, (3.4) where M01 , M02 , . . . , M0m are the magnetic moments generated by nuclei 1, 2, . . . , m. The magnetic moment M induces an electric current in the coil, with frequencies 01 , 02 , . . . , 0m . 3.1.2. NMR spectra An NMR spectrum shows the distribution of the nuclear magnetic strength over a range of frequencies for a given molecule. Such a distribution can be extracted from the electrical signal generated by the nuclei in the molecule in an NMR experiment, as described in the previous section. Let f be a function of time t that describes the intensity of the electrical signal. Let F be a function of frequency that gives the frequency distribution of the signal. Then, F can be obtained by applying a Fourier transform on f in real space; and formally, for any frequency , F() =
+∞
−∞
f(t) cos (t) dt,
(3.5)
where is in fact the difference between the frequency and a reference frequency. Let ω0 be the precession frequency of a nucleus in the molecule and ω1 the reference frequency, where ω0 and ω1 have the same meaning
April 28, 2008
68
B598
ch03
FA
Computational Structural Biology
as described in the previous section. Then, the Fourier transform F of f achieves a maximum at the corresponding frequency difference 0 = ω0 – ω1 . The maxima of F show the frequencies at which NMR occurs in the molecule, and therefore form an NMR spectrum for the molecule. Each intensity peak in the NMR spectrum corresponds to a nucleus in the molecule precessing about the external ﬁeld with the frequency of the peak. The precession frequency is proportional to the energy difference between the upward and downward states of the nucleus. Therefore, the peaks in the spectrum can also be viewed as the indicators for energy transitions of the molecule at different energy levels, with each corresponding to the transition between two energy states of a particular nucleus inside the molecule. In any case, because of the relationship between the frequency distribution in the NMR spectrum and the presence of certain nuclei in the molecule, the NMR spectral data can be used to derive various physical or geometrical properties of the nuclei in the molecule, such as the types of nuclei, the chemical groups they belong to, their locations, the distances among them, etc. All of these properties are important for determining the structure of the molecule. As we have discussed in the previous section, the precession frequency of a nucleus is proportional to the strength of the magnetic ﬁeld. Therefore, if the strength of the magnetic ﬁeld is changed, the NMR spectrum will also be changed. In order to remove the dependency on the frequency, in practice, the NMR spectrum is often deﬁned as a relative frequency called chemical shift (ppm) instead of absolute frequency. The relative frequency is deﬁned as the difference of the frequency from a reference frequency divided by the reference frequency, which is frequencyindependent. Naturally, the frequency of the oscillating magnetic ﬁeld applied in a horizontal direction can be used as a reference frequency. Different types of nuclear isotopes have different precession frequencies. Even the same type of nuclei may have different precession frequencies if they are in different chemical groups, but the differences are not as great as for different types of nuclear isotopes. In practice, experiments are often conducted to obtain the NMR spectrum for one
April 28, 2008
B598
ch03
FA
NMR Structure Determination 69
type of nuclear isotope at a time, for example, for 1 H, and then 13 C, and then 15 N. For each particular type, the spectrum can be observed within a certain range of frequencies. For example, for 1 H, the frequencies may range from 1 ppm to 20 ppm; while for 13 C, the range may be from 20 ppm to 200 ppm. NMR intensities are rather weak and subject to experimental errors. The experiments are therefore often repeated many times to increase the signal–noise ratio and hence the accuracy of the spectra. On the other hand, since the results from NMR denote the average behaviors of the system over time, they are often considered to be more representative of the true dynamic nature of the system than other experimental approaches. The shape and position of the peak for a nucleus in the NMR spectrum may also be affected when there is another nucleus nearby, especially when they are connected by chemical bonds. The inﬂuence also differs depending on the state of the neighboring nucleus. If the nearby nucleus is in its upward state, the frequency peak tends to shift slightly to the left; alternatively, if the nearby nucleus is in its downward state, the peak tends to shift to the right. As a result, the original peak may be split into two separate peaks, and peak splitting can in fact indicate the existence of a bonded and spatially close nuclear pair. The interaction between such a pair is called Jcoupling. 3.1.3. COSY experiment A COSY experiment, or NMR correlation spectroscopy, is designed to obtain a twodimensional (2D) rather than onedimensional (1D) NMR spectrum so that the NMR intensities can be observed for two varying frequencies. Many different 2D NMR experiments can be designed, but the most important ones for structure determination are COSY and NOE experiments. The latter will be discussed in the next section. A 2D NMR spectrum, deﬁned as a function F (ω1 ,ω2 ) of frequency variables ω1 and ω2 , can be obtained by performing a Fourier transform twice on a function S(t1 , t2 ) of two time variables t1 and t2 that represents the electrical signal recorded from the NMR experiment
April 28, 2008
70
B598
ch03
FA
Computational Structural Biology
Fig. 3.3. Twodimensional spectrum. A 2D NMR spectrum can be obtained by performing a Fourier transform twice on a function of two time variables t1 and t2 that represents the electrical signal recorded from the NMR experiment.
(Fig. 3.3). Mathematically, +∞ +∞ S(t1 , t2 ) exp[−i(ω1 t1 + ω2 t2 )]dt2 dt1 . (3.6) F(ω1 , ω2 ) = −∞
−∞
Usually, t2 is the time when the NMR signal is recorded, and t1 is a special time period before t2 . The function S(t1 ,t2 ) is obtained by recording the NMR signal in t2 while varying t1 . So, for each ﬁxed t1 , a signal is recorded for t2 . This signal can be transformed to obtain FS (t1 ,ω2 ): +∞ S(t1 , t2 ) exp[−i(ω2 t2 )] dt2 . (3.7) FS (t1 , ω2 ) = −∞
For each ﬁxed ω2 , FS (t1 ,ω2 ) varies with t1 and can also be transformed to obtain F (ω1 ,ω2 ): +∞ Fs (t1 , ω2 ) exp[−i(ω1 t1 )] dt1 . (3.8) F(ω1 , ω2 ) = −∞
For example, a pulse sequence for detecting Jcoupling has the following steps: (1) a 90◦ pulse; (2) a t1 /2 delay time; (3) a 180◦ pulse;
April 28, 2008
B598
ch03
FA
NMR Structure Determination 71
(4) another t1 /2 delay time; and (5) an acquisition time t2 . The NMR signal is recorded in the acquisition time t2 , but changes as the delay time t1 varies. More accurately, the NMR strength produced by this experiment is equal to M cos(Jt1 /2) cos(t2 ),
(3.9)
which translates into an electrical signal S(t1 ,t2 ) of variables t1 and t2 , where J is called the Jcoupling constant. From the above formula, in the 2D spectrum, at ω1 = ±J/2 and ω2 = , there will be a peak, indicating that a nucleus at frequency has a Jcoupling with coupling constant J. The COSY experiment is an effective way of ﬁnding the correlations between two NMR spectra, including the Jcouplings among the nuclei. A simple COSY experiment for detecting 1 H–1 H coupling can be designed as follows: (1) a 90◦ pulse; (2) a t1 delay time; (3) a 90◦ pulse; and (4) an acquisition time t2 . With such a pulse sequence, an NMR signal S(t1 ,t2 ) can be obtained by varying t1 and t2 . For a pair of coupled nuclei, the signal strength is typically given by the formula M cos (Jt1 /2) cos (H t1 ) cos (Jt2 /2) cos (H t2 ),
(3.10)
where H is the precession frequency of 1 H. From this formula, it is clear that in the NMR spectra, there will be peaks at ω1 = H ±J and ω2 = H ± J, showing that a Jcoupling must have occurred between the corresponding 1 H nuclei. 3.1.4. Nuclear Overhauser effect (NOE) Two nuclei interact with each other when they are close in space, whether or not they are chemically bonded. If they are bonded, the interaction is called spin–spin coupling or Jcoupling, which is what we have discussed in the previous section. The other type of interaction is called dipole coupling, when there is not necessarily a bond connecting the nuclei. The principle behind nuclear dipole coupling is that when two nuclei are close in space, the resonance frequency of one nucleus will
April 28, 2008
72
B598
ch03
FA
Computational Structural Biology
Fig. 3.4. Nuclear Overhauser effect. When two nuclei are close in space, the resonance frequency of one nucleus will be affected because of the presence of the other nucleus. The change in frequency is called the nuclear Overhauser effect (NOE) and can be measured through an NMR experiment.
be affected due to the presence of the other nucleus. The change in frequency is called the nuclear Overhauser effect (NOE) and can be measured through an NMR experiment. However, the NOE signal is generally weak and hard to detect when the two nuclei are not so close (Fig. 3.4). Suppose that there are two nuclei I and S. The NOE on one of the nuclei I can be estimated using the formula η=
γS W2 − W0 , γI 2W1I + W2 + W0
(3.11)
where η is called the NOE factor; γI and γS are the gyromagnetic ratios of I and S, respectively; and W0 , W1I , and W2 are constants W0 =
1 2 τc κ , 10 1 + (ωI − ωS )2 τc2
(3.12)
τc 2 2 κ , 20 1 + ωI2 τc2
(3.13)
τc 3 2 κ , 5 1 + (ωI + ωS )2 τc2
(3.14)
W1I = W2 =
April 28, 2008
B598
ch03
FA
NMR Structure Determination 73
where τc is a constant; ωI and ωS are resonance frequencies of I and S, respectively; and κ is inversely proportional to the third power of the distance rI,S between I and S. It follows that the accuracy of the NOE factor η is inversely proportional to the sixth power of the distance rI,S , and it may only be detected for nearby nuclei, usually within 0 and g+ = 0 otherwise. Other formulations similar to formulas (3.33) and (3.34) have also been used, which simply remove the squares on the distances. Therefore, for exact distances, the problem becomes min (xi − xj  − di,j )2 , (3.35) (i,j)∈S
and for distance bounds, min (xi − xj  − ui,j )2+ + (li,j − xi − xj )2+ .
(3.36)
(i,j)∈S
The objective functions (3.35) and (3.36) calculate the errors of the distances directly rather than the errors of the squares of the distances, and therefore may be numerically more stable. However, they are not continuously differentiable, and need to be treated with caution when minimized with a conventional optimization method such as the steepest descent direction method, which requires the continuous differentiability of the objective function to converge. In any case, the advantage of using least squares formulation for the solution of the distance geometry problem is that it does not require all of the distances; in other words, it does not require estimating the missing distances. This avoids not only introducing additional possible errors but also overdetermining the solution, because the determination of the coordinates does not necessarily require all
April 28, 2008
84
B598
ch03
FA
Computational Structural Biology
of the distances. Note also that for the above least squares problem, the global minimum of the objective function is known to be zero when the solution to the problem exists. Therefore, in contrast to other global optimization problems, the global minimum for the least squares formulation of the distance geometry problem can be veriﬁed relatively easily. Nevertheless, the global minimum is generally still difﬁcult to achieve because the objective function is highly nonconvex and has many local minima. 3.3.3. Geometric buildup Recently, Dong and Wu (2002) have developed a more efﬁcient algorithm called the geometric buildup algorithm for the solution of the distance geometry problem. In an ideal case where all of the required distances are available, the algorithm can ﬁnd a solution to the problem in O(n) ﬂoatingpoint operations. Given an arbitrary set of distances, the algorithm ﬁrst ﬁnds four atoms that are not in the same plane and determines the coordinates for the four atoms using, say, the SVD method just described, with all of the distances among them (assuming they are available). Then, for any undetermined atom j, the algorithm repeatedly performs a procedure as follows: Find four determined atoms that are not in the same plane and whose distances to atom j are available, and determine the coordinates for atom j. Let xi = (xi,1 , xi,2 , xi,3 )T , i = 1, 2, 3, 4, be the coordinate vectors of the four atoms. Then, the coordinates xj = (xj,1 , xj,2 , xj,3 )T for atom j can be determined by using the distances di,j from atoms i = 1, 2, 3, 4 to atom j. Indeed, xj can be obtained from the solution of the following system of equations: 2 xi 2 − 2xiT xj + xj 2 = di,j ,
i = 1, 2, 3, 4,
(3.37)
where xi and di,j , i = 1, 2, 3, 4 are known. By subtracting equation i from equation i + 1 for i = 1, 2, 3, we can eliminate the quadratic terms for xj to obtain 2 2 −2(xi+1 − xi )T xj = (di+1,j − di,j ) − (xi+1 2 − xi 2 ),
i = 1, 2, 3. (3.38)
April 28, 2008
B598
ch03
FA
NMR Structure Determination 85
Let A be a matrix and b a vector: (x2 − x1 )T A = −2 (x3 − x2 )T , (x4 − x3 )T 2 − d 2 ) − (x 2 − x 2 ) (d2,j 2 1 1,j 2 − d 2 ) − (x 2 − x 2 ) b = (d3,j . 3 2 2,j 2 2 2 2 (d4,j − d3,j ) − (x4  − x3  )
(3.39)
We then have Axj = b. Since x1 , x2 , x3 , x4 are not in the same plane, A must be nonsingular, and we can therefore solve the linear system to obtain a unique solution for xj . Here, solving the linear system requires only constant time. Since we only need to solve n − 4 such systems for n − 4 coordinate vectors xj , the total computation time is proportional to n if, at every step, the required coordinates xi and distances di,j , i = 1, 2, 3, 4 are always available. The advantage of using the geometric buildup algorithm is that it not only is more efﬁcient than the SVD method, but also requires a smaller set of distances and is easier to extend to problems with sparse sets of distances. The SVD method, on the other hand, requires all of the distances, but it can be used to obtain a good approximate solution to the problem if the distances contain some errors or are not consistent. For such a case, the solution found using the geometric buildup algorithm may or may not be a good approximate, depending on the choice of the four base atoms and hence the distances used to build the structure. 3.3.4. Potential energy minimization Regardless of the methods used to solve a distance geometry problem, the structure may satisfy the given distance constraints, but not the energy requirement. In general, the folded protein should have the lowest possible potential energy. In order for the structure to be energetically favorable, potential energy minimization is often necessary after geometric embedding; sometimes, it may even be helpful for further improving the structure to satisfy additional distance constraints.
April 28, 2008
86
B598
ch03
FA
Computational Structural Biology
Potential energy minimization is usually performed either with some local optimization methods such as the Newton method, the conjugate gradient method, or the steepestdescent direction method, or with a global optimization method such as simulated annealing. The latter of course cannot always provide a global minimum, but may at least ﬁnd a relatively “good” local minimum. This should be more powerful than a local optimization method, but is in general more expensive computationally. The potential energy function is usually provided by some conventional software. Several software packages are available, including CHARMM, AMBER, and GROMOS. CNS and XPLOR also have builtin routines for energy calculation and minimization. The energy functions are deﬁned with the same parameters as in CHARMM. The CHARMM energy function, for example, typically has the following form: E= kb (b − b0 )2 + kθ (θ − θ0 )2 bonds
+
angles
kφ (1 + cos (nφ − δ))
dihedrals
+
kω (ω − ω0 )2 +
impropers
+
ku (u − u0 )2
Urey–Bradley 12 min 6 εi,j [(Rmin i,j /ri,j ) − (Ri,j /ri,j ) ] + qi qj /εri,j ,
nonbonded
(3.40) where the ﬁrst term in the function accounts for the energy of the bond stretches, where kb is the bond force constant and (b − b0 ) is the distance from equilibrium that the atoms have moved; the second term in the equation accounts for the bond angles, where kθ is the angle force constant and (θ − θ0 ) is the angle from equilibrium between three bonded atoms; the third term is for the dihedral angles, where kφ is the dihedral force constant, n is the multiplicity of the function, φ is the dihedral angle, and δ is the phase shift; the fourth term is for the improper angles that are outofplane bending, where
April 28, 2008
B598
ch03
FA
NMR Structure Determination 87
kω is the force constant and (ω − ω0 ) is the outofplane angle; the Urey–Bradley component comprises the ﬁfth term, where ku is the respective force constant and u is the distance between the 1,3 atoms in the harmonic potential; and nonbonded interactions between (i,j) pairs of atoms are represented by the last two terms. By deﬁnition, the nonbonded forces are only applied to atom pairs separated by at least three bonds. The van der Waals energy is calculated with a standard 126 Lennard–Jones potential, and the electrostatic energy with a Coulomb potential. In the Lennard–Jones potential, the Rmin term is not the minimum of the potential, but rather where the Lennard–Jones potential crosses the xaxis.
3.4. Structural Analysis With a set of distance ranges generated from NMR experiments, an ensemble of structures may be determined, all satisfying the given distance constraints. The variation of structures in the ensemble reﬂects in a certain sense the ﬂuctuation of the protein in solution (Fig. 3.7).
Fig. 3.7. NMR structural ensemble. An ensemble of structures can usually be obtained from NMR showing ﬂuctuations of structures in solution.
April 28, 2008
88
B598
ch03
FA
Computational Structural Biology
It is therefore important to analyze the structures and ﬁnd their deviations in the ensemble. Given the limited amount of data and possible experimental errors, the determined structures may not be completely correct; and the question of how to evaluate the structures without further experimental evidence also remains a critical issue in practice.
3.4.1. The coordinate root mean square deviation The coordinate root mean square deviation (RMSD) has been widely used for comparing and validating protein structures. It has also been an important tool for structural classiﬁcation, motif recognition, and structure prediction, where a large number of different proteins must be aligned and compared. Let X = {xi , i = 1, 2, . . . , n} and Y = {yi , i = 1, 2, . . . , n} be two n×3 coordinate matrices for two lists of atoms in proteins A and B, respectively, where xi = (xi,1 , xi,2 , xi,3 )T is the coordinate vector of the ith atom selected from protein A to be compared with yi = (yi,1 , yi,2 , yi,3 )T , the coordinate vector of the ith atom selected from protein B. Assume that X and Y have been translated so that their centers of geometry are located at the same position, say, at the origin. Then, the structural similarity between the two proteins can be measured by using the coordinate RMSD of the structures as deﬁned by the following: √ RMSD(X, Y) = min X − YQF / n, Q
(3.41)
where Q is a 3 × 3 rotation matrix and QQT = I, and  · F is the matrix Frobenius norm. Based on this deﬁnition, the RMSD of two structures X and Y is essentially the smallest average coordinate error of the structures for all possible rotations Q of structure Y to ﬁt structure X (Fig. 3.8). Note that X and Y may be the coordinate matrices for the same (A = B) or different (A = B) proteins, and therefore each pair of corresponding atoms need not be of the same type (when A = B). However, the number of atoms selected to be compared must be the same for A and B (# rows of X = # rows of Y).
April 28, 2008
B598
ch03
FA
NMR Structure Determination 89
Fig. 3.8. Translation and rotation. The coordinate root mean square deviation (RMSD) can be calculated only after aligning the structures with proper translation and rotation.
In any case, the RMSD calculation requires the solution of an optimization problem, as suggested in its deﬁnition. The optimization problem is not trivial to solve if a conventional optimization method is to be used (such as the Newton or steepest descent method). Fortunately, an analytical solution to the problem can actually be obtained with some simple linear algebraic calculations as follows. Note that X − YQ2F = trace(XT X) + trace(Y T Y) − 2trace(QT Y T X). Therefore, minimizing the square of X − YQF is equivalent to maximizing trace(QT Y T X). Let C = Y T X. Let C = U V T be the SVD of C. Then, trace(QT Y T X) = trace(V T QT U ) ≤ trace( ). It follows that Q = UV T maximizes trace(QT Y T X) and therefore minimizes the square of X − YQF . 3.4.2. NMR structure evaluation The precision of an ensemble of structures determined by NMR is usually measured by the RMSD values of the structures in the ensemble compared with the average structure of the ensemble, in particular by the mean and standard deviation of these values. Let SE be an ensemble of m structures X1 , X2 , . . . , Xm . Let Xa be the average structure, Xa = (X1 + X2 + · · · + Xm )/m. Then, the precision of the structures
April 28, 2008
90
B598
ch03
FA
Computational Structural Biology
in SE can be deﬁned as RMSD_PRE(SE ) =
m
RMSD(Xi , Xa )
m.
(3.42)
i=1
The ensemble RMSD can be used to see how the structure ﬂuctuates. The larger the ensemble RMSD value is, the more ﬂexible the structure must be. On the other hand, if the distance constraints are not tight enough due to experimental errors, the ensemble RMSD may also be able to show how consistent the structures are in the ensemble. The smaller the ensemble RMSD value, the more convergent the structures may be. The proper interpretation of an ensemble RMSD value is a matter of casebycase analysis. In any event, the value may often be overestimated, since the ensemble of structures determined by current modeling software may not necessarily contain the whole range of structures that are determined by the given distance constraints. The accuracy of an ensemble of structures determined by NMR is often referred to as the average RMSD value of the structures in the ensemble compared with a reference structure such as an Xray structure of the protein. Let SE be an ensemble of m structures X1 , X2 , . . . , Xm . Let Xr be the reference structure. Then, the accuracy of the structures in SE can be deﬁned as m RMSD(Xi , Xr ) m. (3.43) RMSD_ACC(SE ) = i=1
The accuracy may be biased toward the reference structure. For example, an NMR structure may not necessarily agree with the Xray structure, because the former is determined in a more ﬂexible environment and is more of an average shot of the structure moving dynamically in its natural environment, while the latter is determined more statically when the structure is in a ﬁxed crystal state. In any event, the RMSD values of the structures against a reference structure can still provide some valuable information about how the structures ﬂuctuate around or deviate from a regular structure. Their true physical implication is of course subject to further analysis and interpretation, and depends on speciﬁc cases.
April 28, 2008
B598
ch03
FA
NMR Structure Determination 91
3.4.3. Ramachandran plot Another commonly used tool for structural evaluation is the Ramachandran plot. The Ramachandran plot is a 2D graph in the φ–ψ plane, where φ and ψ are the torsion angles around the two ﬂexible bonds joined at Cα in each residue, one between N and Cα and the other between Cα and C . The plot has four major regions: most favorable, additionally allowed, generously allowed, and disallowed, indicating the preferences of φ and ψ angles for protein residues (see Fig. 3.9). The φ–ψ angles formed within a residue can be represented by a point on the Ramachandran plot. If the point is in a particular region, we simply say that the corresponding residue is in that region. Usually, a welldetermined structure has a high percentage of residues in the most favorable region of the plot. For an ensemble of structures determined by NMR, the average properties of the Ramachandran
Fig. 3.9. Ramachandran plot. The distribution of protein backbone phi–psi (φ–ψ) angles in known protein structures: red — most favorable; yellow — additionally allowed; gray — generously allowed; and white — disallowed.
April 28, 2008
92
B598
ch03
FA
Computational Structural Biology
plots of the structures may be extracted and used for the evaluation of the structures. In addition, for each individual residue, the distribution of φ–ψ angles within the ensemble may provide some important insights into how the residue ﬂuctuates in terms of changes in these angles. 3.4.4. Structure reﬁnement Many software packages are available for structure reﬁnement. Take CNS as an example. CNS refers to Crystallography and NMR System, and was developed by Brünger et al. (1998). It has been widely used for reﬁning either Xray or NMR structures. When used for NMR structure reﬁnement, it requires four steps: connectivity calculation, template generation, annealing, and acceptance test. The input data include a set of dihedral angles estimated through Jcoupling experiments and a set of distance ranges measured in NOE experiments. Connectivity calculation takes the protein sequence as the input and produces a connectivity ﬁle for the backbone of the protein. Template generation uses the connectivity ﬁle to construct an extended structure (or a group of extended structures) for the protein as the initial structures for annealing. The annealing process has two options: one with simple simulated annealing, and another with distance geometry combined with simulated annealing. The latter embeds the structure into 3D space by satisfying the distance constraints before performing simulated annealing. Here, embedding solves a distance geometry problem with the NMR distance data, and simulated annealing further minimizes the distance errors and the energy. The last step, acceptance test, evaluates the structures with a group of acceptance criteria including the satisfaction of various experimental constraints and stereochemical requirements. The reﬁnement procedure is repeated or performed with multiple starting structures, so that an ensemble of structures, all satisfying the NMR distance constraints, can be found. The structures are then evaluated for precision and accuracy. As standard outputs, the average energy values as well as violations of the experimental constraints are calculated, with the energy values separated into different categories
April 28, 2008
B598
ch03
FA
NMR Structure Determination 93
including overall energy, bond length, bond angle, van der Waals energy, electrostatic energy, etc. These values can be used to evaluate and compare structures.
Selected Further Readings Nuclear magnetic resonance Wüthrich K, NMR of Proteins and Nucleic Acids, Wiley, 1986. Wüthrich K, NMR in Structural Biology, World Scientiﬁc Publishing Co., 1995. Gunther H, NMR Spectroscopy: Basic Principles, Concepts, and Applications in Chemistry, Wiley, 2001. Keeler J, Understanding NMR Spectroscopy, Wiley, 2005. Cavanagh J, Fairbrother III WJ, Palmer AG, Skelton NJ, Protein NMR Spectroscopy: Principles and Practice, Academic Press, 2006.
Distance geometry Blumenthal LM, Theory and Applications of Distance Geometry, Oxford Clarendon Press, 1953. Torgerson WS, Theory and Method of Scaling, Wiley, 1958. Kruskal JB, Nonmetric multidimensional scaling: A numerical method, Psychometrika 29: 115–129, 1964. Guttman L, A general nonmetric technique for ﬁnding the smallest coordinate space for a conﬁguration of points, Psychometrika 33: 469–506, 1968. Saxe JB, Embeddability of weighted graphs in kspace is strongly NPhard, in Proc 17th Allerton Conference in Communications, Control and Computing, pp. 480–489, 1979. De Leeuw J, Heiser W, Multidimensional scaling with restrictions on conﬁguration, in Multivariate Analysis, Krishnaiah VPR (ed.), NorthHolland, pp. 501–522, 1980. Crippen GM, Havel TF, Distance Geometry and Molecular Conformation, Wiley, 1988. Havel TF, Distance geometry, in Encyclopedia of Nuclear Magnetic Resonance, Grant DM, Harris RK (eds.), Wiley, pp. 1701–1710, 1995.
April 28, 2008
94
B598
ch03
FA
Computational Structural Biology
Havel T, An evaluation of computational strategies for use in the determination of protein structure from distance constraints obtained by nuclear magnetic resonance, Prog Biophys Mol Biol 56: 43–78, 1991. Kuntz ID, Thomason JF, Oshiro CM, Distance geometry, Methods Enzymol 177: 159–204, 1993. Glunt W, Hayden TL, Liu WM, The embedding problem for predistance matrices, Bull Math Biol 53: 769–796, 1991. Glunt W, Hayden TL, Hong S, Wells J, An alternating projection algorithm for computing the nearest Euclidean distance matrix, SIAM J Matrix Anal Appl 11: 589–600, 1990. Glunt W, Hayden TL, Raydan M, Molecular conformations from distance matrices, J Comput Chem 14: 114–120, 1993. Hayden TL, Wells J, Liu W, Tarazaga P, The cone of Euclidean distance matrices, Linear Algebra Appl 144: 153–169, 1991. Hendrickson A, Conditions for unique graph realizations, SIAM J Comput 21: 65–84, 1992. Hendrickson A, The molecule problem: Exploiting structure in global optimization, SIAM J Optim 5: 835–857, 1995. Moré J, Wu Z, εOptimal solutions to distance geometry problems via global continuation, in Global Minimization of Nonconvex Energy Functions: Molecular Conformation and Protein Folding, Pardalos PM, Shalloway D, Xue G (eds.), American Mathematical Society, pp. 151–168, 1996. Moré J, Wu Z, Global continuation for distance geometry problems, SIAM J Optim 7: 814–836, 1997. Moré, J, Wu Z, Distance geometry optimization for protein structures, J Glob Optim 15: 219–234, 1999. Kearsly A, Tapia R, Trosset M, Solution of the metric STRESS and SSTRESS problems in multidimensional scaling by Newton’s method, Comput Stat 13: 369–396, 1998. Trosset M, Applications of multidimensional scaling to molecular conformation, Comput Sci Stat 29: 148–152, 1998. So AM, Ye Y, Theory of semideﬁnite programming for sensor network localization, Math Program 109: 367–384, 2007. Biswas P, Liang T, Toh K, Ye Y, An SDP based approach for anchorfree 3D graph realization, Technical report, Department of Management Science and Engineering and Department of Electrical Engineering, Stanford University, Stanford, CA, 2007.
April 28, 2008
B598
ch03
FA
NMR Structure Determination 95
Dong Q, Wu Z, A lineartime algorithm for solving the molecular distance geometry problem with exact interatomic distances, J Global Optim 22: 365–375, 2002. Dong Q, Wu Z, A geometric buildup algorithm for solving the molecular distance geometry problem with sparse distance data, J Global Optim 26: 321–333, 2003. Wu D, Wu Z, An updated geometric buildup algorithm for solving the molecular distance geometry problem with sparse distance data, J Global Optim 37: 661–673, 2007.
Distancebased protein modeling Brünger AT, Niles M, Computational challenges for macromolecular modeling, in Reviews in Computational Chemistry, Vol. 5, Lipkowitz KB, Boyd DB (eds.), VCH Publishers, pp. 299–335, 1993. Brünger AT, Adams PD, Clore GM, DeLano WL, Gros P, GrosseKunstleve RW, Jiang S, Kuszewski J, Nilges N, Pannu NS, Read RJ, Rice LM, Simonson T, Warren GL, Crystallography and NMR system: A new software suite for macromolecular structure determination, Acta Cryst D54: 905–921, 1998. Kuszewski J, Niles M, Brünger AT, Sampling and efﬁciency of metric matrix distance geometry: A novel partial metrization algorithm, J Biomol NMR 2: 33–56, 1992. Clore GM, Robien MA, Gronenborn AM, Exploring the limits of precision and accuracy of protein structures determined by nuclear magnetic resonance spectroscopy, J Mol Biol 231: 82–102, 1993. Tjandra N, Omichinski JG, Gronenborn AM, Clore GM, Bax A, Use of dipolar 1 H15 N and 1 H13 C couplings in the structure determination of magnetically oriented macromolecules in solution, Nat Struct Biol 4: 732–738, 1997. Clore GM, Gronenborn AM, Tjandra N, Direct structure reﬁnement against residual dipolar couplings in the presence of rhombicity of unknown magnitude, J Magn Reson 131: 159–162, 1998. Grishaev A, Bax A, An empirical backbonebackbone hydrogenbonding potential in proteins and its applications to NMR structure reﬁnement and validation, J Am Chem Soc 126: 7281–7292, 2004. Doreleijers JF, Mading S, Maziuk D, Sojourner K, Yin L, Zhu J, Markley JL, Ulrich EL, BioMagResBank database with sets of experimental NMR
April 28, 2008
96
B598
ch03
FA
Computational Structural Biology
constraints corresponding to the structures of over 1400 biomolecules deposited in the Protein Data Bank, J Biomol NMR 26: 139–146, 2003. Havel TF, Snow ME, A new method for building protein conformations from sequence alignments with homologues of known structure, J Mol Biol 217: 1–7, 1991. Srinivasan S, March CJ, Sudarsanam S, An automated method for modeling proteins on known templates using distance geometry, Protein Sci 2: 277–289, 1993. Huang ES, Samudrala R, Ponder JW, Distance geometry generates nativelike folds for small helical proteins using the consensus distances of predicted protein structures, Protein Sci 7: 1998–2003, 1998.
Structural analysis Morris AL, MacArthur MW, Hutchinson EG, Thornton JM, Stereochemical quality of protein structure coordinates, Proteins 12: 345–364, 1992. Liu Y, Zhao D, Altman R, Jardetzky O, A systematic comparison of three structure determination methods from NMR data: Dependence upon quality and quantity of data, J Biomol NMR 2: 373–388, 1992. Wagner G, Hyberts SG, Havel TF, NMR structure determination in solution: A critique and comparison with Xray crystallography, Annu Rev Biophys Biomol Struct 21: 167–198, 1992. Hooft RW, Vriend G, Sander C, Abola EE, Errors in protein structures, Nature 381: 272, 1996. Doreleijers JF, Rullmann JA, Kaptein R, Quality assessment of NMR structures: A statistical survey, J Mol Biol 281: 149–164, 1998. Doreleijers JF, Raves ML, Rullmann T, Kaptein R, Completeness of NOEs in protein structure: A statistical analysis of NMR, J Biomol NMR 14: 123–132, 1999. Doreleijers JF, Vriend G, Raves ML, Kaptein R, Validation of nuclear magnetic resonance structures of proteins and nucleic acids: Hydrogen geometry and nomenclature, Proteins 37: 404–416, 1999. Garbuzynskiy SO, Melnik BS, Lobanov MY, Finkelstein AV, Galzitskaya OV, Comparison of Xray and NMR structures: Is there a systematic difference in residue contacts between Xray and NMRresolved protein structures? Proteins 60: 139–147, 2005. Laskowski RA, MacArthur MW, Moss DS, Thornton JM, PROCHECK: A program to check the stereochemical quality of protein structures, J Appl Crystallogr 26: 283–291, 1993.
April 28, 2008
B598
ch03
FA
NMR Structure Determination 97
Laskowski RA, Rullmannn JA, MacArthur MW, Kaptein R, Thornton JM, AQUA and PROCHECKNMR: Programs for checking the quality of protein structures solved by NMR, J Biomol NMR 8: 477–486, 1996. Word JM, Lovell SC, LaBean TH, Taylor HC, Zalis ME, Presley BK, Richardson JS, Richardson DC, Visualizing and quantifying molecular goodnessofﬁt: Smallprobe contact dots with explicit hydrogen atoms, J Mol Biol 285: 1711–1733, 1999. Word JM, Bateman Jr RC, Presley BK, Lovell SC, Richardson DC, Exploring steric constraints on protein mutations using MAGE/PROBE, Protein Sci 9: 2251–2259, 2000. Gronwald W, Kirchhofer R, Gorler A, Kremer W, Ganslmeier B, Neidig KP, Kalbitzer HR, RFAC, a program for automated NMR Rfactor estimation, J Biomol NMR 17: 137–151, 2000. Huang YJ, Powers R, Montelione GT, Protein NMR recall, precision, and Fmeasure scores (RPF scores): Structure quality assessment measures based on information retrieval statistics, J Am Chem Soc 127: 1665– 1674, 2005. Nabuurs SB, Spronk CA, Krieger E, Maassen H, Vriend G, Vuister GW, Quantitative evaluation of experimental NMR restraints, J Am Chem Soc 125: 12026–12034, 2003. Spronk CA, Nabuurs SB, Bonvin AM, Krieger E, Vuister GW, Vriend G, The precision of NMR structure ensembles revisited, J Biomol NMR 25: 225–234, 2003. Spronk CA, Nabuurs SB, Krieger E, Vriend G, Vuister GW, Validation of protein structures derived by NMR spectroscopy, Prog Nucl Magn Reson Spectrosc 45: 315–337, 2004. Nabuurs SB, Spronk CA, Vuister GW, Vriend G, Traditional biomolecular structure determination by NMR spectroscopy allows for major errors, PLoS Comput Biol 2: 71–79, 2006. Snyder DA, Bhattacharya A, Huang YJ, Montelione GT, Assessing precision and accuracy of protein structures derived from NMR data, Proteins 59: 655–661, 2005. Snyder DA, Montelione GT, Clustering algorithms for identifying core atom sets and for assessing the precision of protein structure ensembles, Proteins 59: 673–686, 2005. Kuszewski J, Gronenborn AM, Clore GM, Improving the quality of NMR and crystallographic protein structures by means of a conformational
April 28, 2008
98
B598
ch03
FA
Computational Structural Biology
database potential derived from structure databases, Protein Sci 5: 1067– 1080, 1996. Wall ME, Subramaniam S, Phillips Jr GN, Protein structure determination using a database of interatomic distance probabilities, Protein Sci 8: 2720–2727, 1999. Cui F, Jernigan R, Wu Z, Reﬁnement of NMRdetermined protein structures with database derived distance constraints, J Bioinform Comput Biol 3: 1315–1329, 2005. Wu D, Jernigan R, Wu Z, Reﬁnement of NMRdetermined protein structures with database derived meanforce potentials, Proteins 68: 232–242, 2007.
April 28, 2008
B598
ch04
FA
Chapter 4 Potential Energy Minimization
Anﬁnsen (1972) showed that the amino acid sequence of a protein determines its threedimensional (3D) folding. Therefore, it is possible to ﬁnd the protein structure based on only its sequence information. Along this line, research has been pursued on the determination of protein structure using only the information about what amino acids are in the protein and how they interact physically. A thermodynamic hypothesis on the physical interactions in a protein is that the atoms in the protein interact with each other in order to reach an equilibrium state where the potential energy of the protein is minimized. Based on this hypothesis, the protein native structure can in principle be determined if the potential energy minimum of the protein can be found. The latter problem may be solved through potential energy minimization, if the potential energy function is provided. Of course, this problem is not trivial to solve because the protein native structure corresponds to the global energy minimum, which is difﬁcult to ﬁnd if there are many local energy minima (Fig. 4.1). The protein potential energy functions are highly nonconvex functions and indeed have many local energy minima.
99
April 28, 2008
100
B598
ch04
FA
Computational Structural Biology
min E (x1, x2, … , xn)
Fig. 4.1. Energy minimization. The native fold of the protein is assumed to correspond to the global minimum of the potential energy and may therefore be determined via global optimization.
4.1. Potential Energy Function The potential energy of a protein can in principle be evaluated with a quantum chemistry approach, but the required computation is not affordable even on supercomputers. Semiempirical functions have been developed to compute different energy terms separately and approximately, and have proven to be practical. A correct energy function is vital to the success of the energy minimization approach for folding, for the obvious reason that the search for a global energy minimum may be misguided otherwise. There are software packages that can be used to calculate the potential energy of a protein based on welldeveloped semiempirical models. However, the functions (or parameters) used in these calculations are still under constant improvement for both efﬁciency and reliability.
4.1.1. Quantum chemistry calculation From the viewpoint of quantum mechanics, a protein, like any other physical system, can be considered as a system of particles with certain wave properties. Let ψ be the wave function describing the behavior of the entire particle system. Then, ψ satisﬁes the following wave equation called the timedependent Schrödinger equation, ˆ Hψ(x, t) = i
∂ ψ(x, t), ∂t
(4.1)
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 101
ˆ is the Hamiltonian operator, and ψ is deﬁned as a function where H of state variable x and time t. Associated with the above equation is the timeindependent Schrödinger equation, ˆ Hϕ(x) = Eϕ(x),
(4.2)
ˆ is assumed to be timeindependent and ϕ is a timewhere H independent wave function. The timeindependent Schrödinger equation can be viewed as a generalized eigenvalue equation, where E is the eigenvalue and ϕ is the eigenfunction. For a single particle of mass m, for example, the ˆ can be deﬁned as follows: Hamiltonian operator H 2 2 (4.3) ∇ + P(x), 2m where P is the potential of the system. With this operator, the timeindependent Schrödinger equation becomes
ˆ =− H
2 2 (4.4) ∇ ϕ(x) + P(x) = Eϕ(x). 2m A Schrödinger equation can be solved by making a ﬁnite series approximation to the wave function. The series typically consists of a large set of basis functions. By substituting the wave function in the equation with the series approximation, a system of algebraic equations can be obtained, with the parameters in the basis functions as the variables. The basis functions and hence the series approximation to the wave function can then be determined by solving the system of equations. In fact, in many cases, the system of equations reduces to an eigenvalue problem, with the eigenvalues corresponding to the energy levels and the eigenvectors to the approximations of the wave functions. For a large molecular system, the required series approximation to the wave function can be very complicated in terms of both the number and complexity of the basis functions. As a result, an enormous amount of computation is required to obtain a solution to the reduced eigenvalue problem. Alternative approaches have been proposed for a more efﬁcient solution to the problem, but their computational costs remain too expensive for large molecular systems like proteins.
−
April 28, 2008
102
B598
ch04
FA
Computational Structural Biology
4.1.2. Semiempirical approximation To avoid the expensive quantum mechanical computation, an atomiclevel classical mechanical model has been adopted for the evaluation of the potential energy of a protein. With this model, the potential energy is considered as a result of the interactions among all of the atoms in the protein. Since there are different interactions, the potential energy is divided into different categories such as bond length potentials, bond angle potentials, torsion angle potentials, electrostatic potentials, van der Waals potentials, etc. The total potential energy is equal to the sum of all these potentials (Fig. 4.2). When two atoms are connected by a chemical bond, they tend to maintain a ﬁxed distance. This interaction between the two atoms can be described by using the bond length potential, which is usually approximated by a quadratic function with the equilibrium bond length at the minimum of the function. Physically, this approximation is equivalent to considering the interaction between two bonded atoms as if there is a spring between them. The coefﬁcient of the function therefore corresponds to a spring constant, which depends on the type of bond and the atoms involved, but can usually be estimated through chemical experiments. This is why such types of potentials are also called semiempirical potentials. Let Sbond be the index set for the pairs of atoms that are connected by a chemical bond, and Ebond the total bond energy. xi
α ijk xj
α jkl
xl
α ijkl xk
α jklm
α klm
xm
Fig. 4.2. Empirical potentials. Functions can be deﬁned to approximate the potential energies for various atomiclevel interactions.
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 103
Then,
Ebond =
kijb (rij − rij0 )2 ,
(4.5)
(i,j)∈Sbond
where kijb and rij0 are the force constant and the equilibrium length of the bond between atoms i and j, and rij = xi − xj  is the current bond length. Similarly, when three atoms are connected with two chemical bonds, the two bonds tend to form a ﬁxed angle. Such an interaction can be described by using the bond angle potential, which can also be approximated by a quadratic function with the equilibrium bond angle at the minimum of the function. Physically, this implies that the interaction between two neighboring bonds can be considered as if there is a spring holding the two bonds. The coefﬁcient of the function is again a spring constant, which depends on the types of atoms and bonds, and can be estimated empirically. Let Sangle be the index set for the triplet of atoms that are connected by two chemical bonds, and Eangle the total bond angle energy. Then, Eangle =
a kijk (αijk − α0ijk )2 ,
(4.6)
(i,j,k)∈Sangle a and α0 are the force constant and equilibrium angle of the where kijk ijk bond angle αijk between the two bonds that connect atoms i, j, and k. If four atoms are connected with three bonds, the bond in the middle may be rotated with a certain angle. This rotation, also called the torsion, often prefers speciﬁc angles. Such a preference depends on the types of atoms and bonds, but can be described by the torsion angle potential. The latter is often calculated with an empirical cosine function. Let Storsion be the index set for the quartet of atoms that are connected by three chemical bonds, and Etorsion the total torsion angle energy. Then,
Etorsion =
(i,j,k,l)∈Storsion
t kijkl [1 + cos(nαijkl − α0ijkl )],
(4.7)
April 28, 2008
104
B598
ch04
FA
Computational Structural Biology
t where kijkl and α0ijkl are the force constant and equilibrium angle of the torsion angle αijkl of the three bonds that connect atoms i, j, k, and l. The electrostatic potential is used to compute the potential energy between charged atoms. This potential can be approximated by a function inversely proportional to the distance between the two atoms. The coefﬁcient of the function depends on the types of atoms involved, and can be estimated using the electrostatic theory and physical experiments. Let Selectro be the index set for the pairs of atoms with electrostatic interactions, and Eelectro the total electrostatic energy. Then, qi qj Eelectro = , (4.8) eij rij (i,j)∈Selectro
where eij is a constant; qi and qj are the charges of atoms i and j, respectively; and rij = xi − xj . Finally, between nonbonded and noncharged atoms, there is still an important interaction known as the van der Waals weak interaction. This interaction also contributes to the total potential energy and cannot be neglected. The van der Waals interaction can be approximated by using a socalled Lennard–Jones potential, which is equal to zero if the two atoms are far apart and to inﬁnity if they are too close, but reaches a local minimum at an appropriate distance. Two parameters must be determined: the minimizing distance and the minimum potential. They are usually estimated partly theoretically based on the chemical theory of the van der Waals radii of the atoms. Let Svdw be the index set for the pairs of atoms with van der Waals interactions, and Evdw the total van der Waals energy. Then, 6 σij 12 σij Evdw = , (4.9) εij −2 rij rij (i,j)∈Svdw
where each (i,j) term reaches the minimum εij at rij = σij . For different types of potentials, different mathematical functions are required, but the functions may also vary with different parameter values for different atom pairs, triplets, quartets, etc. Fortunately, in
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 105
proteins, there are only a small number of atom types and hence a small number of distinct atom pairs, triplets, quartets, etc. Therefore, the number of possible parameter sets will not be too large and can be precalculated and stored, and applied to the functions whenever they are required. By collecting all of the different types of energy together, the total potential energy of a protein can be obtained. Let E be the total energy of the protein. Then, E = Ebond + Eangle + Etorsion + Eelectro + Evdw .
(4.10)
4.1.3. Protein energy landscape The global energy minimum may or may not be difﬁcult to ﬁnd, depending on the energy landscape. If the energy landscape can be approximated by a convex function, then the global energy minimum can be found in the same way as a local energy minimum. However, if many local energy minima are distributed randomly over the entire space, then it may be impossible to determine the global minimum. The protein energy landscape is not simply convex in shape; the local energy minima, despite there being many, are not distributed chaotically either. It is believed that the protein energy landscape forms a funnellike shape, with many local minima around the wall of the funnel and the global minimum located somewhere in the bottom (Fig. 4.3). If this belief is correct, two properties must make the protein energy landscape not so arbitrary. First, the protein energy landscape has only one big funnel, instead of many multiple funnels. Second, the local energy minima around the wall of the funnel must be relatively shallow so that they can be escaped to reach the bottom region around the global energy minimum; otherwise, folding would not be so successful every time as observed in nature. The funnel theory has provided an overall guideline for the protein energy landscape, but not any speciﬁc or detailed information about the local structures. It is still not clear how the global energy minimum can be located. In fact, it is almost impossible to verify if an energy minimum is a global energy minimum, given the complexity and dimensionality of the protein energy landscape. As a result, it
April 28, 2008
106
B598
ch04
FA
Computational Structural Biology
Fig. 4.3. Protein energy landscape. The energy function of a protein may have a funnel shape, with the global minimum at the bottom and many local minima around the wall of the funnel.
is even hard to tell if an experimentally determined structure indeed corresponds to a global energy minimum. In practice, a known structure sometimes turns out to correspond to a local minimum of the energy function, and is signiﬁcantly different from the structure that corresponds to the global minimum of the function. In this case, if we believe that the known structure is the native structure and has the least energy, there must be some errors in the energy function. Indeed, the energy functions have to be used with caution, because they are just approximations to the true energy functions and may not include all necessary and correct interactions. 4.1.4. Implicit and explicit solvent effects Solvent effects must also be considered for the proper folding of proteins. The potential energy must therefore include the physical
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 107
interactions within the protein as well as those between the protein and the solution. There are two ways of including solvent effects: explicit and implicit. The explicit approach places the water molecules explicitly around the protein, and an empirical potential function is developed to compute the potential energy due to the interactions between the protein and the water molecules. This approach is appropriate when only a small number of water molecules are included. If a large number of water molecules are considered, the calculations may not be accurate using the explicit model. Instead, the implicit model may provide more accurate results and may also be more efﬁcient to compute in the case of a large number of water molecules. The most commonly used implicit approaches are, for example, using a modiﬁed function for electrostatic potential that takes the solvent effects into account, or obtaining the charge density of the solution by solving a Poisson–Boltzmann equation.
4.2. Local Optimization A general optimization problem is to ﬁnd, for a given function f , a speciﬁc value of x such that f is minimized. If the variable x has to satisfy certain conditions, the problem is called a constrained optimization problem; otherwise, it is called unconstrained. If f is minimized within a small neighborhood of x, f(x) is called a local minimum. If f is minimized for all feasible values of x, f(x) is called a global minimum. The procedure for ﬁnding a local minimum is called local optimization, while that for ﬁnding a global minimum is known as global optimization. 4.2.1. Steepestdescent direction method Assume that an initial point x0 is given. We then want to make some changes from x0 along a certain direction so that the new point x1 is closer to the optimal solution or, in other words, the function value f(x1 ) is lower than f(x0 ). We can continue the process iteratively until the function value cannot be further reduced. In order to continuously
April 28, 2008
108
B598
ch04
FA
Computational Structural Biology
reduce the function value, at every step, it is desirable for the selected direction to be a descent direction; otherwise, the updated x along that direction may instead cause the function value to increase. One way of choosing a descent direction is to use the socalled steepestdescent direction. At any point xk , the steepestdescent direction for a function f is that along the negative gradient direction. Let the gradient of the function at xk be ∇f(xk ). The steepestdescent direction pk for f at xk would be pk = −∇f(xk )/∇f(xk ).
(4.11)
A steepestdescent direction method for local optimization uses an iterative formula xk+1 = xk + αk pk ,
k = 0, 1, . . .
(4.12)
to generate a sequence of points {xk }, where αk is a step size selected in every iteration so that the new iterate satisﬁes certain decreasing criteria. A particular way of choosing αk is such that f(xk + αk pk ) is minimized along a ﬁxed direction pk . It is called the exact line search. By always choosing an appropriate step size, the sequence of points {xk } generated by the steepestdescent direction method will converge to a local optimal solution to the minimization problem for f . The convergence rate is linear. 4.2.2. Conjugate gradient method The idea of the conjugate gradient method is to use a set of directions that are conjugate to each other with respect to the Hessian of the objective function, when searching for a local minimum of the objective function. Let f be the objective function and ∇f the gradient. Then, a sequence of conjugate directions can be generated by using the following formula: p0 = −∇f(x0 ), pk+1 = −∇f(xk+1 ) + βk+1 pk ,
k > 0,
(4.13)
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 109
where xk+1 = xk + αk pk , βk+1 = [∇f(xk+1 )T ∇f(xk+1 )]/[∇f(xk )T ∇f(xk )]. Here, since the directions are generated with the gradients, they are called the conjugate gradient directions, and the method is therefore named the conjugate gradient method. The advantage of using the conjugate gradient method is that the method has a good chance of converging in a ﬁnite number of steps, if the objective function is a quadratic or almost quadratic function. In fact, we can show that if the objective function is quadratic and the Hessian is positive deﬁnite, and if the exact line search is used to generate the iterates, then the conjugate gradient method can converge to a local optimal solution to the minimization problem for the given objective function in less than or equal to n steps, where n is the dimension of the problem. 4.2.3. Newton method The Newton method uses another different search direction. Let f be the objective function, ∇f the gradient, and ∇ 2 f the Hessian. Then, the Newton direction at any point xk is pk = −[∇ 2 f(xk )]−1 ∇f(xk ).
(4.14)
The Newton direction is not necessarily a descent direction, unless it is very close to a local optimal solution. Even if it is a descent direction, an appropriate step size is still required. Therefore, the update formula is the same as for other methods: xk+1 = xk + αk pk ,
k = 0, 1, . . .
(4.15)
The sequence of iterates generated by the Newton method converges to a local optimal solution to the minimization problem for the given objective function, if the initial point is close enough to the solution. The convergence rate is quadratic, and therefore it converges
April 28, 2008
110
B598
ch04
FA
Computational Structural Biology
much faster than linearly converging methods. However, the computation of the Newton step is much more expensive, since it requires the inverse of the Hessian. It is not stable to directly compute the inverse of the matrix. Usually, it is done by solving a linear system, ∇ 2 f(xk )pk = −∇f(xk ),
(4.16)
to obtain the Newton direction pk (as the multiplication of the negative gradient of the objective function with the inverse of the Hessian). In general, the steepestdescent direction takes an order of n ﬂoatingpoint computations, then the conjugate gradient direction takes an order of n2 , and the Newton direction takes an order of n3 . However, in terms of the convergence rates of the methods, they are preferred in the order of the Newton method, the conjugate gradient method, and the steepestdescent direction method. 4.2.4. The quasiNewton method The motivation for developing the quasiNewton method was to reduce the computational cost while still maintaining the fast convergence rate of the Newton method. Since the most expensive part of the Newton method is the computation of the Newton direction, for which the solution of a linear system of equations is required, the quasiNewton method approximates the Hessian in order to reduce the cost of computing the Newton direction. For this purpose, at every step, the Hessian is obtained approximately by making a lowrank update to the previous Hessian. By doing so, the inverse of the Hessian can easily be obtained and, in particular, the Newton direction can be obtained in an order of n2 ﬂoatingpoint operations. Meanwhile, the convergence rate of the quasiNewton method can be kept superlinear, which is almost quadratic when close to the optimal solution. Several formulas can be used to update the Hessian, including the symmetric rankone update (SR1), the DavidonFletcherPowell (DFP), and the BroydenFletcherGoldfarbShanno (BFGS) formulas. We list some commonly used formulas below. We use Bk to represent the approximation to the Hessian in the kth iteration, Hk the
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 111
approximation to the inverse of the Hessian, and sk = xk+1 − xk , yk = ∇f(xk+1 ) − ∇f(xk ), ρk = 1/ykT sk . Note that each update scheme has two formulas, one for Bk and another for Hk . The latter is called the inverse update. Note also that SR1 requires symmetry of the matrix, and BFGS requires the matrix to be symmetric and positive deﬁnite. (yk − Bk sk )(yk − Bk sk ) , (yk − Bk sk )T sk (sk − Hk yk )(sk − Hk yk ) = Hk + ; (sk − Hk yk )T yk
(SR1)
Bk+1 = Bk +
(4.17)
(SR1)
Hk+1
(4.18)
(DFP)
Bk+1 = (I − ρk yk skT )Bk (I − ρk sk ykT ) + ρk yk ykT ,
(DFP)
Hk+1 = Hk −
(BFGS)
Bk+1 = Bk −
(BFGS)
Hk+1 = (I − ρk sk ykT )Hk (I − ρk yk skT ) + ρk sk skT .
Hk yk ykT Hk ykT Hk yk Bk sk skT Bk skT Bk sk
+
+
sk skT ykT sk
yk ykT ykT sk
;
,
(4.19) (4.20) (4.21) (4.22)
4.3. Global Optimization In general, a global minimum is difﬁcult to determine. First, it is even difﬁcult to know if a given minimum is indeed a global minimum, unless the entire function domain is examined, which is impossible for a function of more than a few variables. Second, a general nonconvex function can vary arbitrarily, and there are no general rules for progressively searching for a global minimum. For example, if we always follow a descent direction, we will eventually be trapped in a local minimum. At a local minimum, if we try to jump out along a certain direction, we may end up with another local minimum; and if we repeat, the chance of reaching a global minimum will not necessarily improve.
April 28, 2008
112
B598
ch04
FA
Computational Structural Biology
4.3.1. Multistart method The simplest method for global optimization is perhaps the multistart method. The idea is to ﬁrst generate a set of initial points evenly distributed in the function domain, and then start with these initial points to obtain a set of local minima (by using any local optimization method), among which the best is selected as the candidate for the global minimum. Naturally, if sufﬁciently many initial points are generated and if the local minima are also relatively evenly distributed in the function domain, the chance of ﬁnding a global minimum using such a multistart scheme is rather high. The more initial points generated, the higher the chance of ﬁnding the global minimum, but of course the more costly the method will be computationally. However, if the local minima are not evenly distributed, which is most likely the case in practice, the multistart method will have a great chance of missing the global minimum even if a large number of initial points are used. Also, in high dimension, the number of initial points required for a complete coverage of the function domain will be too large, and the followup local optimization will be too much to ﬁnish. In any case, the multistart method performs reasonably well in practice. It is easy to implement and can therefore be used as a benchmark method for global optimization. The truth is that so far, although hundreds of global optimization algorithms have been proposed, not so many have always outperformed the multistart method for arbitrarily given test cases. 4.3.2. Stochastic search Stochastic search can be considered as a smarter way of performing multistart sampling. A popular stochastic search scheme is the socalled multilevel singlelinkage method. This method has two stages. First, a large set of points is sampled randomly in the domain of the objective function. A subset of points is selected as the starting points for local optimization. Second, local optimization is applied to the selected points to obtain a set of local minima. The process continues iteratively until a certain stopping condition is satisﬁed.
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 113
Critical to the multilevel singlelinkage method are the strategy for selecting the starting points for local optimization and the rule to stop the iteration. First, the objective function is evaluated at the sampled points. Then, only the points that were not used previously as starting points can be selected. The points should also be those with the lowest function values within their small neighborhood. More accurately, let x be such a point and f the objective function. Then, f(x) ≤ f(y),
for all generated y,
y − x < r(k),
(4.23)
where r(k) is the neighborhood size at step k and is deﬁned by the following formula: ln kN 1/n 1 −1/2 r(k) = π m(S)σ
1+ , (4.24) n kN where S is the domain of the objective function, m(S) the Lebesque measure of S, the gamma function, σ a positive number, and N the sample size. Once a set of starting points is selected, local optimization is applied. Here, it is assumed that the local optimization procedure can always ﬁnd a local optimal solution x∗ when starting with a point x that is within the region of attraction of x∗ . Let w be the number of local minima found by the method in the kth iteration. Then, based on a Bayesian estimate, after the kth iteration, the total number of local minima found by the method and the portion of S covered by the regions of attraction of the local optimal solutions are given by v=
w(kN − 1) kN − w − 2
and
(kN − w − 1)(kN + w) , u= kN(kN − 1)
(4.25)
respectively. With these estimates, a stopping rule can be given to terminate the method after the kth iteration when v ≤ 1.5w and u ≥ 0.995. Strong convergence results can be obtained for the multilevel singlelinkage method. If all requirements for the selection of the starting points and the termination of the method are met, then the method
April 28, 2008
114
B598
ch04
FA
Computational Structural Biology
can ﬁnd, with probability 1, all of the isolated local minima including the global minimum of the objective function within a ﬁnite number of iterations. 4.3.3. Branch and bound Branch and bound is a scheme widely used in integer and combinatorial optimization, and can also be applied to global optimization. First, a pair of upper and lower bounds must be estimated for the global minimum. Then, the domain of the objective function is divided to ﬁnd better bounds. The process continues until it ﬁnds a pair of bounds that is the closest possible to the global minimum. More speciﬁcally, at each step, the domain of the objective function is divided into a set of small regions. For each of these small regions, a pair of upper and lower bounds for the global minimum within that region is estimated. If the lower bound is already higher than the currently best upper bound, the upper bound within that region cannot be better than the currently best upper bound, and the search in that region can stop. Otherwise, if the upper bound within that region is lower than the currently best upper bound, the best upper bound is set to the upper bound within that region, and the region is divided into a set of smaller regions for further estimations. Key to the branchandbound scheme are the branching strategy and the bounding procedure. Branching includes dividing a region and choosing the next subregion for further estimation. In depthﬁrst branching, the ﬁrst child region is always selected for the ﬁrst estimation. In breadthﬁrst branching, the regions in the same generation are estimated ﬁrst, and in the next generation second, and so on and so forth. In bestﬁrst branching, the most preferred region among all available regions, judged by some criteria such as the lower bound, the upper bound, or the difference between the lower and upper bounds, is always selected for the ﬁrst estimation. The preferred branching strategy depends on the speciﬁc problem and the implementation. The upper bound for global optimization can be obtained relatively easily by using local optimization because any local minimum provides an upper bound for the global minimum. On the other hand,
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 115
the lower bound is relatively harder to obtain. Different methods have been developed. One of these is the socalled majorization method. In this method, a lowerbounding function for the objective function is constructed ﬁrst, for example, by using a quadratic function interpolated with a sample set of objective function values. The minimum of the lowerbounding function can then be obtained and used as a lower bound for the global minimum. 4.3.4. Simulated annealing Simulated annealing is one of the most popular methods for global optimization. Perhaps due to its physical intuitiveness, it is especially favored by scientists in scientiﬁc applications. In physical annealing, a system is ﬁrst heated to a melting state and then cooled down slowly. If the process is slow enough for the system to reach equilibrium, the system will eventually settle down to a ground state with minimal energy, when the temperature is lowered to zero. A simulated annealing algorithm considers the objective function for global optimization as the energy function of an imagined physical system and mimics the physical annealing process so that, in the end, the global minimum of the objective function can be located by reaching the global energy minimum of the imagined physical system. A typical simulated annealing algorithm works as follows. First, it repeats a loop where the temperature is decreased in every loop cycle. Within the loop, at temperature T , the algorithm mimics the cooling process of the physical system by making a sequence of random changes on the system. Each random change is made by perturbing the current system state by a random amount. Let the energy difference due to the state change be denoted as f . Then, the new state is accepted with a probability e equal to exp(–f/kT ), where k is the Boltzmann constant and T is the temperature. Note that in each random change, if the energy difference is negative, the function value decreases. Thus, the new state will always be accepted because the value of e is greater than or equal to one. On the other hand, if the energy difference is positive, the function value increases, but the new state is still accepted with some probability
April 28, 2008
116
B598
ch04
FA
Computational Structural Biology
because the value of e is a fraction. The latter makes the algorithm different from a conventional local optimization algorithm, which only accepts a state that decreases the function value. In this way, the algorithm is able to search for the global minimum in both the descent and ascent directions, preventing it from being trapped in a local minimum surrounded by only ascent directions. Let f be the objective function and x the variable. In simulated annealing, f is considered as the energy function of an imagined physical system and x as the system’s state. It can be shown that by following a simulated annealing algorithm, the probability for the algorithm to reach a state x of the system at temperature T is subject to the Boltzmann distribution p(x) = exp (–f(x)/kT )/Z, where Z is the normalization factor. Based on this property, it can also be shown that if the temperature is lowered gradually and the number of random changes at each temperature is made sufﬁciently large, the probability for the algorithm to reach the global minimum of f converges to one.
4.4. Energy Transformation No matter how effective a global optimization algorithm is, the global minimum will still be costly to obtain if the objective function has too many local minima. Therefore, an important research subject that has been pursued in recent years is to use special techniques to change the function into one with fewer local minima so that the search for the global minimum can be more effective and efﬁcient. 4.4.1. Integral transform One of the techniques for energy transformation is to use a special integral transform called the Gaussian transform. Given an objective function f , the Gaussian transform for f is a parametrized integral of the product of the function f with a Gaussian distribution function gλ with the standard deviation equal to λ (Fig. 4.4). Let the transformed function be denoted by f λ . Then, f λ (x) = f(x )gλ (x − x )dx , (4.26) Rn
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 117
Fig. 4.4. Function transformation. The transformed function is an average of the original function sampled by a probability distribution function.
where gλ (x–x ) = cλ exp(– x–x 2 /λ2 ), with cλ being the normalization constant for gλ . Based on the deﬁnition of the Gaussian transform, the value of the transformed function f λ at any point x is in fact the average value of the original function f sampled by a Gaussian distribution function within a neighborhood of x. The most signiﬁcant part of the sampled neighborhood corresponds to the dominant region of the Gaussian distribution function, which is determined by the value of λ. So, if λ equals zero, nothing is averaged and the transformed function is therefore exactly equal to the original function. Otherwise, the small variations of the original function are averaged out, and the transformed function should become smoother than the original function. If λ is sufﬁciently large, the transformed function may have fewer local minima. In this case, the global minimum may be easier to ﬁnd in the transformed function. Then, by gradually changing the transformed function back to the original function, the change in the global minimum may be traced to ﬁnd the global minimum of the original function.
April 28, 2008
118
B598
ch04
FA
Computational Structural Biology
4.4.2. Solution to the diffusion equation The transformation of a function can be viewed as if the function is geometrically deformed into a smoother or ﬂatter function as the parameter λ is changed from zero to a large positive number. It can also be considered physically as a diffusion process, with the given function as a diffusing heat function for some physical system. Let the time parameter for the system be denoted by t. Then, the process can be described mathematically by the diffusion equation ut (x, t) = uxx (x, t), u(x, t) = f(x),
x ∈ Rn ,
x ∈ Rn ,
t > 0,
t = 0,
(4.27)
where u is the heat function and f is the given function. The heat function u is a function of space and time variables x and t, respectively, and the given function f is considered as the initial heat function to be diffused. A standard solution to the above differential equation is u(x, t) = Kt (x − x )f(x )dx , x ∈ Rn , t ≥ 0, (4.28) Rn
where Kt (x − x ) = ct exp(−x–x /4t), with ct being the normalization constant for Kt . If we let 4t = λ2 , the solution to the diffusion equation gives exactly the Gaussian transform of the given function. 4.4.3. Smoothing properties Note that the Gaussian transform f λ on a given function f is in fact a convolution of the function f and the Gaussian distribution function gλ . If we make a Fourier transformation on the transformed function f λ , the transform at a speciﬁc frequency ω, FT [f λ ](ω), will be the product of the Fourier transform for the given function, FT [f ](ω), and the Fourier transform for the Gaussian distribution
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 119
function, FT [gλ ](ω), at the corresponding frequency. Note that 1 FT [gλ ](ω) = cλ exp(−x2 /λ2 ) exp(−iω · x)dx (2π)1/2n Rn =
1 cλ exp(−λ2 ω2 /4). 1/2n (2π)
(4.29)
Therefore, FT [f λ ](ω) = FT [gλ ](ω) × FT [f ](ω) =
1 cλ exp(−λ2 ω2 /4) × FT [f ](ω). (2π)1/2n (4.30)
From the above relationship, we can see that if ω is large, the Fourier transform for the transformed function f λ will be small. On the other hand, for a ﬁxed frequency ω, if λ is large, the Fourier transform for the transformed function f λ will also be small. All of these properties imply that after the transformation, the highfrequency components of the original function will be reduced in the transformed function, especially when a large λ value is used. This is why the transformed function may become smoother with fewer local minima than the original function. 4.4.4. Computation of transformation The Gaussian transform involves a highdimensional integral, which cannot be computed efﬁciently for a dimension higher than three. In practice, a given objective function to be transformed is often deﬁned in a space of more than several hundred dimensions, so its transformation may not be possible in general. However, a large class of partially separable functions called decomposable functions can always be transformed, even in highdimensional space. A decomposable function is the sum of the products of some onedimensional (1D) functions. For such a class of functions, the Gaussian transform is in fact equal to the sum of the products of the transformations of the 1D functions. The 1D transformation can
April 28, 2008
120
B598
ch04
FA
Computational Structural Biology
always be computed either analytically or numerically. Therefore, the transformation of decomposable functions can always be done efﬁciently. Formally, if f is a decomposable function and f is equal to the sum of the products of the 1D functions gi,j , then gi,j (xi,j ), (4.31) f(x) = i
j
where xi,j is a 1D variable, meaning the jth variable in the ith product. It is easy to verify that the Gaussian transform of f is f λ (x) = gi,j λ (xi,j ). (4.32) i
j
Apparently, all polynomial functions are decomposable functions. Therefore, all polynomial functions can be transformed. As an example, let us consider the following Griewant function: √ √ f(x1 , x2 ) = (x12 + x22 )/200 + 1 − cos(x1 / 1) cos(x2 / 2). This function has many local minima because of the cosine part of the function. It has been widely used as a test function for global optimization. If a general global optimization algorithm is applied to the function, a large number of local minima must be examined before the global minimum is eventually found. However, if we use the Gaussian transform, the function can be transformed into the following form: f λ (x1 , x2 ) =
(x12 + x22 + λ2 )/200 √ √ . 1 − exp(−3λ2 /8) cos(x1 / 1) cos(x2 / 2)
If λ is equal to 0, the transformed function is the same as the original function. Otherwise, if λ is increased from 0 to 1, 1 to 2, 2 to 3, . . . , the transformed function will become smoother and smoother, and eventually become convex (Fig. 4.5). Then, with just a local optimization algorithm, the global minimum of the transformed function can be found. With this global minimum as the starting point, the local optimization algorithm can be applied again to the transformed
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 121
Fig. 4.5. Transformation of Griewant function. A 2D Griewant function is transformed into a convex function with increasing parameter λ from 0 to 5.
function with a slightly lowered λ value, and the global minimum of the function can again be found. The process can be repeated until the λ value is decreased to 0, when the transformed function becomes the original function, and the global minimum of the original function can be found.
April 28, 2008
122
B598
ch04
FA
Computational Structural Biology
Selected Further Readings Potential energy minimization Schlick T, Molecular Modelling and Simulation: An Interdisciplinary Guide, Springer, 2003. Brooks III CL, Karplus M, Pettitt BM, Proteins: A Theoretical Perspective of Dynamics, Structure, and Thermodynamics, Advances in Chemical Physics, Vol. 71, Wiley, 2004. Anﬁnsen CB, Studies on the principles that govern the folding of protein chains, Nobel Lecture, 1972. Levitt M, Lifson S, Reﬁnement of protein conformations using a macromolecular energy minimization procedure, J Mol Biol 46: 269–279, 1969. Levitt M, Protein folding by restrained energy minimization and molecular dynamics, J Mol Biol 170: 723–764, 1983. Scheraga HA, Approaches to the multipleminima problem in conformational energy calculations on polypeptides and proteins, in Biological and Artiﬁcial Intelligence Systems, Clementi E, Chin S (eds.), ESCOM Science Publishers, pp. 1–14, 1988. Wales DJ, Scheraga HA, Global optimization of clusters, crystals, and biomolecules, Science 285: 1368–1372, 1999. Wolynes PG, Folding funnels and energy landscapes of larger proteins within the capillarity approximation, Proc Natl Acad Sci USA 94: 6170–6175, 1997. Onuchic J, Wolynes, P, Theory of protein folding, Curr Opin Struct Biol 14: 70–75, 2004.
Local optimization Ortega JM, Rheinboldt WC, Iterative Solution of Nonlinear Equations in Several Variables, SIAM, 1987. Dennis JE, Schnabel RB, Numerical Methods for Unconstrained Optimization and Nonlinear Equations, SIAM, 1996. Fletcher R, Practical Methods of Optimization, Wiley, 2000. Nocedal J, Wright S, Numerical Optimization, Springer, 2006. Fletcher R, Reeves CM, Function minimization by conjugate gradients, Computer J 7: 149–154, 1964. Dennis Jr JE, Moré JJ, QuasiNewton methods, motivation and theory, SIAM Rev 19: 46–89, 1977.
April 28, 2008
B598
ch04
FA
Potential Energy Minimization 123
Global optimization Horst R, Pardalos PM, Nguyen T, Introduction to Global Optimization, Springer, 2006. Zabinsky ZB, Stochastic Adaptive Search for Global Optimization, Springer, 2006. Van Laarhoven PJM, Aarts EHL, Simulated Annealing: Theory and Applications, Kluwer Academic Publishers, 1987. Rinnooy Kan AHG, Timmer GT, A stochastic approach to global optimization, in Numerical Optimization, Boggs P, Byrd R, Schnabel RB (eds.), SIAM, pp. 254–262, 1984. Kirkpatrick S, Gelatt Jr CD, Vecchi MP, Optimization by simulated annealing, Science 220: 671–680, 1983.
Function transformation Piela L, Kostrowicki J, Scheraga HA, The multipleminima problem in the conformational analysis of molecules: deformation of the potential energy hypersurface by the diffusion equation method, J Phys Chem 93: 3339–3346, 1989. Kostrowicki J, Scheraga HA, Application of the diffusion equation method for global optimization to oligopeptides, J Phys Chem 96: 7442–7449, 1992. Kostrowicki J, Scheraga HA, Some approaches to the multipleminima problem in protein folding, in Global Minimization of Nonconvex Energy Functions: Molecular Conformation and Protein Folding, Pardalos PM, Shalloway D, Xue G (eds.), American Mathematical Society, pp. 123– 132, 1996. Shalloway D, Application of the renormalization group to deterministic global minimization of molecular conformation energy functions, J Glob Optim 2: 281–311, 1992. Shalloway D, Packet annealing: A deterministic method for global minimization. Application to molecular conformation, in Recent Advances in Global Optimization, Floudas C, Pardalos P (eds.), Princeton University Press, pp. 433–477, 1992. Coleman T, Shalloway D, Wu Z, Isotropic effective energy simulated annealing searches for low energy molecular cluster states, Comput Optim Appl 2: 145–170, 1993.
April 28, 2008
124
B598
ch04
FA
Computational Structural Biology
Coleman T, Shalloway D, Wu Z, A parallel buildup algorithm for global energy minimization of molecular clusters using effective energy simulated annealing, J Glob Optim 4: 171–185, 1994. Coleman T, Wu Z, Parallel continuationbased global optimization for molecular conformation and protein folding, J Glob Optim 8: 49–65, 1996. Wu Z, The effective energy transformation scheme as a special continuation approach to global optimization with application to molecular conformation, SIAM J Optim 6: 748–768, 1996. Moré J, Wu Z, Smoothing techniques for macromolecular global optimization, in Nonlinear Optimization and Applications, Di Pillo G, Gianessi F (eds.), Plenum Press, pp. 297–312, 1996. Moré J, Wu Z, Global continuation for distance geometry problems, SIAM J Optim 7: 814–836, 1997. HeadGordon T, Arrecis J, Stillinger FH, A strategy for ﬁnding classes of minima on a hypersurface: Implications for approaches to the protein folding problem, Proc Natl Acad Sci USA 88: 11076–11080, 1991. HeadGordon H, Stillinger FH, Predicting polypeptide and protein structures from amino acid sequences: Antlion method applied to melittin, Biopolymers 33: 293–303, 1993. Straub J, Ma J, Amara P, Simulated annealing using coarsegrained classical dynamics: Fokker–Planck and Smoluchowski dynamics in the Gaussian density approximation, J Chem Phys 103: 1574–1581, 1995. Straub JE, Optimization techniques with applications to proteins, in New Developments in Theoretical Studies of Proteins, Elber R (ed.), World Scientiﬁc Publishing Co., pp. 137–196, 1996. Shao CS, Byrd RH, Eskow E, Schnabel RB, Global optimization for molecular clusters using a new smoothing approach, in Large Scale Optimization with Applications, Biegler L, Coleman T, Con A, Santosa F (eds.), SpringerVerlag, pp. 163–199, 1997. Azmi A, Byrd R, Eskow E, Schnabel R, Crivelli S, Philip T, HeadGordon T, Predicting protein tertiary structure using a global optimization algorithm with smoothing, in Optimization in Computational Chemistry and Molecular Biology: Local and Global Approaches, Floudas C, Pardalos P (eds.), Kluwer Academic Publishers, pp. 1–18, 2000.
April 28, 2008
B598
ch05
FA
Chapter 5 Molecular Dynamics Simulation
The dynamic behavior of a protein is as essential as the structure for the study of its function. A protein changes from an arbitrary state to an equilibrium state, by folding, and also ﬂuctuates around an equilibrium state. The former type of dynamics is called general dynamics, and the latter thermodynamics. The dynamic properties of proteins can be studied through molecular dynamics simulation.
5.1. Equations of Motion The simulation of molecular dynamics is based on an atomiclevel classical mechanical model for the molecule. Let x(t) be the conﬁguration of the molecule at time t, x = {xi : xi = (xi,1 , xi,2 , xi,3 )T , i = 1, 2, . . . , n}, where xi is the position vector of atom i and n is the total number of atoms in the molecule. Then, the molecular motion can be described as a collection of movements of the atoms in the molecule, as given in the following equations: mi xi = fi (x1 , x2 , . . . , xn ), fi (x1 , x2 , . . . , xn ) = −∂E(x1 , x2 , . . . , xn )/∂xi ,
i = 1, 2, . . . , n,
(5.1)
where mi and fi are the mass and force of atom i, respectively, and E is the potential energy. 125
April 28, 2008
126
B598
ch05
FA
Computational Structural Biology
The solution to Eq. (5.1) is in general not unique, unless additional conditions are given. Two types of conditions are often imposed on the solution: conditions on the initial positions and velocities of the atoms, or conditions on the initial and ending positions of the atoms. The former are called initial conditions, and the latter are called boundary conditions. The problem of solving Eq. (5.1) with a set of initial conditions is called an initialvalue problem, and the problem with a set of boundary conditions is called a boundaryvalue problem. 5.1.1. Leastaction principle Based on the theory of classical mechanics, the trajectory of molecular motion between two molecular states minimizes the total action of the molecule. More speciﬁcally, let x(t) be the conﬁguration of the molecule at time t, x = {xi : xi = (xi,1 , xi,2 , xi,3 )T , i = 1, 2, . . . , n}. Given the beginning and ending times t0 and te , respectively, x(t) in [t0 , te ] deﬁnes a molecular trajectory connecting the two molecular states x0 = x(t0 ) and xe = x(te ). Let L(x, x , t) be the difference between the kinetic and potential energies of the molecule at time t. The functional L is called the Lagrangian of the molecule. Let S be the action of the molecule in [t0 , te ]. Then, S is deﬁned as the integral of the Lagrangian in [t0 , te ]. According to the leastaction principle, the trajectory x minimizes the action S of the system along x, and therefore x is a solution to the socalled leastaction problem: te min S(x) = L(x, x , t) dt. (5.2) t0
5.1.2. Principle of variation Let L be a continuously differentiable functional. Let x be a solution to the leastaction problem. Let δx be a small variation of x, and δx(t0 ) = δx(te ) = 0. Based on the principle of variation (Fig. 5.1), the necessary condition for x to be a solution of the leastaction problem is that te ∂L(x, x , t) ∂L(x, x , t) δS = δx + (5.3) δx dt = 0. ∂x ∂x t0
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 127
Fig. 5.1. Principle of variation. A small variation of the trajectory results in a small variation in the action.
Since δx = δ dx/dt = dδx/dt, we obtain, after integrating the second term of the integrand by parts, te d ∂L(x, x , t) ∂L(x, x , t) − δxdt = 0. (5.4) δS = ∂x dt ∂x t0 Since δS should be zero for all δx, the integrand must be zero, and it follows that ∂L(x, x , t) d ∂L(x, x , t) − = 0. (5.5) ∂x dt ∂x The above equation is the famous Euler–Lagrange equation in classical mechanics. 5.1.3. Equation for molecular motion Let L = xT Mx /2 − E(x), where M is the mass matrix of the molecule and E is the potential energy. Based on the results in the previous section and on the facts that d(∂L/∂x )/dt = Mx and ∂L/∂x = −∇E, then x necessarily satisﬁes the following equation of motion: Mx = −∇E(x),
(5.6)
or equivalently, mi xi = fi (x1 , x2 , . . . , xn ),
fi = −∂E/∂xi ,
i = 1, 2, . . . , n, (5.7)
April 28, 2008
128
B598
ch05
FA
Computational Structural Biology
M
F Fig. 5.2. Newton’s law of motion. The mass M multiplied by the acceleration of the mass should be equal to the force F .
where, again, mi and fi are the mass and force for atom i , respectively, and M = diag[m1 , m2 , . . . , mn ] (Fig. 5.2). Note that the above results imply that a molecular trajectory which minimizes the molecular action between two molecular states necessarily satisﬁes the classical mechanical equation of motion. In other words, the solution of the equation of motion can be considered as an attempt to obtain a molecular trajectory that minimizes the action of the molecule on the entire trajectory. 5.1.4. Force ﬁeld calculation To compute the forces on the atoms, we need to differentiate the energy function. Let f = {fi : fi = (fi,1 , fi,2 , fi,3 )T , i = 1, 2, . . . , n}. Then, f is equal to the negative gradient of the energy function E. The computation of the energy function generally requires an order of n2 ﬂoatingpoint operations because it has an order of n2 pairwise interaction terms such as the electrostatic and van der Waals potential terms. Without loss of generality, let us assume that the energy function has the following form: E=
n
hi,j (xi − xj ),
(5.8)
i=1,j>i
with an order of n2 interaction terms dependent on the distances between pairs of atoms in the molecule. Then, one energy function evaluation requires an order of n2 ﬂoatingpoint operations.
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 129
Computing the gradient of a function usually requires n times the order of operations required for one function evaluation, but because the energy function E is partially separable, the computation of the gradient can actually be arranged to require the same number of ﬂoatingpoint operations as for one energy function evaluation (on the order of n2 ﬂoatingpoint operations). In fact, the partial derivatives of E have the following form: n k hj,k (xk − xj )xk hi,k (xi − xk )xk ∂E − , = ∂xk xk − xj  xi − xk  j=k+1
i=1
k = 1, 2, . . . , n.
(5.9)
Therefore, each gradient computation requires only an order of n ﬂoatingpoint operations.
5.2. InitialValue Problem The dynamic properties of a protein can be studied by forming an initialvalue problem with the equation of motion. Typically, the problem is deﬁned as mi xi = fi (x1 , x2 , . . . , xn ), xi (t0 ) = xi0 ,
vi (t0 ) = v0i ,
i = 1, 2, . . . , n,
(5.10)
where xi and vi are the positions and velocities of the atoms, respectively, and vi = dxi /dt; and mi and fi are the masses and forces, respectively, and fi = −∂E/∂xi . Usually, the equation of motion has inﬁnitely many solutions. However, with a set of initial conditions as given, a unique solution can usually be obtained. 5.2.1. Initial positions and velocities The conditions for the initial positions can be obtained by assigning an appropriate set of coordinates for the atoms, for example, the coordinates of the atoms determined from Xray crystallography or
April 28, 2008
130
B598
ch05
FA
Computational Structural Biology
nuclear magnetic resonance (NMR) experiments. The conditions for the initial velocities depend on the temperature, for example, a room temperature or a physiological temperature. The temperature is correlated with the average velocities of the atoms. Let T be the temperature. Then, the average kinetic energy of the molecule should be 3nkB T/2, where kB is the Boltzmann constant and n is the number of atoms in the molecule. Let vi be the velocity vector of atom i. The kinetic energy of atom i is mi vi 2 /2, and the total kinetic energy of the molecule is n Ek =
2 i=1 mi vi 
2
(5.11)
.
In order to generate a set of initial velocities so that the expected kinetic energy equals 3nkB T/2, we can ﬁrst generate each vi so that vi has a normal distribution N(µ, σ) with mean µ = 0 and variance σ 2 = 3kB T/mi , i.e. vi 2 = 3kB T/mi . Then, by the central limit theorem, the expected kinetic energy of the molecule will equal the sum of the expected values of mi vi 2 /2. We then have n Ek =
i=1 mi vi 
2
2
=
3nkB T . 2
(5.12)
5.2.2. The Verlet algorithm Verlet (1967) developed an algorithm, now called the Verlet algorithm, for numerically integrating the equation of motion in problem (5.10), starting with the initial positions and velocities for the atoms. There are two versions of this algorithm, the position Verlet and velocity Verlet, as given by the following formulas: xik+1 = 2xik − xik−1 + Position Verlet
h2 fik , mi
hfik , mi i = 1, 2, . . . , n, k = 1, 2, . . . vk+1 = vki + i
(5.13)
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 131
xik+1 = xik + hvki +
h2 fik , 2mi
h(fik + fik+1 ) , 2mi i = 1, 2, . . . , n, k = 0, 1, . . . = vki + vk+1 i
Velocity Verlet
(5.14)
where h is the step size, xik = xi (tk ), vki = vi (tk ), and fik = fi (x1k , x2k , . . . , xnk ), with tk = t0 + kh (Fig. 5.3). If we put the formulas into vector forms, we have xk+1 = 2xk − xk−1 + h2 M −1 f k , Position Verlet
vk+1 = vk + hM −1 f k ,
(5.15)
k = 1, 2, . . . xk+1 = xk + hvk + Velocity Verlet
vk+1 = vk + k = 1, 2, . . .
h2 M −1 f k , 2
hM −1 (f k + f k+1 ) , 2
(5.16)
where x = {xi , i = 1, 2, . . . , n}, v = {vi , i = 1, 2, . . . , n}, f = {fi , i = 1, 2, . . . , n}, M = diag[m1 , m2 , . . . , mn ], xk = x(tk ), vk = v(tk ), and f k = f(xk ).
x
x(t) x k +1 xk
tk tk +1
t
Fig. 5.3. Numerical method. The trajectory is discretized over a set of time intervals, where the points on the trajectory can be approximately calculated.
April 28, 2008
132
B598
ch05
FA
Computational Structural Biology
We now examine the accuracy of the Verlet formulas. We ﬁrst consider the position Verlet formula. Based on the Taylor theory, x(tk + h) = x(tk ) + hx (tk ) +
h2 x (tk ) h3 x(3) (tk ) + + (h4 ) (5.17) 2 6
and x(tk − h) = x(tk ) − hx (tk ) +
h2 x (tk ) h3 x(3) (tk ) − + (h4 ). (5.18) 2 6
By adding the two formulas, we obtain x(tk + h) − x(tk − h) = 2x(tk ) + h2 x (tk ) + (h4 ),
(5.19)
which is equivalent to xk+1 = 2xk − xk−1 + h2 M −1 f k + (h4 ).
(5.20)
Without the (h4 ) term, the formula is the same as the position update in the position Verlet formula. Therefore, the position Verlet has a fourthorder accuracy for the calculation of the positions. However, the Taylor expansion for the velocity at tk is v(tk + h) = v(tk ) + hv (tk ) + (h2 ),
(5.21)
which is equivalent to vk+1 = vk + hM −1 f k + (h2 ).
(5.22)
Again, without the (h2 ) term, the formula is the same as the velocity update in the position Verlet formula. Therefore, the position Verlet has a secondorder accuracy for the calculation of the velocities. We now consider the velocity Verlet formula. It is easy to see that the position update in the velocity Verlet formula is a thirdorder approximation, because it contains terms up to the second order in the Taylor expansion of the position: x(tk + h) = x(tk ) + hx (tk ) +
h2 x (tk ) + (h3 ), 2
(5.23)
which is equivalent to xk+1 = xk + hvk +
h2 M −1 f k + (h3 ). 2
(5.24)
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 133
For the velocity update, the Taylor expansions of the velocity at tk and tk − h are v(tk + h) = v(tk ) + hv (tk ) +
h2 v (tk ) + (h3 ) 2
(5.25)
h2 v (tk + h) + (h3 ). 2
(5.26)
and v(tk ) = v(tk + h) − hv (tk + h) +
By subtracting the second formula from the ﬁrst, we obtain v(tk + h) = v(tk ) +
h[v (tk ) + v (tk + h)] + (h3 ), 2
(5.27)
hM −1 [f k + f k+1 ] + (h3 ). 2
(5.28)
or equivalently, vk+1 = vk +
Without the (h3 ) term, the formula is the same as the velocity update in the velocity Verlet formula. Therefore, the velocity Verlet has a thirdorder accuracy for the calculation of the velocities. Although the position Verlet has a higher accuracy for the calculation of the positions, the velocity Verlet has a higher accuracy for the calculation of the velocities while not losing much accuracy for the positions. The latter also has more favorable properties for preserving the energy and volume of the system, and is therefore preferred in practice. In any case, to maintain the accuracy of the calculation, the step size in the Verlet updates has to be small, on the order of femtosecond (1.0 × 10−15 second). This limits the application of molecular dynamics simulation for protein motions with long time frames. For example, a nanosecond simulation would require about one million steps of calculation, while many protein motions such as folding require more than milliseconds to complete. On the other hand, at every step of the Verlet algorithm, the forces on the atoms have to be calculated at least once. Each force ﬁeld evaluation requires an order of n2 ﬂoatingpoint operations if no
April 28, 2008
134
B598
ch05
FA
Computational Structural Biology
approximation methods are used. For proteins, n is on the order of 10 000, and therefore one force ﬁeld evaluation may require an order of 100 million ﬂoatingpoint operations. 5.2.3. Leapfrog algorithm The leapfrog algorithm is almost the same as the Verlet algorithm, except that the points chosen for evaluating the positions and the velocities crossover with each other. Let k − 12 or k + 12 be indices for the middle points between points k − 1 and k, and between points k and k + 1. Then, the leapfrog versions of the position and velocity Verlet algorithms have the following update formulas: 1
xk+ 2 = xk +
hvk , 2 1
vk+1 = vk + hM −1 f k+ 2 , 1 hvk+1 xk+1 = xk+ 2 + . 2
Position leapfrog
(5.29)
1
vk+ 2 = vk + hM −1 f k , 1
xk+1 = xk + hvk+ 2 , 1 hM −1 f k+1 vk+1 = vk+ 2 + . 2
Velocity leapfrog
(5.30)
The above formulas can also be reorganized into the following simpler forms: 1
x Position leapfrog
k+1
h2 M −1 f k+ 2 , = x + hv + 2 k
k
1
vk+1 = vk + hM −1 f k+ 2 . 1
(5.31)
1
vk+ 2 = vk− 2 + hM −1 f k , Velocity leapfrog x
k+1
= x + hv k
k+ 12
(5.32) .
The advantage of using the leapfrog algorithms is that they maintain better numerical properties.
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 135
5.2.4. Shake and Rattle A Verlet algorithm such as the velocity Verlet preserves the energy and volume of the molecule and exhibits reasonable numerical stability for the simulation of relatively long time frames. However, the simulation has to be carried out with a small time step (in the order of 1.0×10−15 second) to keep up with the rapid atomiclevel movements. The potential of simulating molecular motions over longer time scales beyond nanoseconds has therefore been limited. For proteins, the bonding forces are believed to be among those responsible for the fast atomic vibrations that require small time steps to integrate. Therefore, one of the approaches to increase the step size and hence the simulation speed is to remove the bonding forces from the force ﬁeld while enforcing them through a set of bond length constraints. The simulation can then be done by integrating the constrained equation of motion with larger time steps. Let g = {gj : j = 1, 2, . . . , m} be a vector of functions that can be used to deﬁne the constraints on a molecule. Let x(t) be the conﬁguration of the molecule at time t, x = {xi : xi = (xi,1 , xi,2 , xi,3 )T , i = 1, 2, . . . , n}, where xi is the position vector of atom i and n is the total number of atoms in the molecule. The constrained simulation problem can then be formulated as a constrained leastaction problem: te min S(x) = L(x, x , t) dt subject to g(x) = 0, (5.33) t0
where S deﬁnes the action and L is the Lagrangian. By the theory of constrained optimization, a necessary condition for a molecular trajectory x between x0 and xe to be a solution of the constrained leastaction problem is that δS(x) −
m
λj δgj (x) = 0,
g(x) = 0,
(5.34)
j=1
where λ = {λi : i = 1, 2, . . . , m} is a vector of Lagrange multipliers.
April 28, 2008
136
B598
ch05
FA
Computational Structural Biology
The ﬁrst equation in formula (5.34) translates further into the following extended form of the Euler–Lagrange equation: m ∂L(x, x , t) d ∂L(x, x , t) − λj ∇gj (x) = 0. − dt ∂x ∂x
(5.35)
j=1
Let L = xT Mx /2 − E(x), where M is the mass matrix of the molecule and E is the potential energy. Then, the necessary condition becomes Mx = −∇E(x) −
m
λj ∇gj (x),
g(x) = 0,
(5.36)
j=1
or in another form, Mx = −∇E(x) − G(x)T λ,
g(x) = 0,
(5.37)
where G(x) is the Jacobian of g(x), G = [∇g1 , ∇g2 , . . . , ∇gm ]T . For each atom, the equation can be written individually as mi xi
= fi (x1 , x2 , . . . , xn ) +
m
λj gji (x1 , x2 , . . . , xn ),
j=1
gj (x1 , x2 , . . . , xn ) = 0, j = 1, 2, . . . , m, i = 1, 2, . . . , n, (5.38) where fi = −
∂E , ∂xi
gji = −
∂gj , ∂xi
j = 1, 2, . . . , m,
i = 1, 2, . . . , n.
Note that in formula (5.38), the righthand side of the ﬁrst equation can be treated as a single force function (with the original force function plus a linear combination of the derivatives of the constraint functions). Therefore, the equation can be integrated in the same way as an unconstrained equation by the Verlet algorithm, except that at every step, the Lagrange multipliers λj , j = 1, 2, . . . , m, have to be determined so that the new positions xi , i = 1, 2, . . . , n, for the atoms must satisfy the constraints gj (x1 , x2 , . . . , xn ) = 0 and j = 1, 2, . . . , m.
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 137
Indeed, several algorithms have been developed along this line, including the socalled Shake and Rattle algorithms, which correspond to the position and velocity Verlet algorithms for unconstrained simulation, respectively. Shake
k k h2 fik + m j=1 λj gji
xik+1 = 2xik − xik−1 + mi k gk λ h fik + m j=1 j ji , = vki + vk+1 i mi gj (x1k+1 , x2k+1 , . . . , xnk+1 ) = 0, Rattle
, (5.39)
j = 1, 2, . . . , m,
i = 1, 2, . . . , n.
k gk h2 fik + m λ j=1 j ji
xik+1 = xik + hvki + , 2mi
(5.40) k gk + λk+1 gk+1 h fik + fik+1 + m λ j=1 j ji j ji = vki + , vk+1 i 2mi gj (x1k+1 , x2k+1 , . . . , xnk+1 ) = 0,
j = 1, 2, . . . , m,
i = 1, 2, . . . , n.
In vector form, the formulas can be written as follows. Shake
xk+1 = 2xk − xk−1 + h2 M −1 f k + vk+1 = vk + hM −1 f k +
m
λkj ∇gjk ,
j=1 m
λkj ∇gjk ,
j=1
gj (xk+1 ) = 0,
j = 1, 2, . . . , m.
(5.41)
April 28, 2008
138
B598
ch05
FA
Computational Structural Biology
Rattle xk+1 = xk + hvk +
k ∇gk h2 M −1 f k + m λ j=1 j j 2
k+1
v
=v + k
hM −1 f k + f k+1 +
, (5.42)
m j=1
k+1 λkj ∇gjk + λk+1 j ∇gj
2 k+1 gj (x ) = 0,
,
j = 1, 2, . . . , m,
In principle, the Shake and Rattle algorithms can be used for any type of constrained dynamics simulation. In other words, the constraints can be of any type and be imposed on any part of the molecule. However, for proteins, they have been employed particularly to control fast atomic vibrations by imposing a set of constraints on the bond lengths. The time step for protein simulation can then be increased severalfold.
5.3. BoundaryValue Problem Some protein motions such as transitions in protein conformation, protein misfolding, etc. can be simulated by forming a boundaryvalue problem with the equation of motion. The boundary conditions are the initial and ending positions of the atoms in the protein. A solution to the boundaryvalue problem is a trajectory along which the protein moves from one conformation to another. In contrast to the initialvalue problem, the solution to a boundaryvalue problem, depending on the given conditions, may not exist; and even if it does, it may not necessarily be unique. 5.3.1. Initial and ending positions Given the initial and ending positions for the atoms or, in other words, the initial and ending conformations of a protein, 0 0 0 T x0 = {xi0 = (xi,1 , xi,2 , xi,3 ) , i = 1, 2, . . . , n}, e e e T , xi,2 , xi,3 ) , i = 1, 2, . . . , n}, xe = {xie = (xi,1
(5.43)
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 139
a boundaryvalue problem for determining a molecular trajectory for the equation of motion that connects the initial and ending conformations of the protein can be expressed formally as mi xi = fi (x1 , x2 , . . . , xn ), xi (t0 ) = xi0 ,
xi (te ) = xie ,
i = 1, 2, . . . , n,
(5.44)
where t0 and te are the beginning and ending times, respectively. Usually, t0 can be set to 0, and te needs to be determined. If a physical experiment has been conducted, te can be measured from the experiment. Otherwise, it can be taken as a variable to be determined in the solution. In the latter case, additional condition on the solution may be necessary; for example, te needs to be selected so that the total energy along the solution trajectory can be minimized. Due to the nonlinearity of the equation of motion for a protein, it is hard to verify, given a set of boundary conditions, whether or not a solution to the boundaryvalue problem exists; and if it does, whether or not it is unique. The problem is therefore illposed and may suffer from severe numerical instability when solved by a computer with ﬁnite precision, and the solution will also be sensitive to errors in the given conditions. 5.3.2. Finite difference A conventional approach to boundaryvalue problems is to discretize the time interval into a ﬁnite set of subintervals and make a ﬁnite difference approximation to the equation at each discretized point. Let the time interval [t0 , te ] be divided uniformly into N subintervals [t0 , t1 ], [t1 , t2 ], . . . , [tN−1 , tN ], with tN = te . Let xik = xi (tk ), i = 1, 2, . . . , n, k = 0, 1, . . . , N. Then, a ﬁnite difference approximation to each of the equations in system (5.44) can be made as xik+1 − 2xik + xik−1 fik = , mi h2
i = 1, 2, . . . , n,
1 ≤ k < N,
(5.45)
where h is the length of the subintervals. The approximations form a system of algebraic equations for the function values xik = xi (tk ) at
April 28, 2008
140
B598
ch05
FA
Computational Structural Biology
the discretized points tk . The solution to this system can be used as an approximation to the solution to the original system of differential equations. However, since fik are nonlinear functions of x1k , x2k , . . . , xnk , the equations are nonlinear, and a nonlinear solver must be used for the solution of the system. If we put Eq. (5.45) in vector form, we can obtain a more compact system: xk+1 − 2xk + xk−1 = M −1 f k , 1 ≤ k < N, (5.46) h2 where x = {xi , i = 1, 2, . . . , n}, f = {fi , i = 1, 2, . . . , n}, M = diag[m1 , m2 , . . . , mn ], xk = x(tk ), and f k = f(xk ). By solving Eq. (5.46) for xk+1 , we can obtain a formula similar to the position update in the position Verlet formula. Therefore, the equation is in a certain sense accurate for the position to the fourth order. However, for the second derivative, i.e. for the entire lefthand side of the equation, the accuracy is second order. To see this, let 2 x(tk ) =
xk+1 − 2xk + xk−1 . h2
(5.47)
We can then estimate the error τ(tk ) = 2 x(tk ) − x (tk ) by following a similar argument as for the proof of the fourthorder accuracy of the position update of the position Verlet formula. Based on that proof, x(tk + h) − x(tk − h) = 2x(tk ) + h2 x (tk ) + (h4 ).
(5.48)
It follows immediately that xk+1 − 2xk + xk−1 = x (tk ) + (h2 ), h2
(5.49)
and τ(tk ) = 2 x(tk ) − x (tk ) = (h2 ). 5.3.3. Stochastic path following The approximation to the equation of motion by the ﬁnite difference method requires a small time step to preserve the accuracy. As a result, there can be many intermediate points and hence many variables
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 141
for even a short trajectory. The stochastic pathfollowing approach attempts to make large time steps while using optimization methods to control the approximation errors. Let the time interval [t0 , te ] be divided uniformly into N subintervals [t0 , t1 ], [t1 , t2 ], . . . , [tN−1 , tN ], with tN = te . Let xik = xt (tk ), i = 1, 2, . . . , n, k = 0, 1, . . . , N. Then, xik = xt (tk ) can be determined via the solution of the following least squares problem: min
n N−1 k=1 i=1
xik+1 − 2xik + xik−1 fik − mi h2
2 ,
(5.50)
where h is the length of the subintervals or the step size. The idea of stochastic path following is not simply to reformulate the ﬁnite difference equation (5.49) as a least squares problem (5.50). In fact, the ﬁnite difference formula is only used to make a coarse approximation to the equation, and the step size can actually be arbitrarily large, depending on how coarse the approximation is intended to be. The resulting error from such an approximation is assumed to be stochastically subject to a Gaussian distribution, and can therefore be minimized in a least squares form. The advantage of using the stochastic pathfollowing method is the ability to skip the detailed dynamic behaviors while tracking the motions only at a certain coarse level. By doing so, the method can be applied to molecular motions across much longer time scales than the conventional ﬁnite difference method. In fact, proteins do have motions on different time scales. For large protein motions, it makes sense to focus on motions on a large time scale. The stochastic pathfollowing method has proven to be a scheme that can be used for such a purpose. In any case, the variables in the least squares formulation of the stochastic pathfollowing method include not only the coordinate vectors of the atoms, but the vectors at all of the intermediate points on the solution trajectory. Therefore, the total number of variables is N–1 times more than the number of variables at one molecular point. The least squares problem is also a global optimization problem and can in general be difﬁcult to solve.
April 28, 2008
142
B598
ch05
FA
Computational Structural Biology
5.3.4. Multiple shooting The idea of shooting is to ﬁnd the molecular trajectory between two molecular states by mimicking the process of shooting a basketball from a given position to a target position by choosing the correct initial speed and direction for the ball. Let x(t) be the position of a basketball at time t, m the mass, and f(x) the force at position x. Then, x can be obtained as the solution to a boundaryvalue problem, mx = f(x),
x(t0 ) = x0 ,
x(te ) = xe ,
(5.51)
where t0 and te are the beginning and ending times, respectively; and x0 and xe are the beginning and ending positions, respectively. In order to ﬁnd a solution to problem (5.51), ﬁrst, let x be the solution to the following initialvalue problem: mx = f(x),
x(t0 ) = x0 ,
v(t0 ) = v0 .
(5.52)
Then, x(t) depends on the initial velocity v0 , and can be written as x(t) = x(t; v0 ) and considered as a function of v0 . For an arbitrary v0 , x(t) may not necessarily satisfy the ending condition, x(te ) = xe in problem (5.51). In order to ﬁnd such a solution or, in other words, to ﬁnd a solution to the original boundaryvalue problem, we need to ﬁnd an appropriate v0 so that x(te ) = x(te ; v0 ) = xe . Let φ(v0 ) = x(te ) − xe = x(te ; v0 ) − xe . Then, the problem becomes ﬁnding v0 so that φ(v0 ) = 0. In general, let x be a vector, M be a mass matrix, and f be the force ﬁeld. We then have a nonlinear system of equations ϕ(v0 ) = x(te ; v0 ) − xe = 0,
(5.53)
where v0 and xe are all vectors, and Mx = f(x),
x(t0 ) = x0 ,
v(t0 ) = v0 .
(5.54)
By solving Eq. (5.53), we can ﬁnd the solution to a general boundaryvalue problem: Mx = f(x),
x(t0 ) = x0 ,
v(t0 ) = xe .
Such a method is called the singleshooting method (Fig. 5.4).
(5.55)
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 143
x1
x
x1 x0
v0 v0
t Fig. 5.4. Single shooting. The initial velocity is adjusted (or determined) so that the end position of the trajectory is equal to the given position.
The singleshooting method is not stable. We can imagine that if the time is long or, in other words, if the distance is long, the “shot” will be very sensitive to changes in the initial velocity and will have difﬁculty reaching the target accurately. To overcome this difﬁculty, we can divide the time interval into smaller subintervals, and make the shootings separately within the subintervals. Then, the positions and velocities of the solution trajectory at the intermediate points are of course all unknown. We need to determine them so that the solution trajectories obtained in the subintervals can be connected into a smooth trajectory over the entire interval. The method for obtaining such a trajectory is called the multipleshooting method. For a general description of the multipleshooting method, we write the problem in the following form, without the mass matrix: x = f(x),
x(t0 ) = x0 ,
x(te ) = xe .
(5.56)
We ﬁrst divide the time interval [t0 , te ] uniformly into N subintervals [t0 , t1 ], [t1 , t2 ], . . . , [tN−1 , tN ], with tN = te . Then, on each subinterval [ti , ti+1 ], 0 ≤ i < N, we solve an initialvalue problem: x = f(x),
x(ti ) = r (i) ,
v(ti ) = s(i) ,
ti ≤ t ≤ ti+1 .
(5.57)
Let the solution be denoted by x(i) (t; r (i) ; s(i) ). Then, in the entire interval, x(t) ≡ x(i) (t; r (i) ; s(i) ),
ti ≤ t ≤ ti+1 ,
0 ≤ i < N.
(5.58)
April 28, 2008
144
B598
ch05
FA
Computational Structural Biology
Here, we need to ﬁnd r = [r (0) ; r (1) ; . . . ; r (N−1) ] and s = such that
[s(0) ; s(1) ; . . . ; s(N−1) ]
x(i) (ti+1 ; r (i) ; s(i) ) = r (i+1) ,
0 ≤ i < N − 1,
v(i) (ti+1 ; r (i) ; s(i) ) = s(i+1) ,
(5.59)
and x(0) (t0 ; r (0) ; s(0) ) = x0 , x(N−1) (tN ; r (N−1) ; s(N−1) ) = xe (see Fig. 5.5). If we deﬁne a vector function F such that
x(0) (t1 ; r (0) ; s(0) ) − r (1)
v(0) (t1 ; r (0) ; s(0) ) − s(1) .. . F(r; s) ≡ x(N−2) (tN−1 ; r (N−2) ; s(N−2) ) − r (N−1) , (N−2) v (tN−1 ; r (N−2) ; s(N−2) ) − s(N−1) x(0) (t0 ; r (0) ; s(0) ) − x0
(5.60)
x(N−1) (tN ; r (N−1) ; s(N−1) ) − xe then we essentially need to determine (r; s) such that F(r; s) = 0. The latter can be solved by using a conventional nonlinear equation solver, say, the Newton method.
x (ψ j , ψ j )
x0
xm
(x j1,v j1)
t Fig. 5.5. Multiple shooting. The trajectory is divided into a set of subtrajectories, whose initial positions and velocities are adjusted (or determined) so that the resulting trajectories can be pieced together smoothly.
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 145
Note that solving the system of equations F(r; s) = 0 is not trivial. First, it in fact has N subsystems, x(i) (ti+1 ; r (i) ; s(i) ) − s(i+1) = 0, v(i) (ti+1 ; r (i) ; s(i) ) − r (i+1) = 0,
0 ≤ i < N − 1,
(5.61)
and x(0) (t0 ; r (0) ; s(0) ) − x0 = 0, x(N−1) (tN ; r (N−1) ; s(N−1) ) − xe = 0,
(5.62)
where each subsystem in turn has 6n equations. There are a total of 6nN equations. The variables include the initial position and velocity vectors of the solution trajectory in all of the subintervals. Therefore, the total number of variables is also 6nN. For proteins, n is typically on the order of 10 000. Therefore, if the interval is divided into 100 subintervals, there will be a system of one million equations with one million variables to solve for. Suppose that each subinterval has a length of 10 ps. A nanosecond trajectory would require the solution of a system of roughly this size. However, the system can be solved more efﬁciently than it looks. First, each of the equations in the system has only a small subset of all variables, and therefore the Jacobian of F is very sparse. By exploiting the sparse structure of the problem, the calculations can be signiﬁcantly reduced. Second, the evaluation of the equations in each subsystem requires the solution of an initialvalue problem in the corresponding time subinterval. While evaluating the equations for all of the subsystems would take a substantial amount of computing time, the evaluations of the equations of the subsystems are independent of each other, and can be carried out in parallel on their own subintervals. The latter property makes the multipleshooting method more scalable and hence more efﬁcient on parallel computers than conventional molecular dynamics simulation schemes.
5.4. Normal Mode Analysis Another important computational method for the study of protein dynamics is normal mode analysis. When a protein reaches an
April 28, 2008
146
B598
ch05
FA
Computational Structural Biology
equilibrium state, the atoms still vibrate around their equilibrium positions, resulting in overall protein structural ﬂuctuations. The ﬂuctuations of the structure can certainly be observed through conventional molecular dynamics simulation, but they can also be studied using a more efﬁcient method such as normal mode analysis. 5.4.1. Equilibrium state approximation The dynamic behavior of a protein of n atoms is described by a system of equations of motion as we have discussed in the previous sections, Mx = −∇E(x),
(5.63)
where M is the mass matrix, E is the potential energy function, and x contains the coordinates of the atoms. For the purpose of the following discussions, we put the coordinates of the atoms in a single vector and write x = {xi : i = 1, 2, . . . , 3n}. Assume that the energy at the equilibrium state x0 is equal to zero. Then, around the equilibrium state, the energy function can be approximated by a secondorder Taylor expansion: E(x) ≈ xT Hx/2,
H = ∇ 2 E(x0 ),
(5.64)
where x = x − x0 . It follows from Eq. (5.63) that Mx = −Hx.
(5.65)
Based on this equation, at equilibrium, a protein structure ﬂuctuates as if the protein is governed by a harmonic potential around the equilibrium state, and the force ﬁeld becomes approximately linear (see Fig. 5.6). The equation can then be solved analytically through the singular value decomposition of the Hessian matrix H. 5.4.2. Normal modes Let U U T be the singular value decomposition of H, where U is an orthogonal matrix, UU T = M, and = diag[ 1 , 2 , . . . , 3n ]. Then,
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 147
y E(x)
x Fig. 5.6. Equilibrium state approximation. At an equilibrium state, i.e. energy minimum, the energy function can be deﬁned by using a quadratic approximation.
Eq. (5.65) becomes, UU T x = −U U T x.
(5.66)
Let y = U T x. The equation can further be written as y = − y,
(5.67)
or equivalently, yj = − j yj ,
j = 1, 2, . . . , 3n.
(5.68)
The solutions to the above equations can easily be obtained as yj (t) = αj cos(ωj t + βj ),
j = 1, 2, . . . , 3n,
(5.69)
and then, xi (t) =
3n
Ui,j αj cos(ωj t + βj ),
i = 1, 2, . . . , 3n.
(5.70)
j=1
Here, the jth component of the sum is called the jth mode of the 1
motion. The frequency of the jth mode ωj = j2 with αj and βj can be determined by the system’s initial conditions. Let a set of initial conditions of the system be given as follows: xi (0) = 0,
vi (0) = v0i ,
i = 1, 2, . . . , 3n.
(5.71)
April 28, 2008
148
B598
ch05
FA
Computational Structural Biology
Then, 3n
Ui,j αj cos(βj ) = 0,
j=1 3n
i = 1, 2, . . . , 3n. Ui,j αj ωj sin(βj ) =
(5.72)
v0i ,
j=1
By solving the ﬁrst set of equations, 3n
Ui,j αj cos(βj ) = 0,
i = 1, 2, . . . , 3n,
j=1
for αj cos(βj ), we obtain αj cos(βj ) = 0,
j = 1, 2, . . . , 3n.
(5.73)
By solving the second set of equations, 3n
Ui,j αj ωj sin(βj ) = v0i ,
i = 1, 2, . . . , 3n,
j=1
for αj sin(βj ), we obtain αj sin(βj ) = ωj−1
3n
Ui,j v0i ,
j = 1, 2, . . . , 3n.
(5.74)
i=1
By combining Eqs. (5.73) and (5.74), we have π βj = , 2
αj =
ωj−1
n
Ui,j v0i ,
j = 1, 2, . . . , 3n.
(5.75)
i=1
We then see that the amplitude αj of the motion in the jth mode is inversely proportional to the frequency ωj of the corresponding mode. Therefore, the larger the frequency ωj , i.e. the faster the mode, the smaller the amplitude αj .
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 149
5.4.3. Thermodynamic properties Based on the solution to the approximated equation of motion at equilibrium, the potential and kinetic energies of the molecule can be expressed as 1 1 1 T j yj2 , x Hx = yT y = 2 2 2
(5.76)
1 1 2 1 T y j , x Mx = yT y = 2 2 2
(5.77)
3n
Ep =
j=1
3n
Ek =
j=1
respectively. Based on the theory of classical dynamics, the timeaveraged potential or kinetic energy for each mode should be equal to kB T/2, where kB is the Boltzmann constant and T is the temperature. Therefore, 1 1 j yj2 = kB T, 2 2 1 1 2 y j = kB T. 2 2
(5.78) (5.79)
It follows from either case that α2j =
2kB T −1 j
=
2kB T ωj−2
.
(5.80)
Two important thermodynamic properties can be calculated from the solution to the approximated equation of motion: the correlations among the dynamic modes and among the atomic ﬂuctuations. The correlation between two given modes can be calculated by using the formula 1 τ yi yj = lim yi (t)yj (t) dt, (5.81) τ→∞ τ 0 and the correlation between the ﬂuctuations of two atoms by 1 τ xi (t)xj (t) dt. (5.82) xi xj = lim τ→∞ τ 0
April 28, 2008
150
B598
ch05
FA
Computational Structural Biology
It follows that yi yj =
0, i = j, 2 αi /2, i = j,
1 3n
and xi xj =
2 1 2
2 k=1 Ui,k Uj,k αk , 3n 2 k=1 Ui,k Ui,k αk ,
(5.83) i = j, i = j.
(5.84)
In particular, 3n 3n 1 2 Ui,j αj Ui,j = kB T Ui,j −1 xi xi = j Ui,j , 2 j=1
j=1
i = 1, 2, . . . , 3n,
(5.85)
and are called the mean square ﬂuctuations of the atoms. From the above formulas, we see that the atomic ﬂuctuations are collections of motions of different modes, and the modes with smaller singular values make larger contributions to the ﬂuctuations. Therefore, in practice, assuming that the singular values are given in an increasing order, a good approximation to the calculation of the ﬂuctuations can actually be obtained by using only the ﬁrst few terms in the formulas. 5.4.4. Gaussian network modeling The Gaussian network model is another approach for evaluating the ﬂuctuations of protein structures, especially at the residue level of the protein. The advantage of this approach is that it does not require the availability of an accurate energy function for evaluating the Hessian matrix. The energy function is obtained approximately by forming an elastic network model for the protein with its residue contact matrix. The normal modes are then calculated directly from the singular value decomposition of the contact matrix. This approach is also more efﬁcient than normal mode analysis because it models the system at a coarse level, and fewer modes are required for the estimation. In a coarse protein model, a residue is represented by a point such as the position of Cα or Cβ in the residue, and the protein is considered as a sequence of such points connected with strings. Given such a
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 151
Fig. 5.7. Gaussian network model. The residues in contact are connected with links (like springs).
model, a socalled contact map can be constructed to show how the residues in the protein interact with each other. The map is represented by a matrix with its i,j entry equal to −1 if the residues i and j are within, say, 7 Å distance, and to 0 otherwise. The contact matrix can be used to compare different proteins. Similar contact patterns often imply structural or functional similarities between proteins (Fig. 5.7). When a protein reaches its equilibrium state, the residues in contact can be considered as a set of masses connected with springs. A simple energy function can then be deﬁned using the contact matrix of the protein. Suppose that a protein has n residues with n coordinate vectors xi = (xi1 , xi2 , xi3 ), i = 1, 2, . . . , n. Let be the contact matrix for the protein in its equilibrium state: −1, xi − xj  ≤ 7 Å i = j = 1, 2, . . . , n, i,j = 0, otherwise (5.86) n i,i = − i,j , i = j. j=1
April 28, 2008
152
B598
ch05
FA
Computational Structural Biology
Then, a potential energy function E for the protein can be deﬁned such that for any vector x = (x1 , x2 , . . . , xn )T of the displacements of the residues from their equilibrium positions, E(x) =
1 k xT x, 2
(5.87)
where k is a spring constant. According to statistical physics, the probability for the protein to have a displacement x at temperature T should then be subject to the Boltzmann distribution, 1 exp(−E(x)/kB T ) Z 1 = exp(−kxT x/2kB T ), Z
pT (x) =
(5.88)
where Z is the normalization factor and kB is the Boltzmann constant. With the above distribution function, we can ﬁnd the probabilities of the residues ﬂuctuating around their equilibrium positions and, in particular, estimate the mean square ﬂuctuations for the residues, xiT xi , i = 1, 2, . . . , n. The estimation requires only some simple linear algebraic calculations. In fact, let the singular value decomposition of be given as = U U T . Then, E(x) = and xiT xi
1 = Z
1 kxT U U T x 2
R3n
xiT xi exp
−E(x) dx kB T
T U U T x −kx dx xiT xi exp 3n 2kB T R 3kB T nj=1 Ui,j −1 j Ui,j . (5.89) = k 1 = Z
The above formula is very similar to the formula for calculating the atomic ﬂuctuations in normal mode analysis. In fact, it is not difﬁcult to verify that the residue ﬂuctuations predicted by the
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 153
Gaussian network model can also be obtained through normal mode analysis, with an energy function given at the residue level. Let x0 = {xi0 : i = 1, 2, . . . , n} be the equilibrium positions of the residues in the protein. Assume that the energy at x0 is equal to zero. Then, E(x) =
1 k xT x 2
(5.90)
for x = x0 +x. With this energy function, the formula for calculating the residue ﬂuctuations as shown in Eq. (5.89) can be derived in the same form from normal mode analysis.
Selected Further Readings Equation of motion Arnold VI, Weinstein A, Vogtmann K, Mathematical Methods of Classical Mechanics, Springer, 1997. Goldstein H, Poole CP, Safko JL, Classical Mechanics, AddisonWesley, 2002. Thornton ST, Marion JB, Classical Dynamics of Particles and Systems, Brooks Cole, 2003. Leach A, Molecular Modeling: Principles and Applications, Prentice Hall, 2001. Haile JM, Molecular Dynamics Simulation: Elementary Methods, Wiley, 2001. Schlick T, Molecular Modeling and Simulation: An Interdisciplinary Guide, Springer, 2003. MaCammon JA, Harvey SA, Dynamics of Proteins and Nucleic Acids, Cambridge University Press, 2004. Brooks III CL, Karplus M, Pettitt BM, Proteins: A Theoretical Perspective of Dynamics, Structure, and Thermodynamics, Advances in Chemical Physics, Vol. 71, Wiley, 2004.
Initialvalue problem Brooks BR, Bruccoleri RE, Olafson BD, States DJ, Swaminathan S, Karplus M, CHARMM: A program for macromolecular energy, minimization, and dynamics calculations, J Comput Chem 4: 187–217, 1983.
April 28, 2008
154
B598
ch05
FA
Computational Structural Biology
Case D, Darden T, Cheatham T, Simmerling C, Wang J, Duke R, Luo R, Merz K, Wang B, Pearlman B, Crowley M, Brozell S, Tsui V, Gohlke H, Mongan J, Hornak V, Cui G, Beroza P, Schafmeister C, Caldwell J, Ross W, Kollman P, AMBER 8, University of California, San Francisco, 2004. Verlet L, Computer experiments on classical ﬂuids. I. Thermo dynamical properties of Lennard–Jones molecules, Phys Rev 159: 98–103, 1967. McCammon JA, Gelin BR, Karplus M, Dynamics of folded proteins, Nature 267: 585–590, 1977. Karplus M, McCammon JA, Protein structural ﬂuctuations during a period of 100 ps, Nature 277: 578, 1979. McCammon JA, Wolynes PG, Karplus M, Picosecond dynamics of tyrosine side chains in proteins, Biochemistry 18: 927–942, 1979. Weiner S, Kollman P, Nguyen D, Case D, An allatom force ﬁeld for simulations of proteins and nucleic acids, J Comput Chem 7: 230–252, 1986. Martys N, Mountain R, A velocity Verlet algorithm for dissipative particle dynamics based models of suspensions, Phys Rev E59: 3733–3736, 1999. Martyna G, Tuckerman M, Symplectic reversible integrators: Predictorcorrector methods, J Chem Phys 102: 20–22, 1995. Ryckaert JP, Ciccotti FH, Berendsen HJC, Numerical integration of the Cartesian equations of motion of a system with constraints — Molecular dynamics of nalkanes, J Comput Phys 23: 327–341, 1977. Andersen HC, Rattle: A velocity version of the Shake algorithm for molecular dynamics calculations, J Comput Phys 52: 24–34, 1983. Gunsteren WFV, Karplus M, Effect of constraints on dynamics of macromolecules, Macromolecules 15: 1528–1544, 1982. Barth E, Kuczera K, Leimkuhler B, Skeel RD, Algorithms for constrained molecular dynamics, J Comput Chem 16: 1192–1209, 1995.
Boundaryvalue problem Olender R, Elber R, Calculation of classical trajectories with a very large time step: Formalism and numerical examples, J Chem Phys 105: 9299–9315, 1996. Elber R, Meller J, Olender R, Stochastic path approach to compute atomically detailed trajectories: Application to the folding of C peptide, J Phys Chem B103: 899–911, 1999. Elber R, Ghosh A, Cardenas A, Long time dynamics of complex systems, Acc Chem Res 35: 396–403, 2002.
April 28, 2008
B598
ch05
FA
Molecular Dynamics Simulation 155
Elber R, Ghosh A, Cárdenas A, Stern H, Bridging the gap between reaction pathways, long time dynamics and calculation of rates, Adv Chem Phys 126: 93–129, 2003. Bolhuis P, Chandler D, Dellago C, Geissler P, Transition path sampling: Throwing ropes over mountain passes in the dark, Annu Rev Phys Chem 59: 291–318, 2002. Chekmarev D, Ishida D, Levy R, Long time conformational transitions of alanine dipeptide in aqueous solution: Continuous and discrete state kinetic models, J Phys Chem B108: 19487–19495, 2004. Gladwin B, Huber T, Long time scale molecular dynamics using least action, ANZIAM J E45: C534–C550, 2004. Malolepsza E, Boniecki M, Kolinski A, Piela L, Theoretical model of prion propagation: A misfolded protein induces misfolding, Proc Natl Acad Sci USA 102: 7835–7840, 2005. Ascher U, Mattheij R, Russell R, Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, SIAM, 1995. Deuﬂhard P, Bornemann F, Scientiﬁc Computing with Ordinary Differential Equations, Springer, 2002. Deuﬂhard P, Newton Methods for Nonlinear Problems, Springer, 2004. Stoer J, Bulirsch R, Introduction to Numerical Analysis, Springer, 2002.
Normal mode analysis Brooks B, Karplus M, Harmonic dynamics of proteins: Normal modes in bovine pancreatic trypsin inhibitor, Proc Natl Acad Sci USA 80: 6571–6575, 1983. Levitt M, Sander C, Stern PS, Protein normalmode dynamics: Trypsin inhibitor, crambin, ribonuclease and lysozyme, J Mol Biol 181: 423–447, 1985. Haliloglu T, Bahar I, Erman B, Gaussian dynamics of folded proteins, Phys Rev Lett B79: 3090–3093, 1997. Atilgan A, Durell S, Jernigan R, Demirel M, Keskin O, Bahar I, Anisotropy of ﬂuctuation dynamics of proteins with an elastic network model, Biophys J 80: 505–515, 2001. Kundu S, Melton JS, Sorensen DC, Phillips Jr GN, Dynamics of proteins in crystals: Comparison of experiment with simple models, Biophys J 83: 723–732, 2002. Cui Q, Bahar I, Normal Mode Analysis: Theory and Applications to Biological and Chemical Systems, Chapman & Hall/CRC, 2005.
April 28, 2008
B598
ch06
FA
Chapter 6 Knowledgebased Protein Modeling
Knowledgebased protein modeling is so named as a contrast to the theory or experimentbased approaches to protein structure determination. It is called knowledgebased because it attempts to determine protein structures by using mainly the knowledge derived from known protein structures. Two types of structural properties can be derived from known protein structures: those preserved by proteins of similar sequences, structures, or functions; and those shared by all known proteins. The ﬁrst type can be obtained by comparing the sequences, structures, or even functions of the proteins; while the second can be extracted from the statistical distributions of properties in databases of known protein structures.
6.1. Sequence/Structural Alignment Proteins with similar sequences may come from the same family of genes and have similar structures and functions. Therefore, by comparing sequences, we may be able to predict the structures or even functions of some unknown proteins. Such an approach to protein modeling is called homology modeling. It has been estimated that there can be as many as hundreds of thousands of different genes, but they fold into only several tens of
156
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 157
thousands of different structures. This implies that there must be many homologous proteins that fold into the same or similar structures. Indeed, the structures of two proteins can be very similar, at least in important regions, even if their sequence identity is as low as 50%. Therefore, homology modeling can usually provide a fairly reasonable model for an unknown protein, if some sequence similarity between the given protein and a protein of known structure can be found. The percentage of identical residues required for a good model is a function of the number of aligned residues. This tends to 25% as the number of aligned residues exceeds 200 (see Fig. 6.1). In fact, there are proteins with distinct sequences (less than 25% identity) that still fold to the same or similar structures. Such proteins are likely to have similar functions or, in other words, be biologically related, but cannot be identiﬁed through sequence comparison. They can be found instead by using socalled structural alignment. With this technique, two proteins are compared in terms of the structural compatibility rather than the sequence compatibility of the amino acid pairs.
Fig. 6.1. Homology modeling. The requirement on the percentage of identical residues for a good model is a function of the number of aligned residues. It tends to 25% as the number of aligned residues is larger than 200.
April 28, 2008
158
B598
ch06
FA
Computational Structural Biology
6.1.1. Sequence alignment The differences between sequences are caused by genetic mutations such as deletions or substitutions in certain parts of the genes during evolution. Therefore, when comparing two sequences, they need to be properly aligned because they may contain differences due to mutations and thus their similarity may not be revealed. For example, the similarity between ATGG and TCG is not clear unless we assume that, in front of the second sequence, there may be a deletion of one base. With this assumption, the two sequences contain two identical bases, and they can therefore be considered genetically similar. One of the principles for sequence comparison is that the comparison must be made with the best possible alignment; that is, the similarity between two sequences is deﬁned as the highest similarity that can be identiﬁed from all possible alignments of the sequences. As one can imagine, different assumptions can be made as to possible mutations; for example, deletions may occur in any position within the sequences. Enumerating all possible combinations would be difﬁcult if the sequences are long. Fortunately, this can be done efﬁciently by using a socalled dynamic programming method. Two proteins can be compared at either the DNA or the amino acid level. At the DNA level, if the original genes encoding the proteins are known, the DNA sequences of the genes are compared. The basic units of the sequences are the four DNA nucleotides: A, T, G, and C. At the amino acid level, the amino acid sequences of the proteins are compared. The basic units of the sequences are the 20 different amino acids, each represented by a letter or word. In either case, a scoring function must be deﬁned to give a score for the matches, mismatches, and deletions between individual units so that an assessment of the overall sequence similarity can be made. 6.1.2. Shortest path problem We ﬁrst consider a related problem in graph theory. Suppose that we have a directed and ordered graph G = (V, E, D), where V is a set of
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 159
nodes, V = {vi : i = 1, 2, . . . , n}; E is a set of ordered pairs of nodes corresponding to the directed links among the nodes, E = {(vi , vj ) : vi , vj in V, and i < j}; and D is a set of distances assigned to the links in E, D = {di,j : (vi , vj ) in E}. The graph is ordered because there are only links from nodes with lower indices to nodes with higher indices. We consider a socalled shortest path problem for this graph. The problem is to ﬁnd a path from the beginning node v1 to the ending node vn so that the sum of the distances along the path, as the length of the path, is the shortest (Fig. 6.2). If we simply enumerate all possible paths from v1 to vn , there will be exponentially many in n, and therefore it is impossible to compare them all if n is large, say n = 100. However, we can use a dynamic programming method to obtain the solution much more efﬁciently. The idea is as follows. First, we ﬁnd the shortest path from v1 to v2 , then from v1 to v3 , and so forth. For v3 , we only need to compare all possible paths from v1 to v3 . There are only two types of such paths: one from v1 directly to v3 ; and another passing v2 and then to v3 . The shortest path of the second type is certainly the shortest path from v1 to v2 plus the distance from v2 to v3 . For vk with any k > 3, there must be k−1 types of paths from v1 to vk : the path from v1 directly to vk ; and the paths passing vj and then to vk , 1 < j < k. The shortest path from v1 , passing vj , to vk must be the shortest path from v1 to vj plus the distance from vj to vk , and it can therefore be obtained immediately. The shortest path from v1 to vk must be the shortest one among all those passing vj and then to vk and the one directly going from v1 to vk . For each vk , we need to make only k − 1 comparisons (among all of the shortest paths passing vj and then to vk ). Therefore, for
v1
1
v2
2
v3
5
3
v4
4 6
Fig. 6.2. Shortest path problem. Given a set of nodes and links among them, ﬁnd a path from one node to another with the shortest distance or weight.
April 28, 2008
160
B598
ch06
FA
Computational Structural Biology
k = 2, 3, . . . , n, we need to make n(n + 1)/2 comparisons. The total computation time will be in the order of n2 . The algorithm can be written formally as follows. Solution to the shortest path problem: for j = 1, 2, . . . , n Lj = d1,j ; Pj = 1; for i = 2, 3, . . . , j − 1 if Li + di,j < Lj Lj = Li + di,j ; Pj = i; end end end P ∗ = v1 · · · vk vl · · · vn ; k = Pl ; L∗ = Ln ; where, in the end, P ∗ gives the sequence of the nodes on the shortest path from v1 to vn , and L∗ is the length of the path. 6.1.3. Optimal alignment The algorithm for solving the shortest path problem for a directed and ordered graph can be extended to the solution of the optimal sequence alignment problem. Suppose we have two sequences of lengths m and n, respectively. We can construct a directed graph with mn nodes arranged in an m × n matrix. The rows of the matrix correspond to the elements in the ﬁrst sequence, and the columns to the elements in the second sequence. Each node has three links coming from the left, upper left, and upper nodes. Each also has three links going to the right, lower right, and lower nodes. Each node vi,j corresponds to two elements in the sequences, the ith element in the ﬁrst sequence and the jth element in the second sequence (Fig. 6.3). Starting from the ﬁrst node, for each one, if two corresponding elements are to be compared, the graph makes a transition from this node to the node at its lower right with an assigned score of 0 or 2 on the corresponding link. Here, if the two elements are identical, the
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 161
A T
1
1
T
G
G

2
3
4
5
9
10
2
C
6
7
8 0
G
11
12
13
14
15 2

16
17
18
19
20
Fig. 6.3. DNA sequence alignment. An alignment between two sequences corresponds to a path from the ﬁrst and last nodes in the constructed graph.
score is 2; otherwise, it is 0. If an element in the ﬁrst sequence is to be compared with one in the second sequence next to the current element, the graph makes a transition from the current node to the node directly to its right with an assigned score of −1 on the corresponding link. Similarly, if an element in the second sequence is to be compared with one next to the current element in the ﬁrst sequence, the graph makes a transition from the current node to the node below with an assigned score of −1 on the corresponding link. With the above construction, we have a directed and ordered graph. With a sequence of transitions from the ﬁrst node to the last node, we can make an alignment for the elements in the two sequences. If we add the scores of the transitions for the alignment, we obtain a measure of the alignment, and the highest score gives the best alignment between the two sequences. From a graphtheoretic point of view, each alignment corresponds to a path from the ﬁrst node to the last node. The score for the alignment is the length of the path, and the best alignment corresponds to the longest path from the ﬁrst to the last node. Based on the discussion in the previous section, the longest path problem for a directed and ordered graph can be solved in the same
April 28, 2008
162
B598
ch06
FA
Computational Structural Biology
fashion as solving the shortest path problem. The computing time is in the order of the square of the number of nodes in the graph. For the graph constructed for sequence alignment, the total number of nodes is mn. Therefore, by using an algorithm similar to the one described in the previous section, the problem of ﬁnding the best alignment for two given sequences of lengths m and n can be solved in an order of (mn)2 computing time. However, for sequence alignment, it is not necessary to repeat the second loop of the algorithm for all previous nodes because there are only three previous nodes connected to the current node: the left, upper left, and upper nodes. In fact, it needs to be repeated only three times for the three connected nodes. As a result, the algorithm can be reduced to require only an order of mn computing time, as described below. Solution to the sequence alignment problem: for j = 1, 2, . . . , mn Lj = d1,j ; Pj = 1; for i = left(j), upper left(j), upper(j) if Li + di,j > Lj Lj = Li + di,j ; Pj = i; end end end P ∗ = v1 · · · vk vl · · · vmn ; k = Pl ; L∗ = Lmn ; where, in the end, P ∗ gives the sequence of nodes on the longest path from v1 to vmn , and L∗ is the length of the path. Let P = v1 · · · vk · · · vmn . Then, given P, we can immediately obtain an alignment between the two given sequences, with the ﬁrst one in the order of si1 · · · sik · · · simn and the second one in the order of sj1 · · · sjk · · · sjmn ,
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 163
where k = (ik − 1)n + jk . Note that if ik = ik+1 , then sik is in fact a space, meaning that the ﬁrst sequence has a deletion at position k. Similarly, if jk = jk+1 , then sjk is a space, meaning that the second sequence has a deletion at position k (Figs. 6.4 and 6.5).
Fig. 6.4. Residue exchange matrix. A score is assigned for every pair of residues when they are aligned.
Fig. 6.5. Protein sequence alignment. All possible alignments for two given sequences can be traced in a matrix, as shown in the ﬁgure. A score is given for every pair of aligned residues using the residue exchange matrix. The alignment with the highest total score is selected as the optimal alignment.
April 28, 2008
164
B598
ch06
FA
Computational Structural Biology
6.1.4. Structural alignment There exist proteins with similar structures or functions, but not similar sequences. The similarity between such proteins thus cannot be identiﬁed through sequence comparison. Structural alignment is a more general protein comparison method that compares proteins in terms of their structural compatibilities, i.e. how similar the corresponding pairs of residues in the proteins are in terms of their structural properties such as the neighborhood structures of the residues. In order to make a structural comparison, a protein of known structure is typically represented as a sequence, corresponding to its residue sequence, of structural properties for the residues, including for example the buried area of the side chain, the exposure of the side chain to the solvent, and the local secondary structure. The residues of the protein of unknown structure are then aligned and assigned to the structural properties of the known protein, and assessed on their structural compatibilities. The alignment that yields the best structural compatibility is selected. Structural compatibility can be deﬁned differently if a different set of structural properties is considered. Once a set of structural properties is selected, the compatibility of each residue with the properties can be determined based on the distributions of the properties for the residue in known proteins. A high compatibility score can be assigned if the residue has the properties in many of its occurrences in the known proteins. For example, one of the approaches to evaluating structural compatibility — proposed originally by Bowie et al. (1991) — is to deﬁne a structural environment for each residue with three structural properties including the buried area of the side chain, the exposed area of the side chain to solvent, and the local secondary structure of the residue. Each of these properties is divided further into several different categories. Together, they make 18 different combinations of structural properties as the possible structural environments for the residue. For each of the 20 residues, the probability for the residue to have a particular type of structural environment can be estimated by searching through a database of known protein structures and
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 165
collecting all of the cases where the residue is found in the speciﬁed structural environment. Let the residue type be i, and the environment type be j. The structural compatibility of residue i in environment j is deﬁned by the formula p(i, j) s(i, j) = log , p(i) where p(i, j) is the probability of residue i in environment j, and p(i) the probability of residue i in all possible environments. Once the scoring function is deﬁned, the sequence of residues of a given protein can be aligned and compared with the sequence of structural environments of a known protein, by using the same dynamic programming algorithm for sequence alignment as given in the previous section.
6.2. Fold Recognition/Inverse Folding Knowledgebased protein modeling includes two major subjects: fold recognition and inverse folding. Fold recognition refers to ﬁnding a known protein fold (from a database of known protein structures) as a model for a given protein sequence, while inverse folding is the opposite — ﬁnding a protein sequence (from a database of known protein sequences) that may form a structure similar to a given protein fold. 6.2.1. Fold recognition Fold recognition typically consists of three steps. First, search through a database of known protein folds and ﬁnd a set of candidate structures for the given sequence by using sequence or structural alignment. Second, thread the structural components of the candidate proteins on the given sequence and form a set of initial models. Third, assess the threaded structures and choose the best one. The ﬁrst and most essential step requires executing a sequence or structural alignment algorithm. The second step involves the assembly of structural components such as secondary structure formation, rigid body movement, loop modeling, etc. In the third step, a scoring function or, sometimes, an energy function, is required to evaluate the structures. The one with the highest score or the lowest energy may be selected as the ﬁnal model for the protein.
April 28, 2008
166
B598
ch06
FA
Computational Structural Biology
The structure obtained from fold recognition may be further reﬁned by using an optimization method with the scoring function or the energy function as the objective function. For example, by using a classical mechanical potential energy function, the structure can be reﬁned to a more energetically favorable state. In any case, without further experimental evidence, the structures predicted via fold recognition are still theoretical models and have to be evaluated, analyzed, and utilized with caution. 6.2.2. Inverse folding Inverse folding plays an essential role in protein design. For example, if we want to develop a novel protein with a desired structure and function, we need to ﬁnd the sequences that may indeed fold into the targeted structure. On the other hand, inverse folding can also help to ﬁnd possible sequences that have the same or similar structures, and thereby make genetic classiﬁcations for the sequences according to their structural or even functional similarities. Inverse folding has three steps. First, search through a database of known protein sequences and ﬁnd a set of candidate sequences for the given structure by using sequence or structural alignment. Second, thread the structural components on the given structure and form a set of initial models for the found sequences. Third, make an assessment of the threaded structures and choose the best one (Fig. 6.6).
Fig. 6.6. Inverse folding. Given a structure and a sequence, ﬁnd the best sequence– structure match between them by making the best possible alignments for the core structural fragments.
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 167
The ﬁrst and, again, most essential step requires executing a sequence or structural alignment algorithm. The second step involves the assembly of structural components such as secondary structure formation, rigid body movement, loop modeling, etc. In the third step, the structures are evaluated and compared against the given structure. The sequences with the folds most closely correlated with the given structure are identiﬁed. Inverse folding and fold recognition share some common computational components such as alignment and threading. Alignment has been discussed in the previous section. By using different alignment methods, different approaches to fold recognition and inverse folding may be implemented. Threading involves detailed work on choosing appropriate structural components for different parts of sequences. The difﬁcult part of the work is the arbitrary or combinatorial nature of the choices to be made. 6.2.3. Scoring functions The scoring function is essential to the evaluation of a modeled structure, either in fold recognition or in inverse folding. A scoring function can be an energy function such as those used in protein force ﬁeld calculations. Based on the general thermodynamic assumption of protein folding that a native protein fold adopts a conformation with the lowest possible energy, a lowenergy structure is always preferred among model candidates in fold recognition or inverse folding. The scoring function can also be deﬁned statistically in terms of some average properties of known protein structures. The score is then, in a certain sense, the probability of the structure to be the native structure as compared with known protein structures. Such a function is called the statistical scoring function or statistical potential. The deﬁnition of this function usually requires a complete search of the database of known protein structures as well as statistical estimates on various structural properties. An example of statistical potential is the distancebased mean force potential by Sippl and Weitckus (1992): for a given pair of atoms or residues of particular types, the distances between the two atoms or
April 28, 2008
168
B598
ch06
FA
Computational Structural Biology
residues can be collected from all known protein structures. The collected distances are subject to a certain statistical distribution. The latter can be used to deﬁne a statistical potential. For a given protein, the potentials for all of the pairs of atoms or residues can be summed up. The total potential can then be deﬁned as the energy for the entire protein. Another example of statistical potential is the socalled contact potential by Miyazawa and Jernigan (1985): a pair of residues is said to be in contact if their distance is within a certain range, say 7 Å. The probability for a particular pair of residues to be in contact can be estimated by sampling all such pairs of residues in the database of known protein structures. Then, a contact potential can be deﬁned by using the log of the corresponding contact probability, and the contact energy for the entire protein can be deﬁned by the sum of the contact potentials for all pairs of residues. 6.2.4. Complexities of threading The whole process of aligning a sequence to a structure and thereby guiding the spatial placement of the amino acid sequence is referred to as threading. Various threading algorithms have been developed, some running in polynomial time, while others require exponentially many steps in the worst case scenario. If the alignment is based not only on the individual amino acid types but also on their structural environments, and if gaps of arbitrary lengths are also allowed between sequence segments, an optimal threading has proven to be NPhard. In a threading problem, a graph G = (V, E) can be used to represent the interactions among the amino acids in the sequence, where V = {vk : k = 1, 2, . . . , n} is a set of vertices corresponding to the amino acids in the sequence, and E = {(vi , vj ), for some vi , vj in V } is a set of links representing the relationships among the amino acids. A set of integers t = {tk : k = 1, 2, . . . , m} can also be used to represent the alignment between the core elements in the template structure and the sequence segments in the sequence, meaning that the core element Ci in the template structure is assigned to the sequence segment starting at position ti , for i = 1, 2, . . . , m, assuming that there are m core elements
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 169
Ci 1
Ci
bi
ti ti
Ci +1
bi +1 di
di +1a ti +1
ti +1
Fig. 6.7. Threading. The core element Ci in the template structure is assigned to the sequence segment started at position ti . The assigned position must satisfy certain restraints. For example, ti+1 must be greater than or equal to ti + ci , where ci is the length of Ci .
in the template structure. The assigned position must of course satisfy certain structural restraints. For example, ti+1 must be greater than or equal to ti + ci , where ci is the length of Ci (Fig. 6.7). For each threading, a scoring function σ can be deﬁned to calculate the scores for the vertices, links, and gap segments. The scores on the vertices show the matches between the amino acids and the spatial positions. The scores on the links show the compatibilities of the alignments of related amino acids. The scores on the gap segments represent some gap penalty on the entire threading. Lathrop and Smith (1996) showed that a threesatisﬁability problem, which is a classical NPcomplete problem, can always be reduced to a protein threading problem represented by a threading graph G, an alignment t, and a scoring function σ. Therefore, the protein threading problem must be NPhard; otherwise, the threesatisﬁability problem could be solved in polynomial time through the solution of the protein threading problem.
6.3. Knowledgebased Structural Reﬁnement Protein structures determined by either experimental or theoretical techniques are not always as accurate as desired. Further reﬁnement of the structures, including human intervention, is required and sometimes critical. Therefore, the development of an efﬁcient reﬁnement technique is important; and as more and more structures
April 28, 2008
170
B598
ch06
FA
Computational Structural Biology
are determined, the need becomes even more urgent, as the CASP (Critical Assessment of protein Structure Prediction) Prediction Center explained in the call for a structure reﬁnement competition in spring 2006. 6.3.1. Deriving structural constraints Here, we examine a knowledgebased approach for protein structure reﬁnement and, in particular, the approach of deriving distance constraints from databases of known protein structures for structure reﬁnement. In this approach, the distributions of the distances of various types in known protein structures are calculated and used to obtain the most probable ranges or the mean force potentials for the distances. The range restrictions or the mean force potentials on the distances are then imposed or applied to the structures to be reﬁned so that more plausible models can be built. It is intuitive to extract information on interatomic distances based on their distributions in known protein structures. Miyazawa and Jernigan (1985) and Sippl and Weitckus (1992) ﬁrst studied such distributions, and used them to build statistical potentials for native contact analysis and fold recognition; the idea was later adopted for Xray structure reﬁnement. Work on the development of mean force potentials for dihedral angles had a similar nature. This idea, however, has not been fully developed into a general approach for structure reﬁnement, though with the increasing number of determined structures, such an approach actually becomes more and more feasible. 6.3.2. Distance distributions A distance can be speciﬁed by the types of atoms the distance corresponds to, the types of residues the atoms are associated with, and the number and types of residues separating the two associated residues. We assume that the two atoms of the distance are not in the same residue. Such distances may be called crossresidue, interatomic distances (Fig. 6.8). Let A1 and A2 be the types of two corresponding atoms separated by the distance, R1 and R2 the types of the two
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 171
cross residue, interatomic distances
R
H
O
R
H
O
R
C
N
C
C
N
C
C
N
C
C
N
C
C
N
C
H
O
R
H
O
R
H
O
Fig. 6.8. Crossresidue distances. The distances are speciﬁed by the types of the two atoms they connect to, the types of residues the two atoms are associated with, and the types of residues separating the two end residues in sequence.
associated residues, and S1 , S2 , . . . , SN the types of a maximum N separating residues. Then, the distribution of the distance can be represented by a function P[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ], which can be constructed as follows. First, all of the distances of this particular type in a database of known protein structures are collected and grouped into a set of uniformly divided distance intervals [Di , Di+1 ], where Di = 0.1 × i Å, i = 0, 1, . . . , n − 1. The function value P[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ](D) for any distance D in [Di , Di+1 ] can then be deﬁned as the number of distances in [Di , Di+1 ] divided by the total number of distances in all [Di , Di+1 ], i = 0, 1, . . . , n − 1 (Fig. 6.9). Based on the database distribution of a given type of distance, a possible range of distances can be extracted by using the mean minus and plus a few standard deviations of the distance as the lower and upper bounds, respectively. In general, the lower and upper bounds l and u of distance D of type [A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ] can be deﬁned as l[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ] = µ − kσ and u[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ] = µ + kσ,
April 28, 2008
172
B598
ch06
FA
Computational Structural Biology
Fig. 6.9. Distribution of distances. A range constraint for the distances may be derived by restricting the distances in the most populated range, say in between mean minus and plus two standard deviations. Or, a mean force potential may be deﬁned for the distances based on the distribution of the distances.
respectively, where µ and σ are the mean and the standard deviation, and k is a constant. For example, to make the range sufﬁciently large to cover the most probable values of the distance, two standard deviations may be used, in which case k should be equal to 2.
6.3.3. Mean force potentials While easy to apply, the extracted distance bounds not only exclude the possibilities of some distances outside the bounds, but also treat all of the distances within the bounds equally. In fact, the distances are distributed nonuniformly both inside and outside the bounds, and some certainly have higher probabilities than others. Such information can be valuable for the proper choice of distances for a structure. In order to incorporate all of the probability information into the structure reﬁnement, alternatively, we can use the distribution functions of the distances to construct a set of distancebased mean force potentials. Let E be the mean force potential for distance D of type
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 173
[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ]. Then, E can be deﬁned such that E[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ](D) = kT log P[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ](D), given the distribution function of the distance P[A1 , A2 , R1 , R2 , S1 , S2 , . . . , SN ](D). 6.3.4. Structure reﬁnement The databasederived distance constraints and mean force potentials have been tested by Cui et al. (2005) and Wu et al. (2007) for reﬁning nuclear magnetic resonance (NMR)determined structures and structures obtained from comparative modeling. The results showed that the structures were improved signiﬁcantly after reﬁnement. The improvements were measured with commonly used modeling standards including ensemble root mean square deviation (RMSD) values, potential energies, Ramachandran plots, etc. In any case, the structures reﬁned with the databasederived constraints (or potentials) are knowledgebased theoretical models that should agree with the experimental results. Therefore, the experimental constraints should always be respectfully considered so that the reﬁned structures are improvements, not changes, of the experimentally determined structures. While the improved parts may result from applying the best knowledge on interatomic distances to structures, they may still require further justiﬁcation.
6.4. Structural Computing and Beyond Computing plays an essential role in protein modeling, from data collection to visualization, from structural analysis to classiﬁcation, and from dynamic simulation to model building and prediction. The development of modern computing technology makes it possible to carry out these tasks; protein modeling could otherwise never have advanced to today’s levels and scales.
April 28, 2008
174
B598
ch06
FA
Computational Structural Biology
In addition, with the increasing number of structures being determined, the study of protein structure and its connection to the biological function of the protein has shifted from research on individual proteins to families of proteins or even genomewide studies. The latter, more reliant on structural computing and information processing, promises even greater theoretical and technological advancements in protein modeling.
6.4.1. Structural bioinformatics Structural bioinformatics, as an emerging ﬁeld of protein modeling, focuses on the representation, storage, retrieval, analysis, and display of the structural information of proteins. In contrast to experimental or even conventional computational approaches to protein modeling, structural bioinformatics attempts to develop general purpose methods for processing structural information and apply these methods in order to solve structurerelated problems. The development of the ﬁeld of structural bioinformatics arises from the urgent need to process and analyze the vast amounts of structural data generated from experimental and theoretical studies. The data includes not only the raw Xray diffraction and NMR spectral data, but also the structural data of known proteins. As more and more proteins are determined, the latter have provided a wealth of structural information that can be used for more complete structural analysis, classiﬁcation, and modeling. Structural information is more complicated and difﬁcult to process than sequence information, because it is two or threedimensional data and the relationships among different pieces of information are nonlinear. Structures are related more through physics as a result of physical interactions among their constituent components, for example, the atoms or the residues. On the other hand, sequences are more of biological relations, although sequences are connected by chemical bonds. The conventional Xray crystallography and NMR data processing and model building are certainly structural bioinformatics activities.
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 175
However, what marks structural bioinformatics as an informatics ﬁeld is the need for representing, storing, and processing the structural data of proteins. A protein can be represented as a linear chain of amino acids, a collection of secondary structures, or, more accurately, a tertiary structure deﬁned at the atom or residue level. The structural data are typically stored in a database, such as the Protein Data Bank (PDB), with each structure described in a structural ﬁle. The structural data can be processed for studies with many different purposes. Structural data can be analyzed or classiﬁed according to the structural or functional properties they share by using, for instance, structural alignment. They can also be studied statistically, through database searching, to obtain the distributions of certain important properties in known proteins. The graphical display of structural data is also essential for visualizing and therefore better understanding the various structural features of proteins. A great use of structural data is to provide structural templates for proteins of unknown structures, as we have discussed in the previous sections. Research on structural bioinformatics is not restricted to processing structural data. It also includes activities such as structure determination, normal mode analysis, and dynamics simulation, as these activities also involve data collection, analysis, and processing, while at the same time producing additional data, such as the protein dynamic trajectories, that are just as important as structural data for understanding the structures and functions of proteins. 6.4.2. Highperformance computing Protein modeling is one of the most intensive ﬁelds computationally. There are problems for which solutions cannot be obtained without highperformance computing. For example, even with a parallel highperformance computer, it still takes several weeks or months to fold a small protein. Therefore, supercomputer vendors have worked for years to produce machines that are targeted for protein structure and dynamics applications.
April 28, 2008
176
B598
ch06
FA
Computational Structural Biology
A conventional computer has a single processor. In general, the instructions must be executed or processed one at a time, even if they are independent of each other and can be carried out in parallel. In fact, the computation cannot be sped up very much even if the central processing unit (CPU) speed is increased, because many instructions with memory access require many computing cycles and will slow down or block the entire computation. In order to remove the computational bottleneck of serial execution of instructions on conventional architectures, parallel highperformance computers have been invented, including vector machines developed in the early 1960s, sharedmemory machines in the 1970s, and distributedmemory machines in the 1980s. These architectures are capable of parallel execution of instructions in one way or another, depending on their CPU design and memory allocation. They are certainly harder to program, but much more powerful than conventional serial architectures. Vector machines have CPUs capable of processing a vector of instructions in one or a few CPU cycles. Such architectures are efﬁcient for calculations such as vector or matrix operations, which routinely require the processing of a large set of independent data. However, the data sets must be arranged properly in the CPU vectors so that they can be processed in parallel. Modern vector machines have welldeveloped operating systems and compilers so that users can program the machines in almost the same way as on conventional serial machines. The vector operations are arranged completely automatically by the systems. Sharedmemory architectures typically have several tens and sometimes hundreds of processors capable of independently executing instructions in parallel. Ideally, if there are 100 processors, the achievable speedup for executing a program can be as high as 100 times. However, a computer program not only executes calculation instructions, but also fetches or stores data in the memory. The sharedmemory architectures are designed so that all of the processors share one large memory unit. In this way, they can all visit the same memory at any time they need, and they can be programmed in almost
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 177
the same way as on conventional serial architectures, except for some necessary synchronization among the processors. The sharedmemory architectures cannot have too many processors because otherwise the processors will have a hard time accessing the memory due to memory trafﬁc. To overcome this difﬁculty, the distributedmemory architectures were developed so that each processor has its own memory unit and does not have to compete for memory with other processors. In this way, there is in principle no limitation on the number of processors that can be included in the system. However, programming models for distributedmemory machines are more complicated than those for sharedmemory machines, and data not local to a processor have to be transferred from elsewhere before the processor can process them. This always introduces additional overheads for data movement or, in other words, processor communication. 6.4.3. Structural genomics The study of structural genomics is one of the major motivations for the development of the ﬁeld of structural bioinformatics. The purpose of structural genomics is to systematically study the structures of all the proteins encoded in a whole genome. Since the completion of genome sequencing for humans and many other species, structural genomics has become an important and feasible postgenome research subject that is pursued as actively as ever. Structural genomics aims to study the genes in a given genome and, in particular, the structures of the proteins they encoded. While genome sequencing attempts to identify all of the genetic sequences in a genome and obtain a complete picture of the sequence space, the purpose of structural genomics is to ﬁnd the structures of the proteins in a genome and obtain the mapping between the sequence space and the structural space of the genome. The latter will be able to provide a complete description of the correlations between sequences and structures, as well as the relationships within the sequences and structures themselves. The study of structural genomics is a joint effort between experimental and theoretical structural biologists. Given the limitations of
April 28, 2008
178
B598
ch06
FA
Computational Structural Biology
experimental approaches for the determination of all required structures, the theoretical approaches — in particular, the homology modeling approach — have been employed to obtain more structures to ﬁll the missing elements in the structural space. The theoretical approaches also rely on the structures determined by the experimental approaches, because they usually predict structures based on the sequence or structural similarities between known and unknown structures. 6.4.4. Biocomplexes and biosystems Proteins are often combined with other macromolecules to form larger protein complexes, and also interact with each other to maintain certain functions or organizations that are required by the biological systems with which they are associated. Therefore, protein complexes and systems biology are subjects of great importance to the study of proteins and their structures. Conversely, the revelation of protein functions and structures is essential for the understanding of higherlevel mechanisms of protein complexes and biological systems. In recent years, systems biology has become an active research subject in computational biology. This is partially due to the rapid development of molecular biology, biotechnology, and genetics so that the understanding of biological systems at a molecular biology level becomes possible. It is also because of the great mathematical and computational challenges present in the modeling and simulation of biological systems. Along this line, how structural information can be utilized for the study of biology systems is certainly an important question to be further explored through research on protein structures. A biological system can be analyzed by building a network of biological interactions and studying the key metabolic processes, by comparing with other systems and recognizing conserved system functions, and by building accurate mathematical models and identifying important biological pathways. The study of biological functions at a systems level and the understanding of various biological systems including cells, tissues, organs, etc. are certainly the ultimate goals of many biological and medical research activities including computational structural biology.
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 179
Selected Further Readings Sequence/structural alignment Jones NC, Pevzner PA, An Introduction to Bioinformatics Algorithms, The MIT Press, 2004. Mount DM, Bioinformatics: Sequence and Genome Analysis, Cold Spring Harbor Laboratory Press, 2004. Xiong J, Essential Bioinformatics, Cambridge University Press, 2006. Taylor WR, Orengo CA, Protein structure alignment, J Mol Biol 208: 1–22, 1989. Orengo CA, Taylor WR, SSAP: Sequence structure alignment program for protein structure comparison, Methods Enzymol 266: 617–635, 1996. Holm L, Sander C, Mapping the protein universe, Science 273: 595–602, 1996.
Fold recognition/threading Bowie JU, Lüthy R, Eisenberg D, A method to identify protein sequences that fold into a known threedimensional structure, Science 253: 164–169, 1991. Bryant SH, Lawrence CE, An empirical energy function for threading protein sequence through the folding motif, Proteins 16: 92–112, 1993. Šali A, Blundell TL, Comparative protein modeling by satisfaction of spatial restraints, J Mol Biol 234: 779–815, 1993. Fischer D, Rice D, Bowie JU, Eisenberg D, Assigning amino acid sequences to 3dimensional protein folds, FASEB J 10: 126–136, 1995. Krogh A, Brown M, Mian IS, Sjölander K, Haussler D, Hidden Markov models in computational biology, J Mol Biol 235: 1501–1531, 1994. Lathrop RH, Smith TF, Global optimum protein threading with gapped alignment and empirical pair score functions, J Mol Biol 255: 641–665, 1996. Russell RB, Saqi MAA, Sayle RA, Bates PA, Sternberg MJE, Recognition of analogous and homologous protein folds: Analysis of sequence and structure conservation, J Mol Biol 269: 423–439, 1997. Miyazawa S, Jernigan RL, Estimation of effective interresidue contact energies from protein crystal structures: Quasichemical approximation, Macromolecules 18: 534–552, 1985.
April 28, 2008
180
B598
ch06
FA
Computational Structural Biology
Miyazawa S, Jernigan RL, Residue–residue potentials with a favorable contact pair term and an unfavorable high packing density term for simulation and threading, J Mol Biol 256: 623–644, 1996. Sippl MJ, Calculation of conformational ensembles from potentials of mean force, J Mol Biol 213: 859–883, 1990. Sippl MJ, Weitckus S, Detection of nativelike models for amino acid sequence of unknown threedimensional structure in a database of known protein conformations, Proteins 13: 258–271, 1992.
Knowledgebased structural reﬁnement Kuszewski J, Gronenborn AM, Clore GM, Improving the quality of NMR and crystallographic protein structures by means of a conformational database potential derived from structure databases, Protein Sci 5: 1067–1080, 1996. Rojnuckarin A, Subramaniam S, Knowledgebased potentials for protein structure, Proteins 36: 54–67, 1999. Wall ME, Subramaniam S, Phillips Jr GN, Protein structure determination using a database of interatomic distance probabilities, Protein Sci 8: 2720–2727, 1999. Cui F, Jernigan R, Wu Z, Reﬁnement of NMRdetermined protein structures with database derived distance constraints, J Bioinform Comput Biol 3: 1315–1329, 2005. Cui F, Mukhopadhyay K, Young WB, Jernigan RL, Wu Z, Reﬁnement of underdetermined loops of human prion protein by databasederived distance constraints, IEEE International Conference on Bioinformatics and Biomedicine Workshops, pp. 14–23, 2007. Wu D, Cui F, Jernigan R, Wu Z, PIDD: A database for protein interatomic distance distribution, Nucleic Acids Res 35: D202–D207, 2007. Wu D, Jernigan R, Wu Z, Reﬁnement of NMRdetermined protein structures with database derived mean force potentials, Proteins Struct Funct Bioinform 68: 232–242, 2007.
Beyond structural computing Chen L, Oughtred R, Berman HM, Westbrook J, TargetDB: A target registration database for structural genomics projects, Bioinformatics 20: 2860–2862, 2004.
April 28, 2008
B598
ch06
FA
Knowledgebased Protein Modeling 181
Xie L, Bourne P, Functional coverage of the human genome by existing structures, structural genomics targets and homology models, PLoS Comput Biol 1: e31, 2005. Kouranov A, Xie L, de la Cruz J, Chen L, Westbrook J, Bourne PE, Berman HM, The RCSB PDB information portal for structural genomics, Nucleic Acids Res 34: D302–D305, 2006. Chandonia J, Brenner SE, The impact of structural genomics: Expectations and outcomes, Science 311: 347–351, 2006. Kriete A, Eils R, Computational Systems Biology, ElsevierAcademic Press, 2005. Palsson B, Systems Biology — Properties of Reconstructed Networks, Cambridge University Press, 2006. Alon U, An Introduction to Systems Biology: Design Principles of Biological Circuits, CRC Press, 2006. Werner E, The future and limits of systems biology, Sci STKE 5: 16, 2005.
May 2, 2008
B598
appa
FA1
Appendix A Design and Analysis of Computer Algorithms
In some sense, a computer algorithm is an abstraction of a computer program. An algorithm is a formal description of the computation to be conducted. It can be implemented into a program. A program is a set of instructions that can be executed on a computer. It can be written in different ways for the same algorithm. An algorithm provides only a highlevel description of the work. A program contains detailed calculations and depends on the computer. However, a program can be described, analyzed, and evaluated easily at an algorithmic level without running on a speciﬁc computer. An algorithm can be given at different levels. It can sometimes be as detailed as a program, but sometimes contain only a few mathematical formulas. In any case, to make a meaningful description on a computational task, an algorithm usually has input and output components, and can be carried out and terminated in a ﬁnite number of steps. An algorithm is often described in terms of some predeﬁned primitive steps as well, so that the time and space required by the algorithm can be estimated based on its required number of primitive computational steps and memory units.
182
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 183
A.1. Evaluation of Algorithms An algorithm can be evaluated in terms of the maximum computing time and memory space required for the solution of a problem. On the other hand, the difﬁculty of a problem can be assessed based on the minimum computing time and memory space required by an algorithm for solving it. The latter is often named as the time and space complexity of the problem. A.1.1. Computational model To be independent of a speciﬁc computer, an abstract computational model is often constructed as a common ground for analyzing or comparing algorithms. One of such models is the random access machine (RAM); another one is the Turing machine (TM). The RAM model is almost like a simpliﬁed computer. It is assumed to have a readonly input tape, a writeonly output tape, and a memory. A program is a sequence of instructions that can be executed by the machine. The memory consists of a set of registers for holding temporary results. The ﬁnal result can be written on the output tape. The instruction set typically constrains operations such as those in the following table: Typical instruction set for RAM. read x: read a symbol from input tape to x. write x: write content in x on output tape. load x: move content in x to default register. store x: move content in default register to x. add x: add content in x to default register. sub x: subtract x from default register. jump j: jump to the jth instruction. halt: halt the machine.
Assume that on the input tape, the values of x, y, and z are provided in sequence. The calculation of x − (y + z) can be carried out with a RAM program as follows:
May 2, 2008
184
B598
appa
FA1
Computational Structural Biology
Example RAM program. read 1: read 2: read 3: load 2: add 3: store 2: load 1: sub 2: store 1: write 1: halt:
read x to register 1. read y to register 2. read z to register 3. copy y from register 2 to default register. add y and z. save y + z to register 2. copy x from register 1 to default register. subtract y + z from x. save x − (y + z) to register 1. write x − (y + z). halt the machine.
A typical Turing machine (TM) model has multiple readandwrite tapes. Its operation is determined by a ﬁnite control program. Formally, a TM is deﬁned by a set of variables: (Q, T , I, δ, b, q0 , qf ), where Q is the set of states, T is the set of tape symbols, I is the set of input symbols (I is contained in T ), b is the blank symbol, and q0 and qf are the initial and ﬁnal states, respectively. The variable δ is the set of state transition functions mapping a subset of Q × T ∗ to Q× (T × {L, R, S})k . For example, let Q = {q0 , q1 , q2 }, T = {0, 1, #}, I = {0, 1}, b = {b}, and δ be deﬁned such that δ(q0 , 0) = (q1 , (0, R)), δ(q1 , 1) = (q1 , (1, R)), δ(q1 , 0) = (q2 , (0, R)). Then, a singletape TM deﬁned by (Q, T , I, δ, b, q0 , q2 ) recognizes a sequence of 01. . .10. In principle, the computing time for an algorithm can be evaluated by the number of basic RAM or TM operations required to run the algorithm on these machines. The memory space can be measured by the number of registers or the tape units the algorithm uses. However, in practice, higherlevel units such as arithmetic operations for computing time and integers for memory space may be more convenient.
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 185
A.1.2. Computing time The time that an algorithm takes to solve a problem can be used as a measure of the efﬁciency of the algorithm. However, the time is often machinedependent and varies with different test problems. Therefore, it is more meaningful to compare the time on an abstract machine such as the ones we have discussed in the previous section and use a standard time unit such as the time to carry out some primary computational task. In practice, higherlevel time units may also be used. For example, in numerical computing, the number of ﬂoatingpoint operations (including additions, subtractions, and multiplications) is often counted as the total computation time. It also makes more sense to evaluate an algorithm on a class of problems instead of a speciﬁc one. The problems in the same class have the same nature, but often differ in their sizes. For example, systems of linear equations contain different numbers of equations, and the shortest path problems are formulated for different sizes of graphs. It is important to know the time for solving a problem of a given size in the worst case; it is also important to know how the time increases as the problem size increases. For this purpose, a number n is often used as an indicator for the size of the problem, such as the number of unknowns to be determined in a linear system of equations, and the time can be measured as a function of n. Let f(n) be the time that an algorithm solves a problem of size n. Then, f(n) is said to be on the same order of g(n) if there is a constant c such that f(n) ≤ c g(n) for sufﬁciently large n, and vice versa. The computation time of the algorithm is then said to be on the order of g(n) or f(n) and is denoted as O(g(n)) or O(f(n)), whichever is simpler. In this way, the algorithms requiring the same order of computation time for the solution of a given class of problems are considered to be equally efﬁcient. On the other hand, if they require different orders of computation time, one may require a signiﬁcantly longer time than another for the same size of problems, and the time may also increase faster as the problem size increases.
May 2, 2008
186
B598
appa
FA1
Computational Structural Biology
A.1.3. Memory space An algorithm can also be evaluated based on the amount of memory space it requires for solving a given class of problems. To be independent of a speciﬁc machine, a standard amount of memory space such as that for storing an integer or a character can be used as the unit for space. If the problem size is n, the space can again be determined as a function of n. Let f(n) be the space that an algorithm requires to solve a problem of size n. Then, f(n) is said to be in the same order of g(n) if there is a constant c such that f(n) ≤ c g(n) for sufﬁciently large n, and vice versa. The memory space of the algorithm is then said to be on the order of g(n) or f(n) and is denoted as O(g(n)) or O(f(n)), whichever is simpler. In general, the function for memory space is a lower bound of that for computation time, because the algorithm has to process the data in each memory unit at least once.
A.1.4. Example analysis Example 1. Suppose that we want to ﬁnd number a in a list of n ordered numbers. Let the space unit be deﬁned as the space for storing one number. Then, the memory space for storing the whole list of numbers must be in order of n, i.e. O(n). Let the ith number in the list be denoted as ai . Then, the following algorithm can be used to search for a: l = 0; u = n; while l < u i = ceiling [(u − l) / 2]; if a = ai , stop; if a < ai , u = i − 1; else l = i ; end Note that every time the algorithm enters the while loop, the list is cut in half. Let the length of the list be n and the total number of times the algorithm enters the loop be k. Then, n / 2k = 1 and k = log2 n. Since in the while loop, the algorithm carries out only a few arithmetic operations, say c arithmetic operations, the total number
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 187
of operations in the algorithm does not exceed c log2 n. Therefore, the computing time of the algorithm should be on the order of log2 n, i.e. O(log2 n). Example 2. Suppose that we want to merge two lists of ordered numbers, {ai } and {bi }. Assume that the ﬁrst list has n elements, and the second m. Then, at least n + m memory units are required to store these numbers. Let {ai } be stored in n memory units and {bi } in m units. Let {ci } be the merged list and be saved in another set of n + m memory units. The following algorithm then merges {ai } and {bi }: i = 1; j = 1; k = 1; while i < n and j < m if ai ≤ bj ck = ai ; i = i + 1; else ck = bj ; j = j + 1; end k = k + 1; end while i < n ck = ai ; i = i + 1; k = k + 1; end while j < m ck = bj ; j = j + 1; k = k + 1; end Note that the total number of operations performed in the ﬁrst loop does not exceed n + m because each time the algorithm enters the loop, only one index is advanced, either i or j. Upon ﬁnishing the ﬁrst loop, if the i index has not been advanced to n, the second loop is executed, and the total number of operations adds up to n + m; otherwise, if the j index has not been advanced to m, the third loop is executed instead, and the total number of operations also adds up to n + m. So, the computing time for this algorithm is O(n + m). Assume that m is less than or equal to n. Then, the time can also be considered as on the order of 2n, which is equivalent to O(n).
May 2, 2008
188
B598
appa
FA1
Computational Structural Biology
A.2. Intractability A problem can be easy or difﬁcult to solve. Such a property can be characterized in terms of the computing time or memory space required to solve the problem. The latter is called the computational complexity of the problem or, more speciﬁcally, the time or space complexity of the problem. Based on their computational complexities, problems can be classiﬁed as tractable (easy) or intractable (hard) problems. Informally speaking, a tractable problem is a problem that can be solved in polynomial time or, in other words, in O(f(n)) computing time with f(n) being a polynomial function of n. An intractable problem is a problem that any algorithm for the solution of the problem would take exponentially many steps in n in the worst case and cannot provide a solution to the problem in a reasonable time frame, especially when n is large.
A.2.1. NPcompleteness A problem is said to be NPhard if it cannot be solved in polynomial time deterministically. An NPhard problem is NPcomplete if it can be solved in polynomial time on a nondeterministic machine. A nondeterministic machine is capable of always making right decisions and is therefore more powerful than a deterministic machine. However, current computers are all deterministic machines. If a sequence of decisions can be made in linear time on a nondeterministic machine, then on a regular computer (deterministic machine), exponentially many trials may be required to reach the right sequence of decisions. Let P be the set of problems that can be solved in a deterministic polynomial time, and NP the set of problems that can be solved in a nondeterministic polynomial time. Then, P is a subset of NP. That is, a problem that can be solved in a deterministic polynomial time must be solvable in a nondeterministic polynomial time. However, it is not known whether the converse is true. It is assumed to be untrue. A common experience is that the solution of a problem in NP, but not in P, often requires an exponential time on a deterministic machine.
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 189
The problems that are in NP, but not in P, are called NPcomplete problems. A.2.2. Satisﬁability problem Let x be a Boolean variable representing a logical event. Then, x = 1 if the event occurs and x = 0 otherwise. Let x¯ be the negation of x. Then, x¯ = 1 if x = 0 and x¯ = 0 if x = 1. Let xy be the logical “and” of x and y, i.e. xy = 1 if x = 1 and y = 1 and xy = 0 if x = 0 or y = 0; and x + y be the logical “or” of x and y, i.e. x + y = 1 if x = 1 or y = 1 and x + y = 0 if x = 0 and y = 0. Then, a logic expression can be written as a mathematical formula using the above notations. A logic expression can always be written in a standard conjunctive form, i.e. as a conjunction of clauses C1 , C2 , . . . , Cm , where each clause is a disjunction of literals l1 , l2 , . . . , lk , with each literal being a variable or its negation. For example, S = (¯x1 + x2 + x3 )(x1 + x¯ 2 + x4 )(x2 + x3 + x¯ 4 ), where x1 , x2 , x3 , and x4 are variables. An expression S is said to be satisﬁable if there is an appropriate assignment of 0–1 values to the variables so that the expression is equal to 1. The problem of testing the satisﬁability of a given logic expression is called the satisﬁability problem. If the number of literals in each clause is restricted to three, the expression is said to be in a standard threeconjuctive normal form (3CNF), and the corresponding satisﬁability problem is called the threesatisﬁability problem. For a given logic expression of n variables, there can be 2n possible assignments of 0–1 values to the variables. Therefore, the satisﬁability problem cannot be solved straightforwardly by trying all possible assignments because, in the worst case, an exponentially many number of trials may need to be conducted, which will not be computationally feasible for large n. However, the problem is solvable in a nondeterministic polynomial time. Theorem A.2.2.1. The threesatisﬁability problem or the satisﬁability problem in general is NPcomplete.
May 2, 2008
B598
190
appa
FA1
Computational Structural Biology
A.2.3. Set partition problem Let S = {a1 , a2 , . . . , an } be a given set of integers. A set partition problem is to partition the set S into two subsets S1 and S2 so that the sums of the integers in S1 and S2 are equal. Suppose S1 has only one integer. Then, there can be n possible ways for such partitions, each with a different integer in S1 . In other words, there are Cn1 (n choose 1) such partitions. Suppose S1 has two integers. Then, there can be n(n− 1)/2 possible ways for such partitions, each with a different pair of integers in S1 . In other words, there are Cn2 (n choose 2) such partitions. With the same procedure, for partitions with 3, 4, . . . , n integers in S1 , there can be Cn3 , Cn4 , . . . , Cnn different ways for each correspondingly. Therefore, if the case for S1 to be empty is also included, the total number of possible partitions for S would be n i=0
Cni = 1 +
n(n − 1) n(n − 1)(n − 2) · · · 1 n + + ··· + = 2n . 1! 2! n!
Clearly, the set partition problem cannot be solved straightforwardly by trying all possible partitions of the given set. In fact, it is impossible to ﬁnd a deterministic polynomial time algorithm for the solution of the problem. Theorem A.2.3.1. The integer set partition problem is NPcomplete.
A.2.4. Polynomial time reduction A problem A is said to be polynomialtime reducible to another problem B if, in a polynomial time, problem A can be translated to problem B. If problem A can be reduced to problem B in polynomial time and if problem B can be solved in a polynomial time, then so can problem A; and if problem A is NPhard, then problem B must be at least as hard as problem A. Theorem A.2.4.1. If problem A is polynomialtime reducible to problem B, problem A is polynomialtime solvable if problem B is, and problem B is NPhard if problem A is.
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 191
Based on the above theorem, whether or not a problem is NPhard can often be veriﬁed by showing if a known NPhard problem can be reduced to this problem. For example, a 0–1integer linear programming problem is to ﬁnd a 0–1integer vector x such that Ax ≤ b for given matrix A and vector b. We can show that the 0–1integer linear programming problem is NPhard because a known NPhard problem such as the integer set partition problem or the threesatisﬁability problem can be reduced to this problem, as demonstrated below. Reduction from an integer set partition problem to a 0–1integer linear programming problem: Let S = {a1 , a2 , . . . , an } be an integer set. Suppose that we want to partition S into two subsets S1 and S2 so that the sums of the integers in S1 and S2 are equal. Then, let A = (a1 , a2 , . . . , an ) and x = (x1 , x2 , . . . , xn )T , and the set partition problem for S can be reduced to a problem for ﬁnding a 0–1integer vector x such that Ax = b/2, where b = sum{ai : i = 1, 2, . . . , n}, which is in fact a 0–1integer linear programming problem. Therefore, the 0–1integer linear programming problem cannot be solved in a deterministic polynomial time because the integer set partition problem would otherwise be polynomialtime solvable, contradicting the fact that it is actually NPhard as stated in Theorem A.2.3.1. Reduction from a threesatisﬁability problem to a 0–1integer linear programming problem: Let S be a logic expression, in a standard CNF form, S = C1 C2 · · · Cm , where Ci = li1 + li2 + li3 , with lij being any of the variables xk or their negations yk , k = 1, 2, . . . , n. Suppose we want to see if we can ﬁnd appropriate 0–1 values for variables xk , k = 1, 2, . . . , n so that S = 1. Let x = (x1 , x2 , . . . , xn )T and y = (y1 , y2 , . . . , yn )T . Then, xk + yk = 1, k = 1, 2, . . . , n. Also, for each clause Ci , li1 + li2 + li3 ≥ 1 in order for Ci = 1, where li1 , li2 , and li3 are variables xk or yk , k = 1, 2, . . . , n. Then, the threesatisﬁability problem can be solved by ﬁnding 0–1 integer values for x and y so that the above constraints are all satisﬁed. The latter is in fact a 0–1integer linear programming problem.
May 2, 2008
192
B598
appa
FA1
Computational Structural Biology
A.3. Lists, Arrays, Graphs, and Trees A set of data can be stored either randomly or in a certain order or pattern. The data structure, i.e. the organization of the data, is important for the design of an efﬁcient algorithm. Example data structures include lists, arrays, graphs, and trees. A.3.1. Lists A list is a set of data stored in a linear order. If the list contains n items, it can be stored in n memory units. Two pieces of information about the list, its beginning address and length, must be recorded so that the data in the list can be processed. A new item can be added to a list: if the starting address of the list is s and the length of the list is n, then the new item is usually stored in unit s + n and n is advanced by 1. The operation requires a constant time, i.e. O(1). An item in a list can be deleted: if the kth item is to be deleted, the item in unit i+1 is usually copied to unit i for i = s+k−1, . . . , s+n−1, and n is reduced by 1. The operation requires an O(n) computation time. An item in a list can be searched: starting from the beginning unit, items in the unit are checked until the desired one is found. The operation requires an O(n) computation time. There are two special types of list with certain special operation rules: one is called a queue, and the other a stack. A queue is a list of data for which an item can be deleted only from the top of the list, while a new item can be added only at the bottom of the list. The deletion for a queue can be implemented by ﬁrst removing the item in unit s and then copying the item in unit i+1 to unit i for i = s+1, . . . , s+n−1 and ﬁnally reducing n to n − 1. The addition can be performed by simply storing the new item to unit s+n and advancing n by 1. A stack is a list of data for which the data can only be deleted or added at the top of the list. If an addition is performed, the item in unit i is copied to unit i + 1 for i = s + n − 1, . . . , s, and the new item is stored in unit s and n is advanced by 1. If a deletion is performed, the item in unit i+1 is copied to unit i for i = s + 1, . . . , s + n − 1, and n is reduced by 1.
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 193
A.3.2. Arrays Arraysaregeneralizedlists.Anarraycanhavemorethanonedimension. The data in an array are speciﬁed by the indices along all of the dimensions.So,aonedimensional(1D)arrayisalist,atwodimensional (2D) array can be used to represent a matrix, a threedimensional (3D) array corresponds to a 3D lattice, and so on and so forth. Physically, an array can still be implemented as a list with the elements in the array listed in a certain order. For example, the elements can be listed always along the ﬁrst dimension with varying indices in other dimensions. An array can be used to represent data with multiple indices. In particular, it is straightforward for storing numerical data such as matrices in arrays. For example, an m × n matrix can be stored in an m × n array with the (i, j) element in the matrix corresponding to the data in the (i, j) unit of the array. Let the array be denoted by A. The (i, j) element of the matrix for any i and j can be accessed directly in the array unit A(i, j). Other types of data such as tables, texts, and images can also be represented directly using arrays. A.3.3. Graphs A graph can be used to represent a set of data and, in particular, the relationships among different pieces of data. For example, a dataset of 1000 cities contains the names of the cities {city1 , city2 , city3 , . . .} and the direct ﬂight connections between certain pairs of cities {(city1 , city2 ), (city1 , city4 ), (city2 , city5 ), . . .}. Such a dataset can be represented straightforwardly using a graph. A graph has a set of vertices V and edges E. Let V = {v1 , v2 , . . . , vn } and E = {(vi , vj ), for some vi , vj in V }. A graph G with vertices in V and edges in E is denoted as G = (V, E). If (vi ,vj ) in E are ordered pairs, i.e. (vi , vj ) = (vj , vi ), the graph is called directed. If E contains all (vi , vj ) pairs, the graph is called complete. For example, let V = {v1 , v2 , . . . , v6 } be a set of vertices representing six cities and E = {(v1 , v2 ), (v2 , v3 ), (v3 , v4 ), (v4 , v5 ), (v5 , v6 ), (v1 , v3 ), (v4 , v6 )} be a set of edges between pairs of cities where there are direct ﬂight connections. Then, a graph G = (V, E) can be deﬁned and plotted for the cities v1 , v2 , . . . , v6 and the ﬂight information among them.
May 2, 2008
194
B598
appa
FA1
Computational Structural Biology
A graph G = (V, E) can be represented by using an n × m matrix, where n is the number of vertices V  and m is the number of edges E. The matrix is deﬁned such that the (i, j) element of the matrix is equal to 1 if the jth edge in E connects the ith vertex in V . This matrix is called the adjacent matrix of G and can be stored as a 2D array, as discussed in the previous section. A basic operation on the data represented by a graph is to take a complete tour on the graph along the paths deﬁned by the edges of the graph. The tour can be done in two ways: one is called the depthﬁrst tour, and the other the breadthﬁrst tour. In the depthﬁrst tour, every time a vertex is visited, one of its connected and nonvisited vertices is selected for the next visit. If there are no more connected and nonvisited vertices, the tour backtracks to a previously visited vertex until all vertices are visited. In the breadthﬁrst tour, all of the vertices connected to a previously visited vertex are visited ﬁrst before any of the vertices connected to the current level of vertices is selected for the next visit. A.3.4. Trees A sequence of vertices, vi , vk , vl , vj , . . . , is called a path if every pair of neighboring vertices in the sequence is connected by an edge in the graph. A sequence of vertices, vi , vk , vl , vj , . . . , vm , is called a circle if the sequence is a path and vi = vm . A graph is called connected if there is a path between every pair of vertices in the graph. A tree is a connected graph without a circle. Deﬁne one of the vertices in the tree, say v1 , as the root. Then, for every vertex vi in the tree, there is a unique path from the root to the vertex. Let the path be v1 , . . . , vj , vi . Then, vj is called the parent vertex of vi , and vi is called the child vertex of vj . A vertex is called a leaf if it does not have child vertices. A tree can be used to represent the hierarchical structure of data. For example, the family relationships within a large group of genetically related people (assuming no marriage within the group) can be represented by using a socalled family tree, with the oldest ancestor at the root, followed by the ﬁrst generation of people, the
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 195
second, and so on and so forth. Each vertex represents a person, with the vertices under it corresponding to all of his or her offspring, and the vertices along the path from the root to it corresponding to all of his or her direct ancestors. Since the root has a unique path to each of the vertices in a tree, the search for a speciﬁc vertex can be guided by the path from the root to the vertex. For example, a person can be found quickly in the family tree if we know all of his or her direct ancestors, because the vertices corresponding to these ancestors form a path from the root to the vertex representing this person; and we can start with the root and travel down in the tree along this path to ﬁnd the vertex for the person in the end of the path.
A.4. Sorting, Searching, and Optimization Here, we describe a group of algorithms used in many computer applications. These include sorting the items in a list, searching for a speciﬁc item in a tree, solving the shortest path problem, and computing the minimal weight spanning tree for a graph.
A.4.1. Sorting Let {a1 , a2 , . . . , an } be a set of items. Suppose the items can be ordered by a relation, i.e. ai < aj or aj < ai for 1 ≤ i < j ≤ m. Suppose we want to rearrange the items so that they are in an increasing order, i.e. ai < aj if i < j for any pair of items ai and aj . A general sorting algorithm can be designed as follows. We ﬁrst compare the ﬁrst item in the given set of items with the rest of the items. If an item is found to be smaller than the ﬁrst item, we switch their positions. In the end, the ﬁrst item becomes the smallest one. We then compare the second item with the rest of the items. If an item is found to be smaller than the second item, we again switch their positions. In the end, the second item becomes the second smallest one. We keep doing such comparisons for the rest of the items until all of the items are positioned in an increasing order.
May 2, 2008
196
B598
appa
FA1
Computational Structural Biology
Let A be a list and ai be stored in A(i) initially. Then, the algorithm can be stated more formally as shown below. Note that there are two embedded loops in the algorithm; therefore, in the worst case, O(n2 ) operations (comparisons) are required. Sorting algorithm 1 for i = 1, n − 1 for j = i + 1, n if A(i) > A(j) T = A(j), A(j) = A(i), A(i) = T ; end end end Another commonly used sorting algorithm is based on the idea of recursively sorting the subsets of items and then merging them together. First, every two neighboring items are merged into a set of two sorted items. Then, every two neighboring pairs of sorted items are merged into a set of four sorted items. The process continues and generates larger and larger subsets of sorted items until all of the items are merged into a single set of sorted items. Let sort(A) be a function which takes a list of items A and returns a sorted one. Let merge(X,Y) be a function which takes two sorted sets of items X and Y and combines them into a single and sorted set of items, where X and Y are also represented as lists. Then, the sorting algorithm based on the idea described above can be given formally in a recursive form as shown below. Note that we ﬁrst deﬁne the functions sort() and merge(), and then call sort(A) to recursively sort and merge the subsets of A. Without loss of generality, we assume that the length of the list n = 2k for some k. function Y = sort(X) n = length(X); if n = 1, Y = X, return; Y = merge(sort(X(1:n/2)), sort(X(n/2:n)));
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 197
function Z = merge(X,Y) i = 1, j = 1, k = 1; m = length(X); n = length(Y); while i ≤ m and j ≤ n if X(i) < Y(j) Z(k) = X(i); k = k + 1; i = i + 1; else Z(k) = Y(j); k = k + 1; j = j + 1; end end if i < m for j = 0, m − i Z(k + j) = X(i + j); end end if j < n for i = 0, n − j Z(k + i) = Y(j + i); end end Sorting algorithm 2 A = sort(A). Note that if the length of X is m and the length of Y is n, the number of operations to merge X and Y will be O(m + n). The recursive sorting algorithm can be viewed as having a number of levels: at the kth level, set A is divided into 2k subsets, and they are grouped to pairs of subsets and then merged to 2k−1 subsets. At the kth level, merging all of the pairs of subsets requires O(n) operations (O(2n/2k ) for each merger, O(n) for 2k−1 mergers), where n is the length of the entire set A. Since there can be only log2 n levels, the total computing time for the algorithm is O(nlog2 n).
May 2, 2008
198
B598
appa
FA1
Computational Structural Biology
A.4.2. Searching Suppose that we have a binary tree T with a root node v0 . Suppose that each node has a left child node denoted as lchild(v) and a right child node denoted as rchild(v). Suppose that we want to search the tree to ﬁnd a node u. There can be two ways to conduct the search: (1) each time after node v is visited, node lchild(v) will be visited next (unless v is a leaf), and then the sibling of v is visited next; or (2) each time after node v is visited, all of the nodes in v’s generation are visited ﬁrst before their child nodes are visited. The ﬁrst approach is called the depthﬁrst search, and the second the breadthﬁrst search. The depthﬁrst search can be implemented by storing the nodes to be visited in a stack. That is, each time a node is visited, it is removed from the stack, but its child nodes are added to the stack. Let S be a stack. Let ﬁrst_item_from_stack (S, v) be a function to remove a node v from the top of the stack S, and add_item_to_stack (S,v) be a function to add a node v at the top of the stack S. Then, the depthﬁrst search algorithm can be described as follows: Depthﬁrst search add_item_to_stack (S, v0 ); while S = v = ﬁrst_item_from_stack (S); if v = u stop; else add_item_to_stack (S, rchild(v)); add_item_to_stack (S, lchild(v)); end end In contrast, the breadthﬁrst search can be implemented by storing the nodes to be visited in a queue. That is, each time a node is visited, it is removed from the queue, but its child nodes are added to the queue. Let Q be a queue. Let ﬁrst_item_from_queue (Q, v) be a function to remove a node v from the beginning of Q, and add_item_to_queue
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 199
(Q, v) be a function to add a node at the end of Q. Then, the breadthﬁrst search algorithm can be described as follows: Breadthﬁrst search add_item_to_list (Q, v0 ); while Q = v = ﬁrst_item_from_queue (Q); if v = u stop; else add_item_to_queue (Q, lchild(v)); add_item_to_queue (Q, rchild(v)); end end
A.4.3. Solution to the shortest path problem Let G = (V , E, W) be a graph, where V is the set of the nodes, E are the edges, and W are the weights on the edges. The shortest path problem is to ﬁnd a path between two of the nodes in the graph, say v1 and vn , so that the sum of the weights along the path is the smallest among all possible paths between the two nodes. Assume that G is a directed graph and that there is an edge (vi , vj ) between vi and vj only if i < j. Then, the problem of ﬁnding the shortest path from v1 to vn can be solved by dynamically ﬁnding the shortest path ﬁrst from v1 to v2 , then to v3 , and eventually to vn . Such an idea is called dynamic programming, and has been applied to many other applications including sequence alignment. Let Lj be the length of the shortest path from node v1 to node vj . Let Pj be the node in the shortest path from v1 to vj directly preceding vj . Then, the following algorithm gives a solution to the shortest path problem using dynamic programming: Solution to the shortest path problem for j = 2, . . . , n Lj = w1,j ; P0 = 1;
May 2, 2008
200
B598
appa
FA1
Computational Structural Biology
for i = 2, . . . , j − 1 if Li + wi,j < Lj Lj = Li + wi,j ; Pj = i; end end end Assume that, at the end of the algorithm, Pn = vl , Pl = vk , Pk = vj , etc. Then, the shortest path from v1 to vn can be traced back from vn to Pn , from vl to Pl , from vk to Pk , and so on and so forth. Note that each inner loop takes a constant time. Therefore, the total computing time is easily seen to be proportional to the total number of embedded loops, which is approximately equal to n(n − 1)/2, or O(n2 ). A.4.4. Minimal weight spanning tree Let G = (V , E, W) be a weighted graph. A graph H is called a subgraph of G if V(H) is in V(G) and E(H) is in E(G). A subgraph H is said to be spanning if V(H) = V(G). A spanning subgraph H is called a spanning tree if H is a tree. Here, we consider the problem of ﬁnding a minimum weight spanning tree for a given graph G. There are two ways of solving this problem. First, we can start with an empty tree T ; then, we can keep adding to the tree a new edge from G that has the least weight, as long as T remains a tree after the addition. Second, we can start with graph G and keep removing the mostweighted edge from the graph, as long as the graph remains connected. Based on these ideas, we can have the following two algorithms for ﬁnding the minimum weight spanning tree for a graph. Minimum weight spanning tree 1 select v in V(G); V(T) = {v}; E(T) = {∅}; while T is not spanning V(T) = V(T) + {vj }, E(T) = E(T) + {(vi , vj )}, (vi , vj ) = argmin {wi,j , vi in V(T), vj not in V(T)}; end Depending on which data structure is used, the computing time of the algorithm can be different. In general, for each node, to ﬁnd
May 2, 2008
B598
appa
FA1
Design and Analysis of Computer Algorithms 201
a minimum weight edge whose end node has not been extended may take O(m) operations, where m is the number of edges of the given graph. Therefore, if there are n nodes, the total computing time will be O(nm). Minimum weight spanning tree 2 V(T) = V(G); E(T) = E(G); while T has a circle C E(T) = E(T) − {(vi , vj )}, (vi , vj ) = argmax{wi,j , (vi ,vj ) in C}; end Finding a maximum weight edge in a circle is easy and takes O(n) operations. However, it is not so trivial to ﬁnd a circle for a graph. One way to ﬁnd a circle in a graph is to make a complete tour on the graph, either using a depthﬁrst or breadthﬁrst order. During the tour, if a child node is generated or visited twice from a pair of different parent nodes, there must be a circle that can be found by tracing the two parent nodes back to their ﬁrst common ancestor. Such a tour may take O(m) steps in the worst case. Therefore, the entire algorithm may again take O(mn) operations.
Selected Further Readings Cormen TH, Leiserson CE, Rivest RL, Stein C, Introduction to Algorithms, The MIT Press, 2001. Dasgupta S, Papadimitriou CH, Vazirani U, Algorithms, McGrawHill, 2006. Aho AV, Ullman JD, Hopcroft JE, Data Structures and Algorithms, Addison Wesley, 1983. Baldwin D, Hazzan O, Algorithms and Data Structures: The Science of Computing, Charles River Media, 2004. Hopcroft JE, Motwani R, Ullman JD, Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2006. Kozen DC, Theory of Computation (Texts in Computer Science), Springer, 2006. Cook WJ, Cunningham WH, Pulleyblank WR, Schrijver A, Combinatorial Optimizations, Wiley, 1997. Wolsey LA, Nemhauser GL, Integer and Combinatorial Optimization, Wiley, 1999.
April 28, 2008
B598
appb
FA
Appendix B Numerical Methods
Numerical methods are the methods that can be used by computers for solving mathematical problems such as linear or nonlinear systems of equations, optimization problems, ordinary or partial differential equations, etc. Except for the linear cases, most of these problems can only be solved approximately. Therefore, numerical methods are often approximation methods in nature. In addition, on computers, all of the calculations are performed with ﬁnite precision. Therefore, some of the methods may even have trouble delivering expected solutions to given problems due to accumulated rounding errors.
B.1. Numerical Linear Algebra Numerical linear algebra is a fundamental ﬁeld of numerical computing, because the numerical solutions of many mathematical problems are eventually reduced to or supported by linear algebraic calculations. Numerical linear algebra includes the numerical methods for the solution of all linear algebraic problems. B.1.1. Matrix–vector operations The basic units in linear algebra are vectors and matrices. A vector is a list of numbers arranged in a row or column, called a row or 202
April 28, 2008
B598
appb
FA
Numerical Methods 203
column vector. A matrix is a set of numbers arranged in several rows and columns. A vector of n numbers is called an ndimensional vector because it corresponds to a point in ndimensional space, with its elements corresponding to the coordinates of the point in that space. A matrix of mn numbers arranged in m rows and n columns is called an m × n dimensional matrix, corresponding to a point in the product of m and ndimensional spaces. It can be considered to consist of m ndimensional row vectors or n mdimensional column vectors. An ndimensional row vector can be considered as a 1 × n dimensional matrix, while an ndimensional column vector can be considered as an n × 1 matrix. For convenience, vectors and matrices in our discussions are all assumed to be in real spaces unless speciﬁed explicitly otherwise. There are several basic mathematical operations such as additions, subtractions, and multiplications that can be applied to vectors or matrices. First, let X be an m × n matrix. Then, X T is called the transpose of X, and is a matrix obtained by changing the rows in the original matrix into columns. As a result, X T is an n × m matrix. Since vectors are matrices, too, if x is a row vector, xT becomes a column vector; and if x is a column vector; xT becomes a row vector. Now, let y = (x1 , x2 , . . . , xn )T and y = (y1 , y2 , . . . , yn )T be two column vectors of the same dimension. Then, x ± y = (x1 ± y1 , x2 ± y2 , . . . , xn ± yn )T .
(B.1)
If α is a scalar, then αx = (αx1 , αx2 , . . . , αxn )T .
(B.2)
Let · represent the dot product of two vectors. Then, x · y = x1 y1 + x2 y2 + · · · + xn yn .
(B.3)
The above operations can be deﬁned for row vectors in the same fashion, but do not need to repeat. Let X = {xi,j : i = 1, 2, . . . , m, j = 1, 2, . . . , n} and Y = {yi,j : i = 1, 2, . . . , m, j = 1, 2, . . . , n} be two matrices with the same row and column dimensions. Then, X ± Y = {xi,j ± yi,j : i = 1, 2, . . . , m, j = 1, 2, . . . , n}.
(B.4)
April 28, 2008
204
B598
appb
FA
Computational Structural Biology
Again, if α is a scalar, then αX = {αxi,j : i = 1, 2, . . . , m, j = 1, 2, . . . , n}.
(B.5)
Now, let X be an m×l matrix and Y an l×n matrix. Then, the product of X and Y is an m × n matrix Z, and zi,j = xi,1 y1,j + xi,2 y2,j + · · · + xi,l yl,j , i = 1, 2, . . . , m, j = 1, 2, . . . , n.
(B.6)
Note that when multiplying two matrices, the number of columns of the ﬁrst matrix must be equal to the number of rows of the second matrix, and the resulting matrix has the same number of rows as the ﬁrst matrix and the same number of columns as the second matrix. For this reason, not all matrices can multiply and the order of the matrices in the multiplication also matters. Since vectors are also matrices, we can also multiply two vectors as long as they meet the dimensional requirement for matrix multiplication. Therefore, if x and y are two column vectors as deﬁned above, we can have xT y, yT x, xyT , and yxT , where xT y and yT x are scalars and called the inner products of x and y, xT y = yT x = x1 y1 + x2 y2 + · · · + xn yn ,
(B.7)
and xyT and yxT are matrices and called the outer products of x and y, xyT = [yxT ]T = {xi yj : i = 1, 2, . . . , n, j = 1, 2, . . . , n}.
(B.8)
However, we cannot have xy and yx, for if n is not equal to 1, the number of columns of the ﬁrst matrix (which is equal to 1) is not the same as the number of rows of the second matrix (which is equal to n). Several special types of matrices are worth mentioning. An m × n matrix is called a square matrix if m is equal to n. Two n × n square matrices can always multiply. However, the order is still important. For arbitrary two n×n matrices A and B, we have AB = BA in general. A square matrix is called a lower triangular matrix if all of its upper offdiagonal elements are zero. Similarly, a square matrix is called an upper triangular matrix if all of its lower offdiagonal elements
April 28, 2008
B598
appb
FA
Numerical Methods 205
are zero. If all offdiagonal elements are zero, the matrix is called a diagonal matrix. A diagonal matrix is called an identity matrix and is denoted as I if all of the diagonal elements are equal to 1. The identity matrix has a special property that any matrix multiplied by the identity matrix of the same dimension, either from left or right, remains the same as the original matrix. A square matrix A is said to be nonsingular or invertible if there is a matrix B such that AB = BA = I. Matrix B is called the inverse of A and is denoted as A−1 . Note that if we count the basic arithmetic operation such as addition, subtraction, or multiplication as one ﬂoatingpoint operation, the total number of ﬂoatingpoint operations for vector addition/subtraction, vector–scalar multiplication, and vector dot product are proportional to the length of the vector(s). In other words, they require O(n) ﬂoatingpoint operations, where n is the length of the vector(s). The total number of ﬂoatingpoint operations for matrix addition/subtraction and matrix–scalar multiplication is proportional to the number of elements in the matrix (or matrices) and is O(mn), where m and n are the row and column dimensions of the matrix (or matrices). However, multiplying an m × l matrix with an l × n matrix requires O(mnl) ﬂoatingpoint operations. So, for n × n square matrices, the multiplication requires O(n3 ) ﬂoatingpoint operations. B.1.2. Matrix factorizations A matrix can be decomposed into two or more matrices, as an integer can be divided into two or more integer factors. Here, let us only consider the square matrices. Commonly seen matrix factorizations include LU factorization, Cholesky factorization, and SVD (singular value decomposition) factorization. Let A be an n × n matrix. Then, an LU factorization of A is such that A = LU, where L is a lower triangular matrix and U is an upper triangular matrix. If, in addition, A is symmetric and positive deﬁnite, A can be factorized as LLT , where L is a lower triangular matrix; this factorization is called the Cholesky factorization. An SVD factorization of A is such that A = UV, where U and V are orthogonal matrices and is a diagonal matrix with positive diagonal elements. We discuss LU and Cholesky factorizations in greater detail in this section, and SVD factorization in Sec. B.1.4.
April 28, 2008
206
B598
appb
FA
Computational Structural Biology
LU factorization requires an order of 2n3 /3 ﬂoatingpoint operations for an n × n matrix, while Cholesky factorization requires an order of n3 /3. Therefore, the computation cost for the Cholesky factorization is only half of that for LU factorization. In any case, a given matrix may not always have an LU or Cholesky factorization. Theorem B.1.2.1 and Theorem B.1.2.2 describe the conditions under which the factorizations exist. Theorem B.1.2.1. If all of its n leading principal minors of an n × n real matrix A are nonsingular, then A has an LU factorization, A = LU, where L and U are the lower and upper triangular matrices, respectively. Theorem B.1.2.2. If A is an n×n real, symmetric, and positive deﬁnite matrix, then A has a unique factorization, A = LLT , where L is a lower triangular matrix with positive diagonal elements. LU factorization for k = 1, 2, . . . , n lk,k uk,k = ak,k − s 0. Therefore, they are more commonly used in practice. Several important convergence results for the quasiNewton methods can be obtained, as stated in the following theorems. Theorem B.2.4.2. Let f be a strictly convex quadratic function, with a positive deﬁnite Hessian. Let B0 = I, and Bk be obtained by using the BFGS formula, for all k > 0. Then, the sequence of iterates {xk } obtained by the quasiNewton method with exact line search converges to a local minimizer x∗ of f in n steps. Theorem B.2.4.3. Let f be a twice continuously differentiable function. Let B0 = I, and Bk be obtained by using the BFGS formula, for all k > 0. Suppose that line search is used and the Wolfe conditions are satisﬁed by all of the step lengths. Then, the sequence of iterates {xk } obtained by the quasiNewton method converges to a local minimizer x∗ of f superlinearly.
B.3. Numerical Solutions to InitialValue Problems We consider the following initialvalue problem and describe the general numerical methods for its solution: x = f(t, x),
x(0) = x0 ,
(B.44)
where x is a function of t and f is a function of t and x. The equation contains the ﬁrst derivative of x, and is therefore called a ﬁrstorder equation. The theory and methods for this equation can often be extended to higherorder systems of equations, which we will not cover.
April 28, 2008
B598
appb
FA
Numerical Methods 219
B.3.1. Existence and uniqueness of the solution In general, a ﬁrstorder differential equation has inﬁnitely many solutions, but it will have a single solution once an initial condition is speciﬁed. The following theorems provide a theoretical foundation for this property. Theorem B.3.1.1. If f and ∂f/∂x are continuous and f has a maximum M for all t and x such that t − t0  ≤ a and x − x0  ≤ b, then the initialvalue problem (B.44) has a unique solution x(t) deﬁned for all t such that t − t0  ≤ min (a, b/M). Theorem B.3.1.2. If f is continuous for all t and x such that a ≤ t − t0 ≤ b and c ≤ x ≤ d, and if f(t, x1 ) − f(t, x2 ) ≤ Lx1 − x2  for any x1 and x2 and constant L, then the initialvalue problem (B.44) has a unique solution x(t) deﬁned for all t such that a ≤ t − t0 ≤ b. B.3.2. Singlestep method The simplest numerical method for solving an initialvalue problem is the Euler method. The method computes a sequence of points on the solution trajectory, beginning with the position given by the initial condition. Let x(t) be the function value at time t. The method computes the function value x(t + h) at time t + h based on a linear approximation of the function at t, x(t + h) = x(t) + x (t)h.
(B.45)
Since x (t) = f(x, t), the formula can also be written as x(t + h) = x(t) + f(t, x)h.
(B.46)
Depending on the problem, the step size h cannot be too large; otherwise, the approximation will not be accurate enough. Since the Euler method is based on linear approximation, the error due to truncation is in the order of h2 . In order to increase the accuracy, it is natural to use a higherorder approximation, say the
April 28, 2008
220
B598
appb
FA
Computational Structural Biology
second or thirdorder approximation. For example, the second derivative of x can be obtained by differentiating the equation x
(t) = fx (t, x)x (t) + ft (t, x) = fx (t, x)f(t, x) + ft (t, x),
(B.47)
and x(t + h) can therefore be calculated using the formula x(t + h) = x(t) + f(t, x)h +
[fx (t, x)f(t, x) + ft (t, x)]h2 , 2
(B.48)
with a higher order of accuracy, O(h3 ). Here, the calculations of fx and ft are of course required, but by making another approximation f(t + h, x + x h) = f(t, x) + fx (t, x)x h + ft (t, x)h,
(B.49)
the formula can be changed to depend on f only: x(t + h) = x(t) +
[f(t, x) + f(t + h, x + f(t, x)h)]h . 2
(B.50)
This formula is called the secondorder Runge–Kutta method or Heun’s method. B.3.3. Multistep method The methods described in the previous section are singlestep methods because they only use the knowledge on x(t) for the calculation of x(t + h). In other words, if tk is the time and xk is the function value at step k, the calculation of xk+1 at step k + 1 depends only on xk . Instead, a multistep method tries to compute xk+1 using information on xk and xk−1 , xk−2 , . . . at a number of previous steps. The idea is to use the following equation to compute xk+1 : tk+1 f(t, x(t))dt, (B.51) xk+1 = xk + tk
where the integral can be calculated numerically based on the values of f at a set of previous steps k, k − 1, k − 2, . . . , etc. Suppose that the resulting formula has the form xk+1 = xk + afk + bfk−1 + cfk−2 + · · · ,
(B.52)
April 28, 2008
B598
appb
FA
Numerical Methods 221
where fk is the function value for f at xk and tk , and a, b, c, . . . are constants determined by numerical integration rules. Such a formula is called the Adams–Bashforth formula. The following is an Adams– Bashforth formula of order 5: 1 [1901fk − 2774fk−1 + 2616fk−2 720 −1274fk−3 + 251fk−4 ].
xk+1 = xk +
(B.53)
If the function value fk+1 is also used, the formula for calculating xk+1 can be like xk+1 = xk + afk+1 + bfk + cfk−1 + · · · .
(B.54)
Such a formula is called the Adams–Moulton formula and can be applied along with an Adams–Bashforth formula. That is, the Adam– Bashforth formula is ﬁrst used to compute a value for xk+1 , and the Adams–Moulton formula is then used to obtain fk+1 and a new value for xk+1 . Such a procedure is called a predictioncorrection procedure and is considered to be more stable and accurate. The Adams–Bashforth is called the predictor, and the Adams–Moulton the corrector. The following is an Adams–Moulton formula of order 5: xk+1 = xk +
1 [251fk+1 + 646fk − 264fk−1 720 + 106fk−2 − 19fk−3 ].
(B.55)
B.3.4. Accuracy and convergence Consider a numerical method for the solution of an initialvalue problem given by the formula am xk + am−1 xk−1 + · · · + a0 xk−m = h[bm fk + bm−1 fk−1 + · · · + b0 fk−m ],
(B.56)
where ai and bi are constants. The method is called explicit if bm = 0, and implicit if bm = 0. Associated with the formula are two
April 28, 2008
222
B598
appb
FA
Computational Structural Biology
polynomials: p(z) = am zm + am−1 zm−1 + · · · + a0 , q(z) = bm zm + bm−1 zm−1 + · · · + b0 .
(B.57)
Let x(h, t) be the solution obtained by using Eq. (B.56) with a step size h. The method is said to be convergent if limh→0 x(h, t) = x(t) for all t. The method is said to be stable if all roots of p lie in the disk z ≤ 1 and if each root of modulus one is simple. The method is said to be consistent if p(1) = 0 and p (1) = q(1). Theorem B.3.4.1. For a numerical method in Eq. (B.56) for the solution of an initialvalue problem to be convergent, it is necessary and sufﬁcient that it is stable and consistent. Let x(t) be the solution of an initial value problem. Let xk be the value of x at tk obtained using a numerical method in Eq. (B.56). Then, x(tk ) – xk is deﬁned as the local truncation error of the method. For example, the Euler method has a truncation error O(h2 ). The accumulation of the local errors in the calculation of a sequence of points on the solution trajectory results in the global truncation error. Theorem B.3.4.2. In general, if the local truncation error of a numerical method in Eq. (B.56) for the solution of an initialvalue problem is O(hm+1 ), the global truncation error must be O(hm ).
B.4. Numerical Solutions to BoundaryValue Problems The problem of ﬁnding the solution to a differential equation with a given set of conditions at the beginning and ending states of the solution is called a boundaryvalue problem. We consider the boundaryvalue problem for a secondorder differential equation in the following form: x
= f(t, x, x ),
x(t0 ) = x0 ,
x(te ) = xe ,
(B.58)
where there are two separate conditions at the beginning and ending states of the solution. The problem with such a set of conditions is also called a twopoint boundaryvalue problem.
April 28, 2008
B598
appb
FA
Numerical Methods 223
B.4.1. Existence and uniqueness of the solution The theory and methods for initialvalue problems cannot be directly applied to boundaryvalue problems. The conditions for a boundaryvalue problem to have a solution are more restrictive than for an initialvalue problem. Sometimes, a boundaryvalue problem may not even have a solution, while the solution to an initialvalue problem always exists under some modest conditions. In general, we have the following theorem. Theorem B.4.1.1. The twopoint boundaryvalue problem x
= f(t, x, x ),
x(t0 ) = x0 ,
x(te ) = xe
(B.59)
has a unique solution on interval [t0 , te ] provided that the function f and its partial derivatives ft , fx , fx are all continuous on D = [t0 , te ] × R × R, fx is positive, and fx is bounded on D. A simpler class of problems than that in (B.59) is that x
= f(t, x),
x(t0 ) = x0 ,
x(te ) = xe .
(B.60)
It can be veriﬁed that, with a change of variable, this class of problem can be written in a special form: x
= f(t, x),
x(0) = 0,
x(1) = 0.
(B.61)
Theorem B.4.1.2. The twopoint boundaryvalue problem x
= f(t, x),
x(0) = 0,
x(1) = 0
(B.62)
has a unique solution on interval [t0 , te ] if fx is continuous, nonnegative, and bounded on D = [t0 , te ] × R. B.4.2. Single shooting A simple approach to the boundaryvalue problem is to solve an initialvalue problem for the equation with some beginning conditions so that the solution satisﬁes the given ending conditions. This is similar
April 28, 2008
224
B598
appb
FA
Computational Structural Biology
to shooting a ball in a basket (ending condition) from a given position (beginning condition). By adjusting the initial velocity (another beginning condition), one hopes to make a shot so that the ball can end in the basket (satisfying the ending condition). Consider the boundaryvalue problem x
= f(t, x, x ),
x(t0 ) = x0 ,
x(te ) = xe ,
(B.63)
x (t0 ) = z.
(B.64)
and the corresponding initialvalue problem x
= f(t, x, x ),
x(t0 ) = x0 ,
We wish to ﬁnd an appropriate z so that the corresponding solution x(t; z) for the initialvalue problem in (B.64) satisﬁes the conditions x(t0 ; z) = x0 and x(te ; z) = xe speciﬁed in problem (B.63). Let ϕ(z) = x(te ; z)−xe . Then, we can ﬁnd such a value for z by solving a nonlinear equation ϕ(z) = 0. The equation ϕ(z) = 0 can be solved by using, for example, the Newton method; and at every step k, zk+1 = zk −
ϕ(zk ) . ϕ (zk )
(B.65)
Here, the calculation of ϕ(z) requires the solution x(t; z) of the initialvalue problem in (B.64) evaluated at te , namely, x(te ; z). The derivative ϕ (z) is equal to ∂x/∂z evaluated at te , which can be computed either through ﬁnitedifference approximation or by solving another associated initialvalue problem called the ﬁrst variation equation. The equation can be obtained by differentiating Eq. (B.64) with respect to z: ∂x
∂x ∂x
= fx + fx
, ∂z ∂z ∂z
∂x (t0 ) = 0, ∂z
∂x
(t0 ) = 1. ∂z
(B.66)
Let y = ∂x/∂z. The above equation can be written as y
= fx y + fx y ,
y(t0 ) = 0,
y (t0 ) = 1,
(B.67)
and be solved in conjunction with the solution to the initialvalue problem in (B.64).
April 28, 2008
B598
appb
FA
Numerical Methods 225
B.4.3. Multiple shooting The singleshooting method is not stable, as we can imagine that if the time period is long, the “shot” will be sensitive to the change in the initial derivative and be difﬁcult to reach the target. To overcome this difﬁculty, we can divide the time interval into smaller subintervals and make the shootings separately in the subintervals. Here, the function values and derivatives of the solution trajectory on the intermediate points are, of course, all unknown. We need to determine them so that the trajectories obtained in the subintervals can be connected into a smooth trajectory on the entire interval. The method for obtaining such a trajectory is called the multipleshooting method. We ﬁrst divide the time interval [t0 , te ] uniformly into n subintervals [t0 , t1 ], [t1 , t2 ], . . . , [tn−1 , tn ], with tn = te . Then, on each subinterval [ti , ti+1 ], 0 ≤ i < n, we solve an initialvalue problem, x
= f(t, x, x ),
x(ti ) = ri ,
x (ti ) = si ,
ti ≤ t ≤ ti+1 .
(B.68)
Let the solution be denoted by xi (t; ri ; si ). Then, in the entire interval, x(t) ≡ xi (t; ri ; si ),
ti ≤ t ≤ ti+1 ,
0 ≤ i < n.
(B.69)
Here, we need to ﬁnd r = [r0 ; r1 ; . . . ; rn−1 ] and s = [s0 ; s1 ; . . . ; sn−1 ] such that xi (ti+1 ; ri ; si ) = ri+1 , x0 (t0 ; r0 ; s0 ) = x0 ,
xi (ti+1 ; ri ; si ) = si+1 , xn−1 (tn ; rn−1 ; sn−1 ) = xe .
0 ≤ i < n − 2, (B.70)
Let r = (r0 , r1 , r2 , . . . , rn )T and s = (s0 , s1 , s2 , . . . , sn )T . If we deﬁne a vector function µ such that x0 (t1 ; r0 ; s0 ) − r1 x0 (t1 ; r0 ; s0 ) − s1 .. . µ(r; s) ≡ xn−2 (tn−1 ; rn−2 ; sn−2 ) − rn−1 , (B.71)
x (tn−1 ; rn−2 ; sn−2 ) − sn−1 n−2 x0 (t0 ; r0 ; s0 ) − x0 xn−1 (tn ; rn−1 ; sn−1 ) − xe
April 28, 2008
226
B598
appb
FA
Computational Structural Biology
then we basically need to determine (r; s) such that µ(r; s) = 0. The equation can be solved again by using, for example, the Newton method, as we described in the previous section. B.4.4. Finite difference The ﬁnitedifference approach to a boundaryvalue problem is also based on the division of the time interval into a set of subintervals. Let [t0 , te ] be uniformly divided into n + 1 subintervals [t0 , t1 ], [t1 , t2 ], . . . , [tn , tn+1 ], with tn+1 = te . Then, on each subinterval [ti , ti+1 ], 0 ≤ i ≤ n, a difference equation can be obtained by making a difference approximation to each of the derivatives of the solution:
xi+1 − 2xi + xi−1 xi+1 − xi−1 , i = 1, 2, . . . , n. (B.72) = f ti , xi , 2h h2 The values xi , i = 1, 2, . . . , n, can then be obtained by solving the difference equations simultaneously along with the given values x0 and xn+1 = xe at t0 and tn+1 = te . Note that this approach does not require the solution of initialvalue problems as required in the shooting methods; all it needs is the solution of a system of algebraic equations. Let x = (x1 , x2 , . . . , xn )T . Let A = {aij , i, j = 1, 2, . . . , n} with aij = 2 if i − j = 0, aij = −1 if i − j = 1, and aij = 0 otherwise, and 2 −1 0 · · · 0 .. −1 2 −1 0 . . . . . . . . (B.73) A= 0 . . . 0 .. . 0 −1 2 −1 0 · · · 0 −1 2 Deﬁne a vector function F such that
xi+1 − xi−1 Fi (x) = f ti , xi , , i = 2, 3, . . . , n − 1, 2h
x0 x2 − x0 , F1 (x) = − 2 + f t1 , x1 , 2h h
xn+1 xn+1 − xn−1 . Fn (x) = − 2 + f tn , xn , 2h h
(B.74)
April 28, 2008
B598
appb
FA
Numerical Methods 227
Then, Eq. (B.72) can be put into a compact form: 1 Ax + F(x) = 0. h2
(B.75)
Stated in the following theorems are some important properties of the ﬁnitedifference method. Theorem B.4.4.1. Let f be continuously differentiable, fx and fx be bounded, and fx be positive on D = [t0 , te ] × R × R. Then, the system of difference equation (B.75) has a unique solution for any h ≤ 2/ max{fx }. Theorem B.4.4.2. Let f be continuously differentiable, fx and fx be bounded, and fx be positive on D = [t0 , te ] × R × R. Then, the numerical solution {xj } obtained by the ﬁnitedifference method has an order of O(h2 ) local truncation error.
Selected Further Readings Kincaid DR, Cheney EW, Numerical Analysis: Mathematics of Scientiﬁc Computing, Brooks Cole, 2001. Stoer J, Bulirsch R, Bartels R, Gautschi W, Introduction to Numerical Analysis, Springer, 2004. Ortega JM, Rheinboldt WC, Iterative Solution of Nonlinear Equations in Several Variables, SIAM, 1987. Dennis JE, Schnabel RB, Numerical Methods for Unconstrained Optimization and Nonlinear Equations, SIAM, 1996. Fletcher R, Practical Methods of Optimization, Wiley, 2000. Nocedal J, Wright S, Numerical Optimization, Springer, 2006. Ascher U, Mattheij R, Russell R, Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, SIAM, 1995. Deuﬂhard P, Bornemann F, Scientiﬁc Computing with Ordinary Differential Equations, Springer, 2002.
April 28, 2008
B598
appb
FA
This page intentionally left blank
April 28, 2008
B598
index
FA
Index
αhelix, 4 βsheet, 4
equation of motion, 16 explicit solvent, 106
amino acid, 2, 5 anomalous scattering, 58 array, 193 atomic ﬂuctuation, 149 atomic scattering factor, 32
fast Fourier transform, 52 fold recognition, 165 force ﬁeld, 14, 128 Gaussian network model, 18, 150 Gaussian transform, 116 genetic code, 3 geometric buildup, 84 global optimization, 86, 111 graph, 193 gyromagnetic ratio, 64
bond angle potential, 73, 102 bond length potential, 73, 102 boundary value problem, 138, 222 branch and bound, 114 breadthﬁrst search, 199
implicit solvent, 106 initial value problem, 129, 218 intractability, 188 inverse folding, 166 isomorphous replacement, 56
chemical shift, 68 Cholesky factorization, 205, 206 Cochran distribution, 41 computing time, 185 conjugate gradient method, 86, 108, 213 contact matrix, 151 COSY, 69 deoxyribonucleic acid, 2 depthﬁrst search, 198 discrete convolution, 52 distance geometry, 73
leapfrog algorithm, 134 least action principle, 126 linear system, 85, 207 list, 192 local optimization, 86, 107, 211 lower triangular system, 208 LU factorization, 205, 206
electron density distribution, 29, 33 electron scattering, 29 electrostatic potential, 87, 102 embedding algorithm, 82 entropy maximization, 46
matrix, 203 matrix factorization, 205 mean force potential, 172 memory space, 186 minimal spanning tree, 200 229
April 28, 2008
B598
230
index
FA
Computational Structural Biology
molecular dynamics simulation, 11, 125 molecular replacement, 56 multistart, 112 multiple shooting, 143, 225 multistep method, 220 Newton method, 51, 86, 109, 215 NMR spectroscopy, 10, 63 NMR spectrum, 67 NOE, 71 normal mode, 146 normal mode analysis, 17, 145 NPhard, 19, 78, 169, 188 nuclear magnetic ﬁeld, 64 nuclear magnetic resonance, 63 nuclear spin angular moment, 64 Patterson function, 54 polynomial time, 19, 75, 188 polynomial time reduction, 190 polypeptide chain, 2 potential energy function, 86, 100 potential energy landscape, 105 potential energy minimization, 23, 85, 99 precession, 64 precession frequency, 64 primary structure, 4 principle of variation, 126 protein, 2 protein folding, 3, 18 quasiNewton method, 110, 216 RAM, 183, 184 Ramachandran plot, 91 Rattle algorithm, 135
ribonucleic acid, 2 RMSD, 88 RMSD_ACC, 90 RMSD_PRE, 90 satisﬁability problem, 169, 189 Sayre’s equation, 39 scoring function, 167 secondary structure, 4 sequence alignment, 156, 158 set partition problem, 77, 190 Shake algorithm, 135 shortest path, 158, 199 simulated annealing, 115 single shooting, 142, 223 single step method, 219 sorting, 195 steepest descent direction method, 86, 107, 211 stochastic search, 112 structural alignment, 156, 164 structure factor, 29, 35 SVD, 76, 89, 208, 209 tertiary structure, 4 torsion angle potential, 91, 102 tree, 194 Turing machine, 183, 184 upper triangular system, 208 van der Waals potential, 87, 102 vector, 203 Verlet algorithm, 130 Xray crystallography, 10, 27 Xray diffraction, 28