Replace Progs/RNAalifold with x64 binary and add all other programs
[jabaws.git] / binaries / src / ViennaRNA / H / subopt.h
1 /* subopt.h */
2 #ifndef __VIENNA_RNA_PACKAGE_SUBOPT_H__
3 #define __VIENNA_RNA_PACKAGE_SUBOPT_H__
4
5 #include "data_structures.h"
6
7 #define MAXDOS 1000
8
9 /**
10  *  \addtogroup subopt_fold Enumerating Suboptimal Structures
11  *  \ingroup folding_routines
12  *  @{
13  *    \file subopt.h
14  *    \brief RNAsubopt and density of states declarations
15  *
16  *  @}
17  */
18
19 /**
20  *  \addtogroup subopt_wuchty
21  *  @{
22  *
23  *  @}
24  */
25
26 /**
27  *  \brief Returns list of subopt structures or writes to fp
28  * 
29  *  This function produces <b>all</b> suboptimal secondary structures within
30  *  'delta' * 0.01 kcal/mol of the optimum. The results are either
31  *  directly written to a 'fp' (if 'fp' is not NULL), or
32  *  (fp==NULL) returned in a #SOLUTION * list terminated
33  *  by an entry were the 'structure' pointer is NULL.
34  *
35  *  \ingroup subopt_wuchty
36  *
37  *  \param  seq
38  *  \param  structure
39  *  \param  delta
40  *  \param  fp
41  *  \return
42  */
43 SOLUTION *subopt (char *seq,
44                   char *structure,
45                   int delta,
46                   FILE *fp);
47
48 /**
49  *  \brief Returns list of subopt structures or writes to fp
50  * 
51  *  \ingroup subopt_wuchty
52  */
53 SOLUTION *subopt_par( char *seq,
54                       char *structure,
55                       paramT *parameters,
56                       int delta,
57                       int is_constrained,
58                       int is_circular,
59                       FILE *fp);
60
61 /**
62  *  \brief Returns list of circular subopt structures or writes to fp
63  * 
64  *  This function is similar to subopt() but calculates secondary structures
65  *  assuming the RNA sequence to be circular instead of linear
66  * 
67  *  \ingroup subopt_wuchty
68  *
69  *  \param  seq
70  *  \param  sequence
71  *  \param  delta
72  *  \param  fp
73  *  \return
74  */
75 SOLUTION *subopt_circ ( char *seq,
76                         char *sequence,
77                         int delta,
78                         FILE *fp);
79
80 /**
81  *  \brief Sort output by energy
82  * 
83  *  \ingroup subopt_wuchty
84  *
85  */
86 extern  int     subopt_sorted;
87
88
89 /**
90  *  \brief printing threshold for use with logML
91  * 
92  *  \ingroup subopt_wuchty
93  *
94  */
95 extern  double  print_energy;
96
97 /**
98  *  \addtogroup dos
99  *  @{
100  */
101
102 /**
103  *  \brief The Density of States
104  *
105  *  This array contains the density of states for an RNA sequences after a call to subopt_par(),
106  *  subopt() or subopt_circ().
107  *
108  *  \pre  Call one of the functions subopt_par(), subopt() or subopt_circ() prior accessing the contents
109  *        of this array
110  *  \see  subopt_par(), subopt(), subopt_circ()
111  *
112  */
113 extern  int     density_of_states[MAXDOS+1];
114
115 /** @} */ /* End of group dos */
116
117 #endif