Global Namespace

Overview

// typedefs

typedef struct vrna_sol_TwoD_t vrna_sol_TwoD_t
typedef struct TwoDfold_vars TwoDfold_vars
typedef struct vrna_sol_TwoD_pf_t vrna_sol_TwoD_pf_t
typedef struct vrna_pinfo_s vrna_pinfo_t
typedef struct vrna_pinfo_s pair_info
typedef struct vrna_cstr_s* vrna_cstr_t
typedef struct vrna_command_s vrna_cmd_t
typedef struct vrna_dimer_conc_s vrna_dimer_conc_t
typedef struct vrna_dimer_conc_s ConcEnt
typedef struct vrna_hc_s vrna_hc_t
typedef struct vrna_hc_up_s vrna_hc_up_t

typedef unsigned char () vrna_callback_hc_evaluate (
    int i,
    int j,
    int k,
    int l,
    unsigned char d,
    void *data
    )

typedef struct vrna_sc_motif_s vrna_sc_motif_t
typedef struct vrna_sc_s vrna_sc_t

typedef int () vrna_callback_sc_energy (
    int i,
    int j,
    int k,
    int l,
    unsigned char d,
    void *data
    )

typedef FLT_OR_DBL () vrna_callback_sc_exp_energy (
    int i,
    int j,
    int k,
    int l,
    unsigned char d,
    void *data
    )

typedef vrna_basepair_t* () vrna_callback_sc_backtrack (
    int i,
    int j,
    int k,
    int l,
    unsigned char d,
    void *data
    )

typedef struct vrna_basepair_s vrna_basepair_t
typedef struct vrna_elem_prob_s vrna_plist_t
typedef struct vrna_bp_stack_s vrna_bp_stack_t
typedef struct vrna_cpair_s vrna_cpair_t
typedef struct vrna_sect_s vrna_sect_t
typedef struct vrna_data_linear_s vrna_data_lin_t
typedef struct vrna_color_s vrna_color_t
typedef double FLT_OR_DBL
typedef struct vrna_basepair_s PAIR
typedef struct vrna_elem_prob_s plist
typedef struct vrna_cpair_s cpair
typedef struct vrna_sect_s sect
typedef struct vrna_bp_stack_s bondT
typedef struct pu_contrib pu_contrib
typedef struct interact interact
typedef struct pu_out pu_out
typedef struct constrain constrain
typedef struct node folden
typedef struct dupVar dupVar
typedef struct vrna_mx_mfe_s vrna_mx_mfe_t
typedef struct vrna_mx_pf_s vrna_mx_pf_t
typedef int CostMatrix [10][10]
typedef struct vrna_mx_pf_aux_el_s* vrna_mx_pf_aux_el_t
typedef struct vrna_path_s vrna_path_t
typedef struct vrna_path_s path_t
typedef struct vrna_fc_s vrna_fold_compound_t
typedef void () vrna_callback_free_auxdata (void *data)

typedef void () vrna_callback_recursion_status (
    unsigned char status,
    void *data
    )

typedef void () vrna_callback_gr_rule_aux (
    vrna_fold_compound_t *vc,
    int i,
    int j,
    void *data
    )

typedef void () vrna_callback_gr_free_auxdata (void *data)
typedef struct vrna_gr_aux_s vrna_gr_aux_t

typedef void () vrna_probs_window_callback (
    FLT_OR_DBL *pr,
    int pr_size,
    int i,
    int max,
    unsigned int type,
    void *data
    )

typedef void () vrna_mfe_window_callback (
    int start,
    int end,
    const char *structure,
    float en,
    void *data
    )

typedef void () vrna_mfe_window_zscore_callback (
    int start,
    int end,
    const char *structure,
    float en,
    float zscore,
    void *data
    )

typedef struct vrna_md_s vrna_md_t
typedef struct _struct_en struct_en
typedef struct vrna_mx_pf_aux_ml_s* vrna_mx_pf_aux_ml_t
typedef struct vrna_move_s vrna_move_t
typedef struct vrna_param_s vrna_param_t
typedef struct vrna_exp_param_s vrna_exp_param_t
typedef struct vrna_param_s paramT
typedef struct vrna_exp_param_s pf_paramT
typedef struct vrna_dimer_pf_s vrna_dimer_pf_t
typedef struct vrna_dimer_pf_s cofoldF

typedef void (* progress_callback)(
    int iteration,
    double score,
    double *epsilon
    )

typedef struct vrna_sequence_s vrna_seq_t
typedef struct vrna_ordered_stream_s* vrna_ostream_t

typedef void () vrna_callback_stream_output (
    void *auxdata,
    unsigned int i,
    void *data
    )

typedef struct vrna_hx_s vrna_hx_t
typedef struct vrna_elem_prob_s vrna_ep_t
typedef struct vrna_structured_domains_s vrna_sd_t
typedef struct vrna_subopt_sol_s vrna_subopt_solution_t

typedef void () vrna_subopt_callback (
    const char *stucture,
    float energy,
    void *data
    )

typedef struct vrna_subopt_sol_s SOLUTION
typedef struct vrna_unstructured_domain_s vrna_ud_t
typedef struct vrna_unstructured_domain_motif_s vrna_ud_motif_t

typedef int () vrna_callback_ud_energy (
    vrna_fold_compound_t *vc,
    int i,
    int j,
    unsigned int loop_type,
    void *data
    )

typedef FLT_OR_DBL () vrna_callback_ud_exp_energy (
    vrna_fold_compound_t *vc,
    int i,
    int j,
    unsigned int loop_type,
    void *data
    )

typedef void () vrna_callback_ud_production (
    vrna_fold_compound_t *vc,
    void *data
    )

typedef void () vrna_callback_ud_exp_production (
    vrna_fold_compound_t *vc,
    void *data
    )

typedef void () vrna_callback_ud_probs_add (
    vrna_fold_compound_t *vc,
    int i,
    int j,
    unsigned int loop_type,
    FLT_OR_DBL exp_energy,
    void *data
    )

typedef FLT_OR_DBL () vrna_callback_ud_probs_get (
    vrna_fold_compound_t *vc,
    int i,
    int j,
    unsigned int loop_type,
    int motif,
    void *data
    )

// enums

enum MOVE_TYPE
enum parset
enum vrna_command_e
enum vrna_fc_type_e
enum vrna_hc_type_e
enum vrna_mx_type_e
enum vrna_sc_type_e
enum vrna_seq_type_e
enum vrna_unit_energy_e
enum vrna_unit_temperature_e

// structs

struct COORDINATE
struct Postorder_list
struct Tree
struct TwoDfold_vars
struct TwoDpfold_vars
struct _struct_en
struct constrain
struct dupVar
struct duplexT
struct interact
struct node
struct pu_contrib
struct pu_out
struct snoopT
struct swString
struct vrna_basepair_s
struct vrna_bp_stack_s
struct vrna_color_s
struct vrna_command_s
struct vrna_cpair_s
struct vrna_data_linear_s
struct vrna_dimer_conc_s
struct vrna_dimer_pf_s
struct vrna_dotplot_auxdata_t
struct vrna_elem_prob_s
struct vrna_exp_param_s
struct vrna_fc_s
struct vrna_gr_aux_s
struct vrna_hc_bp_storage_t
struct vrna_hc_s
struct vrna_hc_up_s
struct vrna_hx_s
struct vrna_md_s
struct vrna_move_s
struct vrna_mx_mfe_s
struct vrna_mx_pf_s
struct vrna_param_s
struct vrna_path_s
struct vrna_pinfo_s
struct vrna_sc_bp_storage_t
struct vrna_sc_motif_s
struct vrna_sc_s
struct vrna_sect_s
struct vrna_sequence_s
struct vrna_sol_TwoD_pf_t
struct vrna_sol_TwoD_t
struct vrna_structured_domains_s
struct vrna_subopt_sol_s
struct vrna_unstructured_domain_motif_s
struct vrna_unstructured_domain_s

// global variables

PRIVATE double Tmeasure_184
PRIVATE double lxc37_184
PRIVATE int stack37_184[NBPAIRS+1][NBPAIRS+1]
PRIVATE int enthalpies_184[NBPAIRS+1][NBPAIRS+1]
PRIVATE int oldhairpin37_184[31]
PRIVATE int hairpin37_184[31]
PRIVATE int oldbulge37_184[31]
PRIVATE int bulge37_184[31]
PRIVATE int oldinternal_loop37_184[31]
PRIVATE int internal_loop37_184[31]
PRIVATE int mismatchI37_184[NBPAIRS+1][5][5]
PRIVATE int mismatchH37_184[NBPAIRS+1][5][5]
PRIVATE int mismatchM37_184[NBPAIRS+1][5][5]
PRIVATE int mism_H_184[NBPAIRS+1][5][5]
PRIVATE int dangle5_37_184[NBPAIRS+1][5]
PRIVATE int dangle3_37_184[NBPAIRS+1][5]
PRIVATE int dangle3_H_184[NBPAIRS+1][5]
PRIVATE int dangle5_H_184[NBPAIRS+1][5]
PRIVATE int ML_BASE37_184
PRIVATE int ML_closing37_184
PRIVATE int ML_intern37_184
PRIVATE int MAX_NINIO_184
PRIVATE int F_ninio37_184[5]
PRIVATE char Tetraloops_184[1400]
PRIVATE int TETRA_ENERGY37_184[200]
PRIVATE int TETRA_ENTH37_184
PRIVATE char Triloops_184[241]
PRIVATE int Triloop_E37_184[40]
PRIVATE int TerminalAU_184
PRIVATE int DuplexInit_184
PRIVATE int int11_37_184[NBPAIRS+1][NBPAIRS+1][5][5]
PRIVATE int int11_H_184[NBPAIRS+1][NBPAIRS+1][5][5]
PRIVATE int int21_37_184[NBPAIRS+1][NBPAIRS+1][5][5][5]
PRIVATE int int21_H_184[NBPAIRS+1][NBPAIRS+1][5][5][5]
PRIVATE int int22_37_184[NBPAIRS+1][NBPAIRS+1][5][5][5][5]
PRIVATE int int22_H_184[NBPAIRS+1][NBPAIRS+1][5][5][5][5]
double cv_fact
double nc_fact
int edit_backtrack
char* aligned_line[4]
int cost_matrix
PRIVATE char sep
PRIVATE char* coding
PRIVATE CostMatrix* EditCost
PRIVATE CostMatrix UsualCost
PRIVATE CostMatrix ShapiroCost
double lxc37
int stack37[NBPAIRS+1][NBPAIRS+1]
int stackdH[NBPAIRS+1][NBPAIRS+1]
int entropies[NBPAIRS+1][NBPAIRS+1]
int hairpin37[31]
int hairpindH[31]
int bulge37[31]
int bulgedH[31]
int internal_loop37[31]
int internal_loopdH[31]
int internal2_energy
int old_mismatch_37[NBPAIRS+1][5][5]
int mismatchI37[NBPAIRS+1][5][5]
int mismatchIdH[NBPAIRS+1][5][5]
int mismatch1nI37[NBPAIRS+1][5][5]
int mismatch23I37[NBPAIRS+1][5][5]
int mismatch1nIdH[NBPAIRS+1][5][5]
int mismatch23IdH[NBPAIRS+1][5][5]
int mismatchH37[NBPAIRS+1][5][5]
int mismatchM37[NBPAIRS+1][5][5]
int mismatchHdH[NBPAIRS+1][5][5]
int mismatchMdH[NBPAIRS+1][5][5]
int mismatchExt37[NBPAIRS+1][5][5]
int mismatchExtdH[NBPAIRS+1][5][5]
int dangle5_37[NBPAIRS+1][5]
int dangle3_37[NBPAIRS+1][5]
int dangle3_dH[NBPAIRS+1][5]
int dangle5_dH[NBPAIRS+1][5]
int int11_37[NBPAIRS+1][NBPAIRS+1][5][5]
int int11_dH[NBPAIRS+1][NBPAIRS+1][5][5]
int int21_37[NBPAIRS+1][NBPAIRS+1][5][5][5]
int int21_dH[NBPAIRS+1][NBPAIRS+1][5][5][5]
int int22_37[NBPAIRS+1][NBPAIRS+1][5][5][5][5]
int int22_dH[NBPAIRS+1][NBPAIRS+1][5][5][5][5]
int ML_BASE37
int ML_BASEdH
int ML_closing37
int ML_closingdH
int ML_intern37
int ML_interndH
int TripleC37
int TripleCdH
int MultipleCA37
int MultipleCAdH
int MultipleCB37
int MultipleCBdH
int MAX_NINIO
int ninio37
int niniodH
int TerminalAU37
int TerminalAUdH
int DuplexInit37
int DuplexInitdH
char Tetraloops[]
int Tetraloop37[]
int TetraloopdH[]
char Triloops[]
int Triloop37[]
int TriloopdH[]
char Hexaloops[]
int Hexaloop37[]
int HexaloopdH[]
int GQuadAlpha37
int GQuadAlphadH
int GQuadBeta37
int GQuadBetadH
double Tmeasure
int cut_point
int eos_debug
int fold_constrained
int csv
char* RibosumFile
int james_rule
int logML
int cut_point
bondT* base_pair
FLT_OR_DBL* pr
int* iindx
PUBLIC int int11_37[NBPAIRS+1][NBPAIRS+1][5][5]
PUBLIC int int11_dH[NBPAIRS+1][NBPAIRS+1][5][5]
PUBLIC int int21_37[NBPAIRS+1][NBPAIRS+1][5][5][5]
PUBLIC int int21_dH[NBPAIRS+1][NBPAIRS+1][5][5][5]
PUBLIC int int22_37[NBPAIRS+1][NBPAIRS+1][5][5][5][5]
PUBLIC int int22_dH[NBPAIRS+1][NBPAIRS+1][5][5][5][5]
char* symbolset
float final_cost
int give_up
int inv_verbose
double temperature
double pf_scale
int dangles
int tetra_loop
int noLonelyPairs
int noGU
int no_closingGU
int circ
int gquad
int uniq_ML
int energy_set
int do_backtrack
char backtrack_type
char* nonstandards
int max_bp_span
int oldAliEn
int ribo
double cv_fact
double nc_fact
int logML
static const char Law_and_Order[]
static int BP_pair[NBASES][NBASES]
static short alias[MAXALPHA+1]
static int pair[MAXALPHA+1][MAXALPHA+1]
static int rtype[8]
char* nonstandards
int st_back
int mirnatog
double F_monomer[2]
dupVar* PlexHits
int PlexHitsArrayLength
int NumberOfHits
int verbose
int subopt_sorted
int rna_plot_type
int loop_size[STRUC]
int helix_size[STRUC]
int loop_degree[STRUC]
int loops
int unpaired
int pairs
double cv_fact
double nc_fact
int snoop_subopt_sorted
const char wall
const char bg
const char star
const char probe
const char start[]
const char end[]
const char success[]
const char injector[]
unsigned int injector_len
const char flash[]
const char head1l[]
const char head2l[]
const char lvlstr[]
const char inv[]
double print_energy
int subopt_sorted
int density_of_states[MAXDOS+1]
char* avg_model_string
char* sd_model_string
unsigned short xsubi[3]

// global functions

vrna_sol_TwoD_t* vrna_mfe_TwoD (
    vrna_fold_compound_t* vc,
    int distance1,
    int distance2
    )

char* vrna_backtrack5_TwoD (
    vrna_fold_compound_t* vc,
    int k,
    int l,
    unsigned int j
    )

TwoDfold_vars* get_TwoDfold_variables (
    const char* seq,
    const char* structure1,
    const char* structure2,
    int circ
    )

void destroy_TwoDfold_variables (TwoDfold_vars* our_variables)

vrna_sol_TwoD_t* TwoDfoldList (
    TwoDfold_vars* vars,
    int distance1,
    int distance2
    )

char* TwoDfold_backtrack_f5 (
    unsigned int j,
    int k,
    int l,
    TwoDfold_vars* vars
    )

vrna_sol_TwoD_t** TwoDfold (
    TwoDfold_vars* our_variables,
    int distance1,
    int distance2
    )

vrna_sol_TwoD_pf_t* vrna_pf_TwoD (
    vrna_fold_compound_t* vc,
    int maxDistance1,
    int maxDistance2
    )

char* vrna_pbacktrack_TwoD (
    vrna_fold_compound_t* vc,
    int d1,
    int d2
    )

char* vrna_pbacktrack5_TwoD (
    vrna_fold_compound_t* vc,
    int d1,
    int d2,
    unsigned int length
    )

