# Change and Precalculate Energy Parameter Sets and Boltzmann Factors
[RNA Secondary Structure Folding]

All relevant functions to retrieve and copy precalculated energy parameter sets as well as reading/writing the energy parameter set from/to file(s). More...

Collaboration diagram for Change and Precalculate Energy Parameter Sets and Boltzmann Factors:

## Modules
| Reading/Writing energy parameter sets from/to File

| Read and Write energy parameter sets from and to text files.
## Files
file | params.h
## Functions
paramT * | scale_parameters (void)
| Get precomputed energy contributions for all the known loop types.
paramT * | get_scaled_parameters (double temperature, model_detailsT md)
| Get precomputed energy contributions for all the known loop types.
pf_paramT * | get_scaled_pf_parameters (void)
pf_paramT * | get_boltzmann_factors (double temperature, double betaScale, model_detailsT md, double pf_scale)
| Get precomputed Boltzmann factors of the loop type dependent energy contributions with independent thermodynamic temperature.
pf_paramT * | get_boltzmann_factor_copy (pf_paramT *parameters)
| Get a copy of already precomputed Boltzmann factors.
pf_paramT * | get_scaled_alipf_parameters (unsigned int n_seq)
| Get precomputed Boltzmann factors of the loop type dependent energy contributions (alifold variant).
pf_paramT * | get_boltzmann_factors_ali (unsigned int n_seq, double temperature, double betaScale, model_detailsT md, double pf_scale)
| Get precomputed Boltzmann factors of the loop type dependent energy contributions (alifold variant) with independent thermodynamic temperature.

## Detailed Description

All relevant functions to retrieve and copy precalculated energy parameter sets as well as reading/writing the energy parameter set from/to file(s).

This module covers all relevant functions for precalculation of the energy parameters necessary for the folding routines provided by RNAlib. Furthermore, the energy parameter set in the RNAlib can be easily exchanged by a user-defined one. It is also possible to write the current energy parameter set into a text file.

## Function Documentation

paramT* scale_parameters | ( | void |  | ) |

Get precomputed energy contributions for all the known loop types.

Note:
  OpenMP: This function relies on several global model settings variables and thus is not to be considered threadsafe. See get_scaled_parameters() for a completely threadsafe implementation.

Returns:
  A set of precomputed energy contributions

paramT* get_scaled_parameters | ( | double | temperature,
|  | model_detailsT | md |
| ) |  |  |

Get precomputed energy contributions for all the known loop types.

Call this function to retrieve precomputed energy contributions, i.e. scaled according to the temperature passed. Furthermore, this function assumes a data structure that contains the model details as well, such that subsequent folding recursions are able to retrieve the correct model settings

See also:
  model_detailsT, set_model_details()

Parameters:

  | temperature | The temperature in degrees Celcius
  | md | The model details

Returns:
  precomputed energy contributions and model settings

pf_paramT* get_scaled_pf_parameters | ( | void |  | ) |

get a datastructure of type pf_paramT which contains the Boltzmann weights of several energy parameters scaled according to the current temperature

Returns:
  The datastructure containing Boltzmann weights for use in partition function calculations

pf_paramT* get_boltzmann_factors | ( | double | temperature,
|  | double | betaScale,
|  | model_detailsT | md,
|  | double | pf_scale |
| ) |  |  |

Get precomputed Boltzmann factors of the loop type dependent energy contributions with independent thermodynamic temperature.

This function returns a data structure that contains all necessary precalculated Boltzmann factors for each loop type contribution.
In contrast to get_scaled_pf_parameters(), this function enables setting of independent temperatures for both, the individual energy contributions as well as the thermodynamic temperature used in

See also:
  get_scaled_pf_parameters(), get_boltzmann_factor_copy()

Parameters:

  | temperature | The temperature in degrees Celcius used for (re-)scaling the energy contributions
  | betaScale | A scaling value that is used as a multiplication factor for the absolute temperature of the system
  | md | The model details to be used
  | pf_scale | The scaling factor for the Boltzmann factors

Returns:
  A set of precomputed Boltzmann factors

pf_paramT* get_boltzmann_factor_copy | ( | pf_paramT * | parameters | ) |

Get a copy of already precomputed Boltzmann factors.

See also:
  get_boltzmann_factors(), get_scaled_pf_parameters()

Parameters:

  | parameters | The input data structure that shall be copied

Returns:
  A copy of the provided Boltzmann factor dataset