In order to run Diana , a configuration file is mandatory. Unless otherwise specifified with option -C, Diana will look for file cfg/diana.cfg The syntax for this file is very simple. The file can define any number of sequences, each of them containing any number of modules. Each module can have any number of input parameters.
A sequence is defined by the two keywords sequence seqname and endseq, being seqname an arbitrary string (no spaces, no special characters!) that will define the name of the sequence.
Within a sequence, a reader and a writer ar mandatory; they are defined by the keywords reader readername and endmod and writer writername and endmod; furthermode any list of additional modules can be defined using the keywords module modname and endmod. A module can be included in the same sequence more than once, and can be present in more than one sequence. Remember that in this case ALL parameters should be written in all module sections, because for the framework parameter A in module B of sequence C, is DIFFERENT from parameter A of module B in sequence D, or of another occurrence of module B in the same sequence C. The parameters "enable" and "verbosity" are mandatory for all modules. "enable" just tell if the module should be run or not. The verbosity set the minimum level of messages will be print on screen and into log file.
Within a module you can add any number of parameters with the simple syntax parname = parvalue. parname can be any string with no spaces. parvalue can be a string, an integer number, a double (float) value and boolean. The type will be automatically defined by the parser: it first checks whether the parameter is a boolean (true or false), then if it is an integer, than a double and otheriwise will treat it as a string. Be careful that this means that if you right 3. the parameter will be understood as double, while 3 will be understood as integer. Other parameter types might be added in the future if needed (for example a type vector, meaning a list of numbers). Right now only bool, int, double and string are implemented.