RNAlib-2.4.5
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 
70 
72 
75 
95  int i,
96  int j,
97  unsigned int loop_type,
98  void *data);
99 
119  int i,
120  int j,
121  unsigned int loop_type,
122  void *data);
123 
135  void *data);
136 
148  void *data);
149 
150 
161  int i,
162  int j,
163  unsigned int loop_type,
164  FLT_OR_DBL exp_energy,
165  void *data);
166 
177  int i,
178  int j,
179  unsigned int loop_type,
180  int motif,
181  void *data);
182 
183 
188 #define VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP 1U
189 
194 #define VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP 2U
195 
200 #define VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP 4U
201 
206 #define VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP 8U
207 
212 #define VRNA_UNSTRUCTURED_DOMAIN_MOTIF 16U
213 
218 #define VRNA_UNSTRUCTURED_DOMAIN_ALL_LOOPS (VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP | \
219  VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP | \
220  VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP | \
221  VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP)
222 
228  /*
229  **********************************
230  * Keep track of all added motifs
231  **********************************
232  */
234  unsigned int *uniq_motif_size;
237  char **motif;
238  unsigned int *motif_size;
239  double *motif_en;
240  unsigned int *motif_type;
242  /*
243  **********************************
244  * Grammar extension for ligand
245  * binding
246  **********************************
247  */
255  void *data;
259 };
260 
261 
263  int start;
264  int number;
265 };
266 
267 
269 vrna_ud_motifs_centroid(vrna_fold_compound_t *fc,
270  const char *structure);
271 
272 
274 vrna_ud_motifs_MEA(vrna_fold_compound_t *fc,
275  const char *structure,
276  vrna_ep_t *probability_list);
277 
278 
280 vrna_ud_motifs_MFE(vrna_fold_compound_t *fc,
281  const char *structure);
282 
283 
309  const char *motif,
310  double motif_en,
311  unsigned int loop_type);
312 
313 
319  int i,
320  unsigned int loop_type);
321 
322 
323 int *
324 vrna_ud_get_motifs_at(vrna_fold_compound_t *vc,
325  int i,
326  unsigned int loop_type);
327 
328 
330 vrna_ud_detect_motifs(vrna_fold_compound_t *vc,
331  const char *structure);
332 
333 
345 
346 
364  void *data,
365  vrna_callback_free_auxdata *free_cb);
366 
367 
405 
406 
433  vrna_callback_ud_exp_energy *exp_e_cb);
434 
435 
439 
440 
441 #endif
vrna_callback_ud_energy * energy_cb
Callback to evaluate free energy of ligand binding to a particular unpaired stretch.
Definition: unstructured_domains.h:253
double * motif_en
Ligand binding free energy contribution.
Definition: unstructured_domains.h:239
void vrna_ud_set_prod_rule_cb(vrna_fold_compound_t *vc, vrna_callback_ud_production *pre_cb, vrna_callback_ud_energy *e_cb)
Attach production rule callbacks for free energies computations.
vrna_callback_ud_exp_energy * exp_energy_cb
Callback to evaluate Boltzmann factor of ligand binding to a particular unpaired stretch.
Definition: unstructured_domains.h:254
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.
unsigned int * motif_type
Type of motif, i.e. loop type the ligand binds to.
Definition: unstructured_domains.h:240
void * data
Auxiliary data structure passed to energy evaluation callbacks.
Definition: unstructured_domains.h:255
vrna_callback_ud_exp_production * exp_prod_cb
Callback to ligand binding production rule, i.e. create/fill DP partition function matrices...
Definition: unstructured_domains.h:252
void vrna_ud_set_prob_cb(vrna_fold_compound_t *vc, vrna_callback_ud_probs_add *setter, vrna_callback_ud_probs_get *getter)
Data structure to store all functionality for ligand binding.
Definition: unstructured_domains.h:227
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition: structure_utils.h:114
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: data_structures.h:43
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:131
int() vrna_callback_ud_energy(vrna_fold_compound_t *vc, 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:94
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)
Callback to store/add equilibrium probability for a ligand bound to an unpaired sequence segment...
Definition: unstructured_domains.h:160
vrna_callback_free_auxdata * free_data
Callback to free auxiliary data structure.
Definition: unstructured_domains.h:256
Definition: unstructured_domains.h:262
unsigned int * motif_size
Motif lengths.
Definition: unstructured_domains.h:238
Various data structures and pre-processor macros.
Various utility- and helper-functions for secondary structure parsing, converting, etc.
int uniq_motif_count
The unique number of motifs of different lengths.
Definition: unstructured_domains.h:233
FLT_OR_DBL() vrna_callback_ud_exp_energy(vrna_fold_compound_t *vc, 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:118
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)
Callback to retrieve equilibrium probability for a ligand bound to an unpaired sequence segment...
Definition: unstructured_domains.h:176
char ** motif
Motif sequences.
Definition: unstructured_domains.h:237
unsigned int * uniq_motif_size
An array storing a unique list of motif lengths.
Definition: unstructured_domains.h:234
vrna_callback_ud_probs_add * probs_add
Callback to store/add outside partition function.
Definition: unstructured_domains.h:257
void vrna_ud_add_motif(vrna_fold_compound_t *vc, const char *motif, double motif_en, unsigned int loop_type)
Add an unstructured domain motif, e.g. for ligand binding.
int motif_count
Total number of distinguished motifs.
Definition: unstructured_domains.h:236
void vrna_ud_set_data(vrna_fold_compound_t *vc, void *data, vrna_callback_free_auxdata *free_cb)
Attach an auxiliary data structure.
void() vrna_callback_free_auxdata(void *data)
Callback to free memory allocated for auxiliary user-provided data.
Definition: fold_compound.h:46
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)
Attach production rule for partition function.
void() vrna_callback_ud_production(vrna_fold_compound_t *vc, void *data)
Callback for pre-processing the production rule of the ligand binding to unpaired stretches feature...
Definition: unstructured_domains.h:134
void vrna_ud_remove(vrna_fold_compound_t *vc)
Remove ligand binding to unpaired stretches.
vrna_callback_ud_probs_get * probs_get
Callback to retrieve outside partition function.
Definition: unstructured_domains.h:258
void() vrna_callback_ud_exp_production(vrna_fold_compound_t *vc, void *data)
Callback for pre-processing the production rule of the ligand binding to unpaired stretches feature (...
Definition: unstructured_domains.h:147
vrna_callback_ud_production * prod_cb
Callback to ligand binding production rule, i.e. create/fill DP free energy matrices.
Definition: unstructured_domains.h:248