TwoDpfold_vars* get_TwoDpfold_variables (
    const char* seq,
    const char* structure1,
    char* structure2,
    int circ
    )

void destroy_TwoDpfold_variables (TwoDpfold_vars* vars)

vrna_sol_TwoD_pf_t* TwoDpfoldList (
    TwoDpfold_vars* vars,
    int maxDistance1,
    int maxDistance2
    )

char* TwoDpfold_pbacktrack (
    TwoDpfold_vars* vars,
    int d1,
    int d2
    )

char* TwoDpfold_pbacktrack5 (
    TwoDpfold_vars* vars,
    int d1,
    int d2,
    unsigned int length
    )

FLT_OR_DBL** TwoDpfold (
    TwoDpfold_vars* our_variables,
    int maxDistance1,
    int maxDistance2
    )

FLT_OR_DBL** TwoDpfold_circ (
    TwoDpfold_vars* our_variables,
    int maxDistance1,
    int maxDistance2
    )

duplexT** aliLduplexfold (
    const char* s1 [],
    const char* s2 [],
    const int threshold,
    const int extension_cost,
    const int alignment_length,
    const int delta,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )

duplexT** aliLduplexfold_XS (
    const char* s1 [],
    const char* s2 [],
    const int** access_s1,
    const int** access_s2,
    const int threshold,
    const int alignment_length,
    const int delta,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )

float vrna_alifold (
    const char** sequences,
    char* structure
    )

float vrna_circalifold (
    const char** sequences,
    char* structure
    )

float vrna_pf_alifold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

float vrna_pf_circalifold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

float alifold (
    const char** strings,
    char* structure
    )

float circalifold (
    const char** strings,
    char* structure
    )

void free_alifold_arrays (void)

float energy_of_alistruct (
    const char** sequences,
    const char* structure,
    int n_seq,
    float* energy
    )

float energy_of_ali_gquad_structure (
    const char** sequences,
    const char* structure,
    int n_seq,
    float* energy
    )

float alipf_fold_par (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl,
    vrna_exp_param_t* parameters,
    int calculate_bppm,
    int is_constrained,
    int is_circular
    )

float alipf_fold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

float alipf_circ_fold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

FLT_OR_DBL* export_ali_bppm (void)
void free_alipf_arrays (void)
char* alipbacktrack (double* prob)

int get_alipf_arrays (
    short*** S_p,
    short*** S5_p,
    short*** S3_p,
    unsigned short*** a2s_p,
    char*** Ss_p,
    FLT_OR_DBL** qb_p,
    FLT_OR_DBL** qm_p,
    FLT_OR_DBL** q1k_p,
    FLT_OR_DBL** qln_p,
    short** pscore
    )

void update_alifold_params (void)
int vrna_aln_mpi (const char** alignment)

vrna_pinfo_t* vrna_aln_pinfo (
    vrna_fold_compound_t* vc,
    const char* structure,
    double threshold
    )

int* vrna_aln_pscore (
    const char** alignment,
    vrna_md_t* md
    )

char** vrna_aln_slice (
    const char** alignment,
    unsigned int i,
    unsigned int j
    )

void vrna_aln_free (char** alignment)
char** vrna_aln_uppercase (const char** alignment)
char** vrna_aln_toRNA (const char** alignment)

char** vrna_aln_copy (
    const char** alignment,
    unsigned int options
    )

float* vrna_aln_conservation_struct (
    const char** alignment,
    const char* structure,
    const vrna_md_t* md
    )

float* vrna_aln_conservation_col (
    const char** alignment,
    const vrna_md_t* md_p,
    unsigned int options
    )

int read_clustal (
    FILE* clust,
    char* AlignedSeqs [],
    char* names []
    )

char* consensus (const char* AS [])
char* consens_mis (const char* AS [])
char* get_ungapped_sequence (const char* seq)

int get_mpi (
    char* Alseq [],
    int n_seq,
    int length,
    int* mini
    )

void encode_ali_sequence (
    const char* sequence,
    short* S,
    short* s5,
    short* s3,
    char* ss,
    unsigned short* as,
    int circ
    )

void alloc_sequence_arrays (
    const char** sequences,
    short*** S,
    short*** S5,
    short*** S3,
    unsigned short*** a2s,
    char*** Ss,
    int circ
    )

void free_sequence_arrays (
    unsigned int n_seq,
    short*** S,
    short*** S5,
    short*** S3,
    unsigned short*** a2s,
    char*** Ss
    )

unsigned int vrna_sequence_length_max (unsigned int options)

int vrna_nucleotide_IUPAC_identity (
    char a,
    char b
    )

void vrna_ptypes_prepare (
    vrna_fold_compound_t* fc,
    unsigned int options
    )

char* vrna_ptypes (
    const short* S,
    vrna_md_t* md
    )

short* vrna_seq_encode (
    const char* sequence,
    vrna_md_t* md
    )

short* vrna_seq_encode_simple (
    const char* sequence,
    vrna_md_t* md
    )

int vrna_nucleotide_encode (
    char c,
    vrna_md_t* md
    )

char vrna_nucleotide_decode (
    int enc,
    vrna_md_t* md
    )

void vrna_aln_encode (
    const char* sequence,
    short** S_p,
    short** s5_p,
    short** s3_p,
    char** ss_p,
    unsigned int** as_p,
    vrna_md_t* md
    )

unsigned int vrna_get_ptype_md (
    int i,
    int j,
    vrna_md_t* md
    )

unsigned int vrna_get_ptype (
    int ij,
    char* ptype
    )

unsigned int vrna_get_ptype_window (
    int i,
    int j,
    char** ptype
    )

char* get_ptypes (
    const short* S,
    vrna_md_t* md,
    unsigned int idx_type
    )

char* vrna_pbacktrack5 (
    vrna_fold_compound_t* vc,
    int length
    )

char* vrna_pbacktrack (vrna_fold_compound_t* vc)

char* vrna_centroid (
    vrna_fold_compound_t* vc,
    double* dist
    )

char* vrna_centroid_from_plist (
    int length,
    double* dist,
    vrna_ep_t* pl
    )

char* vrna_centroid_from_probs (
    int length,
    double* dist,
    FLT_OR_DBL* probs
    )

char* get_centroid_struct_pl (
    int length,
    double* dist,
    vrna_ep_t* pl
    )

char* get_centroid_struct_pr (
    int length,
    double* dist,
    FLT_OR_DBL* pr
    )

vrna_cstr_t vrna_cstr (
    size_t size,
    FILE* output
    )

void vrna_cstr_free (vrna_cstr_t buf)
void vrna_cstr_close (vrna_cstr_t buf)
void vrna_cstr_fflush (struct vrna_cstr_s* buf)
const char* vrna_cstr_string (vrna_cstr_t buf)

int vrna_cstr_vprintf (
    vrna_cstr_t buf,
    const char* format,
    va_list args
    )

int vrna_cstr_printf (
    vrna_cstr_t buf,
    const char* format,
    ...
    )

void vrna_cstr_message_info (
    vrna_cstr_t buf,
    const char* format,
    ...
    )

void vrna_cstr_message_vinfo (
    vrna_cstr_t buf,
    const char* format,
    va_list args
    )

void vrna_cstr_print_fasta_header (
    vrna_cstr_t buf,
    const char* head
    )

void vrna_cstr_printf_structure (
    struct vrna_cstr_s* buf,
    const char* structure,
    const char* format,
    ...
    )

void vrna_cstr_vprintf_structure (
    struct vrna_cstr_s* buf,
    const char* structure,
    const char* format,
    va_list args
    )

void vrna_cstr_printf_comment (
    struct vrna_cstr_s* buf,
    const char* format,
    ...
    )

void vrna_cstr_vprintf_comment (
    struct vrna_cstr_s* buf,
    const char* format,
    va_list args
    )

void vrna_cstr_printf_thead (
    struct vrna_cstr_s* buf,
    const char* format,
    ...
    )

void vrna_cstr_vprintf_thead (
    struct vrna_cstr_s* buf,
    const char* format,
    va_list args
    )

void vrna_cstr_printf_tbody (
    struct vrna_cstr_s* buf,
    const char* format,
    ...
    )

void vrna_cstr_vprintf_tbody (
    struct vrna_cstr_s* buf,
    const char* format,
    va_list args
    )

float vrna_cofold (
    const char* sequence,
    char* structure
    )

float cofold (
    const char* sequence,
    char* structure
    )

float cofold_par (
    const char* string,
    char* structure,
    vrna_param_t* parameters,
    int is_constrained
    )

void free_co_arrays (void)
void update_cofold_params (void)
void update_cofold_params_par (vrna_param_t* parameters)

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
    )

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
    )

void get_monomere_mfes (
    float* e1,
    float* e2
    )

void initialize_cofold (int length)
unsigned int** vrna_enumerate_necklaces (const unsigned int* type_counts)

vrna_cmd_t* vrna_file_commands_read (
    const char* filename,
    unsigned int options
    )

int vrna_file_commands_apply (
    vrna_fold_compound_t* vc,
    const char* filename,
    unsigned int options
    )

int vrna_commands_apply (
    vrna_fold_compound_t* vc,
    vrna_cmd_t* commands,
    unsigned int options
    )

void vrna_commands_free (vrna_cmd_t* commands)

vrna_dimer_conc_t* vrna_pf_dimer_concentrations (
    double FcAB,
    double FcAA,
    double FcBB,
    double FEA,
    double FEB,
    const double* startconc,
    const vrna_exp_param_t* exp_params
    )

vrna_dimer_conc_t* get_concentrations (
    double FEAB,
    double FEAA,
    double FEBB,
    double FEA,
    double FEB,
    double* startconc
    )

void vrna_constraints_add (
    vrna_fold_compound_t* vc,
    const char* constraint,
    unsigned int options
    )

void vrna_message_constraint_options (unsigned int option)
void vrna_message_constraint_options_all (void)
void vrna_hc_init (vrna_fold_compound_t* vc)
void vrna_hc_init_window (vrna_fold_compound_t* vc)

void vrna_hc_update (
    vrna_fold_compound_t* fc,
    unsigned int i
    )

void vrna_hc_add_up (
    vrna_fold_compound_t* vc,
    int i,
    unsigned char option
    )

int vrna_hc_add_up_batch (
    vrna_fold_compound_t* vc,
    vrna_hc_up_t* constraints
    )

void vrna_hc_add_bp (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    unsigned char option
    )

void vrna_hc_add_bp_nonspecific (
    vrna_fold_compound_t* vc,
    int i,
    int d,
    unsigned char option
    )

void vrna_hc_free (vrna_hc_t* hc)

void vrna_hc_add_f (
    vrna_fold_compound_t* vc,
    vrna_callback_hc_evaluate* f
    )

void vrna_hc_add_data (
    vrna_fold_compound_t* vc,
    void* data,
    vrna_callback_free_auxdata* f
    )

int vrna_hc_add_from_db (
    vrna_fold_compound_t* vc,
    const char* constraint,
    unsigned int options
    )

void print_tty_constraint (unsigned int option)
void print_tty_constraint_full (void)

void constrain_ptypes (
    const char* constraint,
    unsigned int length,
    char* ptype,
    int* BP,
    int min_loop_size,
    unsigned int idx_type
    )

int vrna_sc_add_hi_motif (
    vrna_fold_compound_t* vc,
    const char* seq,
    const char* structure,
    FLT_OR_DBL energy,
    unsigned int options
    )

vrna_sc_motif_t* vrna_sc_ligand_detect_motifs (
    vrna_fold_compound_t* vc,
    const char* structure
    )

vrna_sc_motif_t* vrna_sc_ligand_get_all_motifs (vrna_fold_compound_t* vc)

void vrna_constraints_add_SHAPE (
    vrna_fold_compound_t* vc,
    const char* shape_file,
    const char* shape_method,
    const char* shape_conversion,
    int verbose,
    unsigned int constraint_type
    )

void vrna_constraints_add_SHAPE_ali (
    vrna_fold_compound_t* vc,
    const char* shape_method,
    const char** shape_files,
    const int* shape_file_association,
    int verbose,
    unsigned int constraint_type
    )

int vrna_sc_add_SHAPE_deigan (
    vrna_fold_compound_t* vc,
    const double* reactivities,
    double m,
    double b,
    unsigned int options
    )

int vrna_sc_add_SHAPE_deigan_ali (
    vrna_fold_compound_t* vc,
    const char** shape_files,
    const int* shape_file_association,
    double m,
    double b,
    unsigned int options
    )

int vrna_sc_add_SHAPE_zarringhalam (
    vrna_fold_compound_t* vc,
    const double* reactivities,
    double b,
    double default_value,
    const char* shape_conversion,
    unsigned int options
    )

int vrna_sc_SHAPE_parse_method (
    const char* method_string,
    char* method,
    float* param_1,
    float* param_2
    )

int vrna_sc_SHAPE_to_pr (
    const char* shape_conversion,
    double* values,
    int length,
    double default_value
    )

void vrna_sc_init (vrna_fold_compound_t* vc)

void vrna_sc_prepare (
    vrna_fold_compound_t* vc,
    unsigned int options
    )

void vrna_sc_update (
    vrna_fold_compound_t* vc,
    unsigned int i,
    unsigned int options
    )

void vrna_sc_set_bp (
    vrna_fold_compound_t* vc,
    const FLT_OR_DBL** constraints,
    unsigned int options
    )

void vrna_sc_add_bp (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    FLT_OR_DBL energy,
    unsigned int options
    )

void vrna_sc_set_up (
    vrna_fold_compound_t* vc,
    const FLT_OR_DBL* constraints,
    unsigned int options
    )

void vrna_sc_add_up (
    vrna_fold_compound_t* vc,
    int i,
    FLT_OR_DBL energy,
    unsigned int options
    )

void vrna_sc_set_stack (
    vrna_fold_compound_t* vc,
    const FLT_OR_DBL* constraints,
    unsigned int options
    )

void vrna_sc_add_stack (
    vrna_fold_compound_t* vc,
    int i,
    FLT_OR_DBL energy,
    unsigned int options
    )

void vrna_sc_remove (vrna_fold_compound_t* vc)
void vrna_sc_free (vrna_sc_t* sc)

void vrna_sc_add_data (
    vrna_fold_compound_t* vc,
    void* data,
    vrna_callback_free_auxdata* free_data
    )

void vrna_sc_add_f (
    vrna_fold_compound_t* vc,
    vrna_callback_sc_energy* f
    )

void vrna_sc_add_bt (
    vrna_fold_compound_t* vc,
    vrna_callback_sc_backtrack* f
    )

void vrna_sc_add_exp_f (
    vrna_fold_compound_t* vc,
    vrna_callback_sc_exp_energy* exp_f
    )

void convert_parameter_file (
    const char* iname,
    const char* oname,
    unsigned int options
    )

void vrna_C11_features (void)

int vrna_mx_add (
    vrna_fold_compound_t* vc,
    vrna_mx_type_e type,
    unsigned int options
    )

int vrna_mx_mfe_add (
    vrna_fold_compound_t* vc,
    vrna_mx_type_e mx_type,
    unsigned int options
    )

int vrna_mx_pf_add (
    vrna_fold_compound_t* vc,
    vrna_mx_type_e mx_type,
    unsigned int options
    )

int vrna_mx_prepare (
    vrna_fold_compound_t* vc,
    unsigned int options
    )

void vrna_mx_mfe_free (vrna_fold_compound_t* vc)
void vrna_mx_pf_free (vrna_fold_compound_t* vc)

duplexT duplexfold (
    const char* s1,
    const char* s2
    )

duplexT* duplex_subopt (
    const char* s1,
    const char* s2,
    int delta,
    int w
    )

duplexT aliduplexfold (
    const char* s1 [],
    const char* s2 []
    )

duplexT* aliduplex_subopt (
    const char* s1 [],
    const char* s2 [],
    int delta,
    int w
    )

void vrna_pairing_probs (
    vrna_fold_compound_t* vc,
    char* structure
    )

double vrna_mean_bp_distance_pr (
    int length,
    FLT_OR_DBL* pr
    )

double vrna_mean_bp_distance (vrna_fold_compound_t* vc)

vrna_ep_t* vrna_stack_prob (
    vrna_fold_compound_t* vc,
    double cutoff
    )

void vrna_pf_dimer_probs (
    double FAB,
    double FA,
    double FB,
    vrna_ep_t* prAB,
    const vrna_ep_t* prA,
    const vrna_ep_t* prB,
    int Alength,
    const vrna_exp_param_t* exp_params
    )

