59 struct ParameterInformation;
95 BaseException(file, line, function,
"UnregisteredParameter", parameter)
107 BaseException(file, line, function,
"WrongParameterType", parameter)
119 BaseException(file, line, function,
"RequiredParameterNotGiven", parameter)
188 TOPPBase(
const String& name,
const String& description,
bool official =
true,
const std::vector<Citation>& citations = {},
bool toolhandler_test =
true);
194 ExitCodes
main(
int argc,
const char** argv);
203 static void setMaxNumberOfThreads(
int num_threads);
212 String getToolPrefix()
const;
256 void enableLogging_()
const;
270 virtual Param getSubsectionDefaults_(
const String& section)
const;
279 Param getSubsectionDefaults_()
const;
300 Param parseCommandLine_(
const int argc,
const char** argv,
const String& misc =
"misc",
const String& unknown =
"unknown");
318 Int getParamAsInt_(
const String& key,
Int default_value = 0)
const;
325 double getParamAsDouble_(
const String& key,
double default_value = 0)
const;
357 bool getParamAsBool_(
const String& key)
const;
380 String getDocumentationURL()
const;
383 Param getDefaultParameters_()
const;
414 return ini_location_;
418 const String& toolName_()
const;
440 virtual void registerOptionsAndFlags_() = 0;
446 std::vector<ParameterInformation> paramToParameterInformation_(
const Param& param)
const;
459 void registerParamSubsectionsAsTOPPSubsections_(
const Param& param);
462 void registerFullParam_(
const Param& param);
474 void registerStringOption_(
const String& name,
const String& argument,
const String& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
482 void setValidStrings_(
const String& name,
const std::vector<String>& strings);
493 void setValidStrings_(
const String& name,
const std::string vstrings[],
int count);
527 void registerOutputFile_(
const String& name,
const String& argument,
const String& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
549 void registerOutputPrefix_(
const String& name,
const String& argument,
const String& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
563 void setValidFormats_(
const String& name,
const std::vector<String>& formats,
const bool force_OpenMS_format =
true);
576 void registerDoubleOption_(
const String& name,
const String& argument,
double default_value,
const String& description,
bool required =
true,
bool advanced =
false);
583 void setMinInt_(
const String& name,
Int min);
589 void setMaxInt_(
const String& name,
Int max);
595 void setMinFloat_(
const String& name,
double min);
601 void setMaxFloat_(
const String& name,
double max);
613 void registerIntOption_(
const String& name,
const String& argument,
614 Int default_value,
const String& description,
615 bool required =
true,
bool advanced =
false);
628 void registerIntList_(
const String& name,
const String& argument,
const IntList& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
640 void registerDoubleList_(
const String& name,
const String& argument,
const DoubleList& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
652 void registerStringList_(
const String& name,
const String& argument,
const StringList& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
685 void registerOutputFileList_(
const String& name,
const String& argument,
const StringList& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
688 void registerFlag_(
const String& name,
const String& description,
bool advanced =
false);
697 void registerSubsection_(
const String& name,
const String& description);
708 void registerTOPPSubsection_(
const String& name,
const String& description);
712 void addEmptyLine_();
733 double getDoubleOption_(
const String& name)
const;
743 Int getIntOption_(
const String& name)
const;
776 bool getFlag_(
const String& name)
const;
790 Param const& getParam_()
const;
805 void checkParam_(
const Param& param,
const String& filename,
const String& location)
const;
843 void checkIfIniParametersAreApplicable_(
const Param& ini_params);
850 virtual ExitCodes main_(
int argc,
const char** argv) = 0;
854 void writeLogInfo_(
const String& text)
const;
858 void writeLogWarn_(
const String& text)
const;
861 void writeLogError_(
const String& text)
const;
864 void writeDebug_(
const String& text,
UInt min_level)
const;
867 void writeDebug_(
const String& text,
const Param& param,
UInt min_level)
const;
872 ExitCodes runExternalProcess_(
const QString& executable,
const QStringList& arguments,
const QString& workdir =
"")
const;
877 ExitCodes runExternalProcess_(
const QString& executable,
const QStringList& arguments,
String& proc_stdout,
String& proc_stderr,
const QString& workdir =
"")
const;
906 void inputFileReadable_(
const String& filename,
const String& param_name)
const;
918 void outputFileWritable_(
const String& filename,
const String& param_name)
const;
928 bool parseRange_(
const String& text,
double& low,
double& high)
const;
937 bool parseRange_(
const String& text,
Int& low,
Int& high)
const;
958 DataProcessing getProcessingInfo_(
const std::set<DataProcessing::ProcessingAction>& actions)
const;
993 void addText_(
const String& text);
String verboseVersion_
Version string including additional revision/date time information. Note: This differs from version_ ...
Definition: TOPPBase.h:394
Definition: TOPPBase.h:161
Description of the applied preprocessing steps.
Definition: DataProcessing.h:51
std::map< String, String > subsections_TOPP_
Storage location and description for allowed subsections from TOPP tool's command-line parameters...
Definition: TOPPBase.h:285
An unregistered parameter was accessed.
Definition: TOPPBase.h:90
Definition: TOPPBase.h:154
Definition: TOPPBase.h:157
A more convenient string class.
Definition: String.h:58
std::string doi
plain DOI (no urls), e.g. 10.1021/pr100177k
Definition: TOPPBase.h:78
std::vector< double > DoubleList
Vector of double precision real types.
Definition: ListUtils.h:62
LogType
Possible log types.
Definition: ProgressLogger.h:68
UnregisteredParameter(const char *file, int line, const char *function, const String ¶meter)
Definition: TOPPBase.h:94
RequiredParameterNotGiven(const char *file, int line, const char *function, const String ¶meter)
Definition: TOPPBase.h:118
std::ofstream log_
Log file stream. Use the writeLog_() and writeDebug_() methods to access it.
Definition: TOPPBase.h:246
A container for features.
Definition: FeatureMap.h:98
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
bool official_
Flag indicating if this an official TOPP tool.
Definition: TOPPBase.h:397
bool toolhandler_test_
Enable the ToolHandler tests.
Definition: TOPPBase.h:403
Parameter entry used to store the actual information inside of a Param entry.
Definition: Param.h:74
A container for consensus elements.
Definition: ConsensusMap.h:83
std::vector< Int > IntList
Vector of signed integers.
Definition: ListUtils.h:55
static const Citation cite_openms_
The OpenMS citation.
Definition: TOPPBase.h:982
Definition: TOPPBase.h:162
Definition: TOPPBase.h:158
std::map< String, String > subsections_
Storage location and description for allowed subsections.
Definition: TOPPBase.h:282
Definition: TOPPBase.h:164
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
bool test_mode_
Test mode.
Definition: TOPPBase.h:976
std::string toString() const
mangle members to string
Definition: TOPPBase.h:81
Definition: TOPPBase.h:163
Base class for TOPP applications.
Definition: TOPPBase.h:147
const String & getIniLocation_() const
Returns the location of the ini file where parameters are taken from. E.g. if the command line was TO...
Definition: TOPPBase.h:412
static GlobalExceptionHandler & getInstance()
The accessor for the singleton. It also serves as a replacement for the constructor.
Definition: GlobalExceptionHandler.h:88
Definition: TOPPBase.h:160
A parameter was accessed with the wrong type.
Definition: TOPPBase.h:102
Definition: TOPPBase.h:159
Param param_cmdline_
Parameters from command line.
Definition: TOPPBase.h:234
Stores Citations for individual TOPP tools.
Definition: TOPPBase.h:73
Param param_common_tool_
Parameters from common section with tool name.
Definition: TOPPBase.h:240
ProcessingAction
Definition: DataProcessing.h:58
Definition: TOPPBase.h:165
std::string title
title of article
Definition: TOPPBase.h:76
Definition: TOPPBase.h:166
std::vector< Citation > citations_
Papers, specific for this tool (will be shown in '–help')
Definition: TOPPBase.h:400
Exception base class.
Definition: Exception.h:89
Param param_common_
Parameters from common section without tool name.
Definition: TOPPBase.h:243
String version_
Version string (if empty, the OpenMS/TOPP version is printed)
Definition: TOPPBase.h:391
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
Management and storage of parameters / INI files.
Definition: Param.h:69
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:70
WrongParameterType(const char *file, int line, const char *function, const String ¶meter)
Definition: TOPPBase.h:106
Definition: TOPPBase.h:156
const char * tool_name
Definition: SwathWizard.cpp:145
std::string authors
list of authors in AMA style, i.e. "surname initials", ...
Definition: TOPPBase.h:75
static void setMessage(const std::string &message)
String const tool_name_
Tool name. This is assigned once and for all in the constructor.
Definition: TOPPBase.h:216
Param param_
All parameters relevant to this invocation of the program.
Definition: TOPPBase.h:228
Definition: TOPPBase.h:155
std::vector< ParameterInformation > parameters_
Storage location for parameter information.
Definition: TOPPBase.h:259
int main(int argc, const char **argv)
Definition: INIFileEditor.cpp:71
Class to hold strings, numeric values, vectors of strings and vectors of numeric values using the stl...
Definition: ParamValue.h:54
ExitCodes
Exit codes.
Definition: TOPPBase.h:152
String const ini_location_
Location in the ini file where to look for parameters.
Definition: TOPPBase.h:225
String const tool_description_
Tool description. This is assigned once and for all in the constructor.
Definition: TOPPBase.h:219
Param param_inifile_
All parameters specified in the ini file.
Definition: TOPPBase.h:231
int Int
Signed integer type.
Definition: Types.h:102
Param param_instance_
Parameters from instance section.
Definition: TOPPBase.h:237
std::string when_where
suggested format: journal. year; volume, issue: pages
Definition: TOPPBase.h:77
Int debug_level_
Debug level set by -debug.
Definition: TOPPBase.h:985
ProgressLogger::LogType log_type_
Type of progress logging.
Definition: TOPPBase.h:940
Int const instance_number_
Instance number.
Definition: TOPPBase.h:222
static String topp_ini_file_
.TOPP.ini file for storing system default parameters
Definition: TOPPBase.h:979
A required parameter was not given.
Definition: TOPPBase.h:114