LocARNA-1.9.2
src/LocARNA/pfold_params.hh
00001 #ifndef LOCARNA_PFOLD_PARAMS_HH
00002 #define LOCARNA_PFOLD_PARAMS_HH
00003 
00004 #ifdef HAVE_CONFIG_H
00005 #include <config.h>
00006 #endif
00007 
00008 extern "C" {
00009 #include <ViennaRNA/data_structures.h>
00010 }
00011 
00012 #include <limits>
00013 #include "aux.hh"
00014 
00015 namespace LocARNA {
00016 
00030     class PFoldParams {
00031         vrna_md_t md_; 
00032         int stacking_; 
00033     public:
00042         PFoldParams(bool noLP, bool stacking, int max_bp_span, int dangling);
00043 
00054         const vrna_md_t &
00055         model_details() const {
00056             return md_;
00057         }
00058 
00059         /* provide read access for selected model details */
00060 
00066         bool
00067         noLP() const {
00068             return md_.noLP == 1;
00069         }
00070 
00076         bool
00077         stacking() const {
00078             return stacking_;
00079         }
00080 
00091         size_t
00092         max_bp_span() const {
00093             return md_.max_bp_span >= 0 ? md_.max_bp_span
00094                                         : std::numeric_limits<size_t>::max();
00095         }
00096 
00102         int
00103         dangling() const {
00104             return md_.dangles;
00105         }
00106     };
00107 }
00108 
00109 #endif // LOCARNA_PFOLD_PARAMS_HH
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends