constraints_soft.h
Go to the documentation of this file.
#ifndef VIENNA_RNA_PACKAGE_CONSTRAINTS_SOFT_H
#define VIENNA_RNA_PACKAGE_CONSTRAINTS_SOFT_H
#include <ViennaRNA/data_structures.h>
typedef struct vrna_sc_s vrna_sc_t;
typedef int (vrna_callback_sc_energy)(int i, int j, int k, int l, char d, void *data);
typedef FLT_OR_DBL (vrna_callback_sc_exp_energy)(int i, int j, int k, int l, char d, void *data);
typedef vrna_basepair_t *(vrna_callback_sc_backtrack)(int i, int j, int k, int l, char d, void *data);
struct vrna_sc_s {
int **energy_up;
int *energy_bp;
FLT_OR_DBL **exp_energy_up;
FLT_OR_DBL *exp_energy_bp;
int *energy_stack;
FLT_OR_DBL *exp_energy_stack;
/* generic soft contraints below */
vrna_callback_sc_energy *f;
vrna_callback_sc_backtrack *bt;
vrna_callback_sc_exp_energy *exp_f;
void *data;
vrna_callback_free_auxdata *free_data;
};
void vrna_sc_init(vrna_fold_compound_t *vc);
void vrna_sc_add_bp(vrna_fold_compound_t *vc,
const FLT_OR_DBL **constraints,
unsigned int options);
void vrna_sc_add_up(vrna_fold_compound_t *vc,
const FLT_OR_DBL *constraints,
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);
#endif
vrna_callback_sc_energy
int( vrna_callback_sc_energy)(int i, int j, int k, int l, char d, void *data)
Callback to retrieve pseudo energy contribution for soft constraint feature.
Definition: constraints_soft.h:54
vrna_sc_free
void vrna_sc_free(vrna_sc_t *sc)
Free memory occupied by a vrna_sc_t data structure.
vrna_sc_add_up
void vrna_sc_add_up(vrna_fold_compound_t *vc, const FLT_OR_DBL *constraints, unsigned int options)
Add soft constraints for unpaired nucleotides.
vrna_sc_add_bp
void vrna_sc_add_bp(vrna_fold_compound_t *vc, const FLT_OR_DBL **constraints, unsigned int options)
Add soft constraints for paired nucleotides.
FLT_OR_DBL
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: data_structures.h:39
vrna_fc_s
The most basic data structure required by many functions throughout the RNAlib.
Definition: data_structures.h:390
vrna_sc_s::energy_stack
int * energy_stack
Pseudo Energy contribution per base pair involved in a stack.
Definition: constraints_soft.h:117
vrna_sc_s::bt
vrna_callback_sc_backtrack * bt
A function pointer used to obtain backtraced base pairs in loop regions that were altered by soft con...
Definition: constraints_soft.h:126
vrna_sc_s::f
vrna_callback_sc_energy * f
A function pointer used for pseudo energy contribution in MFE calculations.
Definition: constraints_soft.h:121
vrna_sc_add_exp_f
void vrna_sc_add_exp_f(vrna_fold_compound_t *vc, vrna_callback_sc_exp_energy *exp_f)
Bind a function pointer for generic soft constraint feature (PF version)
data_structures.h
vrna_sc_s::exp_energy_bp
FLT_OR_DBL * exp_energy_bp
Boltzmann Factors of the energy contribution for base pairs.
Definition: constraints_soft.h:115
vrna_basepair_s
Base pair data structure used in subopt.c.
Definition: data_structures.h:156
vrna_sc_s::exp_energy_up
FLT_OR_DBL ** exp_energy_up
Boltzmann Factors of the energy contributions for unpaired sequence stretches.
Definition: constraints_soft.h:114
vrna_sc_s
The soft constraints data structure.
Definition: constraints_soft.h:111
vrna_callback_sc_exp_energy
FLT_OR_DBL( vrna_callback_sc_exp_energy)(int i, int j, int k, int l, char d, void *data)
Callback to retrieve pseudo energy contribution as Boltzmann Factors for soft constraint feature...
Definition: constraints_soft.h:82
vrna_callback_free_auxdata
void( vrna_callback_free_auxdata)(void *data)
Callback to free memory allocated for auxiliary user-provided data.
Definition: data_structures.h:51
vrna_sc_s::exp_f
vrna_callback_sc_exp_energy * exp_f
A function pointer used for pseudo energy contribution boltzmann factors in PF calculations.
Definition: constraints_soft.h:132
vrna_sc_s::energy_up
int ** energy_up
Energy contribution for stretches of unpaired nucleotides.
Definition: constraints_soft.h:112
vrna_sc_s::exp_energy_stack
FLT_OR_DBL * exp_energy_stack
Boltzmann weighted pseudo energy contribution per nucleotide involved in a stack. ...
Definition: constraints_soft.h:118
vrna_callback_sc_backtrack
vrna_basepair_t *( vrna_callback_sc_backtrack)(int i, int j, int k, int l, char d, void *data)
Callback to retrieve auxiliary base pairs for soft constraint feature.
Definition: constraints_soft.h:104
vrna_sc_add_data
void vrna_sc_add_data(vrna_fold_compound_t *vc, void *data, vrna_callback_free_auxdata *free_data)
Add an auxiliary data structure for the generic soft constraints callback function.
vrna_sc_init
void vrna_sc_init(vrna_fold_compound_t *vc)
Initialize an empty soft constraints data structure within a vrna_fold_compound_t.
vrna_sc_s::energy_bp
int * energy_bp
Energy contribution for base pairs.
Definition: constraints_soft.h:113
vrna_sc_add_bt
void vrna_sc_add_bt(vrna_fold_compound_t *vc, vrna_callback_sc_backtrack *f)
Bind a backtracking function pointer for generic soft constraint feature.
vrna_sc_remove
void vrna_sc_remove(vrna_fold_compound_t *vc)
Remove soft constraints from vrna_fold_compound_t.
vrna_sc_add_f
void vrna_sc_add_f(vrna_fold_compound_t *vc, vrna_callback_sc_energy *f)
Bind a function pointer for generic soft constraint feature (MFE version)
vrna_sc_s::data
void * data
A pointer to the data object provided for for pseudo energy contribution functions of the generic sof...
Definition: constraints_soft.h:138