RNAlib-2.6.3
 
Loading...
Searching...
No Matches
unstructured_domains.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_UNSTRUCTURED_DOMAIN_H
2#define VIENNA_RNA_PACKAGE_UNSTRUCTURED_DOMAIN_H
3
4#ifdef VRNA_WARN_DEPRECATED
5# if defined(DEPRECATED)
6# undef DEPRECATED
7# endif
8# if defined(__clang__)
9# define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
10# elif defined(__GNUC__)
11# define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
12# else
13# define DEPRECATED(func, msg) func
14# endif
15#else
16# define DEPRECATED(func, msg) func
17#endif
18
85
87
91
111 int i,
112 int j,
113 unsigned int loop_type,
114 void *data);
115
116DEPRECATED(typedef int (vrna_callback_ud_energy)(vrna_fold_compound_t *fc,
117 int i,
118 int j,
119 unsigned int loop_type,
120 void *data),
121 "Use vrna_ud_f instead!");
122
142 int i,
143 int j,
144 unsigned int loop_type,
145 void *data);
146
147DEPRECATED(typedef FLT_OR_DBL (vrna_callback_ud_exp_energy)(vrna_fold_compound_t *fc,
148 int i,
149 int j,
150 unsigned int loop_type,
151 void *data),
152 "Use vrna_ud_exp_f instead!");
153
165 void *data);
166
167DEPRECATED(typedef void (vrna_callback_ud_production)(vrna_fold_compound_t *fc,
168 void *data),
169 "Use vrna_ud_production_f instead!");
170
182 void *data);
183
184DEPRECATED(typedef void (vrna_callback_ud_exp_production)(vrna_fold_compound_t *fc,
185 void *data),
186 "Use vrna_ud_exp_production_f instead!");
187
188
199 int i,
200 int j,
201 unsigned int loop_type,
202 FLT_OR_DBL exp_energy,
203 void *data);
204
205DEPRECATED(typedef void (vrna_callback_ud_probs_add)(vrna_fold_compound_t *fc,
206 int i,
207 int j,
208 unsigned int loop_type,
209 FLT_OR_DBL exp_energy,
210 void *data),
211 "Use vrna_ud_add_probs_f instead!");
212
223 int i,
224 int j,
225 unsigned int loop_type,
226 int motif,
227 void *data);
228
229DEPRECATED(typedef FLT_OR_DBL (vrna_callback_ud_probs_get)(vrna_fold_compound_t *fc,
230 int i,
231 int j,
232 unsigned int loop_type,
233 int motif,
234 void *data),
235 "Use vrna_ud_get_probs_f instead!");
236
237
242#define VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP 1U
243
248#define VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP 2U
249
254#define VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP 4U
255
260#define VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP 8U
261
266#define VRNA_UNSTRUCTURED_DOMAIN_MOTIF 16U
267
272#define VRNA_UNSTRUCTURED_DOMAIN_ALL_LOOPS (VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP | \
273 VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP | \
274 VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP | \
275 VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP)
276
282 /*
283 **********************************
284 * Keep track of all motifs added
285 **********************************
286 */
288 unsigned int *uniq_motif_size;
291 char **motif;
292 char **motif_name;
293 unsigned int *motif_size;
294 double *motif_en;
295 unsigned int *motif_type;
297 /*
298 **********************************
299 * Grammar extension for ligand
300 * binding
301 **********************************
302 */
310 void *data;
314};
315
316
318 int start;
319 int number;
320};
321
322
345 const char *structure);
346
347
371 const char *structure,
372 vrna_ep_t *probability_list);
373
374
396 const char *structure);
397
398
425 const char *motif,
426 double motif_en,
427 const char *motif_name,
428 unsigned int loop_type);
429
430
436 int i,
437 unsigned int loop_type);
438
439
440int *
441vrna_ud_get_motifs_at(vrna_fold_compound_t *fc,
442 int i,
443 unsigned int loop_type);
444
445
447vrna_ud_detect_motifs(vrna_fold_compound_t *fc,
448 const char *structure);
449
450
462
463
481 void *data,
482 vrna_auxdata_free_f free_cb);
483
484
521 vrna_ud_f e_cb);
522
523
550 vrna_ud_exp_f exp_e_cb);
551
552
554 vrna_ud_add_probs_f setter,
555 vrna_ud_get_probs_f getter);
556
557
558#endif
Various data structures and pre-processor macros.
The Basic Fold Compound API.
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition basic.h:43
vrna_ud_exp_production_f exp_prod_cb
Callback to ligand binding production rule, i.e. create/fill DP partition function matrices.
Definition unstructured_domains.h:307
vrna_ud_production_f prod_cb
Callback to ligand binding production rule, i.e. create/fill DP free energy matrices.
Definition unstructured_domains.h:303
unsigned int * uniq_motif_size
An array storing a unique list of motif lengths.
Definition unstructured_domains.h:288
vrna_auxdata_free_f free_data
Callback to free auxiliary data structure.
Definition unstructured_domains.h:311
vrna_ud_get_probs_f probs_get
Callback to retrieve outside partition function.
Definition unstructured_domains.h:313
vrna_ud_f energy_cb
Callback to evaluate free energy of ligand binding to a particular unpaired stretch.
Definition unstructured_domains.h:308
unsigned int * motif_type
Type of motif, i.e. loop type the ligand binds to.
Definition unstructured_domains.h:295
int motif_count
Total number of distinguished motifs.
Definition unstructured_domains.h:290
unsigned int * motif_size
Motif lengths.
Definition unstructured_domains.h:293
void * data
Auxiliary data structure passed to energy evaluation callbacks.
Definition unstructured_domains.h:310
double * motif_en
Ligand binding free energy contribution.
Definition unstructured_domains.h:294
char ** motif_name
Motif identifier/name.
Definition unstructured_domains.h:292
vrna_ud_exp_f exp_energy_cb
Callback to evaluate Boltzmann factor of ligand binding to a particular unpaired stretch.
Definition unstructured_domains.h:309
int uniq_motif_count
The unique number of motifs of different lengths.
Definition unstructured_domains.h:287
vrna_ud_add_probs_f probs_add
Callback to store/add outside partition function.
Definition unstructured_domains.h:312
char ** motif
Motif sequences.
Definition unstructured_domains.h:291
FLT_OR_DBL(* vrna_ud_exp_f)(vrna_fold_compound_t *fc, int i, int j, unsigned int loop_type, void *data)
Callback to retrieve Boltzmann factor of the binding free energy of a ligand bound to an unpaired seq...
Definition unstructured_domains.h:141
void vrna_ud_remove(vrna_fold_compound_t *fc)
Remove ligand binding to unpaired stretches.
vrna_ud_motif_t * vrna_ud_motifs_MEA(vrna_fold_compound_t *fc, const char *structure, vrna_ep_t *probability_list)
Detect unstructured domains in MEA structure.
vrna_ud_motif_t * vrna_ud_motifs_MFE(vrna_fold_compound_t *fc, const char *structure)
Detect unstructured domains in MFE structure.
FLT_OR_DBL(* vrna_ud_get_probs_f)(vrna_fold_compound_t *fc, int i, int j, unsigned int loop_type, int motif, void *data)
Callback to retrieve equilibrium probability for a ligand bound to an unpaired sequence segment.
Definition unstructured_domains.h:222
void(* vrna_ud_exp_production_f)(vrna_fold_compound_t *fc, void *data)
Callback for pre-processing the production rule of the ligand binding to unpaired stretches feature (...
Definition unstructured_domains.h:181
void(* vrna_ud_add_probs_f)(vrna_fold_compound_t *fc, int i, int j, unsigned int loop_type, FLT_OR_DBL exp_energy, void *data)
Callback to store/add equilibrium probability for a ligand bound to an unpaired sequence segment.
Definition unstructured_domains.h:198
void vrna_ud_set_exp_prod_rule_cb(vrna_fold_compound_t *fc, vrna_ud_exp_production_f pre_cb, vrna_ud_exp_f exp_e_cb)
Attach production rule for partition function.
void(* vrna_ud_production_f)(vrna_fold_compound_t *fc, void *data)
Callback for pre-processing the production rule of the ligand binding to unpaired stretches feature.
Definition unstructured_domains.h:164
vrna_ud_motif_t * vrna_ud_motifs_centroid(vrna_fold_compound_t *fc, const char *structure)
Detect unstructured domains in centroid structure.
void vrna_ud_set_prod_rule_cb(vrna_fold_compound_t *fc, vrna_ud_production_f pre_cb, vrna_ud_f e_cb)
Attach production rule callbacks for free energies computations.
int(* vrna_ud_f)(vrna_fold_compound_t *fc, int i, int j, unsigned int loop_type, void *data)
Callback to retrieve binding free energy of a ligand bound to an unpaired sequence segment.
Definition unstructured_domains.h:110
void vrna_ud_add_motif(vrna_fold_compound_t *fc, const char *motif, double motif_en, const char *motif_name, unsigned int loop_type)
Add an unstructured domain motif, e.g. for ligand binding.
void vrna_ud_set_data(vrna_fold_compound_t *fc, void *data, vrna_auxdata_free_f free_cb)
Attach an auxiliary data structure.
Data structure to store all functionality for ligand binding.
Definition unstructured_domains.h:281
void(* vrna_auxdata_free_f)(void *data)
Callback to free memory allocated for auxiliary user-provided data.
Definition fold_compound.h:58
The most basic data structure required by many functions throughout the RNAlib.
Definition fold_compound.h:168
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition structures.h:486
Definition unstructured_domains.h:317
void vrna_ud_set_prob_cb(vrna_fold_compound_t *fc, vrna_ud_add_probs_f setter, vrna_ud_get_probs_f getter)
int * vrna_ud_get_motif_size_at(vrna_fold_compound_t *fc, int i, unsigned int loop_type)
Get a list of unique motif sizes that start at a certain position within the sequence.
Various utility- and helper-functions for secondary structure parsing, converting,...