ElfPSP_ParallelABC
Protein Structure Prediction using Parallel Artificial Bee Colony Optimization
fitness.h
Go to the documentation of this file.
1 #ifndef FITNESS_H
2 #define FITNESS_H
3 
6 #include <int3d.h>
7 #include <hpchain.h>
8 #include <movchain.h>
9 #include <config.h>
10 
11 /* Initialize the resources needed for calling the functions in this library.
12  * of this library can be called in parallel among threads.
13  */
14 void FitnessCalc_initialize(const HPElem * hpChain, int hpSize);
15 
16 /* Cleans up resources allocated.
17  */
18 void FitnessCalc_cleanup();
19 
20 
21 /* Returns the fitness for a protein already registered with FitnessCalc_initialize,
22  * considering that the protein has its 3d coordinates in coordsBB and coordsSC.
23  */
24 double FitnessCalc_run(const int3d *coordsBB, const int3d *coordsSC);
25 
26 /* Returns the fitness for a protein already registered with FitnessCalc_initialize,
27  * considering that the protein has movement chain 'chain'.
28  */
29 double FitnessCalc_run2(const MovElem * chain);
30 
31 /* Returns measures for a given movement chain.
32  * chain - the movement chain from which to extract measures
33  *
34  * For all the other arguments, if they are NULL they are ignored, if they aren't null, the memory pointed to receives the desired value.
35  * Hcontacts_p - the number of hidrophobic contacts
36  * collisions_p - the number of collisions among beads
37  * bbGyration_p - the gyration radius for the backbone beads
38  */
39 void FitnessCalc_measures(const MovElem *chain, int *Hcontacts_p, int *collisions_p, double *bbGyration_p);
40 
41 #endif // FITNESS_H
42 
Routines for manipulating the configuration YML file.
Routines for managing chains of MovElem units.
Routines for mathematical manipulation of vectors and points in the integer space.
Routines for handling HP chains.
char HPElem
HPChain is how we call an array of HPElem.
Definition: hpchain.h:9
Type for representing a tridimensional coordinate.
Definition: int3d.h:17
unsigned char MovElem
Type that holds 2 movements, one for the backbone and one for the side chain.
Definition: movelem.h:21