double vrna_pr_structure (
    vrna_fold_compound_t* fc,
    const char* structure
    )

double vrna_pr_energy (
    vrna_fold_compound_t* vc,
    double e
    )

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

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

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

float vrna_eval_structure_v (
    vrna_fold_compound_t* vc,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

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

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

int vrna_eval_structure_pt_v (
    vrna_fold_compound_t* vc,
    const short* pt,
    int verbosity_level,
    FILE* file
    )

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

float vrna_eval_circ_structure (
    const char* string,
    const char* structure
    )

float vrna_eval_gquad_structure (
    const char* string,
    const char* structure
    )

float vrna_eval_circ_gquad_structure (
    const char* string,
    const char* structure
    )

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

float vrna_eval_structure_simple_v (
    const char* string,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_circ_structure_v (
    const char* string,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_gquad_structure_v (
    const char* string,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_circ_gquad_structure_v (
    const char* string,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_consensus_structure_simple (
    const char** alignment,
    const char* structure
    )

float vrna_eval_circ_consensus_structure (
    const char** alignment,
    const char* structure
    )

float vrna_eval_gquad_consensus_structure (
    const char** alignment,
    const char* structure
    )

float vrna_eval_circ_gquad_consensus_structure (
    const char** alignment,
    const char* structure
    )

float vrna_eval_consensus_structure_simple_verbose (
    const char** alignment,
    const char* structure,
    FILE* file
    )

float vrna_eval_consensus_structure_simple_v (
    const char** alignment,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_circ_consensus_structure_v (
    const char** alignment,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_gquad_consensus_structure_v (
    const char** alignment,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

float vrna_eval_circ_gquad_consensus_structure_v (
    const char** alignment,
    const char* structure,
    int verbosity_level,
    FILE* file
    )

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

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

int vrna_eval_structure_pt_simple_v (
    const char* string,
    const short* pt,
    int verbosity_level,
    FILE* file
    )

int vrna_eval_consensus_structure_pt_simple (
    const char** alignment,
    const short* pt
    )

int vrna_eval_consensus_structure_pt_simple_verbose (
    const char** alignment,
    const short* pt,
    FILE* file
    )

int vrna_eval_consensus_structure_pt_simple_v (
    const char** alignment,
    const short* pt,
    int verbosity_level,
    FILE* file
    )

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

int vrna_eval_loop_pt_v (
    vrna_fold_compound_t* vc,
    int i,
    const short* pt,
    int verbosity_level
    )

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

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

int vrna_eval_move_pt_simple (
    const char* string,
    short* pt,
    int m1,
    int m2
    )

int vrna_eval_move_shift_pt (
    vrna_fold_compound_t* vc,
    vrna_move_t* m,
    short* structure
    )

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

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

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

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

float energy_of_gquad_structure (
    const char* string,
    const char* structure,
    int verbosity_level
    )

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

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

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

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

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

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

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_E_ext_stem (
    unsigned int type,
    int n5d,
    int n3d,
    vrna_param_t* p
    )

FLT_OR_DBL vrna_exp_E_ext_stem (
    unsigned int type,
    int n5d,
    int n3d,
    vrna_exp_param_t* p
    )

int vrna_E_ext_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_E_ext_loop_5 (vrna_fold_compound_t* vc)

int vrna_E_ext_loop_3 (
    vrna_fold_compound_t* fc,
    int i
    )

int vrna_BT_ext_loop_f5 (
    vrna_fold_compound_t* vc,
    int* k,
    int* i,
    int* j,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

int vrna_BT_ext_loop_f3 (
    vrna_fold_compound_t* vc,
    int* k,
    int maxdist,
    int* i,
    int* j,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

int vrna_BT_ext_loop_f3_pp (
    vrna_fold_compound_t* fc,
    int* i,
    int maxdist
    )

struct vrna_mx_pf_aux_el_s* vrna_exp_E_ext_fast_init (vrna_fold_compound_t* vc)
void vrna_exp_E_ext_fast_rotate (struct vrna_mx_pf_aux_el_s* aux_mx)
void vrna_exp_E_ext_fast_free (struct vrna_mx_pf_aux_el_s* aux_mx)

FLT_OR_DBL vrna_exp_E_ext_fast (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    struct vrna_mx_pf_aux_el_s* aux_mx
    )

void vrna_exp_E_ext_fast_update (
    vrna_fold_compound_t* fc,
    int j,
    struct vrna_mx_pf_aux_el_s* aux_mx
    )

int E_Stem (
    int type,
    int si1,
    int sj1,
    int extLoop,
    vrna_param_t* P
    )

int E_ExtLoop (
    int type,
    int si1,
    int sj1,
    vrna_param_t* P
    )

FLT_OR_DBL exp_E_ExtLoop (
    int type,
    int si1,
    int sj1,
    vrna_exp_param_t* P
    )

FLT_OR_DBL exp_E_Stem (
    int type,
    int si1,
    int sj1,
    int extLoop,
    vrna_exp_param_t* P
    )

void vrna_file_helixlist (
    const char* seq,
    const char* db,
    float energy,
    FILE* file
    )

void vrna_file_connect (
    const char* seq,
    const char* db,
    float energy,
    const char* identifier,
    FILE* file
    )

void vrna_file_bpseq (
    const char* seq,
    const char* db,
    FILE* file
    )

void vrna_file_json (
    const char* seq,
    const char* db,
    double energy,
    const char* identifier,
    FILE* file
    )

unsigned int vrna_file_fasta_read_record (
    char** header,
    char** sequence,
    char*** rest,
    FILE* file,
    unsigned int options
    )

char* vrna_extract_record_rest_structure (
    const char** lines,
    unsigned int length,
    unsigned int option
    )

int vrna_file_SHAPE_read (
    const char* file_name,
    int length,
    double default_value,
    char* sequence,
    double* values
    )

void vrna_extract_record_rest_constraint (
    char** cstruc,
    const char** lines,
    unsigned int option
    )

char* extract_record_rest_structure (
    const char** lines,
    unsigned int length,
    unsigned int option
    )

unsigned int read_record (
    char** header,
    char** sequence,
    char*** rest,
    unsigned int options
    )

unsigned int get_multi_input_line (
    char** string,
    unsigned int options
    )

int vrna_file_msa_read (
    const char* filename,
    char*** names,
    char*** aln,
    char** id,
    char** structure,
    unsigned int options
    )

int vrna_file_msa_read_record (
    FILE* fp,
    char*** names,
    char*** aln,
    char** id,
    char** structure,
    unsigned int options
    )

unsigned int vrna_file_msa_detect_format (
    const char* filename,
    unsigned int options
    )

int vrna_file_msa_write (
    const char* filename,
    const char** names,
    const char** aln,
    const char* id,
    const char* structure,
    const char* source,
    unsigned int options
    )

void vrna_file_copy (
    FILE* from,
    FILE* to
    )

char* vrna_read_line (FILE* fp)
int vrna_mkdir_p (const char* path)
char* vrna_basename (const char* path)
char* vrna_dirname (const char* path)

char* vrna_filename_sanitize (
    const char* name,
    const char* replacement
    )

int vrna_path_findpath_saddle (
    vrna_fold_compound_t* vc,
    const char* s1,
    const char* s2,
    int width
    )

int vrna_path_findpath_saddle_ub (
    vrna_fold_compound_t* vc,
    const char* s1,
    const char* s2,
    int width,
    int maxE
    )

vrna_path_t* vrna_path_findpath (
    vrna_fold_compound_t* vc,
    const char* s1,
    const char* s2,
    int width
    )

vrna_path_t* vrna_path_findpath_ub (
    vrna_fold_compound_t* vc,
    const char* s1,
    const char* s2,
    int width,
    int maxE
    )

int find_saddle (
    const char* seq,
    const char* s1,
    const char* s2,
    int width
    )

void free_path (vrna_path_t* path)

vrna_path_t* get_path (
    const char* seq,
    const char* s1,
    const char* s2,
    int width
    )

float vrna_fold (
    const char* sequence,
    char* structure
    )

float vrna_circfold (
    const char* sequence,
    char* structure
    )

float fold_par (
    const char* sequence,
    char* structure,
    vrna_param_t* parameters,
    int is_constrained,
    int is_circular
    )

float fold (
    const char* sequence,
    char* structure
    )

float circfold (
    const char* sequence,
    char* structure
    )

void free_arrays (void)
void update_fold_params (void)
void update_fold_params_par (vrna_param_t* parameters)

void export_fold_arrays (
    int** f5_p,
    int** c_p,
    int** fML_p,
    int** fM1_p,
    int** indx_p,
    char** ptype_p
    )

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
    )

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
    )

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
    )

int LoopEnergy (
    int n1,
    int n2,
    int type,
    int type_2,
    int si1,
    int sj1,
    int sp1,
    int sq1
    )

int HairpinE (
    int size,
    int type,
    int si1,
    int sj1,
    const char* string
    )

void initialize_fold (int length)

char* backtrack_fold_from_pair (
    char* sequence,
    int i,
    int j
    )

vrna_fold_compound_t* vrna_fold_compound (
    const char* sequence,
    vrna_md_t* md_p,
    unsigned int options
    )

vrna_fold_compound_t* vrna_fold_compound_comparative (
    const char** sequences,
    vrna_md_t* md_p,
    unsigned int options
    )

vrna_fold_compound_t* vrna_fold_compound_TwoD (
    const char* sequence,
    const char* s1,
    const char* s2,
    vrna_md_t* md_p,
    unsigned int options
    )

int vrna_fold_compound_prepare (
    vrna_fold_compound_t* vc,
    unsigned int options
    )

void vrna_fold_compound_free (vrna_fold_compound_t* vc)

void vrna_fold_compound_add_auxdata (
    vrna_fold_compound_t* vc,
    void* data,
    vrna_callback_free_auxdata* f
    )

void vrna_fold_compound_add_callback (
    vrna_fold_compound_t* vc,
    vrna_callback_recursion_status* f
    )

int E_gquad (
    int L,
    int l [3],
    vrna_param_t* P
    )

FLT_OR_DBL exp_E_gquad (
    int L,
    int l [3],
    vrna_exp_param_t* pf
    )

int E_gquad_ali (
    int i,
    int L,
    int l [3],
    const short** S,
    int n_seq,
    vrna_param_t* P
    )

void E_gquad_ali_en (
    int i,
    int L,
    int l [3],
    const short** S,
    int n_seq,
    int en [2],
    vrna_param_t* P
    )

int* get_gquad_matrix (
    short* S,
    vrna_param_t* P
    )

int* get_gquad_ali_matrix (
    short* S_cons,
    short** S,
    int n_seq,
    vrna_param_t* P
    )

FLT_OR_DBL* get_gquad_pf_matrix (
    short* S,
    FLT_OR_DBL* scale,
    vrna_exp_param_t* pf
    )

int** get_gquad_L_matrix (
    short* S,
    int start,
    int maxdist,
    int n,
    int** g,
    vrna_param_t* P
    )

void vrna_gquad_mx_local_update (
    vrna_fold_compound_t* vc,
    int start
    )

void get_gquad_pattern_mfe (
    short* S,
    int i,
    int j,
    vrna_param_t* P,
    int* L,
    int l [3]
    )

void get_gquad_pattern_exhaustive (
    short* S,
    int i,
    int j,
    vrna_param_t* P,
    int* L,
    int* l,
    int threshold
    )

void get_gquad_pattern_pf (
    short* S,
    int i,
    int j,
    vrna_exp_param_t* pf,
    int* L,
    int l [3]
    )

plist* get_plist_gquad_from_pr (
    short* S,
    int gi,
    int gj,
    FLT_OR_DBL* G,
    FLT_OR_DBL* probs,
    FLT_OR_DBL* scale,
    vrna_exp_param_t* pf
    )

plist* get_plist_gquad_from_pr_max (
    short* S,
    int gi,
    int gj,
    FLT_OR_DBL* G,
    FLT_OR_DBL* probs,
    FLT_OR_DBL* scale,
    int* L,
    int l [3],
    vrna_exp_param_t* pf
    )

plist* get_plist_gquad_from_db (
    const char* structure,
    float pr
    )

int get_gquad_count (
    short* S,
    int i,
    int j
    )

int get_gquad_layer_count (
    short* S,
    int i,
    int j
    )

void get_gquad_pattern_mfe_ali (
    short** S,
    short* S_cons,
    int n_seq,
    int i,
    int j,
    vrna_param_t* P,
    int* L,
    int l [3]
    )

int parse_gquad (
    const char* struc,
    int* L,
    int l [3]
    )

PRIVATE int backtrack_GQuad_IntLoop (
    int c,
    int i,
    int j,
    int type,
    short* S,
    int* ggg,
    int* index,
    int* p,
    int* q,
    vrna_param_t* P
    )

PRIVATE int backtrack_GQuad_IntLoop_comparative (
    int c,
    int i,
    int j,
    unsigned int* type,
    short* S_cons,
    short** S5,
    short** S3,
    int* ggg,
    int* index,
    int* p,
    int* q,
    int n_seq,
    vrna_param_t* P
    )

PRIVATE int backtrack_GQuad_IntLoop_L (
    int c,
    int i,
    int j,
    int type,
    short* S,
    int** ggg,
    int maxdist,
    int* p,
    int* q,
    vrna_param_t* P
    )

PRIVATE int vrna_BT_gquad_int (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int en,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

PRIVATE int vrna_BT_gquad_mfe (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

PRIVATE int backtrack_GQuad_IntLoop_L_comparative (
    int c,
    int i,
    int j,
    unsigned int* type,
    short* S_cons,
    short** S5,
    short** S3,
    int** ggg,
    int* p,
    int* q,
    int n_seq,
    vrna_param_t* P
    )

PRIVATE int E_GQuad_IntLoop (
    int i,
    int j,
    int type,
    short* S,
    int* ggg,
    int* index,
    vrna_param_t* P
    )

PRIVATE int* E_GQuad_IntLoop_exhaustive (
    int i,
    int j,
    int** p_p,
    int** q_p,
    int type,
    short* S,
    int* ggg,
    int threshold,
    int* index,
    vrna_param_t* P
    )

PRIVATE int E_GQuad_IntLoop_L (
    int i,
    int j,
    int type,
    short* S,
    int** ggg,
    int maxdist,
    vrna_param_t* P
    )

PRIVATE FLT_OR_DBL exp_E_GQuad_IntLoop (
    int i,
    int j,
    int type,
    short* S,
    FLT_OR_DBL* G,
    FLT_OR_DBL* scale,
    int* index,
    vrna_exp_param_t* pf
    )

PRIVATE int E_Hairpin (
    int size,
    int type,
    int si1,
    int sj1,
    const char* string,
    vrna_param_t* P
    )

PRIVATE FLT_OR_DBL exp_E_Hairpin (
    int u,
    int type,
    short si1,
    short sj1,
    const char* string,
    vrna_exp_param_t* P
    )

int vrna_E_hp_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_E_ext_hp_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_eval_ext_hp_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

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

FLT_OR_DBL vrna_exp_E_hp_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_BT_hp_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int en,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

PRIVATE int E_IntLoop (
    int n1,
    int n2,
    int type,
    int type_2,
    int si1,
    int sj1,
    int sp1,
    int sq1,
    vrna_param_t* P
    )

PRIVATE FLT_OR_DBL exp_E_IntLoop (
    int u1,
    int u2,
    int type,
    int type2,
    short si1,
    short sj1,
    short sp1,
    short sq1,
    vrna_exp_param_t* P
    )

PRIVATE int E_IntLoop_Co (
    int type,
    int type_2,
    int i,
    int j,
    int p,
    int q,
    int cutpoint,
    short si1,
    short sj1,
    short sp1,
    short sq1,
    int dangles,
    vrna_param_t* P
    )

PRIVATE int ubf_eval_int_loop (
    int i,
    int j,
    int p,
    int q,
    int i1,
    int j1,
    int p1,
    int q1,
    short si,
    short sj,
    short sp,
    short sq,
    unsigned char type,
    unsigned char type_2,
    int* rtype,
    int ij,
    int cp,
    vrna_param_t* P,
    vrna_sc_t* sc
    )

PRIVATE int ubf_eval_int_loop2 (
    int i,
    int j,
    int p,
    int q,
    int i1,
    int j1,
    int p1,
    int q1,
    short si,
    short sj,
    short sp,
    short sq,
    unsigned char type,
    unsigned char type_2,
    int* rtype,
    int ij,
    unsigned int* sn,
    unsigned int* ss,
    vrna_param_t* P,
    vrna_sc_t* sc
    )

PRIVATE int ubf_eval_ext_int_loop (
    int i,
    int j,
    int p,
    int q,
    int i1,
    int j1,
    int p1,
    int q1,
    short si,
    short sj,
    short sp,
    short sq,
    unsigned char type,
    unsigned char type_2,
    int length,
    vrna_param_t* P,
    vrna_sc_t* sc
    )

int vrna_E_int_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_eval_int_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int k,
    int l
    )

FLT_OR_DBL vrna_exp_E_int_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

FLT_OR_DBL vrna_exp_E_interior_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int k,
    int l
    )

int vrna_E_ext_int_loop (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int* ip,
    int* iq
    )

int vrna_E_stack (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_BT_stack (
    vrna_fold_compound_t* vc,
    int* i,
    int* j,
    int* en,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

int vrna_BT_int_loop (
    vrna_fold_compound_t* vc,
    int* i,
    int* j,
    int en,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

float inverse_fold (
    char* start,
    const char* target
    )

float inverse_pf_fold (
    char* start,
    const char* target
    )

float vrna_Lfold (
    const char* string,
    int window_size,
    FILE* file
    )

float vrna_Lfold_cb (
    const char* string,
    int window_size,
    vrna_mfe_window_callback* cb,
    void* data
    )

float vrna_Lfoldz (
    const char* string,
    int window_size,
    double min_z,
    FILE* file
    )

float vrna_Lfoldz_cb (
    const char* string,
    int window_size,
    double min_z,
    vrna_mfe_window_zscore_callback* cb,
    void* data
    )

float vrna_aliLfold (
    const char** AS,
    int maxdist,
    FILE* fp
    )

float vrna_aliLfold_cb (
    const char** AS,
    int maxdist,
    vrna_mfe_window_callback* cb,
    void* data
    )

float Lfold (
    const char* string,
    char* structure,
    int maxdist
    )

float Lfoldz (
    const char* string,
    char* structure,
    int maxdist,
    int zsc,
    double min_z
    )

float aliLfold (
    const char** AS,
    char* structure,
    int maxdist
    )

float aliLfold_cb (
    const char** AS,
    int maxdist,
    vrna_mfe_window_callback* cb,
    void* data
    )

vrna_ep_t* vrna_pfl_fold (
    const char* sequence,
    int window_size,
    int max_bp_span,
    float cutoff
    )

void vrna_pfl_fold_cb (
    const char* sequence,
    int window_size,
    int max_bp_span,
    vrna_probs_window_callback* cb,
    void* data
    )

double** vrna_pfl_fold_up (
    const char* sequence,
    int ulength,
    int window_size,
    int max_bp_span
    )

void vrna_pfl_fold_up_cb (
    const char* sequence,
    int ulength,
    int window_size,
    int max_bp_span,
    vrna_probs_window_callback* cb,
    void* data
    )

void vrna_probs_window (
    vrna_fold_compound_t* fc,
    int ulength,
    unsigned int options,
    vrna_probs_window_callback* cb,
    void* data
    )

void update_pf_paramsLP (int length)

void update_pf_paramsLP_par (
    int length,
    vrna_exp_param_t* parameters
    )

vrna_ep_t* pfl_fold (
    char* sequence,
    int winSize,
    int pairSize,
    float cutoffb,
    double** pU,
    vrna_ep_t** dpp2,
    FILE* pUfp,
    FILE* spup
    )

vrna_ep_t* pfl_fold_par (
    char* sequence,
    int winSize,
    int pairSize,
    float cutoffb,
    double** pU,
    vrna_ep_t** dpp2,
    FILE* pUfp,
    FILE* spup,
    vrna_exp_param_t* parameters
    )

void putoutpU_prob_par (
    double** pU,
    int length,
    int ulength,
    FILE* fp,
    int energies,
    vrna_exp_param_t* parameters
    )

void putoutpU_prob (
    double** pU,
    int length,
    int ulength,
    FILE* fp,
    int energies
    )

void putoutpU_prob_bin_par (
    double** pU,
    int length,
    int ulength,
    FILE* fp,
    int energies,
    vrna_exp_param_t* parameters
    )

void putoutpU_prob_bin (
    double** pU,
    int length,
    int ulength,
    FILE* fp,
    int energies
    )

void init_pf_foldLP (int length)

float MEA (
    plist* p,
    char* structure,
    double gamma
    )

float MEA_seq (
    plist* p,
    const char* sequence,
    char* structure,
    double gamma,
    vrna_exp_param_t* pf
    )

float vrna_mfe (
    vrna_fold_compound_t* vc,
    char* structure
    )

float vrna_mfe_dimer (
    vrna_fold_compound_t* vc,
    char* structure
    )

float vrna_mfe_window (
    vrna_fold_compound_t* vc,
    FILE* file
    )

float vrna_mfe_window_cb (
    vrna_fold_compound_t* vc,
    vrna_mfe_window_callback* cb,
    void* data
    )

float vrna_mfe_window_zscore (
    vrna_fold_compound_t* vc,
    double min_z,
    FILE* file
    )

float vrna_mfe_window_zscore_cb (
    vrna_fold_compound_t* vc,
    double min_z,
    vrna_mfe_window_zscore_callback* cb,
    void* data
    )

void vrna_backtrack_from_intervals (
    vrna_fold_compound_t* vc,
    vrna_bp_stack_t* bp_stack,
    sect bt_stack [],
    int s
    )

unsigned int maximumMatching (const char* string)

unsigned int* maximumMatchingConstraint (
    const char* string,
    short* ptable
    )

unsigned int* maximumMatching2Constraint (
    const char* string,
    short* ptable,
    short* ptable2
    )

void vrna_md_set_default (vrna_md_t* md)
void vrna_md_update (vrna_md_t* md)

vrna_md_t* vrna_md_copy (
    vrna_md_t* md_to,
    const vrna_md_t* md_from
    )

char* vrna_md_option_string (vrna_md_t* md)

void vrna_md_set_nonstandards (
    vrna_md_t* md,
    const char* ns_bases
    )

void vrna_md_defaults_reset (vrna_md_t* md_p)
void vrna_md_defaults_temperature (double T)
double vrna_md_defaults_temperature_get (void)
void vrna_md_defaults_betaScale (double b)
double vrna_md_defaults_betaScale_get (void)
void vrna_md_defaults_dangles (int d)
int vrna_md_defaults_dangles_get (void)
void vrna_md_defaults_special_hp (int flag)
int vrna_md_defaults_special_hp_get (void)
void vrna_md_defaults_noLP (int flag)
int vrna_md_defaults_noLP_get (void)
void vrna_md_defaults_noGU (int flag)
int vrna_md_defaults_noGU_get (void)
void vrna_md_defaults_noGUclosure (int flag)
int vrna_md_defaults_noGUclosure_get (void)
void vrna_md_defaults_logML (int flag)
int vrna_md_defaults_logML_get (void)
void vrna_md_defaults_circ (int flag)
int vrna_md_defaults_circ_get (void)
void vrna_md_defaults_gquad (int flag)
int vrna_md_defaults_gquad_get (void)
void vrna_md_defaults_uniq_ML (int flag)
int vrna_md_defaults_uniq_ML_get (void)
void vrna_md_defaults_energy_set (int e)
int vrna_md_defaults_energy_set_get (void)
void vrna_md_defaults_backtrack (int flag)
int vrna_md_defaults_backtrack_get (void)
void vrna_md_defaults_backtrack_type (char t)
char vrna_md_defaults_backtrack_type_get (void)
void vrna_md_defaults_compute_bpp (int flag)
int vrna_md_defaults_compute_bpp_get (void)
void vrna_md_defaults_max_bp_span (int span)
int vrna_md_defaults_max_bp_span_get (void)
void vrna_md_defaults_min_loop_size (int size)
int vrna_md_defaults_min_loop_size_get (void)
void vrna_md_defaults_window_size (int size)
int vrna_md_defaults_window_size_get (void)
void vrna_md_defaults_oldAliEn (int flag)
int vrna_md_defaults_oldAliEn_get (void)
void vrna_md_defaults_ribo (int flag)
int vrna_md_defaults_ribo_get (void)
void vrna_md_defaults_cv_fact (double factor)
double vrna_md_defaults_cv_fact_get (void)
void vrna_md_defaults_nc_fact (double factor)
double vrna_md_defaults_nc_fact_get (void)
void vrna_md_defaults_sfact (double factor)
double vrna_md_defaults_sfact_get (void)
void set_model_details (vrna_md_t* md)
char* option_string (void)

void print_stren (
    FILE* out,
    struct_en* str
    )

void print_str (
    FILE* out,
    short* str
    )

void copy_arr (
    short* dest,
    short* src
    )

short* allocopy (short* src)

int move_gradient (
    char* seq,
    short* ptable,
    short* s,
    short* s1,
    int verbosity_level,
    int shifts,
    int noLP
    )

int move_first (
    char* seq,
    short* ptable,
    short* s,
    short* s1,
    int verbosity_level,
    int shifts,
    int noLP
    )

int move_adaptive (
    char* seq,
    short* ptable,
    short* s,
    short* s1,
    int verbosity_level
    )

int move_standard (
    char* seq,
    char* struc,
    enum MOVE_TYPE type,
    int verbosity_level,
    int shifts,
    int noLP
    )

int browse_neighs_pt (
    char* seq,
    short* ptable,
    short* s,
    short* s1,
    int verbosity_level,
    int shifts,
    int noLP,
    int (*) (struct_en*, struct_en*) funct
    )

int browse_neighs (
    char* seq,
    char* struc,
    int verbosity_level,
    int shifts,
    int noLP,
    int (*) (struct_en*, struct_en*) funct
    )

int vrna_E_mb_loop_stack (
    vrna_fold_compound_t* vc,
    int i,
    int j
    )

int vrna_BT_mb_loop (
    vrna_fold_compound_t* vc,
    int* i,
    int* j,
    int* k,
    int en,
    int* component1,
    int* component2
    )

int vrna_E_mb_loop_fast (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int* dmli1,
    int* dmli2
    )

int E_ml_rightmost_stem (
    int i,
    int j,
    vrna_fold_compound_t* vc
    )

int vrna_E_ml_stems_fast (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int* fmi,
    int* dmli
    )

FLT_OR_DBL vrna_exp_E_mb_loop_fast (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    vrna_mx_pf_aux_ml_t aux_mx
    )

vrna_mx_pf_aux_ml_t vrna_exp_E_ml_fast_init (vrna_fold_compound_t* vc)
void vrna_exp_E_ml_fast_rotate (vrna_mx_pf_aux_ml_t aux_mx)
void vrna_exp_E_ml_fast_free (vrna_mx_pf_aux_ml_t aux_mx)
const FLT_OR_DBL* vrna_exp_E_ml_fast_qqm (struct vrna_mx_pf_aux_ml_s* aux_mx)
const FLT_OR_DBL* vrna_exp_E_ml_fast_qqm1 (struct vrna_mx_pf_aux_ml_s* aux_mx)

FLT_OR_DBL vrna_exp_E_ml_fast (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    vrna_mx_pf_aux_ml_t aux_mx
    )

int vrna_BT_mb_loop_fake (
    vrna_fold_compound_t* vc,
    int* u,
    int* i,
    int* j,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

int vrna_BT_mb_loop_split (
    vrna_fold_compound_t* vc,
    int* i,
    int* j,
    int* k,
    int* l,
    int* component1,
    int* component2,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

PRIVATE int E_MLstem (
    int type,
    int si1,
    int sj1,
    vrna_param_t* P
    )

PRIVATE FLT_OR_DBL exp_E_MLstem (
    int type,
    int si1,
    int sj1,
    vrna_exp_param_t* P
    )

int naview_xy_coordinates (
    short* pair_table,
    float* X,
    float* Y
    )

vrna_move_t vrna_move_init (
    int pos_5,
    int pos_3
    )

void vrna_move_list_free (vrna_move_t* moves)

void vrna_move_apply (
    short* pt,
    const vrna_move_t* m
    )

void vrna_move_apply_to_db (
    char* structure,
    const short* pt,
    const vrna_move_t* m
    )

void vrna_loopidx_update (
    int* loopidx,
    const short* pt,
    int length,
    const vrna_move_t* m
    )

vrna_move_t* vrna_neighbors (
    vrna_fold_compound_t* vc,
    const short* pt,
    unsigned int options
    )

vrna_move_t* vrna_neighbors_successive (
    const vrna_fold_compound_t* vc,
    const vrna_move_t* curr_move,
    const short* prev_pt,
    const vrna_move_t* prev_neighbors,
    int size_prev_neighbors,
    int* size_neighbors,
    unsigned int options
    )

static int encode_char (char c)
static void make_pair_matrix (void)

static short* encode_sequence (
    const char* sequence,
    short how
    )

vrna_param_t* vrna_params (vrna_md_t* md)
vrna_param_t* vrna_params_copy (vrna_param_t* par)
vrna_exp_param_t* vrna_exp_params (vrna_md_t* md)

vrna_exp_param_t* vrna_exp_params_comparative (
    unsigned int n_seq,
    vrna_md_t* md
    )

vrna_exp_param_t* vrna_exp_params_copy (vrna_exp_param_t* par)

void vrna_params_subst (
    vrna_fold_compound_t* vc,
    vrna_param_t* par
    )

void vrna_exp_params_subst (
    vrna_fold_compound_t* vc,
    vrna_exp_param_t* params
    )

void vrna_exp_params_rescale (
    vrna_fold_compound_t* vc,
    double* mfe
    )

void vrna_params_reset (
    vrna_fold_compound_t* vc,
    vrna_md_t* md_p
    )

void vrna_exp_params_reset (
    vrna_fold_compound_t* vc,
    vrna_md_t* md_p
    )

void vrna_params_prepare (
    vrna_fold_compound_t* vc,
    unsigned int options
    )

vrna_param_t* get_parameter_copy (vrna_param_t* par)
vrna_exp_param_t* get_scaled_pf_parameters (void)

vrna_exp_param_t* get_boltzmann_factors (
    double temperature,
    double betaScale,
    vrna_md_t md,
    double pf_scale
    )

vrna_exp_param_t* get_boltzmann_factor_copy (vrna_exp_param_t* parameters)
vrna_exp_param_t* get_scaled_alipf_parameters (unsigned int n_seq)

vrna_exp_param_t* get_boltzmann_factors_ali (
    unsigned int n_seq,
    double temperature,
    double betaScale,
    vrna_md_t md,
    double pf_scale
    )

vrna_param_t* scale_parameters (void)

vrna_param_t* get_scaled_parameters (
    double temperature,
    vrna_md_t md
    )

vrna_param_t* copy_parameters (void)
vrna_param_t* set_parameters (vrna_param_t* dest)
vrna_exp_param_t* scale_pf_parameters (void)
vrna_exp_param_t* copy_pf_param (void)
vrna_exp_param_t* set_pf_param (vrna_param_t* dest)

float vrna_pf (
    vrna_fold_compound_t* vc,
    char* structure
    )

float vrna_pf_fold (
    const char* sequence,
    char* structure,
    vrna_ep_t** pl
    )

float vrna_pf_circfold (
    const char* sequence,
    char* structure,
    vrna_ep_t** pl
    )

vrna_dimer_pf_t vrna_pf_dimer (
    vrna_fold_compound_t* vc,
    char* structure
    )

int vrna_pf_float_precision (void)

float pf_fold_par (
    const char* sequence,
    char* structure,
    vrna_exp_param_t* parameters,
    int calculate_bppm,
    int is_constrained,
    int is_circular
    )

float pf_fold (
    const char* sequence,
    char* structure
    )

float pf_circ_fold (
    const char* sequence,
    char* structure
    )

char* pbacktrack (char* sequence)

char* pbacktrack5 (
    char* sequence,
    int length
    )

char* pbacktrack_circ (char* sequence)
void free_pf_arrays (void)
void update_pf_params (int length)

void update_pf_params_par (
    int length,
    vrna_exp_param_t* parameters
    )

FLT_OR_DBL* export_bppm (void)

int get_pf_arrays (
    short** S_p,
    short** S1_p,
    char** ptype_p,
    FLT_OR_DBL** qb_p,
    FLT_OR_DBL** qm_p,
    FLT_OR_DBL** q1k_p,
    FLT_OR_DBL** qln_p
    )

double get_subseq_F (
    int i,
    int j
    )

double mean_bp_distance (int length)

double mean_bp_distance_pr (
    int length,
    FLT_OR_DBL* pr
    )

vrna_ep_t* stackProb (double cutoff)
void init_pf_fold (int length)

char* centroid (
    int length,
    double* dist
    )

char* get_centroid_struct_gquad_pr (
    int length,
    double* dist
    )

double mean_bp_dist (int length)

double expLoopEnergy (
    int u1,
    int u2,
    int type,
    int type2,
    short si1,
    short sj1,
    short sp1,
    short sq1
    )

double expHairpinEnergy (
    int u,
    int type,
    short si1,
    short sj1,
    const char* string
    )

void assign_plist_gquad_from_pr (
    vrna_ep_t** pl,
    int length,
    double cut_off
    )

vrna_dimer_pf_t vrna_pf_co_fold (
    const char* seq,
    char* structure,
    vrna_ep_t** pl
    )

vrna_dimer_pf_t co_pf_fold (
    char* sequence,
    char* structure
    )

vrna_dimer_pf_t co_pf_fold_par (
    char* sequence,
    char* structure,
    vrna_exp_param_t* parameters,
    int calculate_bppm,
    int is_constrained
    )

vrna_ep_t* get_plist (
    vrna_ep_t* pl,
    int length,
    double cut_off
    )

void compute_probabilities (
    double FAB,
    double FEA,
    double FEB,
    vrna_ep_t* prAB,
    vrna_ep_t* prA,
    vrna_ep_t* prB,
    int Alength
    )

void init_co_pf_fold (int length)
FLT_OR_DBL* export_co_bppm (void)
void free_co_pf_arrays (void)
void update_co_pf_params (int length)

void update_co_pf_params_par (
    int length,
    vrna_exp_param_t* parameters
    )

pu_contrib* pf_unstru (
    char* sequence,
    int max_w
    )

interact* pf_interact (
    const char* s1,
    const char* s2,
    pu_contrib* p_c,
    pu_contrib* p_c2,
    int max_w,
    char* cstruc,
    int incr3,
    int incr5
    )

void free_interact (interact* pin)

int Up_plot (
    pu_contrib* p_c,
    pu_contrib* p_c_sh,
    interact* pint,
    char* ofile,
    int** unpaired_values,
    char* select_contrib,
    char* head,
    unsigned int mode
    )

pu_contrib* get_pu_contrib_struct (
    unsigned int n,
    unsigned int w
    )

void free_pu_contrib_struct (pu_contrib* pu)
void free_pu_contrib (pu_contrib* pu)

void vrna_sc_minimize_pertubation (
    vrna_fold_compound_t* vc,
    const double* q_prob_unpaired,
    int objective_function,
    double sigma_squared,
    double tau_squared,
    int algorithm,
    int sample_size,
    double* epsilon,
    double initialStepSize,
    double minStepSize,
    double minImprovement,
    double minimizerTolerance,
    progress_callback callback
    )

dupVar** PKLduplexfold_XS (
    const char* s1,
    int** access_s1,
    const int threshold,
    const int alignment_length,
    const int delta
    )

int arraySize (duplexT** array)
void freeDuplexT (duplexT** array)

duplexT** Lduplexfold (
    const char* s1,
    const char* s2,
    const int threshold,
    const int extension_cost,
    const int alignment_length,
    const int delta,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )

duplexT** Lduplexfold_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    const int** access_s2,
    const int threshold,
    const int delta,
    const int alignment_length,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )

duplexT** Lduplexfold_C (
    const char* s1,
    const char* s2,
    const int threshold,
    const int extension_cost,
    const int alignment_length,
    const int delta,
    const int fast,
    const char* structure,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )

duplexT** Lduplexfold_CXS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    const int** access_s2,
    const int threshold,
    const int delta,
    const int alignment_length,
    const int fast,
    const char* structure,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )

int arraySize (duplexT** array)
void freeDuplexT (duplexT** array)

int PS_color_aln (
    const char* structure,
    const char* filename,
    const char* seqs [],
    const char* names []
    )

int vrna_file_PS_aln (
    const char* filename,
    const char** seqs,
    const char** names,
    const char* structure,
    int columns
    )

int vrna_file_PS_aln_sub (
    const char* filename,
    const char** seqs,
    const char** names,
    const char* structure,
    int start,
    int end,
    int columns
    )

int aliPS_color_aln (
    const char* structure,
    const char* filename,
    const char* seqs [],
    const char* names []
    )

int simple_xy_coordinates (
    short* pair_table,
    float* X,
    float* Y
    )

int simple_circplot_coordinates (
    short* pair_table,
    float* x,
    float* y
    )

int PS_rna_plot_snoop_a (
    const char* string,
    const char* structure,
    const char* ssfile,
    int* relative_access,
    const char* seqs []
    )

int vrna_file_PS_rnaplot (
    const char* seq,
    const char* structure,
    const char* file,
    vrna_md_t* md_p
    )

int vrna_file_PS_rnaplot_a (
    const char* seq,
    const char* structure,
    const char* file,
    const char* pre,
    const char* post,
    vrna_md_t* md_p
    )

int gmlRNA (
    char* string,
    char* structure,
    char* ssfile,
    char option
    )

int ssv_rna_plot (
    char* string,
    char* structure,
    char* ssfile
    )

int svg_rna_plot (
    char* string,
    char* structure,
    char* ssfile
    )

int xrna_plot (
    char* string,
    char* structure,
    char* ssfile
    )

int PS_rna_plot (
    char* string,
    char* structure,
    char* file
    )

int PS_rna_plot_a (
    char* string,
    char* structure,
    char* file,
    char* pre,
    char* post
    )

int PS_rna_plot_a_gquad (
    char* string,
    char* structure,
    char* ssfile,
    char* pre,
    char* post
    )

char** vrna_annotate_covar_struct (
    const char** alignment,
    const char* structure,
    vrna_md_t* md
    )

vrna_cpair_t* vrna_annotate_covar_pairs (
    const char** alignment,
    vrna_ep_t* pl,
    vrna_ep_t* mfel,
    double threshold,
    vrna_md_t* md
    )

float profile_aln (
    const float* T1,
    const char* seq1,
    const float* T2,
    const char* seq2
    )

int set_paln_params (
    double gap_open,
    double gap_ext,
    double seqweight,
    int free_ends
    )

float profile_edit_distance (
    const float* T1,
    const float* T2
    )

float* Make_bp_profile_bppm (
    FLT_OR_DBL* bppm,
    int length
    )

void print_bppm (const float* T)
void free_profile (float* T)
float* Make_bp_profile (int length)

int vrna_plot_dp_EPS (
    const char* filename,
    const char* sequence,
    vrna_ep_t* upper,
    vrna_ep_t* lower,
    vrna_dotplot_auxdata_t* auxdata,
    unsigned int options
    )

int PS_color_dot_plot (
    char* string,
    cpair* pi,
    char* filename
    )

int PS_color_dot_plot_turn (
    char* seq,
    cpair* pi,
    char* filename,
    int winSize
    )

int PS_dot_plot_list (
    char* seq,
    char* filename,
    plist* pl,
    plist* mf,
    char* comment
    )

int vrna_plot_dp_PS_list (
    char* seq,
    int cp,
    char* wastlfile,
    plist* pl,
    plist* mf,
    char* comment
    )

int PS_dot_plot_turn (
    char* seq,
    plist* pl,
    char* filename,
    int winSize
    )

int PS_dot_plot (
    char* string,
    char* file
    )

const char* last_parameter_file (void)
void read_parameter_file (const char fname [])
void write_parameter_file (const char fname [])
enum parset gettype (const char* ident)
char* settype (enum parset s)

float** get_ribosum (
    const char** Alseq,
    int n_seq,
    int length
    )

float** readribosum (char* name)
char* b2HIT (const char* structure)
char* b2C (const char* structure)
char* b2Shapiro (const char* structure)
char* add_root (const char* structure)
char* expand_Shapiro (const char* coarse)
char* expand_Full (const char* structure)
char* unexpand_Full (const char* ffull)
char* unweight (const char* wcoarse)
void unexpand_aligned_F (char* align [2])
void parse_structure (const char* structure)

vrna_seq_t* vrna_sequence (
    const char* string,
    unsigned int options
    )

int vrna_sequence_add (
    vrna_fold_compound_t* vc,
    const char* string,
    unsigned int options
    )

int vrna_sequence_remove (
    vrna_fold_compound_t* vc,
    unsigned int i
    )

void vrna_sequence_remove_all (vrna_fold_compound_t* vc)
void vrna_sequence_prepare (vrna_fold_compound_t* fc)

int snofold (
    const char* sequence,
    char* structure,
    const int max_assym,
    const int threshold,
    const int min_s2,
    const int max_s2,
    const int half_stem,
    const int max_half_stem
    )

void snofree_arrays (const int length)
void snoinitialize_fold (int length)
void snoupdate_fold_params (void)

int snoloop_energy (
    short* ptable,
    short* s,
    short* s1,
    int i
    )

void snoexport_fold_arrays (
    int** indx_p,
    int** mLoop_p,
    int** cLoop,
    folden*** fold_p,
    folden*** fold_p_XS
    )

char* snobacktrack_fold_from_pair (
    const char* sequence,
    int i,
    int j
    )

float alisnofold (
    const char** strings,
    const int max_assym,
    const int threshloop,
    const int min_s2,
    const int max_s2,
    const int half_stem,
    const int max_half_stem
    )

void alisnofree_arrays (const int length)

char* alisnobacktrack_fold_from_pair (
    const char** sequence,
    int i,
    int j,
    int* cov
    )

snoopT snoopfold (
    const char* s1,
    const char* s2,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshD,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int fullStemEnergy
    )

snoopT* snoop_subopt (
    const char* s1,
    const char* s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int fullStemEnergy
    )

void Lsnoop_subopt (
    const char* s1,
    const char* s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )

void Lsnoop_subopt_list (
    const char* s1,
    const char* s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )

void Lsnoop_subopt_list_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )

void snoop_subopt_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )

snoopT* alisnoop_subopt (
    const char** s1,
    const char** s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2
    )

snoopT* aliLsnoop_subopt_list (
    const char** s1,
    const char** s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length
    )

snoopT alisnoopfold (
    const char** s1,
    const char** s2,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshD,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2
    )

snoopT snoopfold_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    const int pos,
    const int max_pos_j,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshD,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int fullStemEnergy
    )

vrna_ostream_t vrna_ostream_init (
    vrna_callback_stream_output* output,
    void* auxdata
    )

void vrna_ostream_free (vrna_ostream_t dat)
int vrna_ostream_threadsafe (void)

void vrna_ostream_request (
    vrna_ostream_t dat,
    unsigned int num
    )

void vrna_ostream_provide (
    vrna_ostream_t dat,
    unsigned int i,
    void* data
    )

char* vrna_strdup_printf (
    const char* format,
    ...
    )

char* vrna_strdup_vprintf (
    const char* format,
    va_list argp
    )

int vrna_strcat_printf (
    char** dest,
    const char* format,
    ...
    )

int vrna_strcat_vprintf (
    char** dest,
    const char* format,
    va_list args
    )

char** vrna_strsplit (
    const char* string,
    const char* delimiter
    )

char* vrna_random_string (
    int l,
    const char symbols []
    )

int vrna_hamming_distance (
    const char* s1,
    const char* s2
    )

int vrna_hamming_distance_bound (
    const char* s1,
    const char* s2,
    int n
    )

void vrna_seq_toRNA (char* sequence)
void vrna_seq_toupper (char* sequence)

char* vrna_cut_point_insert (
    const char* string,
    int cp
    )

char* vrna_cut_point_remove (
    const char* string,
    int* cp
    )

void str_uppercase (char* sequence)
void str_DNA2RNA (char* sequence)

char* random_string (
    int l,
    const char symbols []
    )

int hamming (
    const char* s1,
    const char* s2
    )

int hamming_bound (
    const char* s1,
    const char* s2,
    int n
    )

swString* Make_swString (char* string)

float string_edit_distance (
    swString* T1,
    swString* T2
    )

char* vrna_db_pack (const char* struc)
char* vrna_db_unpack (const char* packed)
short* vrna_ptable (const char* structure)

short* vrna_ptable_from_string (
    const char* string,
    unsigned int options
    )

short* vrna_pt_pk_get (const char* structure)
short* vrna_ptable_copy (const short* pt)
short* vrna_pt_ali_get (const char* structure)
short* vrna_pt_snoop_get (const char* structure)
int* vrna_loopidx_from_ptable (const short* pt)

void vrna_db_flatten (
    char* structure,
    unsigned int options
    )

void vrna_db_flatten_to (
    char* string,
    const char target [3],
    unsigned int options
    )

char* vrna_db_from_ptable (short* pt)
char* vrna_db_from_WUSS (const char* wuss)

int vrna_bp_distance (
    const char* str1,
    const char* str2
    )

unsigned int* vrna_refBPcnt_matrix (
    const short* reference_pt,
    unsigned int turn
    )

unsigned int* vrna_refBPdist_matrix (
    const short* pt1,
    const short* pt2,
    unsigned int turn
    )

char* vrna_db_from_probs (
    const FLT_OR_DBL* pr,
    unsigned int length
    )

char vrna_bpp_symbol (const float* x)

char* vrna_db_from_bp_stack (
    vrna_bp_stack_t* bp,
    unsigned int length
    )

void vrna_letter_structure (
    char* structure,
    vrna_bp_stack_t* bp,
    unsigned int length
    )

vrna_ep_t* vrna_plist (
    const char* struc,
    float pr
    )

vrna_ep_t* vrna_plist_from_probs (
    vrna_fold_compound_t* vc,
    double cut_off
    )

char* vrna_db_from_plist (
    vrna_ep_t* pairs,
    unsigned int n
    )

char* vrna_db_to_element_string (const char* structure)
vrna_hx_t* vrna_hx_from_ptable (short* pt)

vrna_hx_t* vrna_hx_merge (
    const vrna_hx_t* list,
    int maxdist
    )

void assign_plist_from_db (
    vrna_ep_t** pl,
    const char* struc,
    float pr
    )

char* pack_structure (const char* struc)
char* unpack_structure (const char* packed)
short* make_pair_table (const char* structure)
short* make_pair_table_pk (const char* structure)
short* copy_pair_table (const short* pt)
short* alimake_pair_table (const char* structure)
short* make_pair_table_snoop (const char* structure)
int* make_loop_index_pt (short* pt)

int bp_distance (
    const char* str1,
    const char* str2
    )

unsigned int* make_referenceBP_array (
    short* reference_pt,
    unsigned int turn
    )

unsigned int* compute_BPdifferences (
    short* pt1,
    short* pt2,
    unsigned int turn
    )

void assign_plist_from_pr (
    vrna_ep_t** pl,
    FLT_OR_DBL* probs,
    int length,
    double cutoff
    )

void parenthesis_structure (
    char* structure,
    vrna_bp_stack_t* bp,
    int length
    )

void parenthesis_zuker (
    char* structure,
    vrna_bp_stack_t* bp,
    int length
    )

void letter_structure (
    char* structure,
    vrna_bp_stack_t* bp,
    int length
    )

void bppm_to_structure (
    char* structure,
    FLT_OR_DBL* pr,
    unsigned int length
    )

char bppm_symbol (const float* x)

vrna_subopt_solution_t* vrna_subopt (
    vrna_fold_compound_t* vc,
    int delta,
    int sorted,
    FILE* fp
    )

void vrna_subopt_cb (
    vrna_fold_compound_t* vc,
    int delta,
    vrna_subopt_callback* cb,
    void* data
    )

vrna_subopt_solution_t* vrna_subopt_zuker (vrna_fold_compound_t* vc)

SOLUTION* subopt (
    char* seq,
    char* structure,
    int delta,
    FILE* fp
    )

SOLUTION* subopt_par (
    char* seq,
    char* structure,
    vrna_param_t* parameters,
    int delta,
    int is_constrained,
    int is_circular,
    FILE* fp
    )

SOLUTION* subopt_circ (
    char* seq,
    char* sequence,
    int delta,
    FILE* fp
    )

SOLUTION* zukersubopt (const char* string)

SOLUTION* zukersubopt_par (
    const char* string,
    vrna_param_t* parameters
    )

float get_z (
    char* sequence,
    double energy
    )

double avg_regression (
    int N,
    int A,
    int C,
    int G,
    int T,
    struct svm_model* avg_model,
    int* info
    )

double sd_regression (
    int N,
    int A,
    int C,
    int G,
    int T,
    struct svm_model* sd_model
    )

double minimal_sd (
    int N,
    int A,
    int C,
    int G,
    int T
    )

struct svm_model* svm_load_model_string (char* modelString)

int* get_seq_composition (
    short* S,
    unsigned int start,
    unsigned int stop,
    unsigned int length
    )

Tree* make_tree (char* struc)

float tree_edit_distance (
    Tree* T1,
    Tree* T2
    )

void print_tree (Tree* t)
void free_tree (Tree* t)

double vrna_convert_energy (
    double energy,
    vrna_unit_energy_e from,
    vrna_unit_energy_e to
    )

double vrna_convert_temperature (
    double temp,
    vrna_unit_temperature_e from,
    vrna_unit_temperature_e to
    )

vrna_ud_motif_t* vrna_ud_motifs_centroid (
    vrna_fold_compound_t* fc,
    const char* structure
    )

vrna_ud_motif_t* vrna_ud_motifs_MEA (
    vrna_fold_compound_t* fc,
    const char* structure,
    vrna_ep_t* probability_list
    )

vrna_ud_motif_t* vrna_ud_motifs_MFE (
    vrna_fold_compound_t* fc,
    const char* structure
    )

void vrna_ud_add_motif (
    vrna_fold_compound_t* vc,
    const char* motif,
    double motif_en,
    unsigned int loop_type
    )

int* vrna_ud_get_motif_size_at (
    vrna_fold_compound_t* vc,
    int i,
    unsigned int loop_type
    )

int* vrna_ud_get_motifs_at (
    vrna_fold_compound_t* vc,
    int i,
    unsigned int loop_type
    )

vrna_ud_motif_t* vrna_ud_detect_motifs (
    vrna_fold_compound_t* vc,
    const char* structure
    )

void vrna_ud_remove (vrna_fold_compound_t* vc)

void vrna_ud_set_data (
    vrna_fold_compound_t* vc,
    void* data,
    vrna_callback_free_auxdata* free_cb
    )

void vrna_ud_set_prod_rule_cb (
    vrna_fold_compound_t* vc,
    vrna_callback_ud_production* pre_cb,
    vrna_callback_ud_energy* e_cb
    )

void vrna_ud_set_exp_prod_rule_cb (
    vrna_fold_compound_t* vc,
    vrna_callback_ud_exp_production* pre_cb,
    vrna_callback_ud_exp_energy* exp_e_cb
    )

void vrna_ud_set_prob_cb (
    vrna_fold_compound_t* vc,
    vrna_callback_ud_probs_add* setter,
    vrna_callback_ud_probs_get* getter
    )

void* vrna_alloc (unsigned size)

void* vrna_realloc (
    void* p,
    unsigned size
    )

void vrna_message_error (
    const char* format,
    ...
    )

void vrna_message_verror (
    const char* format,
    va_list args
    )

void vrna_message_warning (
    const char* format,
    ...
    )

void vrna_message_vwarning (
    const char* format,
    va_list args
    )

void vrna_message_info (
    FILE* fp,
    const char* format,
    ...
    )

void vrna_message_vinfo (
    FILE* fp,
    const char* format,
    va_list args
    )

void vrna_init_rand (void)
double vrna_urn (void)

int vrna_int_urn (
    int from,
    int to
    )

char* vrna_time_stamp (void)

unsigned int get_input_line (
    char** string,
    unsigned int options
    )

void vrna_message_input_seq_simple (void)
void vrna_message_input_seq (const char* s)
int* vrna_idx_row_wise (unsigned int length)
int* vrna_idx_col_wise (unsigned int length)
int* get_indx (unsigned int length)
int* get_iindx (unsigned int length)
char* get_line (FILE* fp)
void print_tty_input_seq (void)
void print_tty_input_seq_str (const char* s)
void warn_user (const char message [])
void nrerror (const char message [])
void* space (unsigned size)

void* xrealloc (
    void* p,
    unsigned size
    )

void init_rand (void)
double urn (void)

int int_urn (
    int from,
    int to
    )

void filecopy (
    FILE* from,
    FILE* to
    )

char* time_stamp (void)

vrna_move_t* vrna_path (
    vrna_fold_compound_t* vc,
    short* pt,
    unsigned int steps,
    unsigned int options
    )

vrna_move_t* vrna_path_gradient (
    vrna_fold_compound_t* vc,
    short* pt,
    unsigned int options
    )

vrna_move_t* vrna_path_random (
    vrna_fold_compound_t* vc,
    short* pt,
    unsigned int steps,
    unsigned int options
    )

// macros

#define BONUS
#define DEF

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DEPRECATED( \
    func, \
    msg \
    )

#define DIST_INF
#define EMAX
#define ENCODE(c)
#define FILENAME_ID_LENGTH
#define FILENAME_MAX_LENGTH
#define FORBIDDEN
#define GASCONST
#define INF
#define INF
#define INLINE
#define INLINE
#define INLINE
#define INLINE
#define INLINE
#define K0
#define K0

#define MAX2( \
    A, \
    B \
    )

#define MAX3( \
    A, \
    B, \
    C \
    )

#define MAXALPHA
#define MAXALPHA
#define MAXDOS
#define MAXLOOP

#define MIN2( \
    A, \
    B \
    )

#define MIN3( \
    A, \
    B, \
    C \
    )

#define MINPSCORE
#define MISMATCH
#define NBASES
#define NBASES
#define NBPAIRS
#define NBPAIRS
#define NSM
#define NST

#define ON_SAME_STRAND( \
    I, \
    J, \
    C \
    )

#define PI
#define PIHALF
#define PRIVATE
#define PRIVATE
#define PUBLIC
#define PUBLIC
#define RNA_UP_MODE_1
#define RNA_UP_MODE_2
#define RNA_UP_MODE_3
#define STR(s)
#define STRUC
#define TURN
#define TwoDfold_solution
#define TwoDpfold_solution
#define UNIT
#define VRNA_ALN_DEFAULT
#define VRNA_ALN_DNA
#define VRNA_ALN_LOWERCASE
#define VRNA_ALN_RNA
#define VRNA_ALN_UPPERCASE
#define VRNA_ANY_LOOP
#define VRNA_BRACKETS_ALPHA
#define VRNA_BRACKETS_ANG
#define VRNA_BRACKETS_CLY
#define VRNA_BRACKETS_DEFAULT
#define VRNA_BRACKETS_RND
#define VRNA_BRACKETS_SQR
#define VRNA_CMD_PARSE_DEFAULTS
#define VRNA_CMD_PARSE_HC
#define VRNA_CMD_PARSE_SC
#define VRNA_CMD_PARSE_SD
#define VRNA_CMD_PARSE_SILENT
#define VRNA_CMD_PARSE_UD
#define VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS
#define VRNA_CONSTRAINT_CONTEXT_CLOSING_LOOPS
#define VRNA_CONSTRAINT_CONTEXT_ENCLOSED_LOOPS
#define VRNA_CONSTRAINT_CONTEXT_ENFORCE
#define VRNA_CONSTRAINT_CONTEXT_EXT_LOOP
#define VRNA_CONSTRAINT_CONTEXT_HP_LOOP
#define VRNA_CONSTRAINT_CONTEXT_INT_LOOP
#define VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC
#define VRNA_CONSTRAINT_CONTEXT_MB_LOOP
#define VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC
#define VRNA_CONSTRAINT_CONTEXT_NONE
#define VRNA_CONSTRAINT_CONTEXT_NO_REMOVE
#define VRNA_CONSTRAINT_DB
#define VRNA_CONSTRAINT_DB_ANG_BRACK
#define VRNA_CONSTRAINT_DB_CANONICAL_BP
#define VRNA_CONSTRAINT_DB_DEFAULT
#define VRNA_CONSTRAINT_DB_DOT
#define VRNA_CONSTRAINT_DB_ENFORCE_BP
#define VRNA_CONSTRAINT_DB_GQUAD
#define VRNA_CONSTRAINT_DB_INTERMOL
#define VRNA_CONSTRAINT_DB_INTRAMOL
#define VRNA_CONSTRAINT_DB_PIPE
#define VRNA_CONSTRAINT_DB_RND_BRACK
#define VRNA_CONSTRAINT_DB_WUSS
#define VRNA_CONSTRAINT_DB_X
#define VRNA_CONSTRAINT_FILE
#define VRNA_CONSTRAINT_MULTILINE
#define VRNA_CONSTRAINT_NO_HEADER
#define VRNA_CONSTRAINT_SOFT_MFE
#define VRNA_CONSTRAINT_SOFT_PF
#define VRNA_CONVERT_OUTPUT_ALL
#define VRNA_CONVERT_OUTPUT_BULGE
#define VRNA_CONVERT_OUTPUT_DANGLE3
#define VRNA_CONVERT_OUTPUT_DANGLE5
#define VRNA_CONVERT_OUTPUT_DUMP
#define VRNA_CONVERT_OUTPUT_HP
#define VRNA_CONVERT_OUTPUT_INT
#define VRNA_CONVERT_OUTPUT_INT_11
#define VRNA_CONVERT_OUTPUT_INT_21
#define VRNA_CONVERT_OUTPUT_INT_22
#define VRNA_CONVERT_OUTPUT_MISC
#define VRNA_CONVERT_OUTPUT_ML
#define VRNA_CONVERT_OUTPUT_MM_EXT
#define VRNA_CONVERT_OUTPUT_MM_HP
#define VRNA_CONVERT_OUTPUT_MM_INT
#define VRNA_CONVERT_OUTPUT_MM_INT_1N
#define VRNA_CONVERT_OUTPUT_MM_INT_23
#define VRNA_CONVERT_OUTPUT_MM_MULTI
#define VRNA_CONVERT_OUTPUT_NINIO
#define VRNA_CONVERT_OUTPUT_SPECIAL_HP
#define VRNA_CONVERT_OUTPUT_STACK
#define VRNA_CONVERT_OUTPUT_VANILLA
#define VRNA_DECOMP_EXT_EXT
#define VRNA_DECOMP_EXT_EXT_EXT
#define VRNA_DECOMP_EXT_EXT_L
#define VRNA_DECOMP_EXT_EXT_STEM
#define VRNA_DECOMP_EXT_EXT_STEM1
#define VRNA_DECOMP_EXT_L
#define VRNA_DECOMP_EXT_STEM
#define VRNA_DECOMP_EXT_STEM_EXT
#define VRNA_DECOMP_EXT_STEM_EXT1
#define VRNA_DECOMP_EXT_STEM_OUTSIDE
#define VRNA_DECOMP_EXT_UP
#define VRNA_DECOMP_ML_COAXIAL
#define VRNA_DECOMP_ML_COAXIAL_ENC
#define VRNA_DECOMP_ML_ML
#define VRNA_DECOMP_ML_ML_ML
#define VRNA_DECOMP_ML_ML_STEM
#define VRNA_DECOMP_ML_STEM
#define VRNA_DECOMP_ML_UP
#define VRNA_DECOMP_PAIR_HP
#define VRNA_DECOMP_PAIR_IL
#define VRNA_DECOMP_PAIR_ML
#define VRNA_DECOMP_PAIR_ML_EXT
#define VRNA_DECOMP_PAIR_ML_OUTSIDE
#define VRNA_EXT_LOOP
#define VRNA_FILE_FORMAT_MSA_APPEND
#define VRNA_FILE_FORMAT_MSA_CLUSTAL
#define VRNA_FILE_FORMAT_MSA_DEFAULT
#define VRNA_FILE_FORMAT_MSA_FASTA
#define VRNA_FILE_FORMAT_MSA_MAF
#define VRNA_FILE_FORMAT_MSA_MIS
#define VRNA_FILE_FORMAT_MSA_NOCHECK
#define VRNA_FILE_FORMAT_MSA_QUIET
#define VRNA_FILE_FORMAT_MSA_SILENT
#define VRNA_FILE_FORMAT_MSA_STOCKHOLM
#define VRNA_FILE_FORMAT_MSA_UNKNOWN
#define VRNA_GQUAD_MAX_BOX_SIZE
#define VRNA_GQUAD_MAX_LINKER_LENGTH
#define VRNA_GQUAD_MAX_STACK_SIZE
#define VRNA_GQUAD_MIN_BOX_SIZE
#define VRNA_GQUAD_MIN_LINKER_LENGTH
#define VRNA_GQUAD_MIN_STACK_SIZE
#define VRNA_GQUAD_MISMATCH_NUM_ALI
#define VRNA_GQUAD_MISMATCH_PENALTY
#define VRNA_HP_LOOP
#define VRNA_INPUT_BLANK_LINE
#define VRNA_INPUT_COMMENT
#define VRNA_INPUT_CONSTRAINT
#define VRNA_INPUT_ERROR
#define VRNA_INPUT_FASTA_HEADER
#define VRNA_INPUT_MISC
#define VRNA_INPUT_NOSKIP_BLANK_LINES
#define VRNA_INPUT_NOSKIP_COMMENTS
#define VRNA_INPUT_NO_REST
#define VRNA_INPUT_NO_SPAN
#define VRNA_INPUT_NO_TRUNCATION
#define VRNA_INPUT_QUIT
#define VRNA_INPUT_SEQUENCE
#define VRNA_INT_LOOP
#define VRNA_MB_LOOP
#define VRNA_MEASURE_SHANNON_ENTROPY
#define VRNA_MINIMIZER_CONJUGATE_FR
#define VRNA_MINIMIZER_CONJUGATE_PR
#define VRNA_MINIMIZER_DEFAULT
#define VRNA_MINIMIZER_STEEPEST_DESCENT
#define VRNA_MINIMIZER_VECTOR_BFGS
#define VRNA_MINIMIZER_VECTOR_BFGS2
#define VRNA_MODEL_DEFAULT_ALI_CV_FACT
#define VRNA_MODEL_DEFAULT_ALI_NC_FACT
#define VRNA_MODEL_DEFAULT_ALI_OLD_EN
#define VRNA_MODEL_DEFAULT_ALI_RIBO
#define VRNA_MODEL_DEFAULT_BACKTRACK
#define VRNA_MODEL_DEFAULT_BACKTRACK_TYPE
#define VRNA_MODEL_DEFAULT_BETA_SCALE
#define VRNA_MODEL_DEFAULT_CIRC
#define VRNA_MODEL_DEFAULT_COMPUTE_BPP
#define VRNA_MODEL_DEFAULT_DANGLES
#define VRNA_MODEL_DEFAULT_ENERGY_SET
#define VRNA_MODEL_DEFAULT_GQUAD
#define VRNA_MODEL_DEFAULT_LOG_ML
#define VRNA_MODEL_DEFAULT_MAX_BP_SPAN
#define VRNA_MODEL_DEFAULT_NO_GU
#define VRNA_MODEL_DEFAULT_NO_GU_CLOSURE
#define VRNA_MODEL_DEFAULT_NO_LP
#define VRNA_MODEL_DEFAULT_PF_SCALE
#define VRNA_MODEL_DEFAULT_SPECIAL_HP
#define VRNA_MODEL_DEFAULT_TEMPERATURE
#define VRNA_MODEL_DEFAULT_UNIQ_ML
#define VRNA_MODEL_DEFAULT_WINDOW_SIZE
#define VRNA_MOVESET_DEFAULT
#define VRNA_MOVESET_DELETION
#define VRNA_MOVESET_INSERTION
#define VRNA_MOVESET_NO_LP
#define VRNA_MOVESET_SHIFT
#define VRNA_OBJECTIVE_FUNCTION_ABSOLUTE
#define VRNA_OBJECTIVE_FUNCTION_QUADRATIC
#define VRNA_OPTION_DEFAULT
#define VRNA_OPTION_EVAL_ONLY
#define VRNA_OPTION_HYBRID
#define VRNA_OPTION_MFE
#define VRNA_OPTION_MULTILINE
#define VRNA_OPTION_PF
#define VRNA_OPTION_WINDOW
#define VRNA_PATH_DEFAULT
#define VRNA_PATH_NO_TRANSITION_OUTPUT
#define VRNA_PATH_RANDOM
#define VRNA_PATH_STEEPEST_DESCENT
#define VRNA_PLIST_TYPE_BASEPAIR
#define VRNA_PLIST_TYPE_GQUAD
#define VRNA_PLIST_TYPE_H_MOTIF
#define VRNA_PLIST_TYPE_I_MOTIF
#define VRNA_PLIST_TYPE_STACK
#define VRNA_PLIST_TYPE_UD_MOTIF
#define VRNA_PLOT_PROBABILITIES_ACC
#define VRNA_PLOT_PROBABILITIES_BP
#define VRNA_PLOT_PROBABILITIES_DEFAULT
#define VRNA_PLOT_PROBABILITIES_SC_BP
#define VRNA_PLOT_PROBABILITIES_SC_MOTIF
#define VRNA_PLOT_PROBABILITIES_SC_UP
#define VRNA_PLOT_PROBABILITIES_SD
#define VRNA_PLOT_PROBABILITIES_UD
#define VRNA_PLOT_PROBABILITIES_UD_LIN
#define VRNA_PLOT_TYPE_CIRCULAR
#define VRNA_PLOT_TYPE_NAVIEW
#define VRNA_PLOT_TYPE_SIMPLE
#define VRNA_PROBS_WINDOW_BPP
#define VRNA_PROBS_WINDOW_PF
#define VRNA_PROBS_WINDOW_STACKP
#define VRNA_PROBS_WINDOW_UP
#define VRNA_PROBS_WINDOW_UP_SPLIT
#define VRNA_SEQUENCE_DNA
#define VRNA_SEQUENCE_RNA
#define VRNA_STATUS_MFE_POST
#define VRNA_STATUS_MFE_PRE
#define VRNA_STATUS_PF_POST
#define VRNA_STATUS_PF_PRE
#define VRNA_UNSTRUCTURED_DOMAIN_ALL_LOOPS
#define VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP
#define VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP
#define VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP
#define VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP
#define VRNA_UNSTRUCTURED_DOMAIN_MOTIF
#define VRNA_VERBOSITY_DEFAULT
#define VRNA_VERBOSITY_QUIET
#define VRNA_VERSION
#define VRNA_VERSION_MAJOR
#define VRNA_VERSION_MINOR
#define VRNA_VERSION_PATCH
#define VRNA_WITH_BOUSTROPHEDON
#define VRNA_WITH_GSL
#define VRNA_WITH_JSON_SUPPORT
#define VRNA_WITH_LTO
#define VRNA_WITH_OPENMP
#define VRNA_WITH_SVM
#define XSTR(s)
#define model_detailsT

Detailed Documentation

Typedefs

typedef void () vrna_probs_window_callback (
    FLT_OR_DBL *pr,
    int pr_size,
    int i,
    int max,
    unsigned int type,
    void *data
    )
Sliding window probability computation callback.

Notes on Callback Functions This function will be called for each probability data set in the sliding window probability computation implementation of vrna_probs_window() . The argument type specifies the type of probability that is passed to this function.

Parameters:

pr An array of probabilities
pr_size The length of the probability array
i The i-position (5’) of the probabilities
max The (theoretical) maximum length of the probability array
data Auxiliary data
typedef struct _struct_en struct_en
Data structure for energy_of_move()
typedef struct vrna_sequence_s vrna_seq_t
Typename for nucleotide sequence representation data structure vrna_sequence_s .
typedef struct vrna_subopt_sol_s vrna_subopt_solution_t
Typename for the subopt solution list repesenting data structure vrna_subopt_sol_s .
typedef struct vrna_subopt_sol_s SOLUTION
Backward compatibility typedef for vrna_subopt_sol_s .
Deprecated Use vrna_subopt_solution_t instead!

Global Variables

int edit_backtrack
Produce an alignment of the two structures being compared by tracing the editing path giving the minimum distance.
set to 1 if you want backtracking
char* aligned_line [4]
Contains the two aligned structures after a call to one of the distance functions with edit_backtrack set to 1.
int cost_matrix
Specify the cost matrix to be used for distance calculations.
if 0, use the default cost matrix (upper matrix in example), otherwise use Shapiro’s costs (lower matrix).
int fold_constrained
Global switch to activate/deactivate folding with structure constraints.
int csv
generate comma seperated output
char* RibosumFile
warning this variable will vanish in the future ribosums will be compiled in instead
int james_rule
interior loops of size 2 get energy 0.8Kcal and no mismatches, default 1
int logML
use logarithmic multiloop energy function
int cut_point
Marks the position (starting from 1) of the first nucleotide of the second molecule within the concatenated sequence.
To evaluate the energy of a duplex structure (a structure formed by two strands), concatenate the to sequences and set it to the first base of the second strand in the concatenated sequence. The default value of -1 stands for single molecule folding. The cut_point variable is also used by vrna_file_PS_rnaplot() and PS_dot_plot() to mark the chain break in postscript plots.
bondT* base_pair
Contains a list of base pairs after a call to fold() .
base_pair[0].i contains the total number of pairs. Deprecated Do not use this variable anymore!
FLT_OR_DBL* pr
A pointer to the base pair probability matrix.
Deprecated Do not use this variable anymore!
int* iindx
index array to move through pr.
The probability for base i and j to form a pair is in pr[iindx[i]-j]. Deprecated Do not use this variable anymore!

Global Functions

TwoDpfold_vars* get_TwoDpfold_variables (
    const char* seq,
    const char* structure1,
    char* structure2,
    int circ
    )
Get a datastructure containing all necessary attributes and global folding switches.

This function prepares all necessary attributes and matrices etc which are needed for a call of TwoDpfold() . A snapshot of all current global model switches (dangles, temperature and so on) is done and stored in the returned datastructure. Additionally, all matrices that will hold the partition function values are prepared.

Deprecated Use the new API that relies on vrna_fold_compound_t and the corresponding functions vrna_fold_compound_TwoD() , vrna_pf_TwoD() , and vrna_fold_compound_free() instead!

Parameters:

seq the RNA sequence in uppercase format with letters from the alphabet {AUCG}
structure1 the first reference structure in dot-bracket notation
structure2 the second reference structure in dot-bracket notation
circ a switch indicating if the sequence is linear (0) or circular (1)

Returns:

the datastructure containing all necessary partition function attributes

void destroy_TwoDpfold_variables (TwoDpfold_vars* vars)
Free all memory occupied by a TwoDpfold_vars datastructure.

This function free’s all memory occupied by a datastructure obtained from from get_TwoDpfold_variabless() or get_TwoDpfold_variables_from_MFE()

Deprecated Use the new API that relies on vrna_fold_compound_t and the corresponding functions vrna_fold_compound_TwoD() , vrna_pf_TwoD() , and vrna_fold_compound_free() instead!

Parameters:

vars the datastructure to be free’d

See also:

get_TwoDpfold_variables() , get_TwoDpfold_variables_from_MFE()

vrna_sol_TwoD_pf_t* TwoDpfoldList (
    TwoDpfold_vars* vars,
    int maxDistance1,
    int maxDistance2
    )
Compute the partition function for all distance classes.

This function computes the partition functions for all distance classes according the two reference structures specified in the datastructure ‘vars’. Similar to TwoDfold() the arguments maxDistance1 and maxDistance2 specify the maximum distance to both reference structures. A value of ‘-1’ in either of them makes the appropriate distance restrictionless, i.e. all basepair distancies to the reference are taken into account during computation. In case there is a restriction, the returned solution contains an entry where the attribute k=l=-1 contains the partition function for all structures exceeding the restriction. A values of INF in the attribute ‘k’ of the returned list denotes the end of the list

Deprecated Use the new API that relies on vrna_fold_compound_t and the corresponding functions vrna_fold_compound_TwoD() , vrna_pf_TwoD() , and vrna_fold_compound_free() instead!

Parameters:

vars the datastructure containing all necessary folding attributes and matrices
maxDistance1 the maximum basepair distance to reference1 (may be -1)
maxDistance2 the maximum basepair distance to reference2 (may be -1)

Returns:

a list of partition funtions for the appropriate distance classes

char* TwoDpfold_pbacktrack (
    TwoDpfold_vars* vars,
    int d1,
    int d2
    )
Sample secondary structure representatives from a set of distance classes according to their Boltzmann probability.

If the argument ‘d1’ is set to ‘-1’, the structure will be backtracked in the distance class where all structures exceeding the maximum basepair distance to either of the references reside.

Deprecated Use the new API that relies on vrna_fold_compound_t and the corresponding functions vrna_fold_compound_TwoD() , vrna_pf_TwoD() , vrna_pbacktrack_TwoD() , and vrna_fold_compound_free() instead!

Parameters:

vars the datastructure containing all necessary folding attributes and matrices
d1 the distance to reference1 (may be -1)
d2 the distance to reference2

Returns:

A sampled secondary structure in dot-bracket notation

Pre-Condition

The argument ‘vars’ must contain precalculated partition function matrices, i.e. a call to TwoDpfold() preceding this function is mandatory!

See also:

TwoDpfold()

char* TwoDpfold_pbacktrack5 (
    TwoDpfold_vars* vars,
    int d1,
    int d2,
    unsigned int length
    )
Sample secondary structure representatives with a specified length from a set of distance classes according to their Boltzmann probability.

This function does essentially the same as TwoDpfold_pbacktrack() with the only difference that partial structures, i.e. structures beginning from the 5’ end with a specified length of the sequence, are backtracked

Deprecated Use the new API that relies on vrna_fold_compound_t and the corresponding functions vrna_fold_compound_TwoD() , vrna_pf_TwoD() , vrna_pbacktrack5_TwoD() , and vrna_fold_compound_free() instead!

Parameters:

vars the datastructure containing all necessary folding attributes and matrices
d1 the distance to reference1 (may be -1)
d2 the distance to reference2
length the length of the structure beginning from the 5’ end

Returns:

A sampled secondary structure in dot-bracket notation

Note

This function does not work (since it makes no sense) for circular RNA sequences!

Pre-Condition

The argument ‘vars’ must contain precalculated partition function matrices, i.e. a call to TwoDpfold() preceding this function is mandatory!

duplexT** aliLduplexfold (
    const char* s1 [],
    const char* s2 [],
    const int threshold,
    const int extension_cost,
    const int alignment_length,
    const int delta,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )
aliLduplexfold computes the duplexes between two alignments
duplexT** aliLduplexfold_XS (
    const char* s1 [],
    const char* s2 [],
    const int** access_s1,
    const int** access_s2,
    const int threshold,
    const int alignment_length,
    const int delta,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )
aliLduplexfold computes the duplexes between two alignments. It also takes the average accessibility into account
char* get_centroid_struct_pl (
    int length,
    double* dist,
    vrna_ep_t* pl
    )
Get the centroid structure of the ensemble.
Deprecated This function was renamed to vrna_centroid_from_plist()
char* get_centroid_struct_pr (
    int length,
    double* dist,
    FLT_OR_DBL* pr
    )
Get the centroid structure of the ensemble.
Deprecated This function was renamed to vrna_centroid_from_probs()
vrna_dimer_conc_t* get_concentrations (
    double FEAB,
    double FEAA,
    double FEBB,
    double FEA,
    double FEB,
    double* startconc
    )
Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers.

This function takes an array ‘startconc’ of input concentrations with alternating entries for the initial concentrations of molecules A and B (terminated by two zeroes), then computes the resulting equilibrium concentrations from the free energies for the dimers. Dimer free energies should be the dimer-only free energies, i.e. the FcAB entries from the vrna_dimer_pf_t struct.

Deprecated { Use vrna_pf_dimer_concentrations() instead!}

Parameters:

FEAB Free energy of AB dimer (FcAB entry)
FEAA Free energy of AA dimer (FcAB entry)
FEBB Free energy of BB dimer (FcAB entry)
FEA Free energy of monomer A
FEB Free energy of monomer B
startconc List of start concentrations [a0],[b0],[a1],[b1],…,[an][bn],[0],[0]

Returns:

vrna_dimer_conc_t array containing the equilibrium energies and start concentrations

void vrna_hc_add_f (
    vrna_fold_compound_t* vc,
    vrna_callback_hc_evaluate* f
    )
Add a function pointer pointer for the generic hard constraint feature.
void vrna_hc_add_data (
    vrna_fold_compound_t* vc,
    void* data,
    vrna_callback_free_auxdata* f
    )
Add an auxiliary data structure for the generic hard constraints callback function.

Parameters:

vc The fold compound the generic hard constraint function should be bound to
data A pointer to the data structure that holds required data for function ‘f’
free_data A pointer to a function that free’s the memory occupied by (Maybe NULL)

See also:

vrna_hc_add_f()

void print_tty_constraint (unsigned int option)
Print structure constraint characters to stdout. (constraint support is specified by option parameter)

Deprecated Use vrna_message_constraints() instead!

Parameters:

option Option switch that tells which constraint help will be printed
void print_tty_constraint_full (void)
Print structure constraint characters to stdout (full constraint support)
Deprecated Use vrna_message_constraint_options_all() instead!
void constrain_ptypes (
    const char* constraint,
    unsigned int length,
    char* ptype,
    int* BP,
    int min_loop_size,
    unsigned int idx_type
    )
Insert constraining pair types according to constraint structure string.

Deprecated Do not use this function anymore! Structure constraints are now handled through vrna_hc_t and related functions.

Parameters:

constraint The structure constraint string
length The actual length of the sequence (constraint may be shorter)
ptype A pointer to the basepair type array
BP (not used anymore)
min_loop_size The minimal loop size (usually TURN )
idx_type Define the access type for base pair type array (0 = indx, 1 = iindx)
int vrna_sc_SHAPE_parse_method (
    const char* method_string,
    char* method,
    float* param_1,
    float* param_2
    )
Parse a character string and extract the encoded SHAPE reactivity conversion method and possibly the parameters for conversion into pseudo free energies.

Parameters:

method_string The string that contains the encoded SHAPE reactivity conversion method
method A pointer to the memory location where the method character will be stored
param_1 A pointer to the memory location where the first parameter of the corresponding method will be stored
param_2 A pointer to the memory location where the second parameter of the corresponding method will be stored

Returns:

1 on successful extraction of the method, 0 on errors

void init_pf_foldLP (int length)
Dunno if this function was ever used by external programs linking to RNAlib, but it was declared PUBLIC before. Anyway, never use this function as it will be removed soon and does nothing at all
int vrna_pf_float_precision (void)
Find out whether partition function computations are using single precision floating points.

Returns:

1 if single precision is used, 0 otherwise

See also:

FLT_OR_DBL

double get_subseq_F (
    int i,
    int j
    )
Get the free energy of a subsequence from the q[] array.
vrna_ep_t* stackProb (double cutoff)
Get the probability of stacks.
Deprecated Use vrna_stack_prob() instead!
void init_pf_fold (int length)
Allocate space for pf_fold()
Deprecated This function is obsolete and will be removed soon!
char* centroid (
    int length,
    double* dist
    )

Deprecated This function is deprecated and should not be used anymore as it is not threadsafe!

char* get_centroid_struct_gquad_pr (
    int length,
    double* dist
    )

Deprecated This function is deprecated and should not be used anymore as it is not threadsafe!

double mean_bp_dist (int length)

get the mean pair distance of ensemble

Deprecated This function is not threadsafe and should not be used anymore. Use mean_bp_distance() instead!

double expLoopEnergy (
    int u1,
    int u2,
    int type,
    int type2,
    short si1,
    short sj1,
    short sp1,
    short sq1
    )
Deprecated Use exp_E_IntLoop() from loop_energies.h instead
double expHairpinEnergy (
    int u,
    int type,
    short si1,
    short sj1,
    const char* string
    )
Deprecated Use exp_E_Hairpin() from loop_energies.h instead
vrna_dimer_pf_t co_pf_fold (
    char* sequence,
    char* structure
    )
Calculate partition function and base pair probabilities.

This is the cofold partition function folding. The second molecule starts at the cut_point nucleotide.

Deprecated {Use vrna_pf_dimer() instead!}

Parameters:

sequence Concatenated RNA sequences
structure Will hold the structure or constraints

Returns:

vrna_dimer_pf_t structure containing a set of energies needed for concentration computations.

Note

OpenMP: Since this function relies on the global parameters do_backtrack , dangles , temperature and pf_scale it is not threadsafe according to concurrent changes in these variables! Use co_pf_fold_par() instead to circumvent this issue.

vrna_dimer_pf_t co_pf_fold_par (
    char* sequence,
    char* structure,
    vrna_exp_param_t* parameters,
    int calculate_bppm,
    int is_constrained
    )
Calculate partition function and base pair probabilities.

This is the cofold partition function folding. The second molecule starts at the cut_point nucleotide.

Deprecated Use vrna_pf_dimer() instead!

Parameters:

sequence Concatenated RNA sequences
structure Pointer to the structure constraint
parameters Data structure containing the precalculated Boltzmann factors
calculate_bppm Switch to turn Base pair probability calculations on/off (0==off)
is_constrained Switch to indicate that a structure contraint is passed via the structure argument (0==off)

Returns:

vrna_dimer_pf_t structure containing a set of energies needed for concentration computations.

vrna_ep_t* get_plist (
    vrna_ep_t* pl,
    int length,
    double cut_off
    )
DO NOT USE THIS FUNCTION ANYMORE Deprecated { This function is deprecated and will be removed soon!} use assign_plist_from_pr() instead!
void compute_probabilities (
    double FAB,
    double FEA,
    double FEB,
    vrna_ep_t* prAB,
    vrna_ep_t* prA,
    vrna_ep_t* prB,
    int Alength
    )
Compute Boltzmann probabilities of dimerization without homodimers.

Given the pair probabilities and free energies (in the null model) for a dimer AB and the two constituent monomers A and B, compute the conditional pair probabilities given that a dimer AB actually forms. Null model pair probabilities are given as a list as produced by assign_plist_from_pr() , the dimer probabilities ‘prAB’ are modified in place.

Deprecated { Use vrna_pf_dimer_probs() instead!}

Parameters:

FAB free energy of dimer AB
FEA free energy of monomer A
FEB free energy of monomer B
prAB pair probabilities for dimer
prA pair probabilities monomer
prB pair probabilities monomer
Alength Length of molecule A
void init_co_pf_fold (int length)
DO NOT USE THIS FUNCTION ANYMORE Deprecated { This function is deprecated and will be removed soon!}
FLT_OR_DBL* export_co_bppm (void)
Get a pointer to the base pair probability array.

Accessing the base pair probabilities for a pair (i,j) is achieved by

FLT_OR_DBL *pr = export_bppm(); pr_ij = pr[iindx[i]-j];

Deprecated This function is deprecated and will be removed soon! The base pair probability array is available through the vrna_fold_compound_t data structure, and its associated vrna_mx_pf_t member.

Returns:

A pointer to the base pair probability array

void free_co_pf_arrays (void)
Free the memory occupied by co_pf_fold()
Deprecated This function will be removed for the new API soon! See vrna_pf_dimer() , vrna_fold_compound() , and vrna_fold_compound_free() for an alternative
void update_co_pf_params (int length)
Recalculate energy parameters.

This function recalculates all energy parameters given the current model settings.

Deprecated Use vrna_exp_params_subst() instead!

Parameters:

length Length of the current RNA sequence
void update_co_pf_params_par (
    int length,
    vrna_exp_param_t* parameters
    )
Recalculate energy parameters.

This function recalculates all energy parameters given the current model settings. It’s second argument can either be NULL or a data structure containing the precomputed Boltzmann factors. In the first scenario, the necessary data structure will be created automatically according to the current global model settings, i.e. this mode might not be threadsafe. However, if the provided data structure is not NULL, threadsafety for the model parameters dangles , pf_scale and temperature is regained, since their values are taken from this data structure during subsequent calculations.

Deprecated Use vrna_exp_params_subst() instead!

Parameters:

length Length of the current RNA sequence
parameters data structure containing the precomputed Boltzmann factors
duplexT** Lduplexfold (
    const char* s1,
    const char* s2,
    const int threshold,
    const int extension_cost,
    const int alignment_length,
    const int delta,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )
Lduplexfold Computes duplexes between two single sequences
duplexT** Lduplexfold_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    const int** access_s2,
    const int threshold,
    const int delta,
    const int alignment_length,
    const int fast,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )
Lduplexfold_XS Computes duplexes between two single sequences with accessibility
duplexT** Lduplexfold_C (
    const char* s1,
    const char* s2,
    const int threshold,
    const int extension_cost,
    const int alignment_length,
    const int delta,
    const int fast,
    const char* structure,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )
Lduplexfold_C Computes duplexes between two single sequences and takes constraint into account
duplexT** Lduplexfold_CXS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    const int** access_s2,
    const int threshold,
    const int delta,
    const int alignment_length,
    const int fast,
    const char* structure,
    const int il_a,
    const int il_b,
    const int b_a,
    const int b_b
    )
