the protein folding problem , or the protein structure prediction problem , is one of the most interesting problems in biological science . studies have indicated that proteins biological functions are determined by their dimensional folding structures . because the structure of a protein is strongly correlated with the sequence of amino acid residues , predicting the native conformation of a protein from its given sequence since the problem is too difficult to be approached with fully realistic potentials , the theoretical community has introduced and examined several highly simplified models . one of them is the hp model of dill et al . 1 . , 2 . , 3 . where each amino acid is treated as a point particle on a regular ( quadratic or cubic ) lattice , and only two types of amino acids although the hp model is extremely simple , it still captures the essence of the important components of the protein folding problem ( 4 ) . the protein folding problem in the hp model has been shown to be np - complete , and hence unlikely to be solvable in polynomial time 5 . .. for relatively short chains , an exact enumeration of all the conformations is possible . in dealing with longer chains , the methods used to find low energy structures of the hp model include genetic algorithm ( ga ; ref . 8 . , 9 . these algorithms can find optimal or near - optimal energy structures for most benchmark sequences , however , their computation time is rather long . in this paper , a branch and bound algorithm is proposed to find the native conformation for the two - dimensional ( 2d ) hp model . the experimental results have shown that our algorithm is very efficient , which can find optimal or near - optimal conformations in a very short time for a number of sequences with lengths ranging from 20 to 100 monomers . the monomers are numbered consecutively from 1 to n along the chain , which is folded on the square lattice , and each monomer occupies one site with the center on the lattice point . note that each monomer should be connected to its chain neighbors and is unable to occupy a site filled by other monomers . if monomer i is placed on the square lattice , then the coordinates of its location are denoted by ( xi , yi ) . the hp model is based on the assumption that the hydrophobic interaction is one of the fundamental principles in the protein folding . an attractive hydrophobic interaction provides for the main driving force for the formation of a hydrophobic core that is screened from the aqueous environment by a shell of polar monomers . therefore , the energy function of the hp model is defined as:(1)e=-i , j < i-1ij where i = 1 if the i monomer in the chain is hydrophobic , otherwise i = 0 . in other words , the energy of a conformation can be obtained by counting the number of adjacent pairs of hydrophobic monomers ( h  h ) that are not consecutively numbered , and multiplying by 1 . the goal of the protein folding problem is to find the conformation with the minimal energy . it can be seen that each monomer occupies one lattice site connected to its chain neighbors . the energy of this conformation is 4 , which is the lowest energy state of the sequence . in our algorithm , a conformation is built by adding a new monomer at an allowed neighbor site of the last placed monomer on the square lattice . in order to obtain a self - avoiding conformation , the monomers are placed consecutively until all the n ( the length of the chain ) monomers are placed , that is , our algorithm is a growth algorithm . if k  1 ( 1  k  n ) monomers have been placed on the square lattice , the k monomer may have three possible locations : turn 90 right , turn 90 left , or continue ahead . figure 2 gives a partial conformation where four monomers have been placed on the square lattice . the next monomer , namely monomer 5 , can be placed at any one of these unoccupied positions , resulting in three different partial conformations accordingly . in this way as shown in figure 3 , a search tree representation can be used to denote all possible folding conformations , with three descendants at most for each node . each node in the search tree corresponds to a partial conformation , and a line between two nodes represents a placement choice of a new monomer to the existing partial conformation . consequently , leaf nodes at the end of the tree correspond to the complete conformation . from figure 3 , it is obvious that the conformational space grows exponentially when the length of the protein chain increases . as mentioned by unger and moult ( 12 ) , the number of possible ( self - avoiding ) conformations for an l - long sequence on a 2d square lattice is al , where   2.63 and   0.333 . accordingly , for a protein chain of not too short length , the search space is too huge to find the lowest energy conformation within a reasonable running time . to reduce the computational cost , a so - called branch and bound method is introduced in this paper . in this search method , only the promising nodes are kept for further branching and the remaining nodes are pruned off permanently . since a large part of the search tree is pruned off aggressively to obtain a solution , its running time is polynomial in the size of the problems . in our algorithm , we treat h monomers and p monomers differently . for a partial conformation where k1 monomers have been placed on the square lattice , if the k monomer is p , then all possible branches should be kept . otherwise , if the k monomer is h , then the benefit of all possible branches of the k monomer will be evaluated and some branches may be pruned . that is to say , the main part of our algorithm is centered on the evaluation and pruning of the h monomers . this strategy maintains the diversity of the conformations and eliminates the hopeless partial conformation at the same time . the details are as follows : we set two variables , uk and zk , as the thresholds to evaluate the benefit of all branches for monomer k. here , uk is defined as the lowest energy of the partial conformation with length k that has ever been generated so far , and zk is the arithmetic average energy of the partial conformation with length k so far . after pseudo - placing monomer k at a possible location , we calculate ek , which is defined as the energy of the current partial conformation with k monomers placed . it should be pointed out that the term  pseudo - place  means that it is just a test and the placing process can be reverted . then we compare ek with thresholds uk and zk : if ek  uk , it means that this partial conformation is very promising and this branch should be kept . if ek > zk , that means the benefit of the partial conformation is below the average , so this conformation is discarded with probability 1 otherwise , if zk  ek > uk , the partial conformation is discarded with probability 2 . the pseudo - code of this subroutine is presented in figure 4 , including the details of evaluation criterion and the pruning mechanism , which is the main part of our algorithm . the above process is implemented in a recursive way until all the conformations are either pruned or hit length n. from the conformations hitting length n , we choose one with the lowest energy as the output of the algorithm . it should be mentioned that the search could be implemented by depth - first or breadth - first , where the two results are identical . in this paper , our algorithm is implemented by depth - first . here , emin is the minimal energy of the complete conformations ever built . note that the first two monomers of a chain can be placed on the square lattice randomly . the initial values of the two thresholds uk and zk are both 0 . obviously , if 1 = 0 and 2 = 0 , the search space will be the complete tree ( no node be pruned ) and it will take a prohibitively long time to search for the lowest energy conformation . if 1 = 1 and 2 = 1 , it takes a very little time to search the entire search space because the thresholds are so high that many promising nodes may be discarded . that is to say , the higher the value of the probabilities , the more difficult a branch is to be kept . therefore , choosing the value of 1 and 2 is an essential factor affecting the speed and efficiency of this approach . in this paper the probability 2 is chosen to be less than 1 because a partial conformation with energy below average is more promising than a high energy partial conformation . in this way , ek , the energy of the partial conformation , can be viewed as the energy expectation of the partial conformation after looking one step ahead and zk is expressed as the mean energy of the already generated partial conformations of length k. zk keeps a historical record , which is , to a large extent , conducive to the formulation of promising conformations . for any partial conformation , it would have more opportunities to procreate if holding higher individual quality ( ek ) , which is in accordance with the law of natural selection . to test the performance of the branch and bound algorithm , we compared it with the mc , ga , and mixed search ( ms ; ref . 13 ) algorithms by using 10 benchmark sequences for evaluation ( table 1 ) . table 2 presents the results obtained by the four methods on the 10 different sequences . as shown in the table , our branch and bound algorithm can find the optimal lowest energy conformations for six sequences . it is noteworthy that our algorithm can find one native state for the sequence of length 60 , whereas the other three methods failed . for the two long sequences of length 85 and 100 , respectively , our algorithm can find near - optimal energy conformations . it should be pointed out that predicting the longest sequence of length 100 is a hard problem , whose native state can only be obtained by a few methods such as the perm algorithm 14 . , 15 . and the guided simulated annealing method ( 7 ) . we did not compare the speed with other methods directly because the machines were different . moreover , the running time of the other three methods was presented in terms of  number of steps  while the exact cpu time was used in our test . all the computations in this study were carried on a 2.4  ghz pc with 512  m memory . the cpu time for all sequences was less than 10  s except the sequence of length 64 , for which the cpu time was 39.46  s. it can be seen from unger and moult ( 12 ) that the  number of steps  of mc and ga methods increases badly with the increase of sequence lengths , therefore , it is imaginable that the computational speed of mc and ga methods in unger and moult ( 12 ) for practical applications is unacceptable . the resulting folding conformations for sequences with 24 , 36 , 60 , 85 , and 100 monomers are given in figure 5 , respectively . for sequences with 24 , 36 , and 60 monomers , the corresponding conformations are all of the lowest energy . for the other two sequences with longer lengths , the corresponding conformations are also of near - optimal energy . it can be seen that the conformation has a single compact hydrophobic core for all sequences , which is analogous to the real protein structure . the branch and bound algorithm proposed in this paper is a novel and effective tool for the conformational search in the low - energy regions of the protein folding problem in the 2d hp model . the experimental results on 10 benchmark sequences demonstrate that our algorithm outperforms other three methods in terms of speed and efficiency . our algorithm is similar to the  population control  scheme ( 15 ) where individuals would have more opportunities to procreate if holding higher individual quality , and the pruning mechanism reduces considerably the computational burden of search . we should point out that , the coding of this algorithm is very simple and hence it can be easily implemented by practitioners .
a branch and bound algorithm is proposed for the two - dimensional protein folding problem in the hp lattice model . in this algorithm , 
 the benefit of each possible location of hydrophobic monomers is evaluated and only promising nodes are kept for further branching at each level . the proposed algorithm is compared with other well - known methods for 10 benchmark sequences with lengths ranging from 20 to 100 monomers . 
 the results indicate that our method is a very efficient and promising tool for the protein folding problem .