Emerging Trends in Soft Computing Models in Bioinformatics and Biomedicine
View this Special IssueResearch Article  Open Access
Chaotic Multiquenching Annealing Applied to the Protein Folding Problem
Abstract
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 threedimensional 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 highquality 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 highquality 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 threedimensional 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 threedimensional structure, and misfolded proteins can cause a variety of diseases [14–19]. 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 threedimensional 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 LennardJones energy [26].
Simulated annealing algorithm has generated very good results for PFP [9, 27–29]. This method has been used in many combinatorial optimization problems [9, 10, 30–32]. 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.

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 .

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.

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 Met^{5}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 Met^{5}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 highquality 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 highquality 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.
Acknowledgments
Authors Juan FraustoSolis and Ernesto LiñanGarcía contributed equally to development of this article. The author Mishael SánchezPérez thanked the grant of DGAPA Postdoctoral Fellowships Program at CCGUNAM.
References
 B. Lewin, Genes 8, Prentice Hall, New York, NY, USA, 2004.
 C. B. Anfinsen, “Principles that govern the folding of protein chains,” Science, vol. 181, no. 4096, pp. 223–230, 1973. View at: Google Scholar
 J. L. Sohl, S. S. Jaswal, and D. A. Agard, “Unfolded conformations of αlytic protease are more stable than its native state,” Nature, vol. 395, no. 6704, pp. 817–819, 1998. View at: Publisher Site  Google Scholar
 C. Levinthal, “Are there pathways for protein folding?” Journal of Chemical Physics, vol. 65, pp. 414–445, 1968. View at: Google Scholar
 J. T. Ngo and J. Marks, “Computational complexity of a problem in molecular structure prediction,” Protein Engineering, vol. 5, no. 4, pp. 313–321, 1992. View at: Google Scholar
 M. M. Khimasia and P. V. Coveney, “Protein structure prediction as a hard optimization problem: the genetic algorithm approach,” Molecular Simulation, vol. 19, no. 4, pp. 205–226, 1997. View at: Google Scholar
 V. Černý, “Thermodynamical approach to the traveling salesman problem: an efficient simulation algorithm,” Journal of Optimization Theory and Applications, vol. 45, no. 1, pp. 41–51, 1985. View at: Publisher Site  Google Scholar
 S. Kirkpatrick, C. D. Gelatt Jr., and M. P. Vecchi, “Optimization by simulated annealing,” Science, vol. 220, no. 4598, pp. 671–680, 1983. View at: Google Scholar
 J. FraustoSolis, E. F. Román, D. Romero, X. Soberon, and E. LiñánGarcía, “Analytically tuned simulated annealing applied to the protein folding problem,” in Computational Science—ICCS 2007: Proceedings of the 7th International Conference, Beijing, China, May 27–30, 2007, Part II, vol. 4488 of Lecture Notes in Computer Science, no. 2, pp. 370–377, 2007. View at: Google Scholar
 J. FraustoSolis, X. SoberonMainero, and E. LiñánGarcía, “MultiQuenching annealing algorithm for protein folding problem,” in MICAI 2009: Advances in Artificial Intelligence: Proceedings of the 8th Mexican International Conference on Artificial Intelligence, Guanajuato, México, November 9–13, 2009, vol. 5845 of Lecture Notes in Computer Science, pp. 578–589, 2009. View at: Publisher Site  Google Scholar
 K. A. Dill, S. B. Ozkan, M. S. Shell, and T. R. Weikl, “The protein folding problem,” Annual Review of Biophysics, vol. 37, pp. 289–316, 2008. View at: Publisher Site  Google Scholar
 B. P. Mukhopadhyay and H. R. Bairagya, “Protein folding: grand challenge of nature,” Journal of Biomolecular Structure and Dynamics, vol. 28, no. 4, pp. 637–638, 2011. View at: Google Scholar
 J. M. Yon, “Protein folding: a perspective for biology, medicine and biotechnology,” Brazilian Journal of Medical and Biological Research, vol. 34, no. 4, pp. 419–435, 2001. View at: Google Scholar
 C. Lee and M.H. Yu, “Protein folding and diseases,” Journal of Biochemistry and Molecular Biology, vol. 38, no. 3, pp. 275–280, 2005. View at: Google Scholar
 C. A. Ross and M. A. Poirier, “Protein aggregation and neurogenerative disease,” Nature Medicine, vol. 10, supplement, pp. S10–S17, 2004. View at: Google Scholar
 M. Stefani, “Protein misfolding and aggregation: new examples in medicine and biology of the dark side of the protein world,” Biochimica et Biophysica Acta, vol. 1739, no. 1, pp. 5–25, 2004. View at: Publisher Site  Google Scholar
 D. R. Howlett, “Protein misfolding in disease: cause or response?” Current Medicinal Chemistry—Immunology, Endocrine and Metabolic Agents, vol. 3, no. 4, pp. 371–383, 2003. View at: Publisher Site  Google Scholar
 J. Winderickx, C. Delay, A. De Vos et al., “Protein folding diseases and neurodegeneration: lessons learned from yeast,” Biochimica et Biophysica Acta, vol. 1783, no. 7, pp. 1381–1395, 2008. View at: Publisher Site  Google Scholar
 T. K. Chaudhuri and S. Paul, “Proteinmisfolding diseases and chaperonebased therapeutic approaches,” FEBS Journal, vol. 273, no. 7, pp. 1331–1349, 2006. View at: Publisher Site  Google Scholar
 A. O.L. F. BaronaGomez and X. Soberon, “Advances and perspectives in protein engineering: from natural history to directed evolution of enzymes,” in Advances in Protein Physical Chemistry, pp. 407–438, 2007. View at: Google Scholar
 S. Istrail and F. Lam, “Combinatorial algorithms for protein folding in lattice models: a survey of mathematical results,” Communications in Information and Systems, vol. 9, no. 4, pp. 303–346, 2009. View at: Publisher Site  Google Scholar
 J. W. Ponder and D. A. Case, “Force fields for protein simulations,” Advances in Protein Chemistry, vol. 66, pp. 27–85, 2003. View at: Publisher Site  Google Scholar
 G. Némethy, K. D. Gibson, K. A. Palmer et al., “Energy parameters in polypeptides. 10. Improved geometrical parameters and nonbonded interactions for use in the ECEPP/3 algorithm, with application to prolinecontaining peptides,” The Journal of Physical Chemistry, vol. 96, no. 15, pp. 6472–6484, 1992. View at: Google Scholar
 R. Brooks, R. Bruccoleri, B. Olafson, D. States, S. Swaminathan, and M. Karplus, “A program for macromolecular energy, minimization and dynamics calculations,” Journal of Computational Chemistry, vol. 4, no. 2, pp. 187–217, 1983. View at: Publisher Site  Google Scholar
 F. A. Momany, R. F. McGuire, A. W. Burgess, and H. A. Scheraga, “Energy parameters in polypepltides. VII. Geometric parameters, partial atomic charges, nonbonded interactions, hydrogen bond interactions, and intrinsic torsional potentials for the naturally occurring amino acids,” The Journal of Physical Chemistry, vol. 79, no. 22, pp. 2361–2381, 1975. View at: Google Scholar
 A. D. Mackerell Jr., “Empirical force fields for biological macromolecules: overview and issues,” Journal of Computational Chemistry, vol. 25, no. 13, pp. 1584–1604, 2004. View at: Publisher Site  Google Scholar
 J. Skolnick and A. Kolinski, “Computational studies of protein folding,” Computing in Science and Engineering, vol. 3, no. 5, pp. 40–50, 2001. View at: Publisher Site  Google Scholar
 F. P. Agostini, D. D. O. SoaresPinto, M. A. Moret, C. Osthoff, and P. G. Pascutti, “Generalized simulated annealing applied to protein folding studies,” Journal of Computational Chemistry, vol. 27, no. 11, pp. 1142–1155, 2006. View at: Publisher Site  Google Scholar
 G. Ceci, A. Mucherino, M. D’Apuzzo et al., “Computational methods for protein fold prediction: an abinitio topological approach,” in Data Mining in Biomedicine, vol. 7 of Springer Optimization and Its Applications, pp. 391–429, 2007. View at: Publisher Site  Google Scholar
 L. Ingber, “Simulated annealing: practice versus theory,” Mathematical and Computer Modelling, vol. 18, no. 11, pp. 29–57, 1993. View at: Google Scholar
 Y. Li, C. E. M. Strauss, and A. Gorin, “Parallel tempering in rosetta practice,” in Advances in Bioinformatics and Its Applications, vol. 3072, pp. 380–389, 2004. View at: Google Scholar
 J. Mingjun and T. Huanwen, “Application of chaos in simulated annealing,” Chaos, Solitons and Fractals, vol. 21, no. 4, pp. 933–941, 2004. View at: Publisher Site  Google Scholar
 H. SanvicenteSánchez and J. FraustoSolís, “A method to establish the cooling scheme in simulated annealing like algorithms,” in Computational Science and Its Applications—ICCSA 2004: Proceedings of the International Conference, Assisi, Italy, May 14–17, 2004, Part III, vol. 3045 of Lecture Notes in Computer Science, pp. 755–763, 2004. View at: Google Scholar
Copyright
Copyright © 2014 Juan FraustoSolis et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.