RNAlib-2.6.3
 
Loading...
Searching...
No Matches
move.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_MOVE_H
2#define VIENNA_RNA_PACKAGE_MOVE_H
3
4
20typedef struct vrna_move_s vrna_move_t;
21
27#define VRNA_MOVESET_INSERTION 4
28
34#define VRNA_MOVESET_DELETION 8
35
41#define VRNA_MOVESET_SHIFT 16
47#define VRNA_MOVESET_NO_LP 32
48
54#define VRNA_MOVESET_DEFAULT (VRNA_MOVESET_INSERTION | VRNA_MOVESET_DELETION)
55
56
79 int pos_5;
80 int pos_3;
84};
85
86
98 int pos_3);
99
100
104void
106
107
114void
116 const vrna_move_t *m);
117
118
119void
120vrna_move_apply_db(char *structure,
121 const short *pt,
122 const vrna_move_t *m);
123
124
131int
133
134
141int
143
144
151int
153
154
175int
177 const vrna_move_t *b,
178 const short *pt);
179
180
185#endif
vrna_move_t * next
The next base pair (if an elementary move changes more than one base pair), or NULL Has to be termina...
Definition move.h:81
int pos_3
The (absolute value of the) 3' position of a base pair, or any position of a shifted pair.
Definition move.h:80
int pos_5
The (absolute value of the) 5' position of a base pair, or any position of a shifted pair.
Definition move.h:79
int vrna_move_is_shift(const vrna_move_t *m)
Test whether a move is a base pair shift.
int vrna_move_is_insertion(const vrna_move_t *m)
Test whether a move is a base pair insertion.
int vrna_move_is_removal(const vrna_move_t *m)
Test whether a move is a base pair removal.
void vrna_move_apply(short *pt, const vrna_move_t *m)
Apply a particular move / transition to a secondary structure, i.e. transform a structure.
void vrna_move_list_free(vrna_move_t *moves)
int vrna_move_compare(const vrna_move_t *m, const vrna_move_t *b, const short *pt)
Compare two moves.
vrna_move_t vrna_move_init(int pos_5, int pos_3)
Create an atomic move.
An atomic representation of the transition / move from one structure to its neighbor.
Definition move.h:78