# Deprecated Interface for Global MFE Prediction

  Unnamed Group

  float alifold(const char **strings, char *structure)
    #include <ViennaRNA/alifold.h>

    Compute MFE and according consensus structure of an alignment of sequences.

    This function predicts the consensus structure for the aligned ‘sequences’ and returns the minimum free energy; the mfe structure in bracket notation is returned in ‘structure’.

    Sufficient space must be allocated for ‘structure’ before calling alifold().

    Deprecated:

      Usage of this function is discouraged! Use vrna_alifold(), or vrna_mfe() instead!

    See also

    vrna_alifold(), vrna_mfe()

    Parameters:

      - strings – A pointer to a NULL terminated array of character arrays

      - structure – A pointer to a character array that may contain a constraining consensus structure (will be overwritten by a consensus structure that exhibits the MFE)

    Returns:

      The free energy score in kcal/mol

  float circalifold(const char **strings, char *structure)
    #include <ViennaRNA/alifold.h>

    Compute MFE and according structure of an alignment of sequences assuming the sequences are circular instead of linear.

    Deprecated:

      Usage of this function is discouraged! Use vrna_alicircfold(), and vrna_mfe() instead!

    See also

    vrna_alicircfold(), vrna_alifold(), vrna_mfe()

    Parameters:

      - strings – A pointer to a NULL terminated array of character arrays

      - structure – A pointer to a character array that may contain a constraining consensus structure (will be overwritten by a consensus structure that exhibits the MFE)

    Returns:

      The free energy score in kcal/mol

  void free_alifold_arrays(void)
    #include <ViennaRNA/alifold.h>

    Free the memory occupied by MFE alifold functions.

    Deprecated:

      Usage of this function is discouraged! It only affects memory being free’d that was allocated by an old API function before. Release of memory occupied by the newly introduced vrna_fold_compound_t is handled by vrna_fold_compound_free()

    See also

    vrna_fold_compound_free()

  Functions

  float cofold(const char *sequence, char *structure)
    #include <ViennaRNA/cofold.h>

    Compute the minimum free energy of two interacting RNA molecules.

    The code is analog to the fold() function. If cut_point ==-1 results should be the same as with fold().

    Deprecated:

      use vrna_mfe_dimer() instead

    Parameters:

      - sequence – The two sequences concatenated

      - structure – Will hold the barcket dot structure of the dimer molecule

    Returns:

      minimum free energy of the structure

  float cofold_par(const char *string, char *structure, vrna_param_t *parameters, int is_constrained)
    #include <ViennaRNA/cofold.h>

    Compute the minimum free energy of two interacting RNA molecules.

    Deprecated:

      use vrna_mfe_dimer() instead

  void free_co_arrays(void)
    #include <ViennaRNA/cofold.h>

    Free memory occupied by cofold()

    Deprecated:

      This function will only free memory allocated by a prior call of cofold() or cofold_par(). See vrna_mfe_dimer() for how to use the new API

    See also

    vrna_fc_destroy(), vrna_mfe_dimer()

    Note

    folding matrices now reside in the fold compound, and should be free’d there

  void update_cofold_params(void)
    #include <ViennaRNA/cofold.h>

    Recalculate parameters.

    Deprecated:

      See vrna_params_subst() for an alternative using the new API

  void update_cofold_params_par(vrna_param_t *parameters)
    #include <ViennaRNA/cofold.h>

    Recalculate parameters.

    Deprecated:

      See vrna_params_subst() for an alternative using the new API

  void export_cofold_arrays_gq(int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **fc_p, int **ggg_p, int **indx_p, char **ptype_p)
    #include <ViennaRNA/cofold.h>

    Export the arrays of partition function cofold (with gquadruplex support)

    Export the cofold arrays for use e.g. in the concentration Computations or suboptimal secondary structure backtracking

    Deprecated:

      folding matrices now reside within the fold compound. Thus, this function will only work in conjunction with a prior call to cofold() or cofold_par()

    See also

    vrna_mfe_dimer() for the new API

    Parameters:

      - f5_p – A pointer to the ‘f5’ array, i.e. array conatining best free energy in interval [1,j]

      - c_p – A pointer to the ‘c’ array, i.e. array containing best free energy in interval [i,j] given that i pairs with j

      - fML_p – A pointer to the ‘M’ array, i.e. array containing best free energy in interval [i,j] for any multiloop segment with at least one stem

      - fM1_p – A pointer to the ‘M1’ array, i.e. array containing best free energy in interval [i,j] for multiloop segment with exactly one stem

      - fc_p – A pointer to the ‘fc’ array, i.e. array …

      - ggg_p – A pointer to the ‘ggg’ array, i.e. array containing best free energy of a gquadruplex delimited by [i,j]

      - indx_p – A pointer to the indexing array used for accessing the energy matrices

      - ptype_p – A pointer to the ptype array containing the base pair types for each possibility (i,j)

  void export_cofold_arrays(int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **fc_p, int **indx_p, char **ptype_p)
    #include <ViennaRNA/cofold.h>

    Export the arrays of partition function cofold.

    Export the cofold arrays for use e.g. in the concentration Computations or suboptimal secondary structure backtracking

    Deprecated:

      folding matrices now reside within the vrna_fold_compound_t. Thus, this function will only work in conjunction with a prior call to the deprecated functions cofold() or cofold_par()

    See also

    vrna_mfe_dimer() for the new API

    Parameters:

      - f5_p – A pointer to the ‘f5’ array, i.e. array conatining best free energy in interval [1,j]

      - c_p – A pointer to the ‘c’ array, i.e. array containing best free energy in interval [i,j] given that i pairs with j

      - fML_p – A pointer to the ‘M’ array, i.e. array containing best free energy in interval [i,j] for any multiloop segment with at least one stem

      - fM1_p – A pointer to the ‘M1’ array, i.e. array containing best free energy in interval [i,j] for multiloop segment with exactly one stem

      - fc_p – A pointer to the ‘fc’ array, i.e. array …

      - indx_p – A pointer to the indexing array used for accessing the energy matrices

      - ptype_p – A pointer to the ptype array containing the base pair types for each possibility (i,j)

  void initialize_cofold(int length)
    #include <ViennaRNA/cofold.h>

    allocate arrays for folding

    Deprecated:
  float fold_par(const char *sequence, char *structure, vrna_param_t *parameters, int is_constrained, int is_circular)
    #include <ViennaRNA/fold.h>

    Compute minimum free energy and an appropriate secondary structure of an RNA sequence.

    The first parameter given, the RNA sequence, must be uppercase and should only contain an alphabet \(\Sigma\)

    that is understood by the RNAlib

    (e.g.

    \( \Sigma = \{A,U,C,G\} \)

    )

    The second parameter,

    structure, must always point to an allocated block of memory with a size of at least \(\mathrm{strlen}(\mathrm{sequence})+1\)

    If the third parameter is NULL, global model detail settings are assumed for the folding recursions. Otherwise, the provided parameters are used.

    The fourth parameter indicates whether a secondary structure constraint in enhanced dot-bracket notation is passed through the structure parameter or not. If so, the characters “ | x < > “ are recognized to mark bases that are paired, unpaired, paired upstream, or downstream, respectively. Matching brackets “ ( ) “ denote base pairs, dots “.” are used for unconstrained bases.

    To indicate that the RNA sequence is circular and thus has to be post-processed, set the last parameter to non-zero

    After a successful call of fold_par(), a backtracked secondary structure (in dot-bracket notation) that exhibits the minimum of free energy will be written to the memory structure is pointing to. The function returns the minimum of free energy for any fold of the sequence given.

    Deprecated:

      use vrna_mfe() instead!

    See also

    vrna_mfe(), fold(), circfold(), vrna_md_t, set_energy_model(), get_scaled_parameters()

    Note

    OpenMP: Passing NULL to the ‘parameters’ argument involves access to several global model detail variables and thus is not to be considered threadsafe

    Parameters:

      - sequence – RNA sequence

      - structure – A pointer to the character array where the secondary structure in dot-bracket notation will be written to

      - parameters – A data structure containing the pre-scaled energy contributions and the model details. (NULL may be passed, see OpenMP notes above)

      - is_constrained – Switch to indicate that a structure constraint is passed via the structure argument (0==off)

      - is_circular – Switch to (de-)activate post-processing steps in case RNA sequence is circular (0==off)

    Returns:

      the minimum free energy (MFE) in kcal/mol

  float fold(const char *sequence, char *structure)
    #include <ViennaRNA/fold.h>

    Compute minimum free energy and an appropriate secondary structure of an RNA sequence.

    This function essentially does the same thing as fold_par(). However, it takes its model details, i.e. temperature, dangles, tetra_loop, noGU, no_closingGU, fold_constrained, noLonelyPairs from the current global settings within the library

    Deprecated:

      use vrna_fold(), or vrna_mfe() instead!

    See also

    fold_par(), circfold()

    Parameters:

      - sequence – RNA sequence

      - structure – A pointer to the character array where the secondary structure in dot-bracket notation will be written to

    Returns:

      the minimum free energy (MFE) in kcal/mol

  float circfold(const char *sequence, char *structure)
    #include <ViennaRNA/fold.h>

    Compute minimum free energy and an appropriate secondary structure of a circular RNA sequence.

    This function essentially does the same thing as fold_par(). However, it takes its model details, i.e. temperature, dangles, tetra_loop, noGU, no_closingGU, fold_constrained, noLonelyPairs from the current global settings within the library

    Deprecated:

      Use vrna_circfold(), or vrna_mfe() instead!

    See also

    fold_par(), circfold()

    Parameters:

      - sequence – RNA sequence

      - structure – A pointer to the character array where the secondary structure in dot-bracket notation will be written to

    Returns:

      the minimum free energy (MFE) in kcal/mol

  void free_arrays(void)
    #include <ViennaRNA/fold.h>

    Free arrays for mfe folding.

    Deprecated:

      See vrna_fold(), vrna_circfold(), or vrna_mfe() and vrna_fold_compound_t for the usage of the new API!

  void update_fold_params(void)
    #include <ViennaRNA/fold.h>

    Recalculate energy parameters.

    Deprecated:

      For non-default model settings use the new API with vrna_params_subst() and vrna_mfe() instead!

  void update_fold_params_par(vrna_param_t *parameters)
    #include <ViennaRNA/fold.h>

    Recalculate energy parameters.

    Deprecated:

      For non-default model settings use the new API with vrna_params_subst() and vrna_mfe() instead!

  void export_fold_arrays(int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p)
    #include <ViennaRNA/fold.h>

    Deprecated:

      See vrna_mfe() and vrna_fold_compound_t for the usage of the new API!

  void export_fold_arrays_par(int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p, vrna_param_t **P_p)
    #include <ViennaRNA/fold.h>

    Deprecated:

      See vrna_mfe() and vrna_fold_compound_t for the usage of the new API!

  void export_circfold_arrays(int *Fc_p, int *FcH_p, int *FcI_p, int *FcM_p, int **fM2_p, int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p)
    #include <ViennaRNA/fold.h>

    Deprecated:

      See vrna_mfe() and vrna_fold_compound_t for the usage of the new API!

  void export_circfold_arrays_par(int *Fc_p, int *FcH_p, int *FcI_p, int *FcM_p, int **fM2_p, int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p, vrna_param_t **P_p)
    #include <ViennaRNA/fold.h>

    Deprecated:

      See vrna_mfe() and vrna_fold_compound_t for the usage of the new API!

  int LoopEnergy(int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1)
    #include <ViennaRNA/fold.h>

    Deprecated:

      {This function is deprecated and will be removed soon. Use E_IntLoop() instead!}

  int HairpinE(int size, int type, int si1, int sj1, const char *string)
    #include <ViennaRNA/fold.h>

    Deprecated:

      {This function is deprecated and will be removed soon. Use E_Hairpin() instead!}

  void initialize_fold(int length)
    #include <ViennaRNA/fold.h>

    Allocate arrays for folding

    Deprecated:

      See vrna_mfe() and vrna_fold_compound_t for the usage of the new API!

  char *backtrack_fold_from_pair(char *sequence, int i, int j)
    #include <ViennaRNA/fold.h>