The Chaotic Multiquenching Annealing algorithm (CMQA) is proposed. CMQA is a new algorithm, which is applied to protein folding problem (PFP). This algorithm is divided into three phases: (i) multiquenching phase (MQP), (ii) annealing phase (AP), and (iii) dynamical equilibrium phase (DEP). MQP enforces several stages of quick quenching processes that include chaotic functions. The chaotic functions can increase the exploration potential of solutions space of PFP. AP phase implements a simulated annealing algorithm (SA) with an exponential cooling function. MQP and AP are delimited by different ranges of temperatures; MQP is applied for a range of temperatures which goes from extremely high values to very high values; AP searches for solutions in a range of temperatures from high values to extremely low values. DEP phase finds the equilibrium in a dynamic way by applying least squares method. CMQA is tested with several instances of PFP.

1. Introduction

DNA is a molecule that contains genetic instructions, which are used in protein synthesis process [1]. This molecule has a complete set of hereditary information of any organism. DNA is formed by four different nucleotides, Adenine identified by the letter , Cytosine identified by the letter , Guanine identified by the letter , and Thymine identified by the letter . This molecule is divided into genes; each gene is a sequence of nucleotides that can express a functional protein. The transcription process of DNA creates an RNA molecule, which generates proteins. A protein is a linear polypeptide of amino acids, which are joined by peptide bonds. The atoms of a protein are arranged in a three-dimensional structure geometric model. In principle, function and structure of a protein are determined by its amino acids sequence. A functional protein is conformed in a geometrical model with a global minimum energy [2]; however, there are some exceptions [3]. This structure is usually named native structure (NS). The free energy of a conformation depends on the interaction among the atoms and their relative positions; normally, this energy can be calculated using torsion angles and the distance among atoms.

A protein can take consequently many different conformational structures from its primary structure to its native structure [4]. Therefore, computational methods are currently designed in order to find the optimal solution, which has the minimal free energy and determines the NS. The computational problem involved to find the NS is known as protein folding problem (PFP). Because PFP is a NP problem [5], metaheuristic methods avoid the generation of all possible states of the protein [6]. A particular class of these methods is known as . In other words, methods search for NS only using protein sequence amino acids.

New heuristic methods are used to solve PFP, where simulated annealing (SA) [7, 8] is one of the most successful. However, in order to generate high-quality solutions for PFP, new and more efficient SA should be designed [9]; one of them is named Multiquenching Annealing algorithm (MQA) [10]. This algorithm uses two phases. The first one or quenching phase applies a fast cooling rate to reach a fast solution. In contrast, the second phase applies a slow cooling rate in order to obtain a high-quality solution.

In this paper, a new approach named Chaotic MultiQuenching Annealing (CMQA) for PFP is presented. CMQA has three phases. The first one applies a quenching process and chaotic functions in several subphases. The second phase implements an annealing process. In the third phase, the stochastic equilibrium is detected by using least squares method.

2. Materials and Methods

In this section the protein folding problem is briefly described and the next methods are explained: SA, MQA, and CMQA. Then chaotic local search (CLS) is introduced and compared with those algorithms trough a set of small proteins.

2.1. Protein Folding Problem

Native structure prediction of a protein is an enormous challenge in the computational biology domain [11, 12]. PFP is an interdisciplinary problem which involves molecular biology, biophysics, computational biology, and computer science [13]. In the case of , NS prediction requires different mechanisms that lead the searching process to a unique biological three-dimensional structure. This process only requires amino acids’ sequence. There is an extremely large space of possible conformations of the protein; the size of this space depends on the length of the sequence of amino acids [4].

The function of a protein directly is related to its three-dimensional structure, and misfolded proteins can cause a variety of diseases [1419]. In addition, PFP is analyzed in protein engineering area [20] where proteins are designed and constructed with desired functions and structures. PFP can be solved by different combinatorial optimization algorithms [21]. An objective function of PFP would be optimized by finding the native structure of a protein. PFP requires the following information:(i)a sequence of amino acids that represents the primary structure of a protein;(ii)an energy function, , which represents the free energy. The variables represent the dihedral angles.

The solution of this problem is to find the native structure such that represents the minimal energy value. The optimal solution defines the best three-dimensional configuration. Force fields are used to represent the energy of a protein [22]; some of the most common are AMBER [23], CHARMM [24], ECEPP/2, and ECEPP/3 [25]. These fields compute some energy components, for example, the electrostatic energy [25], the torsion energy [23], the hydrogen bond energy, and the Lennard-Jones energy [26].

Simulated annealing algorithm has generated very good results for PFP [9, 2729]. This method has been used in many combinatorial optimization problems [9, 10, 3032]. However, SA has a low convergence feature and requires too much execution time. Thus, it is convenient to develop new SA strategies for improving its effectiveness.

