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