RNAlib-2.4.14
paths.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_PATHS_H
2 #define VIENNA_RNA_PACKAGE_PATHS_H
3 
4 #ifdef VRNA_WARN_DEPRECATED
5 # if defined(__clang__)
6 # define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
7 # elif defined(__GNUC__)
8 # define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
9 # else
10 # define DEPRECATED(func, msg) func
11 # endif
12 #else
13 # define DEPRECATED(func, msg) func
14 #endif
15 
42 typedef struct vrna_path_s vrna_path_t;
43 
44 
49 typedef struct vrna_path_options_s *vrna_path_options_t;
50 
51 
52 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
53 
59 DEPRECATED(typedef struct vrna_path_s path_t,
60  "Use vrna_path_t instead!");
61 
62 #endif
63 
66 
71 #define VRNA_PATH_TYPE_DOT_BRACKET 1U
72 
77 #define VRNA_PATH_TYPE_MOVES 2U
78 
108 struct vrna_path_s {
109  unsigned int type;
119  double en;
120  char *s;
122 };
123 
124 
131 void
133 
134 
141 void
143 
144 
175  unsigned int type);
176 
177 
203 vrna_path_t *
205  const char *s1,
206  const char *s2,
207  vrna_path_options_t options);
208 
209 
232 vrna_path_t *
234  const char *s1,
235  const char *s2,
236  int maxE,
237  vrna_path_options_t options);
238 
239 
242 #endif
unsigned int type
The type of the path element.
Definition: paths.h:109
void vrna_path_options_free(vrna_path_options_t options)
Release (free) memory occupied by an options data structure for (re-)folding path implementations...
char * s
Secondary structure in dot-bracket notation.
Definition: paths.h:120
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:132
An element of a refolding path list.
Definition: paths.h:108
struct vrna_path_options_s * vrna_path_options_t
Options data structure for (re-)folding path implementations.
Definition: paths.h:49
vrna_move_t move
Move that transforms the previous structure into it's next neighbor along the path.
Definition: paths.h:121
void vrna_path_free(vrna_path_t *path)
Release (free) memory occupied by a (re-)folding path.
Methods to operate with structural neighbors of RNA secondary structures.
double en
Free energy of current structure.
Definition: paths.h:119
vrna_path_t * vrna_path_direct_ub(vrna_fold_compound_t *fc, const char *s1, const char *s2, int maxE, vrna_path_options_t options)
Determine an optimal direct (re-)folding path between two secondary structures.
The Basic Fold Compound API.
vrna_path_t * vrna_path_direct(vrna_fold_compound_t *fc, const char *s1, const char *s2, vrna_path_options_t options)
Determine an optimal direct (re-)folding path between two secondary structures.
vrna_path_options_t vrna_path_options_findpath(int width, unsigned int type)
Create options data structure for findpath direct (re-)folding path heuristic.
An atomic representation of the transition / move from one structure to its neighbor.
Definition: move.h:73