1 #ifndef __VIENNA_RNA_PACKAGE_PARAMS_H__
2 #define __VIENNA_RNA_PACKAGE_PARAMS_H__
4 #include "energy_const.h"
5 #include "data_structures.h"
8 #define DEPRECATED(func) func __attribute__ ((deprecated))
10 #define DEPRECATED(func) func
14 * \addtogroup energy_parameters
15 * \brief All relevant functions to retrieve and copy precalculated energy parameter sets as well as
16 * reading/writing the energy parameter set from/to file(s).
18 * This module covers all relevant functions for precalculation of the energy parameters
19 * necessary for the folding routines provided by RNAlib. Furthermore, the energy parameter set
20 * in the RNAlib can be easily exchanged by a user-defined one. It is also possible to write the
21 * current energy parameter set into a text file.
28 * \brief Get precomputed energy contributions for all the known loop types
30 * \note OpenMP: This function relies on several global model settings variables and thus is
31 * not to be considered threadsafe. See get_scaled_parameters() for a completely threadsafe
34 * \return A set of precomputed energy contributions
36 paramT *scale_parameters(void);
39 * \brief Get precomputed energy contributions for all the known loop types
41 * Call this function to retrieve precomputed energy contributions, i.e. scaled
42 * according to the temperature passed. Furthermore, this function assumes a
43 * data structure that contains the model details as well, such that subsequent
44 * folding recursions are able to retrieve the correct model settings
46 * \see #model_detailsT, set_model_details()
48 * \param temperature The temperature in degrees Celcius
49 * \param md The model details
50 * \return precomputed energy contributions and model settings
52 paramT *get_scaled_parameters(double temperature,
55 paramT *get_parameter_copy(paramT *par);
58 * get a datastructure of type \ref pf_paramT which contains
59 * the Boltzmann weights of several energy parameters scaled
60 * according to the current temperature
61 * \return The datastructure containing Boltzmann weights for use in partition function calculations
63 pf_paramT *get_scaled_pf_parameters(void);
66 * \brief Get precomputed Boltzmann factors of the loop type
67 * dependent energy contributions with independent thermodynamic
70 * This function returns a data structure that contains
71 * all necessary precalculated Boltzmann factors for each
72 * loop type contribution.<br>
73 * In contrast to get_scaled_pf_parameters(), this function
74 * enables setting of independent temperatures for both, the
75 * individual energy contributions as well as the thermodynamic
77 * \f$ exp(-\Delta G / kT) \f$
79 * \see get_scaled_pf_parameters(), get_boltzmann_factor_copy()
81 * \param temperature The temperature in degrees Celcius used for (re-)scaling the energy contributions
82 * \param betaScale A scaling value that is used as a multiplication factor for the absolute
83 * temperature of the system
84 * \param md The model details to be used
85 * \param pf_scale The scaling factor for the Boltzmann factors
86 * \return A set of precomputed Boltzmann factors
88 pf_paramT *get_boltzmann_factors( double temperature,
94 * \brief Get a copy of already precomputed Boltzmann factors
96 * \see get_boltzmann_factors(), get_scaled_pf_parameters()
98 * \param parameters The input data structure that shall be copied
99 * \return A copy of the provided Boltzmann factor dataset
101 pf_paramT *get_boltzmann_factor_copy(pf_paramT *parameters);
104 * \brief Get precomputed Boltzmann factors of the loop type
105 * dependent energy contributions (alifold variant)
108 pf_paramT *get_scaled_alipf_parameters(unsigned int n_seq);
111 * \brief Get precomputed Boltzmann factors of the loop type
112 * dependent energy contributions (alifold variant) with
113 * independent thermodynamic temperature
116 PUBLIC pf_paramT *get_boltzmann_factors_ali(unsigned int n_seq,
126 DEPRECATED(paramT *copy_parameters(void));
127 DEPRECATED(paramT *set_parameters(paramT *dest));
128 DEPRECATED(pf_paramT *scale_pf_parameters(void));
129 DEPRECATED(pf_paramT *copy_pf_param(void));
130 DEPRECATED(pf_paramT *set_pf_param(paramT *dest));