RNAlib-2.4.14
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 
76 
96  int i,
97  int j,
98  unsigned int loop_type,
99  void *data);
100 
120  int i,
121  int j,
122  unsigned int loop_type,
123  void *data);
124 
136  void *data);
137 
149  void *data);
150 
151 
162  int i,
163  int j,
164  unsigned int loop_type,
165  FLT_OR_DBL exp_energy,
166  void *data);
167 
178  int i,
179  int j,
180  unsigned int loop_type,
181  int motif,
182  void *data);
183 
184 
189 #define VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP 1U
190 
195 #define VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP 2U
196 
201 #define VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP 4U
202 
207 #define VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP 8U
208 
213 #define VRNA_UNSTRUCTURED_DOMAIN_MOTIF 16U
214 
219 #define VRNA_UNSTRUCTURED_DOMAIN_ALL_LOOPS (VRNA_UNSTRUCTURED_DOMAIN_EXT_LOOP | \
220  VRNA_UNSTRUCTURED_DOMAIN_HP_LOOP | \
221  VRNA_UNSTRUCTURED_DOMAIN_INT_LOOP | \
222  VRNA_UNSTRUCTURED_DOMAIN_MB_LOOP)
223 
229  /*
230  **********************************
231  * Keep track of all motifs added
232  **********************************
233  */
235  unsigned int *uniq_motif_size;
238  char **motif;
239  char **motif_name;
240  unsigned int *motif_size;
241  double *motif_en;
242  unsigned int *motif_type;
244  /*
245  **********************************
246  * Grammar extension for ligand
247  * binding
248  **********************************
249  */
257  void *data;
261 };
262 
263 
265  int start;
266  int number;
267 };
268 
269 
291  const char *structure);
292 
293 
316  const char *structure,
317  vrna_ep_t *probability_list);
318 
319 
340  const char *structure);
341 
342 
369  const char *motif,
370  double motif_en,
371  const char *motif_name,
372  unsigned int loop_type);
373 
374 
380  int i,
381  unsigned int loop_type);
382 
383 
384 int *
385 vrna_ud_get_motifs_at(vrna_fold_compound_t *vc,
386  int i,
387  unsigned int loop_type);
388 
389 
391 vrna_ud_detect_motifs(vrna_fold_compound_t *vc,
392  const char *structure);
393 
394 
406 
407 
425  void *data,
426  vrna_callback_free_auxdata *free_cb);
427 
428 
466 
467 
494  vrna_callback_ud_exp_energy *exp_e_cb);
495 
496 
500 
501 
502 #endif
vrna_callback_ud_energy * energy_cb
Callback to evaluate free energy of ligand binding to a particular unpaired stretch.
Definition: unstructured_domains.h:255
double * motif_en
Ligand binding free energy contribution.
Definition: unstructured_domains.h:241
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:256
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.
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:148
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:242
void vrna_ud_add_motif(vrna_fold_compound_t *vc, 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 * data
Auxiliary data structure passed to energy evaluation callbacks.
Definition: unstructured_domains.h:257
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:254
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_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:161
Data structure to store all functionality for ligand binding.
Definition: unstructured_domains.h:228
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: basic.h:43
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:119
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:132
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:95
vrna_ud_motif_t * vrna_ud_motifs_MFE(vrna_fold_compound_t *fc, const char *structure)
Detect unstructured domains in MFE structure.
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:135
vrna_callback_free_auxdata * free_data
Callback to free auxiliary data structure.
Definition: unstructured_domains.h:258
Definition: unstructured_domains.h:264
unsigned int * motif_size
Motif lengths.
Definition: unstructured_domains.h:240
Various data structures and pre-processor macros.
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:177
int uniq_motif_count
The unique number of motifs of different lengths.
Definition: unstructured_domains.h:234
vrna_ud_motif_t * vrna_ud_motifs_centroid(vrna_fold_compound_t *fc, const char *structure)
Detect unstructured domains in centroid structure.
char ** motif
Motif sequences.
Definition: unstructured_domains.h:238
unsigned int * uniq_motif_size
An array storing a unique list of motif lengths.
Definition: unstructured_domains.h:235
void( vrna_callback_free_auxdata)(void *data)
Callback to free memory allocated for auxiliary user-provided data.
Definition: fold_compound.h:46
vrna_callback_ud_probs_add * probs_add
Callback to store/add outside partition function.
Definition: unstructured_domains.h:259
int motif_count
Total number of distinguished motifs.
Definition: unstructured_domains.h:237
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_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.
Various utility- and helper-functions for secondary structure parsing, converting, etc.
void vrna_ud_remove(vrna_fold_compound_t *vc)
Remove ligand binding to unpaired stretches.
The Basic Fold Compound API.
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition: structures.h:453
vrna_callback_ud_probs_get * probs_get
Callback to retrieve outside partition function.
Definition: unstructured_domains.h:260
char ** motif_name
Motif identifier/name.
Definition: unstructured_domains.h:239
vrna_callback_ud_production * prod_cb
Callback to ligand binding production rule, i.e. create/fill DP free energy matrices.
Definition: unstructured_domains.h:250