📄 rnaforester_options.h
字号:
#ifndef _RNAFORESTER_OPTIONS_H#define _RNAFORESTER_OPTIONS_H//#include <string>#ifndef WIN32
#include "config.h"
#endif
#ifndef HAVE_LIBRNA#undef HAVE_LIBG2#endif#include "Arguments.h"#include "types.h"class RNAforesterOptions{ private: struct OptionsInfo { string tag; string parameter; string filler; string description; bool hidden; }; public: enum RNAforesterOption { Help=0, Version, OutputAlignmentDotFormat, CalculateDistance, RelativeScore, LocalSimilarity, LocalSubopts, SmallInLarge, Multiple, ClusterThreshold, ClusterJoinCutoff,#ifdef HAVE_LIBRNA // This features require the ViennaRNA library PredictProfile, PredictMinPairProb,#endif SaveProfile, ProfileSearch, TreeEdit, GlobalAlignment, BpRepScore, BpDelScore, BMatchScore, BRepScore, BDelScore, RIBOSUMScore, ConsensusMinPairProb,#ifdef HAVE_LIBG2 // This features require the g2 library MakeSquigglePlot, SquiggleHideBaseNumbers, SquiggleBaseNumberInterval, SquiggleGreyColors, SquiggleScaleFactor, SquiggleGenerateFIG,#ifdef HAVE_LIBGD // This features require the gd library SquiggleGeneratePNG, SquiggleGenerateJPG,#endif#endif ShowOnlyScore, FastaOutput, ReadFromFile, NoScale, MakeDotForInputTrees,#ifdef HAVE_LIBRNA // This features require the ViennaRNA library GenerateXML,#endif SpaceTimeInfo, SecretHelp, NumberOfOptions, // this must always be the last entry in the enum }; class IncompatibleException { private: string m_tag1; string m_tag2; public: IncompatibleException(string tag1,string tag2) : m_tag1(tag1), m_tag2(tag2) {}; void showError(); }; class RequiresException { private: string m_tag1; string m_tag2; public: RequiresException(string tag1,string tag2) : m_tag1(tag1), m_tag2(tag2) {}; void showError(); }; RNAforesterOptions(int argc, const char **argv); ~RNAforesterOptions(); bool has(RNAforesterOption option) const; template<class T> void get(RNAforesterOption option, T &var, T def) const { m_args->get(m_options[option].tag,var,def); } void help(); void secretHelp(); string generateFilename(RNAforesterOption option, const string &suffix, const string &defName, Uint count=0) const;private: OptionsInfo *m_options; Arguments *m_args; const char **m_argv; inline void setOption(RNAforesterOption,string tag, string parameter, string filler, string description, bool hidden); void exclude(RNAforesterOption opt1, RNAforesterOption opt2); void requires(RNAforesterOption opt1, RNAforesterOption opt2);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -