# Energy Evaluation for Atomic Moves

Functions to evaluate the free energy change of a structure after application of (a set of) atomic moves

Here, atomic moves are not to be confused with moves of actual physical atoms. Instead, an atomic move is considered the smallest conformational change a secondary structure can undergo to form another, distinguishable structure. We currently support the following moves

- Opening (dissociation) of a single base pair

- Closing (formation) of a single base pair

- Shifting one pairing partner of an existing pair to a different location

  Functions

  float vrna_eval_move(vrna_fold_compound_t *fc, 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).

    SWIG Wrapper Notes:

      This function is attached as method `eval_move()` to objects of type `fold_compound`. See, e.g. `RNA.fold_compound.eval_move()` in the Python API .

    See also

    vrna_eval_move_pt()

    Parameters:

      - fc – 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 (INF / 100. upon any error)

  int vrna_eval_move_pt(vrna_fold_compound_t *fc, 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).

    SWIG Wrapper Notes:

      This function is attached as method `eval_move_pt()` to objects of type `fold_compound`. See, e.g. `RNA.fold_compound.eval_move_pt()` in the Python API .

    See also

    vrna_eval_move()

    Parameters:

      - fc – 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

  int vrna_eval_move_pt_simple(const char *string, short *pt, int m1, int m2)
    #include <ViennaRNA/eval.h>
  int vrna_eval_move_shift_pt(vrna_fold_compound_t *fc, vrna_move_t *m, short *structure)
    #include <ViennaRNA/eval.h>