2.2. Chaotic Multiquenching Annealing Algorithm
2.2.1. General Description

The Chaotic Multiquenching Annealing (CMQA) introduced in this paper is composed of three phases as it is shown in Figure 1: (i) multiquenching phase (MQP) applies several quenching processes, all of which implement a chaotic local search at the end of each stage; (ii) annealing phase (AP) is a classical simulated annealing process; and (iii) dynamical equilibrium phase (DEP) detects the stochastic equilibrium in a dynamical way using a regression method. MQP is applied from extremely high temperature to very high values. This phase applies a very fast cooling function to decrease the temperature parameter. MQP is executed from until . After this phase, AP is executed until a final threshold temperature (), which is close to the final temperature of the whole algorithm. AP develops an exploration of the solution space with a very slow temperature’s decrement. Finally, DEP detects the final temperature by using an efficient implementation of the least squares method.

All CMQA’s phases apply a cooling function (1), which is similar to that applied in the classical simulated annealing algorithm. The initial and final temperatures ( and ) can be determined experimentally and/or analytically. The parameter is a decrement temperature factor; it is less than one and greater than a certain value (close to 0.7) as follows:

2.2.2. Multiquenching Phase

MQP has several subphases (see Figure 2). It starts at extremely high initial temperature () and it is finished when a threshold temperature () is reached. MQP uses the cooling function given by (2) and (3). In this case, the temperature is decreased by using and parameters. parameter is in the range , and it defines how fast each MQP’s subphase is decreased. A very low value will decrease the temperature very fast. The parameter is ranged in , and it defines a quadratic decrement of the temperature. Notice that converges to zero, and then (2) is equivalent to (1) as follows:

The transition between two subphases is based on parameter. It occurs when converges to zero (). In this transition, a chaotic local search (CLS) is started. When CLS is finished, the new MQP subphase (i.e., another quenching process) is started, and is set to its initial value. This process continues until the temperature is reached. Actually, this temperature corresponds to the initial temperature of a classical SA algorithm. Therefore, MQP is an additional search procedure that looks for improving the quality solution, even though the execution time is increased. An alternative approach is to increment the iterations’ number of the classical SA. However, in this alternative, the quality solution is not significantly improved according to previous experimentation.

Algorithm 1 shows the MQP’s pseudocode. In the setting section, MQP’s parameters are established. The initial temperature is defined according to a tuning method [33], while and parameters experimentally are set (in this case 0.85 and 0.90, resp.). MQP generates a random initial solution (with an energy ) at the temperature , which determines an initial minimal solution candidate (). Two main cycles can be observed in this algorithm. The first one (external cycle) controls the temperature, which is decreased by applying geometric function (2). The other cycle (or metropolis cycle) generates new solutions by using a perturbation function. This function is a classical probabilistic distribution at the beginning of the process, which is different to that used at the end of the algorithm when a chaotic search procedure is used. In the internal cycle, is always accepted if it is better than a previous solution. When a new solution does not improve the previous one, it is accepted or rejected with the Boltzmann distribution. When is accepted, it replaces the previous solution (i.e., ). When a new accepted solution is better than the current minimal solution , it is replaced by (i.e., ). Each time a metropolis cycle is finished, the parameter is updated according to (3), and when its value converges to zero, a chaotic local search (CLS) is executed. Once CLS (explained in Section 2.2.4) is finished, the parameter retakes its initial value and a new MQP subphase is started. In this case, a new temperature is calculated using (2), and the process continues until the temperature is obtained.

(1)  Multi-quenching Phase Procedure( )
(3) //Setting section
(4) = Initial Temperature,
(5) = initial value
(6) AlphaQuenching = initial value, tau = initial value
(7) //Creation of initial solution
(8) = Initial solution; E( ) = Energy( );
(9) = ; E( ) = E( )
(10)  //Multi-quenching Cycles
(11)  Repeat //External Cycle (Temperature Cycle)
(12)    Repeat //Internal Cycle (Metropolis Cycle)
(13)       = Perturbation ( ) //Uniform perturbation
(14)      DE = E( ) − E( )
(15)      If DE ≤ 0 Then
(17)      else if e (−DE/T) > random 0,1 Then
(19)      end if
(20)      If < then //save
(21)         = ; E( ) is saved
(22)      end if
(23)    Until Metropolis Cycle is Finish
(24)    tau = tau 2
(25)    If (tau is very to close 0) Then
(26)      tau = initial value
(27)      Call Chaotic Search Procedure( )
(28)    end if
(29)    T = AlphaQuenching (1 − tau) T
(30)  Until T > //External Cycle
(31)  End procedure

