RNAlib-2.4.14
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 
20 typedef 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
39 
43 #define VRNA_MOVESET_NO_LP 32
44 
49 #define VRNA_MOVESET_DEFAULT (VRNA_MOVESET_INSERTION | VRNA_MOVESET_DELETION)
50 
51 
73 struct vrna_move_s {
74  int pos_5;
75  int pos_3;
79 };
80 
81 
93  int pos_3);
94 
95 
99 void
101 
102 
109 void
110 vrna_move_apply(short *pt,
111  const vrna_move_t *m);
112 
113 
114 void
115 vrna_move_apply_db(char *structure,
116  const short *pt,
117  const vrna_move_t *m);
118 
119 
126 int
128 
129 
136 int
138 
139 
146 int
148 
149 
170 int
172  const vrna_move_t *b,
173  const short *pt);
174 
175 
180 #endif
int vrna_move_is_removal(const vrna_move_t *m)
Test whether a move is a base pair removal.
vrna_move_t vrna_move_init(int pos_5, int pos_3)
Create an atomic move.
int vrna_move_is_shift(const vrna_move_t *m)
Test whether a move is a base pair shift.
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
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.
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.
void vrna_move_list_free(vrna_move_t *moves)
An atomic representation of the transition / move from one structure to its neighbor.
Definition: move.h:73
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