1#ifndef VIENNA_RNA_PACKAGE_MOVE_H
2#define VIENNA_RNA_PACKAGE_MOVE_H
26#define VRNA_MOVESET_INSERTION 4
32#define VRNA_MOVESET_DELETION 8
38#define VRNA_MOVESET_SHIFT 16
43#define VRNA_MOVESET_NO_LP 32
49#define VRNA_MOVESET_DEFAULT (VRNA_MOVESET_INSERTION | VRNA_MOVESET_DELETION)
115vrna_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: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