Lduplexfold_CXS Computes duplexes between two single sequences and takes constraint as well as accessibility into account
int PS_rna_plot_snoop_a (
    const char* string,
    const char* structure,
    const char* ssfile,
    int* relative_access,
    const char* seqs []
    )
plotting_utils
int vrna_file_PS_rnaplot (
    const char* seq,
    const char* structure,
    const char* file,
    vrna_md_t* md_p
    )
Produce a secondary structure graph in PostScript and write it to ‘filename’.

Note that this function has changed from previous versions and now expects the structure to be plotted in dot-bracket notation as an argument. It does not make use of the global base_pair array anymore.

Parameters:

seq The RNA sequence
structure The secondary structure in dot-bracket notation
file The filename of the postscript output
md_p Model parameters used to generate a commandline option string in the output (Maybe NULL)

Returns:

1 on success, 0 otherwise

int vrna_file_PS_rnaplot_a (
    const char* seq,
    const char* structure,
    const char* file,
    const char* pre,
    const char* post,
    vrna_md_t* md_p
    )
Produce a secondary structure graph in PostScript including additional annotation macros and write it to ‘filename’.

Same as vrna_file_PS_rnaplot() but adds extra PostScript macros for various annotations (see generated PS code). The ‘pre’ and ‘post’ variables contain PostScript code that is verbatim copied in the resulting PS file just before and after the structure plot. If both arguments (‘pre’ and ‘post’) are NULL, no additional macros will be printed into the PostScript.

