RNAlib-2.4.16
soft.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_CONSTRAINTS_SOFT_H
2 #define VIENNA_RNA_PACKAGE_CONSTRAINTS_SOFT_H
3 
7 
30 typedef struct vrna_sc_s vrna_sc_t;
31 
64 typedef int (vrna_callback_sc_energy)(int i,
65  int j,
66  int k,
67  int l,
68  unsigned char d,
69  void *data);
70 
104  int j,
105  int k,
106  int l,
107  unsigned char d,
108  void *data);
109 
137  int j,
138  int k,
139  int l,
140  unsigned char d,
141  void *data);
142 
143 
147 typedef enum {
154 
155 
159 typedef struct {
160  unsigned int interval_start;
161  unsigned int interval_end;
162  int e;
164 
165 
171 struct vrna_sc_s {
172  vrna_sc_type_e type;
173  unsigned int n;
174 
175  unsigned char state;
176 
177  int **energy_up;
180  int *up_storage;
183 #ifndef VRNA_DISABLE_C11_FEATURES
184  /* C11 support for unnamed unions/structs */
185  union {
186  struct {
187 #endif
188  int *energy_bp;
190 #ifndef VRNA_DISABLE_C11_FEATURES
191  /* C11 support for unnamed unions/structs */
192  };
193  struct {
194 #endif
197 #ifndef VRNA_DISABLE_C11_FEATURES
198  /* C11 support for unnamed unions/structs */
199  };
200  };
201 #endif
202 
206  /* generic soft contraints below */
224  void *data;
228  vrna_callback_free_auxdata *free_data;
229 };
230 
248 
249 
250 void
251 vrna_sc_prepare(vrna_fold_compound_t *vc,
252  unsigned int options);
253 
254 
255 void
256 vrna_sc_update(vrna_fold_compound_t *vc,
257  unsigned int i,
258  unsigned int options);
259 
260 
276  const FLT_OR_DBL **constraints,
277  unsigned int options);
278 
279 
294  int i,
295  int j,
296  FLT_OR_DBL energy,
297  unsigned int options);
298 
299 
315  const FLT_OR_DBL *constraints,
316  unsigned int options);
317 
318 
332  int i,
333  FLT_OR_DBL energy,
334  unsigned int options);
335 
336 
337 void vrna_sc_set_stack(vrna_fold_compound_t *vc,
338  const FLT_OR_DBL *constraints,
339  unsigned int options);
340 
341 
342 void vrna_sc_add_stack(vrna_fold_compound_t *vc,
343  int i,
344  FLT_OR_DBL energy,
345  unsigned int options);
346 
347 
358 
359 
368 
369 
382  void *data,
383  vrna_callback_free_auxdata *free_data);
384 
385 
403 
404 
424 
425 
444 
445 
446 #endif
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)
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_add_bp
void vrna_sc_add_bp(vrna_fold_compound_t *vc, int i, int j, FLT_OR_DBL energy, unsigned int options)
Add soft constraints for paired nucleotides.
vrna_sc_s::exp_energy_up
FLT_OR_DBL ** exp_energy_up
Boltzmann Factors of the energy contributions for unpaired sequence stretches.
Definition: soft.h:178
vrna_callback_sc_backtrack
vrna_basepair_t *() vrna_callback_sc_backtrack(int i, int j, int k, int l, unsigned char d, void *data)
Callback to retrieve auxiliary base pairs for soft constraint feature.
Definition: soft.h:136
vrna_sc_s::energy_bp
int * energy_bp
Energy contribution for base pairs.
Definition: soft.h:188
vrna_sc_add_up
void vrna_sc_add_up(vrna_fold_compound_t *vc, int i, FLT_OR_DBL energy, unsigned int options)
Add soft constraints for unpaired nucleotides.
vrna_basepair_s
Base pair data structure used in subopt.c.
Definition: basic.h:104
vrna_sc_free
void vrna_sc_free(vrna_sc_t *sc)
Free memory occupied by a vrna_sc_t data structure.
basic.h
Functions and data structures for constraining secondary structure predictions and evaluation.
vrna_sc_s::exp_energy_bp_local
FLT_OR_DBL ** exp_energy_bp_local
Boltzmann Factors of the energy contribution for base pairs (sliding window approach)
Definition: soft.h:196
vrna_callback_sc_exp_energy
FLT_OR_DBL() vrna_callback_sc_exp_energy(int i, int j, int k, int l, unsigned char d, void *data)
Callback to retrieve pseudo energy contribution as Boltzmann Factors for soft constraint feature.
Definition: soft.h:103
vrna_sc_s
The soft constraints data structure.
Definition: soft.h:171
VRNA_SC_DEFAULT
@ VRNA_SC_DEFAULT
Default Soft Constraints.
Definition: soft.h:148
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: soft.h:218
vrna_sc_set_bp
void vrna_sc_set_bp(vrna_fold_compound_t *vc, const FLT_OR_DBL **constraints, unsigned int options)
Set soft constraints for paired nucleotides.
vrna_callback_sc_energy
int() vrna_callback_sc_energy(int i, int j, int k, int l, unsigned char d, void *data)
Callback to retrieve pseudo energy contribution for soft constraint feature.
Definition: soft.h:64
FLT_OR_DBL
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: basic.h:43
vrna_sc_set_up
void vrna_sc_set_up(vrna_fold_compound_t *vc, const FLT_OR_DBL *constraints, unsigned int options)
Set soft constraints for unpaired nucleotides.
vrna_sc_s::up_storage
int * up_storage
Storage container for energy contributions per unpaired nucleotide.
Definition: soft.h:180
vrna_sc_bp_storage_t
A base pair constraint.
Definition: soft.h:159
basic.h
Various data structures and pre-processor macros.
vrna_sc_s::data
void * data
A pointer to the data object provided for for pseudo energy contribution functions of the generic sof...
Definition: soft.h:224
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_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::exp_energy_stack
FLT_OR_DBL * exp_energy_stack
Boltzmann weighted pseudo energy contribution per nucleotide involved in a stack.
Definition: soft.h:204
vrna_sc_remove
void vrna_sc_remove(vrna_fold_compound_t *vc)
Remove soft constraints from vrna_fold_compound_t.
vrna_fc_s
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:132
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_s::exp_energy_bp
FLT_OR_DBL * exp_energy_bp
Boltzmann Factors of the energy contribution for base pairs.
Definition: soft.h:189
VRNA_SC_WINDOW
@ VRNA_SC_WINDOW
Soft Constraints suitable for local structure prediction using window approach.
Definition: soft.h:149
vrna_sc_s::bp_storage
vrna_sc_bp_storage_t ** bp_storage
Storage container for energy contributions per base pair.
Definition: soft.h:181
vrna_sc_s::energy_bp_local
int ** energy_bp_local
Energy contribution for base pairs (sliding window approach)
Definition: soft.h:195
vrna_sc_s::energy_stack
int * energy_stack
Pseudo Energy contribution per base pair involved in a stack.
Definition: soft.h:203
vrna_sc_s::f
vrna_callback_sc_energy * f
A function pointer used for pseudo energy contribution in MFE calculations.
Definition: soft.h:207
vrna_callback_free_auxdata
void() vrna_callback_free_auxdata(void *data)
Callback to free memory allocated for auxiliary user-provided data.
Definition: fold_compound.h:46
fold_compound.h
The Basic Fold Compound API.
vrna_sc_s::energy_up
int ** energy_up
Energy contribution for stretches of unpaired nucleotides.
Definition: soft.h:177
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: soft.h:212
vrna_sc_type_e
vrna_sc_type_e
The type of a soft constraint.
Definition: soft.h:147