RNAlib-2.6.3
 
Loading...
Searching...
No Matches
grammar.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_GRAMMAR_H
2#define VIENNA_RNA_PACKAGE_GRAMMAR_H
3
17
18typedef int (*vrna_grammar_rule_f)(vrna_fold_compound_t *fc,
19 int i,
20 int j,
21 void *data);
22
23
24typedef void (*vrna_grammar_rule_f_aux)(vrna_fold_compound_t *fc,
25 int i,
26 int j,
27 void *data);
28
29
30typedef FLT_OR_DBL (*vrna_grammar_rule_f_exp)(vrna_fold_compound_t *fc,
31 int i,
32 int j,
33 void *data);
34
35
36typedef void (*vrna_grammar_rule_f_aux_exp)(vrna_fold_compound_t *fc,
37 int i,
38 int j,
39 void *data);
40
41
42typedef void (*vrna_grammar_cond_f)(vrna_fold_compound_t *fc,
43 unsigned char stage,
44 void *data);
45
46
51typedef void (*vrna_grammar_data_free_f)(void *data);
52
53
54typedef struct vrna_gr_aux_s vrna_gr_aux_t;
55
56
58 vrna_grammar_cond_f cb_proc;
60 vrna_grammar_rule_f cb_aux_f;
61 vrna_grammar_rule_f cb_aux_c;
62 vrna_grammar_rule_f cb_aux_m;
63 vrna_grammar_rule_f cb_aux_m1;
64 vrna_grammar_rule_f_aux cb_aux;
65
66 vrna_grammar_rule_f_exp cb_aux_exp_f;
67 vrna_grammar_rule_f_exp cb_aux_exp_c;
68 vrna_grammar_rule_f_exp cb_aux_exp_m;
69 vrna_grammar_rule_f_exp cb_aux_exp_m1;
70 vrna_grammar_rule_f_aux_exp cb_aux_exp;
71
72 void *data;
74};
75
76
77int
78vrna_gr_set_aux_f(vrna_fold_compound_t *fc,
79 vrna_grammar_rule_f cb);
80
81
82int
83vrna_gr_set_aux_exp_f(vrna_fold_compound_t *fc,
84 vrna_grammar_rule_f_exp cb);
85
86
87int
88vrna_gr_set_aux_c(vrna_fold_compound_t *fc,
89 vrna_grammar_rule_f cb);
90
91
92int
93vrna_gr_set_aux_exp_c(vrna_fold_compound_t *fc,
94 vrna_grammar_rule_f_exp cb);
95
96
97int
98vrna_gr_set_aux_m(vrna_fold_compound_t *fc,
99 vrna_grammar_rule_f cb);
100
101
102int
103vrna_gr_set_aux_exp_m(vrna_fold_compound_t *fc,
104 vrna_grammar_rule_f_exp cb);
105
106
107int
108vrna_gr_set_aux_m1(vrna_fold_compound_t *fc,
109 vrna_grammar_rule_f cb);
110
111
112int
113vrna_gr_set_aux_exp_m1(vrna_fold_compound_t *fc,
114 vrna_grammar_rule_f_exp cb);
115
116
117int
118vrna_gr_set_aux(vrna_fold_compound_t *fc,
119 vrna_grammar_rule_f_aux cb);
120
121
122int
123vrna_gr_set_aux_exp(vrna_fold_compound_t *fc,
124 vrna_grammar_rule_f_aux_exp cb);
125
126
127int
128vrna_gr_set_data(vrna_fold_compound_t *fc,
129 void *data,
130 vrna_grammar_data_free_f free_data);
131
132
133int
134vrna_gr_set_cond(vrna_fold_compound_t *fc,
135 vrna_grammar_cond_f cb);
136
137
138int
139vrna_gr_reset(vrna_fold_compound_t *fc);
140
141
151#endif
The Basic Fold Compound API.
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition basic.h:43
The most basic data structure required by many functions throughout the RNAlib.
Definition fold_compound.h:168
vrna_grammar_cond_f cb_proc
A callback for pre- and post-processing of auxiliary grammar rules.
Definition grammar.h:58
void(* vrna_grammar_data_free_f)(void *data)
Free auxiliary data.
Definition grammar.h:51
Definition grammar.h:57