The parameter is set to an initial value and is assigned to (see line 4). The threshold temperature () is set to an initial value (see line 5). and are set to initial value (see line 6). is set to initial solution. is calculated, which represents the energy of (see line 8). is set to . The energy of is set to . The external cycle is started (see line 11), and this is finished at line 30. The metropolis cycle is started within the temperature cycle (see line 12), and this cycle is finished at line 23. Within this cycle, is created by applying a uniform perturbation (see line 13). The difference of energies between and is calculated (see line 14). If this difference is less than zero (see line 15), then the is accepted (see line 16). Then, this solution is assigned to . If this difference is greater than zero, then the Boltzmann probability is calculated by using (see line 17). If this probability is greater than a random value between 0 and 1 (see line 17), then the is accepted (see line 18). Then, this solution is assigned to . If is less than (see line 20), then is assigned to (see line 21). After the metropolis cycle is finished, the variable is updated by (3) (see line 24). If is very close to zero (see line 25), then is set to initial value (see line 26), and the chaotic search is called (see line 27). The temperature value is set by applying (2) (see line 29).

2.2.3. Setting the Temperature Range

CMQA uses an analytical tuning method to determine the initial and final temperature [33]. This method is based on the acceptance probability of the solutions. At the beginning, the probability of accepting a new solution is very close to one. This occurs at extremely high temperatures; consequently, the deterioration of the cost function is maximal. Therefore, the initial temperature is associated with the maximal deterioration . On the other hand, the probability of a new solution is very close to zero at very low temperatures; in this case, the deterioration of cost function is minimal. Thus, the final temperature is associated with the minimal deterioration . The acceptance probability based on Boltzmann distribution is defined by (4). At extremely high temperatures, this equation leads to (5). On the other hand, at the end of the process, the final temperature is obtained by (6) as follows:

Actually, CMQA uses the final temperature only as a guide to detect stochastic equilibrium at dynamical equilibrium phase. This phase is a special process based on least squares method during the last phase of CMQA. DEP is started some cycle before and is explained in Section 2.2.6.

2.2.4. Chaotic Local Search

In order to avoid falling into local optima, CMQA applies CLS procedure at very high temperatures. As it is shown in Algorithm 2, this process has only a search cycle; solution is improved by a chaotic function . This function is named chaotic perturbation in the pseudocode of Algorithm 2. The purpose of this chaotic function is to improve the possibility of escape from any local optimum. In CLS, solution is generated by applying a chaotic perturbation to ; when is better than , then is replaced by . Thus, solution is improved after several iterations (). Generally, CLS improves when is equal to the number of instance’s variables. The current solution is assigned to (see line 3). The minimal solution is assigned to (see line 4). The FOR statement is started at line 5, and it is finished at line 11. Within this FOR statement, the solution is created by applying a chaotic perturbation to (see line 6). If solution is better than , then replaces (see line 8). The solution is assigned to (see line 10). After FOR statement is finished, is assigned to .

(1) Chaotic Search Procedure
(5)  For To Mchaot
(6)      = Chaotic Perturbation ( )
(7)     If < then
(9)     End if
(11)    Next //end for
(13)  End procedure

2.2.5. Annealing Phase

The annealing phase (AP) corresponds to the classical simulated annealing algorithm and it is shown in Algorithm 3. When CMQA reaches its threshold level (), AP phase is started with the cooling function (1) using as decrement temperature factor. As it is known, AP phase contains two cycles, as it is common in classical SA. This pseudocode uses the same notation previously explained in Section 2.2.2.

(1) Annealing Phase Procedure
(3) AlphaAnnealing = initial value
(4)T = Final temperature of MQP (Threshold value)
(5) = very close to zero
(6) Beta = value calculated by analytical method
(7) MC = initial value
(8) Repeat //External Loop
(9)   k = 1
(10)    Repeat //Internal Loop (Metropolis Cycle)
(11)       = New solution ( )
(12)      DE =
(13)      If DE ≤ 0 Then
(15)      else if e (DE/T) > random Then
(17)      end if
(18)       If < then
(19)        =
(20)      end if
(21)    Until k < MC
(22)    T = AlphaAnnealing * T
(23)    MC = Beta * MC
(24)    k = k + 1
(25)  Until T >
(26) End procedure

2.2.6. Dynamical Equilibrium Based on Least Squares Method

CMQA algorithm dynamically finds the equilibrium by using least squares method. In order to obtain better solutions for PFP, this approach is applied after AP phase. Let be a set of points with .    represents the energy of protein at point. The goal is to find a straight line, which is defined as that approximates the set of points, where represents the slope of the straight line, and it is calculated by applying least squares method. The parameter represents the intersection with axis. These parameters are calculated by

It is easy to show that the slope of the straight line can be calculated by

