Free Energy Evaluation for given Sequence / Structure Pairs

This module contains all functions and variables related to energy evaluation of sequence/structure pairs. More...

## Functions

float | vrna_eval_structure (vrna_fold_compound_t *vc, const char *structure)
| Calculate the free energy of an already folded RNA. More...
float | vrna_eval_covar_structure (vrna_fold_compound_t *vc, const char *structure)
| Calculate the pseudo energy derived by the covariance scores of a set of aligned sequences. More...
float | vrna_eval_structure_simple (const char *string, const char *structure)
| Calculate the free energy of an already folded RNA. More...
float | vrna_eval_structure_verbose (vrna_fold_compound_t *vc, const char *structure, FILE *file)
| Calculate the free energy of an already folded RNA and print contributions on a per-loop base. More...
float | vrna_eval_structure_simple_verbose (const char *string, const char *structure, FILE *file)
| Calculate the free energy of an already folded RNA and print contributions per loop. More...
int | vrna_eval_structure_pt (vrna_fold_compound_t *vc, const short *pt)
| Calculate the free energy of an already folded RNA. More...
int | vrna_eval_structure_pt_simple (const char *string, const short *pt)
| Calculate the free energy of an already folded RNA. More...
int | vrna_eval_structure_pt_verbose (vrna_fold_compound_t *vc, const short *pt, FILE *file)
| Calculate the free energy of an already folded RNA. More...
int | vrna_eval_structure_pt_simple_verbose (const char *string, const short *pt, FILE *file)
| Calculate the free energy of an already folded RNA. More...
int | vrna_eval_loop_pt (vrna_fold_compound_t *vc, int i, const short *pt)
| Calculate energy of a loop. More...
float | vrna_eval_move (vrna_fold_compound_t *vc, const char *structure, int m1, int m2)
| Calculate energy of a move (closing or opening of a base pair) More...
int | vrna_eval_move_pt (vrna_fold_compound_t *vc, short *pt, int m1, int m2)
| Calculate energy of a move (closing or opening of a base pair) More...
float | energy_of_structure (const char *string, const char *structure, int verbosity_level)
| Calculate the free energy of an already folded RNA using global model detail settings. More...
float | energy_of_struct_par (const char *string, const char *structure, vrna_param_t *parameters, int verbosity_level)
| Calculate the free energy of an already folded RNA. More...
float | energy_of_circ_structure (const char *string, const char *structure, int verbosity_level)
| Calculate the free energy of an already folded circular RNA. More...
float | energy_of_circ_struct_par (const char *string, const char *structure, vrna_param_t *parameters, int verbosity_level)
| Calculate the free energy of an already folded circular RNA. More...
int | energy_of_structure_pt (const char *string, short *ptable, short *s, short *s1, int verbosity_level)
| Calculate the free energy of an already folded RNA. More...
int | energy_of_struct_pt_par (const char *string, short *ptable, short *s, short *s1, vrna_param_t *parameters, int verbosity_level)
| Calculate the free energy of an already folded RNA. More...
float | energy_of_move (const char *string, const char *structure, int m1, int m2)
| Calculate energy of a move (closing or opening of a base pair) More...
int | energy_of_move_pt (short *pt, short *s, short *s1, int m1, int m2)
| Calculate energy of a move (closing or opening of a base pair) More...
int | loop_energy (short *ptable, short *s, short *s1, int i)
| Calculate energy of a loop. More...
float | energy_of_struct (const char *string, const char *structure)
int | energy_of_struct_pt (const char *string, short *ptable, short *s, short *s1)
float | energy_of_circ_struct (const char *string, const char *structure)
int | vrna_eval_ext_hp_loop (vrna_fold_compound_t *vc, int i, int j)
| Evaluate free energy of an exterior hairpin loop.
int | vrna_eval_hp_loop (vrna_fold_compound_t *vc, int i, int j)
| Evaluate free energy of a hairpin loop. More...

## Variables

int | cut_point
| set to first pos of second seq for cofolding
int | eos_debug
| verbose info from energy_of_struct

