LocARNA-1.9.2
|
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