Parameters:

seq The RNA sequence
structure The secondary structure in dot-bracket notation
file The filename of the postscript output
pre PostScript code to appear before the secondary structure plot
post PostScript code to appear after the secondary structure plot
md_p Model parameters used to generate a commandline option string in the output (Maybe NULL)

Returns:

1 on success, 0 otherwise

int gmlRNA (
    char* string,
    char* structure,
    char* ssfile,
    char option
    )
Produce a secondary structure graph in Graph Meta Language (gml) and write it to a file.

If ‘option’ is an uppercase letter the RNA sequence is used to label nodes, if ‘option’ equals ‘X’ or ‘x’ the resulting file will coordinates for an initial layout of the graph.

Parameters:

string The RNA sequence
structure The secondary structure in dot-bracket notation
ssfile The filename of the gml output
option The option flag

Returns:

1 on success, 0 otherwise

int ssv_rna_plot (
    char* string,
    char* structure,
    char* ssfile
    )
Produce a secondary structure graph in SStructView format.

Write coord file for SStructView

Parameters:

string The RNA sequence
structure The secondary structure in dot-bracket notation
ssfile The filename of the ssv output

Returns:

1 on success, 0 otherwise

int svg_rna_plot (
    char* string,
    char* structure,
    char* ssfile
    )
