--- /dev/null
+/* subopt.h */
+#ifndef __VIENNA_RNA_PACKAGE_SUBOPT_H__
+#define __VIENNA_RNA_PACKAGE_SUBOPT_H__
+
+#include "data_structures.h"
+
+#define MAXDOS 1000
+
+/**
+ * \addtogroup subopt_fold Enumerating Suboptimal Structures
+ * \ingroup folding_routines
+ * @{
+ * \file subopt.h
+ * \brief RNAsubopt and density of states declarations
+ *
+ * @}
+ */
+
+/**
+ * \addtogroup subopt_wuchty
+ * @{
+ *
+ * @}
+ */
+
+/**
+ * \brief Returns list of subopt structures or writes to fp
+ *
+ * This function produces <b>all</b> suboptimal secondary structures within
+ * 'delta' * 0.01 kcal/mol of the optimum. The results are either
+ * directly written to a 'fp' (if 'fp' is not NULL), or
+ * (fp==NULL) returned in a #SOLUTION * list terminated
+ * by an entry were the 'structure' pointer is NULL.
+ *
+ * \ingroup subopt_wuchty
+ *
+ * \param seq
+ * \param structure
+ * \param delta
+ * \param fp
+ * \return
+ */
+SOLUTION *subopt (char *seq,
+ char *structure,
+ int delta,
+ FILE *fp);
+
+/**
+ * \brief Returns list of subopt structures or writes to fp
+ *
+ * \ingroup subopt_wuchty
+ */
+SOLUTION *subopt_par( char *seq,
+ char *structure,
+ paramT *parameters,
+ int delta,
+ int is_constrained,
+ int is_circular,
+ FILE *fp);
+
+/**
+ * \brief Returns list of circular subopt structures or writes to fp
+ *
+ * This function is similar to subopt() but calculates secondary structures
+ * assuming the RNA sequence to be circular instead of linear
+ *
+ * \ingroup subopt_wuchty
+ *
+ * \param seq
+ * \param sequence
+ * \param delta
+ * \param fp
+ * \return
+ */
+SOLUTION *subopt_circ ( char *seq,
+ char *sequence,
+ int delta,
+ FILE *fp);
+
+/**
+ * \brief Sort output by energy
+ *
+ * \ingroup subopt_wuchty
+ *
+ */
+extern int subopt_sorted;
+
+
+/**
+ * \brief printing threshold for use with logML
+ *
+ * \ingroup subopt_wuchty
+ *
+ */
+extern double print_energy;
+
+/**
+ * \addtogroup dos
+ * @{
+ */
+
+/**
+ * \brief The Density of States
+ *
+ * This array contains the density of states for an RNA sequences after a call to subopt_par(),
+ * subopt() or subopt_circ().
+ *
+ * \pre Call one of the functions subopt_par(), subopt() or subopt_circ() prior accessing the contents
+ * of this array
+ * \see subopt_par(), subopt(), subopt_circ()
+ *
+ */
+extern int density_of_states[MAXDOS+1];
+
+/** @} */ /* End of group dos */
+
+#endif