CMQA determinates the dynamical equilibrium. This condition is obtained when the slope () of the straight line is very close to zero.

3. Results and Discussion

CMQA is tested with five instances of PFP (see Table 1). These instances have different sequence’s lengths and different number of variables (dihedral angles). The smallest sequence is Met5-enkaphalin, which has five amino acids and 19 variables. The largest sequence is a hypothetical protein (CASP T0281), which has 90 amino acids and 458 variables. The proinsulin instance has 31 amino acids and 132 variables; the 2K5E (CASP T0549) has 73 amino acids and 343 variables. The instance Bacillus subtilis (CASP T0335) has 85 amino acids and 450 variables. The dihedral angles used in the simulations were phi (), psi (), omega (), and Chi ().

Some parameters of MQP phase were determined experimentally. For example, the is set to 0.85 value; the initial value for is 0.90, and its final value is 0.0009. Different chaotic functions were tested for generating PFP solutions. These chaotic functions are (9), (10), (11), and (12). These equations are graphically shown in Figures 3, 4, 5, and 6, respectively. In AP phase, was fixed from different values taken from the range as follows:

The results obtained are shown in Tables 2 to 6, which include information about the average energy of each protein (kcal/mol), its average processing time (minutes), and dRMSD. These results are grouped by values for each chaotic function. For Met5-enkaphalin, the results are shown in Table 2. The best average solution for this protein was obtained by applying and the chaotic function number 12; the best average energy was −5.4390 kcal/mol, with a processing time equal to 1.1191 minutes and dRMSD equal to 0.8913. Figure 7 shows the best solution with a dRMSD close to 0.88 and energy value equal to −7.1804 kcal/mol.

The results obtained for proinsulin are shown in Table 3. The best average solution for this protein was obtained by applying chaotic function number 12. The best solution has −126.9481 kcal/mol obtained with a processing time equal to 38.0507 minutes and dRMSD equal to 0.8233. Notice that the best results are obtained with high values. In Figure 8, the best solution is shown which has −162.5686 kcal/mol and a dRMSD equal to 0.72. The results obtained for T0549 instance are shown in Table 4. The solution with the best average energy is −269.6413 kcal/mol with processing time equal to 288.8558 minutes and dRMSD value of 0.72. Again, the best solution corresponds to the highest value of equal to 0.95. In this case, chaotic function number 10 provided the best results. The graphic of average energy versus dRMSD is shown in Figure 9. The solution with the best quality solution has an energy value of −317.1750 kcal/mol with dRMSD value of 0.65.

The results obtained for T0335 instance are shown in Table 5. The best average solution for this instance is obtained by applying chaotic function number 11. The best average energy is −377.6919 kcal/mol with a processing time equal to 379.8146 minutes and RMSD value of 0.9787. In Figure 10, the graphic of average energy and dRMSD is shown. There is a solution with high quality (see arrow on graphics). The energy value is −455.0870 kcal/mol with dRMSD value of 0.76.

The results obtained for T0281 are shown in Table 6. The best average solution for this protein is obtained by applying chaotic function number 13. The best average energy is −319.9603 kcal/mol with a processing time equal to 554.1053 minutes and dRMSD value of 2.9197. In Figure 11, the graphic of average energy and dRMSD is shown. In these graphics, all energy of T0281 calculated by CMQA is plotted. There is a solution with high quality (see arrow on graphics). The energy value is −403.3333 kcal/mol with dRMSD value of 3.03.

In order to compare the CMQA with other implementations, two algorithms were designed. The Multiquenching Annealing with dynamical equilibrium phase (MQA plus DEP) and classical simulated annealing were implemented. The results obtained are shown in Table 7. In general, CMQA obtained high-quality solutions in comparison with other implementations.

4. Conclusions

In this paper, a new algorithm for protein folding problem named Chaotic Multiquenching Annealing or CMQA is proposed. In order to escape from local optima, this algorithm applies a chaotic function in each subphase of quenching. In addition, a very fast cooling function is applied in order to decrease the temperature values and change the subphase. During the multiquenching phase, solutions of PFP are generated in order to explore the solution space in a very fast way. An annealing phase is applied after the multiquenching phase. In this phase, a very slow cooling function is used in order to decrease temperature values. Besides, the annealing phase searches for solutions from high to lower temperatures. The last phase of CMQA is named dynamical equilibrium phase, in which slope values of energy are calculated using least squares method. The CMQA disadvantage is related to the processing time, which is increased in order to obtain high-quality solving. Therefore, processing time is sacrificed to achieve quality in solving the protein folding problem.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.


Authors Juan Frausto-Solis and Ernesto Liñan-García contributed equally to development of this article. The author Mishael Sánchez-Pérez thanked the grant of DGAPA Postdoctoral Fellowships Program at CCG-UNAM.