Produce a secondary structure plot in SVG format and write it to a file.

Parameters:

string The RNA sequence
structure The secondary structure in dot-bracket notation
ssfile The filename of the svg output

Returns:

1 on success, 0 otherwise

int xrna_plot (
    char* string,
    char* structure,
    char* ssfile
    )
Produce a secondary structure plot for further editing in XRNA.

Parameters:

string The RNA sequence
structure The secondary structure in dot-bracket notation
ssfile The filename of the xrna output

Returns:

1 on success, 0 otherwise

int PS_rna_plot (
    char* string,
    char* structure,
    char* file
    )
Produce a secondary structure graph in PostScript and write it to ‘filename’.
Deprecated Use vrna_file_PS_rnaplot() instead!
int PS_rna_plot_a (
    char* string,
    char* structure,
    char* file,
    char* pre,
    char* post
    )
Produce a secondary structure graph in PostScript including additional annotation macros and write it to ‘filename’.
Deprecated Use vrna_file_PS_rnaplot_a() instead!
int PS_rna_plot_a_gquad (
    char* string,
    char* structure,
    char* ssfile,
    char* pre,
    char* post
    )
Produce a secondary structure graph in PostScript including additional annotation macros and write it to ‘filename’ (detect and draw g-quadruplexes)
Deprecated Use vrna_file_PS_rnaplot_a() instead!
float profile_edit_distance (
    const float* T1,
    const float* T2
    )