## Detailed Description

This module contains all functions and variables related to energy evaluation of sequence/structure pairs.

## Function Documentation

float vrna_eval_structure | ( | vrna_fold_compound_t * | vc,
|  | const char * | structure
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

This function allows for energy evaluation of a given pair of structure and sequence (alignment). Model details, energy parameters, and possibly soft constraints are used as provided via the parameter 'vc'. The vrna_fold_compound_t does not need to contain any DP matrices, but requires all most basic init values as one would get from a call like this:

vc = vrna_fold_compound(sequence, NULL, VRNA_OPTION_EVAL_ONLY);

Note
  Accepts vrna_fold_compound_t of type VRNA_VC_TYPE_SINGLE and VRNA_VC_TYPE_ALIGNMENT

See also
  vrna_eval_structure_pt(), vrna_eval_structure_verbose(), vrna_eval_structure_pt_verbose(), vrna_fold_compound(), vrna_fold_compound_comparative(), vrna_eval_covar_structure()

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  structure | Secondary structure in dot-bracket notation

Returns
  The free energy of the input structure given the input sequence in kcal/mol

float vrna_eval_covar_structure | ( | vrna_fold_compound_t * | vc,
|  | const char * | structure
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the pseudo energy derived by the covariance scores of a set of aligned sequences.

Consensus structure prediction is driven by covariance scores of base pairs in rows of the provided alignment. This function allows to retrieve the total amount of this covariance pseudo energy scores. The vrna_fold_compound_t does not need to contain any DP matrices, but requires all most basic init values as one would get from a call like this:

vc = vrna_fold_compound_comparative(alignment, NULL, VRNA_OPTION_EVAL_ONLY);

Note
  Accepts vrna_fold_compound_t of type VRNA_VC_TYPE_ALIGNMENT only!

See also
  vrna_fold_compound_comparative(), vrna_eval_structure()

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  structure | Secondary (consensus) structure in dot-bracket notation

Returns
  The covariance pseudo energy score of the input structure given the input sequence alignment in kcal/mol

float vrna_eval_structure_simple | ( | const char * | string,
|  | const char * | structure
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

This function allows for energy evaluation of a given sequence/structure pair. In contrast to vrna_eval_structure() this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Therefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

See also
  vrna_eval_structure(), vrna_eval_structure_pt(), vrna_eval_structure_verbose(), vrna_eval_structure_pt_verbose(),

Parameters

  string | RNA sequence in uppercase letters
  structure | Secondary structure in dot-bracket notation

Returns
  The free energy of the input structure given the input sequence in kcal/mol

float vrna_eval_structure_verbose | ( | vrna_fold_compound_t * | vc,
|  | const char * | structure,
|  | FILE * | file
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA and print contributions on a per-loop base.

This function allows for detailed energy evaluation of a given sequence/structure pair. In contrast to vrna_eval_structure() this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout. Model details, energy parameters, and possibly soft constraints are used as provided via the parameter 'vc'. The fold_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this:

vc = vrna_fold_compound(sequence, NULL, VRNA_OPTION_EVAL_ONLY);

See also
  vrna_eval_structure_pt(), vrna_eval_structure_verbose(), vrna_eval_structure_pt_verbose(),

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  structure | Secondary structure in dot-bracket notation
  file | A file handle where this function should print to (may be NULL).

Returns
  The free energy of the input structure given the input sequence in kcal/mol

float vrna_eval_structure_simple_verbose | ( | const char * | string,
|  | const char * | structure,
|  | FILE * | file
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA and print contributions per loop.

This function allows for detailed energy evaluation of a given sequence/structure pair. In contrast to vrna_eval_structure() this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout. In contrast to vrna_eval_structure_verbose() this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

See also
  vrna_eval_structure_verbose(), vrna_eval_structure_pt(), vrna_eval_structure_verbose(), vrna_eval_structure_pt_verbose(),

Parameters

  string | RNA sequence in uppercase letters
  structure | Secondary structure in dot-bracket notation
  file | A file handle where this function should print to (may be NULL).

Returns
  The free energy of the input structure given the input sequence in kcal/mol

int vrna_eval_structure_pt | ( | vrna_fold_compound_t * | vc,
|  | const short * | pt
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

This function allows for energy evaluation of a given sequence/structure pair where the structure is provided in pair_table format as obtained from vrna_ptable(). Model details, energy parameters, and possibly soft constraints are used as provided via the parameter 'vc'. The fold_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this:

vc = vrna_fold_compound(sequence, NULL, VRNA_OPTION_EVAL_ONLY);

See also
  vrna_ptable(), vrna_eval_structure(), vrna_eval_structure_pt_verbose()

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  pt | Secondary structure as pair_table

Returns
  The free energy of the input structure given the input sequence in 10cal/mol

int vrna_eval_structure_pt_simple | ( | const char * | string,
|  | const short * | pt
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

In contrast to vrna_eval_structure_pt() this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

See also
  vrna_ptable(), vrna_eval_structure_simple(), vrna_eval_structure_pt()

Parameters

  string | RNA sequence in uppercase letters
  pt | Secondary structure as pair_table

Returns
  The free energy of the input structure given the input sequence in 10cal/mol

int vrna_eval_structure_pt_verbose | ( | vrna_fold_compound_t * | vc,
|  | const short * | pt,
|  | FILE * | file
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

This function allows for energy evaluation of a given sequence/structure pair where the structure is provided in pair_table format as obtained from vrna_ptable(). Model details, energy parameters, and possibly soft constraints are used as provided via the parameter 'vc'. The fold_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this:

vc = vrna_fold_compound(sequence, NULL, VRNA_OPTION_EVAL_ONLY);

In contrast to vrna_eval_structure_pt() this function prints detailed energy contributions based on individual loops to a file handle. If NULL is passed as file handle, this function defaults to print to stdout.

See also
  vrna_ptable(), vrna_eval_structure_pt(), vrna_eval_structure_verbose()

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  pt | Secondary structure as pair_table
  file | A file handle where this function should print to (may be NULL).

Returns
  The free energy of the input structure given the input sequence in 10cal/mol

int vrna_eval_structure_pt_simple_verbose | ( | const char * | string,
|  | const short * | pt,
|  | FILE * | file
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

This function allows for energy evaluation of a given sequence/structure pair where the structure is provided in pair_table format as obtained from vrna_ptable(). Model details, energy parameters, and possibly soft constraints are used as provided via the parameter 'vc'. The fold_compound does not need to contain any DP matrices, but all the most basic init values as one would get from a call like this:

vc = vrna_fold_compound(sequence, NULL, VRNA_OPTION_EVAL_ONLY);

In contrast to vrna_eval_structure_pt_verbose() this function assumes default model details and default energy parameters in order to evaluate the free energy of the secondary structure. Threefore, it serves as a simple interface function for energy evaluation for situations where no changes on the energy model are required.

See also
  vrna_ptable(), vrna_eval_structure_pt_verbose(), vrna_eval_structure_simple()

Parameters

  string | RNA sequence in uppercase letters
  pt | Secondary structure as pair_table
  file | A file handle where this function should print to (may be NULL).

Returns
  The free energy of the input structure given the input sequence in 10cal/mol

int vrna_eval_loop_pt | ( | vrna_fold_compound_t * | vc,
|  | int | i,
|  | const short * | pt
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate energy of a loop.

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  i | position of covering base pair
  pt | the pair table of the secondary structure

Returns
  free energy of the loop in 10cal/mol

float vrna_eval_move | ( | vrna_fold_compound_t * | vc,
|  | const char * | structure,
|  | int | m1,
|  | int | m2
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate energy of a move (closing or opening of a base pair)

If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

See also
  vrna_eval_move_pt()

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  structure | secondary structure in dot-bracket notation
  m1 | first coordinate of base pair
  m2 | second coordinate of base pair

Returns
  energy change of the move in kcal/mol

int vrna_eval_move_pt | ( | vrna_fold_compound_t * | vc,
|  | short * | pt,
|  | int | m1,
|  | int | m2
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate energy of a move (closing or opening of a base pair)

If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

See also
  vrna_eval_move()

Parameters

  vc | A vrna_fold_compound_t containing the energy parameters and model details
  pt | the pair table of the secondary structure
  m1 | first coordinate of base pair
  m2 | second coordinate of base pair

Returns
  energy change of the move in 10cal/mol

float energy_of_structure | ( | const char * | string,
|  | const char * | structure,
|  | int | verbosity_level
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA using global model detail settings.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

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

Deprecated:
  Use vrna_eval_structure() or vrna_eval_structure_verbose() instead!

See also
  vrna_eval_structure()

Parameters

  string | RNA sequence
  structure | secondary structure in dot-bracket notation
  verbosity_level | a flag to turn verbose output on/off

Returns
  the free energy of the input structure given the input sequence in kcal/mol

float energy_of_struct_par | ( | const char * | string,
|  | const char * | structure,
|  | vrna_param_t * | parameters,
|  | int | verbosity_level
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

Deprecated:
  Use vrna_eval_structure() or vrna_eval_structure_verbose() instead!

See also
  vrna_eval_structure()

Parameters

  string | RNA sequence in uppercase letters
  structure | Secondary structure in dot-bracket notation
  parameters | A data structure containing the prescaled energy contributions and the model details.
  verbosity_level | A flag to turn verbose output on/off

Returns
  The free energy of the input structure given the input sequence in kcal/mol

float energy_of_circ_structure | ( | const char * | string,
|  | const char * | structure,
|  | int | verbosity_level
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded circular RNA.

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

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

Deprecated:
  Use vrna_eval_structure() or vrna_eval_structure_verbose() instead!

See also
  vrna_eval_structure()

Parameters

  string | RNA sequence
  structure | Secondary structure in dot-bracket notation
  verbosity_level | A flag to turn verbose output on/off

Returns
  The free energy of the input structure given the input sequence in kcal/mol

float energy_of_circ_struct_par | ( | const char * | string,
|  | const char * | structure,
|  | vrna_param_t * | parameters,
|  | int | verbosity_level
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded circular RNA.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

Deprecated:
  Use vrna_eval_structure() or vrna_eval_structure_verbose() instead!

See also
  vrna_eval_structure()

Parameters

  string | RNA sequence
  structure | Secondary structure in dot-bracket notation
  parameters | A data structure containing the prescaled energy contributions and the model details.
  verbosity_level | A flag to turn verbose output on/off

Returns
  The free energy of the input structure given the input sequence in kcal/mol

int energy_of_structure_pt | ( | const char * | string,
|  | short * | ptable,
|  | short * | s,
|  | short * | s1,
|  | int | verbosity_level
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

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

Deprecated:
  Use vrna_eval_structure_pt() or vrna_eval_structure_pt_verbose() instead!

See also
  vrna_eval_structure_pt()

Parameters

  string | RNA sequence
  ptable | the pair table of the secondary structure
  s | encoded RNA sequence
  s1 | encoded RNA sequence
  verbosity_level | a flag to turn verbose output on/off

Returns
  the free energy of the input structure given the input sequence in 10kcal/mol

int energy_of_struct_pt_par | ( | const char * | string,
|  | short * | ptable,
|  | short * | s,
|  | short * | s1,
|  | vrna_param_t * | parameters,
|  | int | verbosity_level
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

Deprecated:
  Use vrna_eval_structure_pt() or vrna_eval_structure_pt_verbose() instead!

See also
  vrna_eval_structure_pt()

Parameters

  string | RNA sequence in uppercase letters
  ptable | The pair table of the secondary structure
  s | Encoded RNA sequence
  s1 | Encoded RNA sequence
  parameters | A data structure containing the prescaled energy contributions and the model details.
  verbosity_level | A flag to turn verbose output on/off

Returns
  The free energy of the input structure given the input sequence in 10kcal/mol

float energy_of_move | ( | const char * | string,
|  | const char * | structure,
|  | int | m1,
|  | int | m2
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate energy of a move (closing or opening of a base pair)

If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

Deprecated:
  Use vrna_eval_move() instead!

See also
  vrna_eval_move()

Parameters

  string | RNA sequence
  structure | secondary structure in dot-bracket notation
  m1 | first coordinate of base pair
  m2 | second coordinate of base pair

Returns
  energy change of the move in kcal/mol

int energy_of_move_pt | ( | short * | pt,
|  | short * | s,
|  | short * | s1,
|  | int | m1,
|  | int | m2
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate energy of a move (closing or opening of a base pair)

If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

Deprecated:
  Use vrna_eval_move_pt() instead!

See also
  vrna_eval_move_pt()

Parameters

  pt | the pair table of the secondary structure
  s | encoded RNA sequence
  s1 | encoded RNA sequence
  m1 | first coordinate of base pair
  m2 | second coordinate of base pair

Returns
  energy change of the move in 10cal/mol

int loop_energy | ( | short * | ptable,
|  | short * | s,
|  | short * | s1,
|  | int | i
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate energy of a loop.

Deprecated:
  Use vrna_eval_loop_pt() instead!

See also
  vrna_eval_loop_pt()

Parameters

  ptable | the pair table of the secondary structure
  s | encoded RNA sequence
  s1 | encoded RNA sequence
  i | position of covering base pair

Returns
  free energy of the loop in 10cal/mol

float energy_of_struct | ( | const char * | string,
|  | const char * | structure
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA

Note
  This function is not entirely threadsafe! Depending on the state of the global variable eos_debug it prints energy information to stdout or not...

Deprecated:
  This function is deprecated and should not be used in future programs! Use energy_of_structure() instead!

See also
  energy_of_structure, energy_of_circ_struct(), energy_of_struct_pt()

Parameters

  string | RNA sequence
  structure | secondary structure in dot-bracket notation

Returns
  the free energy of the input structure given the input sequence in kcal/mol

int energy_of_struct_pt | ( | const char * | string,
|  | short * | ptable,
|  | short * | s,
|  | short * | s1
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded RNA

Note
  This function is not entirely threadsafe! Depending on the state of the global variable eos_debug it prints energy information to stdout or not...

Deprecated:
  This function is deprecated and should not be used in future programs! Use energy_of_structure_pt() instead!

See also
  make_pair_table(), energy_of_structure()

Parameters

  string | RNA sequence
  ptable | the pair table of the secondary structure
  s | encoded RNA sequence
  s1 | encoded RNA sequence

Returns
  the free energy of the input structure given the input sequence in 10kcal/mol

float energy_of_circ_struct | ( | const char * | string,
|  | const char * | structure
| ) |  |

`#include <ViennaRNA/eval.h>`

Calculate the free energy of an already folded circular RNA

Note
  This function is not entirely threadsafe! Depending on the state of the global variable eos_debug it prints energy information to stdout or not...

Deprecated:
  This function is deprecated and should not be used in future programs Use energy_of_circ_structure() instead!

See also
  energy_of_circ_structure(), energy_of_struct(), energy_of_struct_pt()

Parameters

  string | RNA sequence
  structure | secondary structure in dot-bracket notation

Returns
  the free energy of the input structure given the input sequence in kcal/mol

int vrna_eval_hp_loop | ( | vrna_fold_compound_t * | vc,
|  | int | i,
|  | int | j
| ) |  |

`#include <ViennaRNA/hairpin_loops.h>`

Evaluate free energy of a hairpin loop.

Note
  This function is polymorphic! The provided vrna_fold_compound_t may be of type VRNA_VC_TYPE_SINGLE or VRNA_VC_TYPE_ALIGNMENT

Parameters

  vc | The vrna_fold_compound_t for the particular energy evaluation
  i | 5'-position of the base pair
  j | 3'-position of the base pair

Returns
  Free energy of the hairpin loop closed by in deka-kal/mol