23#include <mach-o/dyld.h>
27#define GENEMODEL_KEY "genemodel"
28#define NONCODING_KEY "nc"
29#define SINGLESTRAND_KEY "singlestrand"
30#define SPECIES_KEY "species"
31#define CFGPATH_KEY "AUGUSTUS_CONFIG_PATH"
32#define INPUTFILE_KEY "queryfile"
33#define SPECIESDIR_KEY "speciesdir"
35#define TRANSFILE_KEY "transfile"
36#define EXTRINSIC_KEY "extrinsic"
37#define EXTRFILE_KEY "extrinsicCfgFile"
38#define EXTERNAL_KEY "optCfgFile"
39#define HINTSFILE_KEY "hintsfile"
40#define ALN_KEY "alnfile"
41#define TREE_KEY "treefile"
42#define DB_KEY "dbaccess"
43#define SEQ_KEY "speciesfilenames"
44#define CODONALN_KEY "codonAlignmentFile"
45#define REF_EXON_KEY "referenceFile"
47#define OVLPLENFILE "ovlp_len.pbl"
70 PropertiesError(
"Properties::getProperty(): no such key \"" + key +
"\".")
76 PropertiesError(
"Properties::getProperty(): property \"" + name +
"\" is not defined as \"" + type +
"\" in configuration file.")
82 PropertiesError(
"Properties::getProperty(): the given value \"" + value +
"\" of property \"" + name +
"\" is not one of the possible values according to the configuration file.")
92 + value +
"\" of key \"" + key +
"\" into " + type +
"." )
198 static void readFile (
string file );
209 static void init (
int argc,
char* argv[] );
213 static Boolean hasProperty(
string name);
221 static void addProperty (
string name,
string value );
225 static Integer getIntProperty (
string name );
230 static Double getDoubleProperty (
string name );
234 static double getdoubleProperty (
string name );
238 static Boolean getBoolProperty (
string name );
242 static const char* getProperty (
string name );
246 static const char* getProperty(
string name,
int index);
252 static string getConfigFilename(
string name)
255 return properties[CFGPATH_KEY] + getProperty(name);
257 return properties[CFGPATH_KEY];
262 static bool assignProperty(
string name, Integer& target)
265 target = getIntProperty(name);
271 static bool assignProperty(
string name,
unsigned& target)
274 target = (unsigned) getIntProperty(name);
280 static bool assignProperty(
string name,
Double& target)
283 target = getDoubleProperty(name);
289 static bool assignProperty(
string name,
double& target)
292 target = getdoubleProperty(name);
298 static bool assignProperty(
string name, Boolean& target)
301 target = getBoolProperty(name);
307 static bool assignProperty(
string name,
string& target)
310 target = getProperty(name);
316 static bool assignProperty(
string name,
const char*& target)
319 target = getProperty(name);
332 static void readLine(istream& strm );
333 static bool hasValue(
const json& list,
const string value);
334 static bool isDefinedType(
const string typeName,
const string paramName);
335 static bool isPossibleValue(
const string value,
const string paramName);
336 static void setDefaultValues();
339 static map<string, string> properties;
340 static json allowedParameters;
347string findLocationOfSelfBinary();
This class implements a double object with a very large range.
Definition lldouble.hh:31
The Properties class.
Definition properties.hh:183
static void addProperty(string name, string value)
Definition properties.cc:457
static void init(int argc, char *argv[])
Definition properties.cc:66
static void readFile(string file)
Definition properties.cc:35
a class to store JSON values
Definition json.hpp:16658
basic_json<> json
default JSON class
Definition json.hpp:2933
Definition properties.hh:99
Definition properties.hh:68
The base exception class for Properties.
Definition properties.hh:56
PropertiesError(string msg)
Definition properties.hh:62
Definition properties.hh:74
Definition properties.hh:80