Align the 2 probability profiles T1, T2

.

This is like a Needleman-Wunsch alignment, we should really use affine gap-costs ala Gotoh
float* Make_bp_profile_bppm (
    FLT_OR_DBL* bppm,
    int length
    )
condense pair probability matrix into a vector containing probabilities for unpaired, upstream paired and downstream paired.

This resulting probability profile is used as input for profile_edit_distance

Parameters:

bppm A pointer to the base pair probability matrix
length The length of the sequence

Returns:

The bp profile

void print_bppm (const float* T)
print string representation of probability profile
void free_profile (float* T)
free space allocated in Make_bp_profile
Backward compatibility only. You can just use plain free()
float* Make_bp_profile (int length)

Deprecated This function is deprecated and will be removed soon! See Make_bp_profile_bppm() for a replacement

Note

This function is NOT threadsafe

int snofold (
    const char* sequence,
    char* structure,
    const int max_assym,
    const int threshold,
    const int min_s2,
    const int max_s2,
    const int half_stem,
    const int max_half_stem
    )
snofold is the stem folding array for RNAsnoop
void snofree_arrays (const int length)
Free arrays and structure related to snofold
snoopT snoopfold (
    const char* s1,
    const char* s2,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshD,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int fullStemEnergy
    )
computes snoRNA-RNA interactions in RNAduplex manner
snoopT* snoop_subopt (
    const char* s1,
    const char* s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int fullStemEnergy
    )
