1#ifndef VIENNA_RNA_PACKAGE_MOVE_H
2#define VIENNA_RNA_PACKAGE_MOVE_H
27#define VRNA_MOVESET_INSERTION 4
34#define VRNA_MOVESET_DELETION 8
41#define VRNA_MOVESET_SHIFT 16
47#define VRNA_MOVESET_NO_LP 32
54#define VRNA_MOVESET_DEFAULT (VRNA_MOVESET_INSERTION | VRNA_MOVESET_DELETION)
120vrna_move_apply_db(
char *structure,
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