RNAlib-2.1.5

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

move_set.h
1 #ifndef __MOVE_SET_H
2 #define __MOVE_SET_H
3
4 /* used data structure*/
5 typedef struct _struct_en{
6 int energy; /* energy in 10kcal/mol*/
7 short *structure; /* structure in energy_of_move format*/
8 } struct_en;
9
10 /* prints structure*/
11 void print_stren(FILE *out, struct_en *str);
12 void print_str(FILE *out, short *str);
13
14 /* copying functions*/
15 void copy_arr(short *dest, short *src); /*just copy*/
16 short *allocopy(short *src); /*copy and make space*/
17
18 /* walking methods (verbose_lvl 0-2, shifts = use shift moves? noLP = no lone pairs? (not compatible with shifts))
19 input: seq - sequence
20 ptable - structure encoded with make_pair_table() from pair_mat.h
21 s, s1 - sequence encoded with encode_sequence from pair_mat.h
22 methods: deepest - lowest energy structure is used
23 first - first found lower energy structure is used
24 rand - random lower energy structure is used
25 returns local minima structure in ptable and its energy in 10kcal/mol as output */
26
27 int move_deepest( char *seq,
28 short *ptable,
29 short *s,
30 short *s1,
31 int verbosity_level,
32 int shifts,
33 int noLP);
34 int move_first( char *seq,
35 short *ptable,
36 short *s,
37 short *s1,
38 int verbosity_level,
39 int shifts,
40 int noLP);
41 int move_rand( char *seq,
42 short *ptable,
43 short *s,
44 short *s1,
45 int verbosity_level);
46
47
48 /* browse_neighbours and do funct function on each of them (used mainly for user specified flooding)
49 input: seq - sequence
50 ptable - structure encoded with make_pair_table() from pair_mat.h
51 s, s1 - sequence encoded with encode_sequence from pair_mat.h
52 funct - function (moved structure, current structure (or altered by funct)) to do with every structure in neigbourhood
53 returns energy of the structure funct sets as second argument*/
54 int browse_neighs( char *seq,
55 short *ptable,
56 short *s,
57 short *s1,
58 int verbosity_level,
59 int shifts,
60 int noLP,
61 int (*funct) (struct_en*, struct_en*));
62
63 #endif