computes snoRNA-RNA suboptimal interactions in RNAduplex manner
void Lsnoop_subopt (
    const char* s1,
    const char* s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )
computes snoRNA-RNA suboptimal interactions in a RNAplex manner
void Lsnoop_subopt_list (
    const char* s1,
    const char* s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )
computes snoRNA-RNA suboptimal interactions in a RNAplex manner. The stem energy is saved into a list of struct, leading to a runtime improvement of 20%
void Lsnoop_subopt_list_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )
computes snoRNA-RNA suboptimal interactions in a RNAplex manner. The stem energy is saved into a list of struct, leading to a runtime improvement of 20%. It considers accessibility
void snoop_subopt_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length,
    const char* name,
    const int fullStemEnergy
    )
computes snoRNA-RNA suboptimal interactions in a RNAduplex manner, and considers accessibility
snoopT* alisnoop_subopt (
    const char** s1,
    const char** s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2
    )
aliduplex-like alignment version of snoop_subopt
snoopT* aliLsnoop_subopt_list (
    const char** s1,
    const char** s2,
    int delta,
    int w,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshTE,
    const int threshSE,
    const int threshD,
    const int distance,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int alignment_length
    )
RNAplex-like Alignment version of snoop_subopt
snoopT alisnoopfold (
    const char** s1,
    const char** s2,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshD,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2
    )
RNAaliduplex-like version of snoopfold
snoopT snoopfold_XS (
    const char* s1,
    const char* s2,
    const int** access_s1,
    const int pos,
    const int max_pos_j,
    const int penalty,
    const int threshloop,
    const int threshLE,
    const int threshRE,
    const int threshDE,
    const int threshD,
    const int half_stem,
    const int max_half_stem,
    const int min_s2,
    const int max_s2,
    const int min_s1,
    const int max_s1,
    const int min_d1,
    const int min_d2,
    const int fullStemEnergy
    )
RNAduplex-like version of snoopfold with accessibility information
void str_uppercase (char* sequence)
Convert an input sequence to uppercase.
Deprecated Use vrna_seq_toupper() instead!
void str_DNA2RNA (char* sequence)
Convert a DNA input sequence to RNA alphabet.
Deprecated Use vrna_seq_toRNA() instead!
char* random_string (
    int l,
    const char symbols []
    )
Create a random string using characters from a specified symbol set.
Deprecated Use vrna_random_string() instead!
int hamming (
    const char* s1,
    const char* s2
    )
Calculate hamming distance between two sequences.
Deprecated Use vrna_hamming_distance() instead!
int hamming_bound (
    const char* s1,
    const char* s2,
    int n
    )
Calculate hamming distance between two sequences up to a specified length.
Deprecated Use vrna_hamming_distance_bound() instead!
swString* Make_swString (char* string)
Convert a structure into a format suitable for string_edit_distance() .

Parameters:

string  

Returns:

float string_edit_distance (
    swString* T1,
    swString* T2
    )
Calculate the string edit distance of T1 and T2.

Parameters:

T1  
T2  

Returns:

Tree* make_tree (char* struc)
Constructs a Tree ( essentially the postorder list ) of the structure ‘struc’, for use in tree_edit_distance() .

Parameters:

struc may be any rooted structure representation.

Returns:

float tree_edit_distance (
    Tree* T1,
    Tree* T2
    )
Calculates the edit distance of the two trees.

Parameters:

T1  
T2  

Returns:

void print_tree (Tree* t)
Print a tree (mainly for debugging)
void free_tree (Tree* t)
Free the memory allocated for Tree t.

Parameters:

t  
int* vrna_ud_get_motif_size_at (
    vrna_fold_compound_t* vc,
    int i,
    unsigned int loop_type
    )
Get a list of unique motif sizes that start at a certain position within the sequence.
void vrna_ud_set_prob_cb (
    vrna_fold_compound_t* vc,
    vrna_callback_ud_probs_add* setter,
    vrna_callback_ud_probs_get* getter
    )
SWIG Wrapper Notes This function is attached as method ud_set_prob_cb() to objects of type fold_compound
char* get_line (FILE* fp)
Read a line of arbitrary length from a stream.

Returns a pointer to the resulting string. The necessary memory is allocated and should be released using free() when the string is no longer needed.

Deprecated Use vrna_read_line() as a substitute!

Parameters:

fp A file pointer to the stream where the function should read from

Returns:

A pointer to the resulting string

void print_tty_input_seq (void)
Print a line to stdout that asks for an input sequence.
There will also be a ruler (scale line) printed that helps orientation of the sequence positions Deprecated Use vrna_message_input_seq_simple() instead!
void print_tty_input_seq_str (const char* s)
Print a line with a user defined string and a ruler to stdout.

(usually this is used to ask for user input) There will also be a ruler (scale line) printed that helps orientation of the sequence positions

Deprecated Use vrna_message_input_seq() instead!

void warn_user (const char message [])
Print a warning message.

Print a warning message to stderr

Deprecated Use vrna_message_warning() instead!

void nrerror (const char message [])
Die with an error message.
Deprecated Use vrna_message_error() instead!
void* space (unsigned size)
Allocate space safely.
Deprecated Use vrna_alloc() instead!
void* xrealloc (
    void* p,
    unsigned size
    )
Reallocate space safely.
Deprecated Use vrna_realloc() instead!
void init_rand (void)
Make random number seeds.
Deprecated Use vrna_init_rand() instead!
double urn (void)
get a random number from [0..1]
Deprecated Use vrna_urn() instead!
int int_urn (
    int from,
    int to
    )
Generates a pseudo random integer in a specified range.
Deprecated Use vrna_int_urn() instead!
void filecopy (
    FILE* from,
    FILE* to
    )
Inefficient cp
Deprecated Use vrna_file_copy() instead!
char* time_stamp (void)
Get a timestamp.
Deprecated Use vrna_time_stamp() instead!

Macros

#define BONUS
bonus contribution
#define FORBIDDEN
forbidden
#define GASCONST
The gas constant
#define INF
Infinity as used in minimization routines
#define K0
0 deg Celsius in Kelvin
#define MAXDOS
Maximum density of states discretization for subopt.
#define MAXLOOP
The maximum loop length
#define NBPAIRS
The number of distinguishable base pairs
#define TURN
The minimum loop length
#define VRNA_CONSTRAINT_CONTEXT_CLOSING_LOOPS
Constraint context flag indicating base pairs that close any loop.
#define VRNA_CONSTRAINT_CONTEXT_ENCLOSED_LOOPS
Constraint context flag indicating base pairs enclosed by any loop.
#define VRNA_CONSTRAINT_CONTEXT_ENFORCE
Hard constraint flag to indicate enforcement of constraints.
#define VRNA_CONSTRAINT_CONTEXT_NONE
Constraint context flag that forbids any loop.
#define VRNA_CONSTRAINT_CONTEXT_NO_REMOVE
Hard constraint flag to indicate not to remove base pairs that conflict with a given constraint.
#define VRNA_CONSTRAINT_DB_ANG_BRACK
angle brackets ‘<’, ‘>’ switch for structure constraint (paired downstream/upstream)
#define VRNA_CONSTRAINT_NO_HEADER
do not print the header information line
Deprecated This mode is not supported anymore!