OpenMS
TOPPBase.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2023.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Marc Sturm, Clemens Groepl $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
41 
44 
46 
48 
49 #include <fstream>
50 
51 #include <QString>
52 
53 class QStringList;
54 
55 namespace OpenMS
56 {
57  class FeatureMap;
58  class ConsensusMap;
59  struct ParameterInformation;
60 
73  struct Citation
74  {
75  std::string authors;
76  std::string title;
77  std::string when_where;
78  std::string doi;
79 
81  std::string toString() const
82  {
83  return authors + ". " + title + ". " + when_where + ". doi:" + doi + ".";
84  }
85  };
86 
87  namespace Exception
88  {
90  class OPENMS_DLLAPI UnregisteredParameter :
92  {
93 public:
94  UnregisteredParameter(const char* file, int line, const char* function, const String& parameter) :
95  BaseException(file, line, function, "UnregisteredParameter", parameter)
96  {
98  }
99 
100  };
102  class OPENMS_DLLAPI WrongParameterType :
104  {
105 public:
106  WrongParameterType(const char* file, int line, const char* function, const String& parameter) :
107  BaseException(file, line, function, "WrongParameterType", parameter)
108  {
110  }
111 
112  };
114  class OPENMS_DLLAPI RequiredParameterNotGiven :
116  {
117 public:
118  RequiredParameterNotGiven(const char* file, int line, const char* function, const String& parameter) :
119  BaseException(file, line, function, "RequiredParameterNotGiven", parameter)
120  {
122  }
123 
124  };
125  }
126 
147  class OPENMS_DLLAPI TOPPBase
148  {
149 public:
150 
153  {
167  UNEXPECTED_RESULT
168  };
169 
170 
171 
173  TOPPBase() = delete;
174 
176  TOPPBase(const TOPPBase&) = delete;
177 
188  TOPPBase(const String& name, const String& description, bool official = true, const std::vector<Citation>& citations = {}, bool toolhandler_test = true);
189 
191  virtual ~TOPPBase();
192 
194  ExitCodes main(int argc, const char** argv);
195 
203  static void setMaxNumberOfThreads(int num_threads);
204 
213 
214 private:
217 
220 
223 
226 
229 
232 
235 
238 
241 
244 
246  mutable std::ofstream log_;
247 
256  void enableLogging_() const;
257 
259  std::vector<ParameterInformation> parameters_;
260 
270  virtual Param getSubsectionDefaults_(const String& section) const;
271 
280 
282  std::map<String, String> subsections_;
283 
285  std::map<String, String> subsections_TOPP_;
286 
287 
300  Param parseCommandLine_(const int argc, const char** argv, const String& misc = "misc", const String& unknown = "unknown");
301 
311  String getParamAsString_(const String& key, const String& default_value = "") const;
312 
318  Int getParamAsInt_(const String& key, Int default_value = 0) const;
319 
325  double getParamAsDouble_(const String& key, double default_value = 0) const;
326 
332  StringList getParamAsStringList_(const String& key, const StringList& default_value) const;
333 
339  IntList getParamAsIntList_(const String& key, const IntList& default_value) const;
340 
346  DoubleList getParamAsDoubleList_(const String& key, const DoubleList& default_value) const;
347 
357  bool getParamAsBool_(const String& key) const;
358 
370  const ParamValue& getParam_(const String& key) const;
371 
377  String getSubsection_(const String& name) const;
378 
381 
384 
388 
389 protected:
392 
395 
397  bool official_;
398 
400  std::vector<Citation> citations_;
401 
404 
412  const String& getIniLocation_() const
413  {
414  return ini_location_;
415  }
416 
418  const String& toolName_() const;
419 
440  virtual void registerOptionsAndFlags_() = 0;
441 
444 
446  std::vector<ParameterInformation> paramToParameterInformation_(const Param& param) const;
447 
457  ParameterInformation paramEntryToParameterInformation_(const Param::ParamEntry& entry, const String& argument = "", const String& full_name = "") const;
458 
460 
462  void registerFullParam_(const Param& param);
463 
474  void registerStringOption_(const String& name, const String& argument, const String& default_value, const String& description, bool required = true, bool advanced = false);
475 
482  void setValidStrings_(const String& name, const std::vector<String>& strings);
483 
493  void setValidStrings_(const String& name, const std::string vstrings[], int count);
494 
512  void registerInputFile_(const String& name, const String& argument, const String& default_value, const String& description, bool required = true, bool advanced = false, const StringList& tags = StringList());
513 
527  void registerOutputFile_(const String& name, const String& argument, const String& default_value, const String& description, bool required = true, bool advanced = false);
528 
549  void registerOutputPrefix_(const String& name, const String& argument, const String& default_value, const String& description, bool required = true, bool advanced = false);
550 
563  void setValidFormats_(const String& name, const std::vector<String>& formats, const bool force_OpenMS_format = true);
564 
565 
576  void registerDoubleOption_(const String& name, const String& argument, double default_value, const String& description, bool required = true, bool advanced = false);
577 
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);
602 
613  void registerIntOption_(const String& name, const String& argument,
614  Int default_value, const String& description,
615  bool required = true, bool advanced = false);
616 
628  void registerIntList_(const String& name, const String& argument, const IntList& default_value, const String& description, bool required = true, bool advanced = false);
629 
640  void registerDoubleList_(const String& name, const String& argument, const DoubleList& default_value, const String& description, bool required = true, bool advanced = false);
641 
652  void registerStringList_(const String& name, const String& argument, const StringList& default_value, const String& description, bool required = true, bool advanced = false);
653 
670  void registerInputFileList_(const String& name, const String& argument, const StringList& default_value, const String& description, bool required = true, bool advanced = false, const StringList& tags = StringList());
671 
685  void registerOutputFileList_(const String& name, const String& argument, const StringList& default_value, const String& description, bool required = true, bool advanced = false);
686 
688  void registerFlag_(const String& name, const String& description, bool advanced = false);
689 
697  void registerSubsection_(const String& name, const String& description);
698 
708  void registerTOPPSubsection_(const String& name, const String& description);
709 
710 
713 
714 
723  String getStringOption_(const String& name) const;
724 
733  double getDoubleOption_(const String& name) const;
734 
743  Int getIntOption_(const String& name) const;
744 
753  StringList getStringList_(const String& name) const;
754 
763  IntList getIntList_(const String& name) const;
764 
773  DoubleList getDoubleList_(const String& name) const;
774 
776  bool getFlag_(const String& name) const;
777 
783  const ParameterInformation& findEntry_(const String& name) const;
784 
790  Param const& getParam_() const;
791 
805  void checkParam_(const Param& param, const String& filename, const String& location) const;
806 
817  void fileParamValidityCheck_(const StringList& param_value, const String& param_name, const ParameterInformation& p) const;
818 
834  void fileParamValidityCheck_(String& param_value, const String& param_name, const ParameterInformation& p) const;
835 
843  void checkIfIniParametersAreApplicable_(const Param& ini_params);
845 
847  void printUsage_();
848 
850  virtual ExitCodes main_(int argc, const char** argv) = 0;
851 
853 
854  void writeLogInfo_(const String& text) const;
856 
858  void writeLogWarn_(const String& text) const;
859 
861  void writeLogError_(const String& text) const;
862 
864  void writeDebug_(const String& text, UInt min_level) const;
865 
867  void writeDebug_(const String& text, const Param& param, UInt min_level) const;
869 
871 
872  ExitCodes runExternalProcess_(const QString& executable, const QStringList& arguments, const QString& workdir = "") const;
874 
877  ExitCodes runExternalProcess_(const QString& executable, const QStringList& arguments, String& proc_stdout, String& proc_stderr, const QString& workdir = "") const;
879 
906  void inputFileReadable_(const String& filename, const String& param_name) const;
907 
918  void outputFileWritable_(const String& filename, const String& param_name) const;
920 
928  bool parseRange_(const String& text, double& low, double& high) const;
929 
937  bool parseRange_(const String& text, Int& low, Int& high) const;
938 
941 
943 
944 
946  void addDataProcessing_(ConsensusMap& map, const DataProcessing& dp) const;
947 
949  void addDataProcessing_(FeatureMap& map, const DataProcessing& dp) const;
950 
952  void addDataProcessing_(PeakMap& map, const DataProcessing& dp) const;
953 
956 
958  DataProcessing getProcessingInfo_(const std::set<DataProcessing::ProcessingAction>& actions) const;
959 
961 
963  bool writeCTD_();
964 
977 
980 
982  static const Citation cite_openms_;
983 
986 private:
987 
993  void addText_(const String& text);
994 
1003 
1004  };
1005 
1006 } // namespace OpenMS
1007 
const char * tool_name
Definition: FLASHDeconvWizard.cpp:79
A container for consensus elements.
Definition: ConsensusMap.h:92
Description of the applied preprocessing steps.
Definition: DataProcessing.h:53
ProcessingAction
Definition: DataProcessing.h:59
Exception base class.
Definition: Exception.h:91
static GlobalExceptionHandler & getInstance()
The accessor for the singleton. It also serves as a replacement for the constructor.
Definition: GlobalExceptionHandler.h:88
static void setMessage(const std::string &message)
A required parameter was not given.
Definition: TOPPBase.h:116
RequiredParameterNotGiven(const char *file, int line, const char *function, const String &parameter)
Definition: TOPPBase.h:118
An unregistered parameter was accessed.
Definition: TOPPBase.h:92
UnregisteredParameter(const char *file, int line, const char *function, const String &parameter)
Definition: TOPPBase.h:94
A parameter was accessed with the wrong type.
Definition: TOPPBase.h:104
WrongParameterType(const char *file, int line, const char *function, const String &parameter)
Definition: TOPPBase.h:106
A container for features.
Definition: FeatureMap.h:106
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:72
Class to hold strings, numeric values, vectors of strings and vectors of numeric values using the stl...
Definition: ParamValue.h:55
Management and storage of parameters / INI files.
Definition: Param.h:70
LogType
Possible log types.
Definition: ProgressLogger.h:69
A more convenient string class.
Definition: String.h:60
Base class for TOPP applications.
Definition: TOPPBase.h:148
Param param_inifile_
All parameters specified in the ini file.
Definition: TOPPBase.h:231
StringList getParamAsStringList_(const String &key, const StringList &default_value) const
Return the value of parameter key as a StringList or default_value if this value is not set.
String const ini_location_
Location in the ini file where to look for parameters.
Definition: TOPPBase.h:225
const ParamValue & getParam_(const String &key) const
Return the value key of parameters as DataValue. ParamValue::EMPTY indicates that a parameter was not...
TOPPBase(const String &name, const String &description, bool official=true, const std::vector< Citation > &citations={}, bool toolhandler_test=true)
Constructor.
void inputFileReadable_(const String &filename, const String &param_name) const
Checks if an input file exists, is readable and is not empty.
void registerInputFileList_(const String &name, const String &argument, const StringList &default_value, const String &description, bool required=true, bool advanced=false, const StringList &tags=StringList())
Registers a list of input files option.
String const tool_description_
Tool description. This is assigned once and for all in the constructor.
Definition: TOPPBase.h:219
void registerOutputFileList_(const String &name, const String &argument, const StringList &default_value, const String &description, bool required=true, bool advanced=false)
Registers a list of output files option.
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
void addEmptyLine_()
Adds an empty line between registered variables in the documentation.
String getParamAsString_(const String &key, const String &default_value="") const
Return the value of parameter key as a string or default_value if this value is not set.
virtual Param getSubsectionDefaults_(const String &section) const
This method should return the default parameters for subsections.
std::ofstream log_
Log file stream. Use the writeLog_() and writeDebug_() methods to access it.
Definition: TOPPBase.h:246
void registerInputFile_(const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false, const StringList &tags=StringList())
Registers an input file option.
Param const & getParam_() const
Return all parameters relevant to this TOPP tool.
void enableLogging_() const
Ensures that at least some default logging destination is opened for writing in append mode.
bool toolhandler_test_
Enable the ToolHandler tests.
Definition: TOPPBase.h:403
Int getParamAsInt_(const String &key, Int default_value=0) const
Return the value of parameter key as an integer or default_value if this value is not set.
Param param_
All parameters relevant to this invocation of the program.
Definition: TOPPBase.h:228
bool getFlag_(const String &name) const
Returns the value of a previously registered flag.
void writeDebug_(const String &text, UInt min_level) const
Writes a string to the log file and to OPENMS_LOG_DEBUG if the debug level is at least min_level.
std::vector< ParameterInformation > paramToParameterInformation_(const Param &param) const
Translates the given parameter object into a vector of ParameterInformation, that can be utilized for...
void registerStringList_(const String &name, const String &argument, const StringList &default_value, const String &description, bool required=true, bool advanced=false)
Registers a list of strings option.
ExitCodes runExternalProcess_(const QString &executable, const QStringList &arguments, String &proc_stdout, String &proc_stderr, const QString &workdir="") const
static String topp_ini_file_
.TOPP.ini file for storing system default parameters
Definition: TOPPBase.h:979
std::vector< ParameterInformation > parameters_
Storage location for parameter information.
Definition: TOPPBase.h:259
Param parseCommandLine_(const int argc, const char **argv, const String &misc="misc", const String &unknown="unknown")
Parses command line arguments using parameter definitions from TOPPBase.
double getParamAsDouble_(const String &key, double default_value=0) const
Return the value of parameter key as a double or default_value if this value is not set.
String getParamArgument_(const Param::ParamEntry &entry) const
Utility function that determines a suitable argument value for the given Param::ParamEntry.
virtual ~TOPPBase()
Destructor.
static const Citation cite_openms_
The OpenMS citation.
Definition: TOPPBase.h:982
void registerTOPPSubsection_(const String &name, const String &description)
Registers an allowed subsection in the INI file originating from the TOPP tool itself.
void printUsage_()
Prints the tool-specific command line options and appends the common options.
void registerIntList_(const String &name, const String &argument, const IntList &default_value, const String &description, bool required=true, bool advanced=false)
Registers a list of integers option.
String version_
Version string (if empty, the OpenMS/TOPP version is printed)
Definition: TOPPBase.h:391
void addDataProcessing_(FeatureMap &map, const DataProcessing &dp) const
Data processing setter for feature maps.
Param param_instance_
Parameters from instance section.
Definition: TOPPBase.h:237
Int const instance_number_
Instance number.
Definition: TOPPBase.h:222
void setValidFormats_(const String &name, const std::vector< String > &formats, const bool force_OpenMS_format=true)
Sets the formats for a input/output file option or for all members of an input/output file lists.
void setMinInt_(const String &name, Int min)
Sets the minimum value for the integer parameter(can be a list of integers,too) name.
void registerIntOption_(const String &name, const String &argument, Int default_value, const String &description, bool required=true, bool advanced=false)
Registers an integer option.
void setValidStrings_(const String &name, const std::string vstrings[], int count)
Sets the valid strings for a string option or a whole string list.
std::vector< Citation > citations_
Papers, specific for this tool (will be shown in '–help')
Definition: TOPPBase.h:400
DataProcessing getProcessingInfo_(const std::set< DataProcessing::ProcessingAction > &actions) const
Returns the data processing information.
ProgressLogger::LogType log_type_
Type of progress logging.
Definition: TOPPBase.h:940
void registerFlag_(const String &name, const String &description, bool advanced=false)
Registers a flag.
void setMaxInt_(const String &name, Int max)
Sets the maximum value for the integer parameter(can be a list of integers,too) name.
StringList getStringList_(const String &name) const
Returns the value of a previously registered StringList.
void addText_(const String &text)
String verboseVersion_
Version string including additional revision/date time information. Note: This differs from version_ ...
Definition: TOPPBase.h:394
Param getToolUserDefaults_(const String &tool_name) const
Returns the user defaults for the given tool, if any default parameters are stored in the users home.
void writeLogWarn_(const String &text) const
Writes a string to the log file and to OPENMS_LOG_WARN.
bool test_mode_
Test mode.
Definition: TOPPBase.h:976
ExitCodes main(int argc, const char **argv)
Main routine of all TOPP applications.
String const tool_name_
Tool name. This is assigned once and for all in the constructor.
Definition: TOPPBase.h:216
void addDataProcessing_(PeakMap &map, const DataProcessing &dp) const
Data processing setter for peak maps.
TOPPBase()=delete
No default constructor.
String getStringOption_(const String &name) const
Returns the value of a previously registered string option.
void writeDebug_(const String &text, const Param &param, UInt min_level) const
Writes a String followed by a Param to the log file and to OPENMS_LOG_DEBUG if the debug level is at ...
void setValidStrings_(const String &name, const std::vector< String > &strings)
Sets the valid strings for a string option or a whole string list.
std::map< String, String > subsections_TOPP_
Storage location and description for allowed subsections from TOPP tool's command-line parameters.
Definition: TOPPBase.h:285
void outputFileWritable_(const String &filename, const String &param_name) const
Checks if an output file is writable.
virtual void registerOptionsAndFlags_()=0
Sets the valid command line options (with argument) and flags (without argument).
DataProcessing getProcessingInfo_(DataProcessing::ProcessingAction action) const
Returns the data processing information.
Param param_common_tool_
Parameters from common section with tool name.
Definition: TOPPBase.h:240
IntList getIntList_(const String &name) const
Returns the value of a previously registered IntList.
Int debug_level_
Debug level set by -debug.
Definition: TOPPBase.h:985
TOPPBase(const TOPPBase &)=delete
No default copy constructor.
IntList getParamAsIntList_(const String &key, const IntList &default_value) const
Return the value of parameter key as a IntList or default_value if this value is not set.
bool official_
Flag indicating if this an official TOPP tool.
Definition: TOPPBase.h:397
Param getDefaultParameters_() const
Returns the default parameters.
void registerOutputFile_(const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
Registers an output file option.
void registerDoubleOption_(const String &name, const String &argument, double default_value, const String &description, bool required=true, bool advanced=false)
Registers a double option.
Param param_cmdline_
Parameters from command line.
Definition: TOPPBase.h:234
String getDocumentationURL() const
Returns a link to the documentation of the tool (accessible on our servers and only after inclusion i...
void registerDoubleList_(const String &name, const String &argument, const DoubleList &default_value, const String &description, bool required=true, bool advanced=false)
Registers a list of doubles option.
void setMaxFloat_(const String &name, double max)
Sets the maximum value for the floating point parameter(can be a list of floating points,...
bool writeCTD_()
Write common tool description (CTD) file.
void setMinFloat_(const String &name, double min)
Sets the minimum value for the floating point parameter(can be a list of floating points,...
static void setMaxNumberOfThreads(int num_threads)
Sets the maximal number of usable threads.
void registerParamSubsectionsAsTOPPSubsections_(const Param &param)
String getToolPrefix() const
Returns the prefix used to identify the tool.
ExitCodes
Exit codes.
Definition: TOPPBase.h:153
@ INPUT_FILE_EMPTY
Definition: TOPPBase.h:158
@ INPUT_FILE_CORRUPT
Definition: TOPPBase.h:157
@ ILLEGAL_PARAMETERS
Definition: TOPPBase.h:160
@ MISSING_PARAMETERS
Definition: TOPPBase.h:161
@ EXTERNAL_PROGRAM_ERROR
Definition: TOPPBase.h:163
@ INCOMPATIBLE_INPUT_DATA
Definition: TOPPBase.h:165
@ UNKNOWN_ERROR
Definition: TOPPBase.h:162
@ EXECUTION_OK
Definition: TOPPBase.h:154
@ INTERNAL_ERROR
Definition: TOPPBase.h:166
@ INPUT_FILE_NOT_FOUND
Definition: TOPPBase.h:155
@ INPUT_FILE_NOT_READABLE
Definition: TOPPBase.h:156
@ CANNOT_WRITE_OUTPUT_FILE
Definition: TOPPBase.h:159
@ PARSE_ERROR
Definition: TOPPBase.h:164
bool parseRange_(const String &text, Int &low, Int &high) const
Parses a range string ([a]:[b]) into two variables (integers)
void registerStringOption_(const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
Registers a string option.
virtual ExitCodes main_(int argc, const char **argv)=0
The actual "main" method. main_() is invoked by main().
const ParameterInformation & findEntry_(const String &name) const
Finds the entry in the parameters_ array that has the name name.
std::map< String, String > subsections_
Storage location and description for allowed subsections.
Definition: TOPPBase.h:282
void fileParamValidityCheck_(String &param_value, const String &param_name, const ParameterInformation &p) const
checks if an input file exists (respecting the flags)
double getDoubleOption_(const String &name) const
Returns the value of a previously registered double option.
bool parseRange_(const String &text, double &low, double &high) const
Parses a range string ([a]:[b]) into two variables (doubles)
void checkIfIniParametersAreApplicable_(const Param &ini_params)
Checks if the parameters of the provided ini file are applicable to this tool.
String getSubsection_(const String &name) const
Get the part of a parameter name that makes up the subsection.
void checkParam_(const Param &param, const String &filename, const String &location) const
Checks top-level entries of param according to the information during registration.
void addDataProcessing_(ConsensusMap &map, const DataProcessing &dp) const
Data processing setter for consensus maps.
Param getSubsectionDefaults_() const
Returns a single Param object containing all subsection parameters.
const String & toolName_() const
Returns the tool name.
void registerOutputPrefix_(const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
Registers an output file prefix used for tools with multiple file output.
void writeLogError_(const String &text) const
Writes a string to the log file and to OPENMS_LOG_ERROR.
void registerSubsection_(const String &name, const String &description)
Registers an allowed subsection in the INI file (usually from OpenMS algorithms).
ParameterInformation paramEntryToParameterInformation_(const Param::ParamEntry &entry, const String &argument="", const String &full_name="") const
Transforms a ParamEntry object to command line parameter (ParameterInformation).
DoubleList getParamAsDoubleList_(const String &key, const DoubleList &default_value) const
Return the value of parameter key as a DoubleList or default_value if this value is not set.
void registerFullParam_(const Param &param)
Register command line parameters for all entries in a Param object.
void fileParamValidityCheck_(const StringList &param_value, const String &param_name, const ParameterInformation &p) const
checks if files of an input file list exist
ParameterInformation & getParameterByName_(const String &name)
Returns the parameter identified by the given name.
Param param_common_
Parameters from common section without tool name.
Definition: TOPPBase.h:243
Int getIntOption_(const String &name) const
Returns the value of a previously registered integer option.
bool getParamAsBool_(const String &key) const
Return the value of flag parameter key as bool.
DoubleList getDoubleList_(const String &name) const
Returns the value of a previously registered DoubleList.
int Int
Signed integer type.
Definition: Types.h:102
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
std::vector< Int > IntList
Vector of signed integers.
Definition: ListUtils.h:55
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
std::vector< double > DoubleList
Vector of double precision real types.
Definition: ListUtils.h:62
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48
Stores Citations for individual TOPP tools.
Definition: TOPPBase.h:74
std::string toString() const
mangle members to string
Definition: TOPPBase.h:81
std::string when_where
suggested format: journal. year; volume, issue: pages
Definition: TOPPBase.h:77
std::string authors
list of authors in AMA style, i.e. "surname initials", ...
Definition: TOPPBase.h:75
std::string title
title of article
Definition: TOPPBase.h:76
std::string doi
plain DOI (no urls), e.g. 10.1021/pr100177k
Definition: TOPPBase.h:78
Parameter entry used to store the actual information inside of a Param entry.
Definition: Param.h:75
Struct that captures all information of a command line parameter.
Definition: ParameterInformation.h:48