RNAlib-2.4.14
move_set.h
1 #ifndef __MOVE_SET_H
2 #define __MOVE_SET_H
3 
4 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
5 
9 typedef 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*/
15 void print_stren(FILE *out, struct_en *str);
16 void print_str(FILE *out, short *str);
17 
18 /* copying functions*/
19 void copy_arr(short *dest, short *src); /*just copy*/
20 short *allocopy(short *src); /*copy and make space*/
21 
22 enum 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 
33 int move_gradient( char *seq,
34  short *ptable,
35  short *s,
36  short *s1,
37  int verbosity_level,
38  int shifts,
39  int noLP);
40 int move_first( char *seq,
41  short *ptable,
42  short *s,
43  short *s1,
44  int verbosity_level,
45  int shifts,
46  int noLP);
47 int 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 */
60 int 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*/
74 int 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 
83 int 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