RNAlib-2.5.1
move_set.h
1#ifndef __MOVE_SET_H
2#define __MOVE_SET_H
3
4#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
5
9typedef struct _struct_en{
10 int energy; /* energy in 10kcal/mol*/
11 short *structure; /* structure in energy_of_move format*/
12} struct_en;
13
14/* prints structure*/
15void print_stren(FILE *out, struct_en *str);
16void print_str(FILE *out, short *str);
17
18/* copying functions*/
19void copy_arr(short *dest, short *src); /*just copy*/
20short *allocopy(short *src); /*copy and make space*/
21
22enum MOVE_TYPE {GRADIENT, FIRST, ADAPTIVE};
23
24/* walking methods (verbose_lvl 0-2, shifts = use shift moves? noLP = no lone pairs? (not compatible with shifts))
25 input: seq - sequence
26 ptable - structure encoded with make_pair_table() from pair_mat.h
27 s, s1 - sequence encoded with encode_sequence from pair_mat.h
28 methods: deepest - lowest energy structure is used
29 first - first found lower energy structure is used
30 rand - random lower energy structure is used
31 returns local minima structure in ptable and its energy in 10kcal/mol as output */
32
33int move_gradient( char *seq,
34 short *ptable,
35 short *s,
36 short *s1,
37 int verbosity_level,
38 int shifts,
39 int noLP);
40int move_first( char *seq,
41 short *ptable,
42 short *s,
43 short *s1,
44 int verbosity_level,
45 int shifts,
46 int noLP);
47int move_adaptive( char *seq,
48 short *ptable,
49 short *s,
50 short *s1,
51 int verbosity_level);
52
53/* standardized method that encapsulates above "_pt" methods
54 input: seq - sequence
55 struc - structure in dot-bracket notation
56 type - type of move selection according to MOVE_TYPE enum
57 return: energy of LM
58 structure of LM in struc in bracket-dot notation
59*/
60int move_standard(char *seq,
61 char *struc,
62 enum MOVE_TYPE type,
63 int verbosity_level,
64 int shifts,
65 int noLP);
66
67
68/* browse_neighbours and perform funct function on each of them (used mainly for user specified flooding)
69 input: seq - sequence
70 ptable - structure encoded with make_pair_table() from pair_mat.h
71 s, s1 - sequence encoded with encode_sequence from pair_mat.h
72 funct - function (structure from neighbourhood, structure from input) toperform on every structure in neigbourhood (if the function returns non-zero, the iteration through neighbourhood stops.)
73 returns energy of the structure funct sets as second argument*/
74int browse_neighs_pt( char *seq,
75 short *ptable,
76 short *s,
77 short *s1,
78 int verbosity_level,
79 int shifts,
80 int noLP,
81 int (*funct) (struct_en*, struct_en*));
82
83int browse_neighs( char *seq,
84 char *struc,
85 int verbosity_level,
86 int shifts,
87 int noLP,
88 int (*funct) (struct_en*, struct_en*));
89
90#endif
91
92#endif
93
94
Data structure for energy_of_move()
Definition: move_set.h:9