RNAlib-2.5.1
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
26#define VRNA_MOVESET_INSERTION 4
27
32#define VRNA_MOVESET_DELETION 8
33
38#define VRNA_MOVESET_SHIFT 16
43#define VRNA_MOVESET_NO_LP 32
44
49#define VRNA_MOVESET_DEFAULT (VRNA_MOVESET_INSERTION | VRNA_MOVESET_DELETION)
50
51
74 int pos_5;
75 int pos_3;
79};
80
81
93 int pos_3);
94
95
99void
101
102
109void
111 const vrna_move_t *m);
112
113
114void
115vrna_move_apply_db(char *structure,
116 const short *pt,
117 const vrna_move_t *m);
118
119
126int
128
129
136int
138
139
146int
148
149
170int
172 const vrna_move_t *b,
173 const short *pt);
174
175
180#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:76
int pos_3
The (absolute value of the) 3' position of a base pair, or any position of a shifted pair.
Definition: move.h:75
int pos_5
The (absolute value of the) 5' position of a base pair, or any position of a shifted pair.
Definition: move.h:74
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_compare(const vrna_move_t *a, const vrna_move_t *b, const short *pt)
Compare two moves.
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)
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:73