Replace Progs/RNAalifold with x64 binary and add all other programs
[jabaws.git] / binaries / src / ViennaRNA / H / 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