35 #ifndef OPENMS_APPLICATIONS_TOPPBASE_H
36 #define OPENMS_APPLICATIONS_TOPPBASE_H
78 BaseException(file, line, function,
"UnregisteredParameter", parameter)
90 BaseException(file, line, function,
"WrongParameterType", parameter)
102 BaseException(file, line, function,
"RequiredParameterNotGiven", parameter)
167 TOPPBase(
const String& name,
const String& description,
bool official =
true,
bool id_tag_support =
false,
bool require_args =
true,
const String& version =
"");
173 ExitCodes
main(
int argc,
const char** argv);
182 static void setMaxNumberOfThreads(
int num_threads);
242 void enableLogging_()
const;
256 virtual Param getSubsectionDefaults_(
const String& section)
const;
265 Param getSubsectionDefaults_()
const;
286 Param parseCommandLine_(
const int argc,
const char** argv,
const String& misc =
"misc",
const String& unknown =
"unknown");
304 Int getParamAsInt_(
const String& key,
Int default_value = 0)
const;
343 bool getParamAsBool_(
const String& key)
const;
366 Param getDefaultParameters_()
const;
391 return ini_location_;
395 const String& toolName_()
const;
417 virtual void registerOptionsAndFlags_() = 0;
423 std::vector<ParameterInformation> paramToParameterInformation_(
const Param& param)
const;
436 void registerParamSubsectionsAsTOPPSubsections_(
const Param& param);
439 void registerFullParam_(
const Param& param);
451 void registerStringOption_(
const String& name,
const String& argument,
const String& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
459 void setValidStrings_(
const String& name,
const std::vector<String>& strings);
491 void registerOutputFile_(
const String& name,
const String& argument,
const String& default_value,
const String& description,
bool required =
true,
bool advanced =
false);
503 void setValidFormats_(
const String& name,
const std::vector<String>& formats,
const bool force_OpenMS_format =
true);
516 void registerDoubleOption_(
const String& name,
const String& argument,
double default_value,
const String& description,
bool required =
true,
bool advanced =
false);
523 void setMinInt_(
const String& name,
Int min);
529 void setMaxInt_(
const String& name,
Int max);
553 void registerIntOption_(
const String& name,
const String& argument,
554 Int default_value,
const String& description,
555 bool required =
true,
bool advanced =
false);
568 void registerIntList_(
const String& name,
const String& argument,
IntList default_value,
const String& description,
bool required =
true,
bool advanced =
false);
580 void registerDoubleList_(
const String& name,
const String& argument,
DoubleList default_value,
const String& description,
bool required =
true,
bool advanced =
false);
592 void registerStringList_(
const String& name,
const String& argument,
StringList default_value,
const String& description,
bool required =
true,
bool advanced =
false);
607 void registerInputFileList_(
const String& name,
const String& argument,
StringList default_value,
const String& description,
bool required =
true,
bool advanced =
false);
622 void registerOutputFileList_(
const String& name,
const String& argument,
StringList default_value,
const String& description,
bool required =
true,
bool advanced =
false);
625 void registerFlag_(
const String& name,
const String& description,
bool advanced =
false);
634 void registerSubsection_(
const String& name,
const String& description);
645 void registerTOPPSubsection_(
const String& name,
const String& description);
649 void addEmptyLine_();
680 Int getIntOption_(
const String& name)
const;
713 bool getFlag_(
const String& name)
const;
727 Param const& getParam_()
const;
742 void checkParam_(
const Param& param,
const String& filename,
const String& location)
const;
752 void checkIfIniParametersAreApplicable_(
const Param& ini_params);
759 virtual ExitCodes main_(
int argc,
const char** argv) = 0;
763 void writeLog_(
const String& text)
const;
767 void writeDebug_(
const String& text,
UInt min_level)
const;
770 void writeDebug_(
const String& text,
const Param& param,
UInt min_level)
const;
798 void inputFileReadable_(
const String& filename,
const String& param_name)
const;
810 void outputFileWritable_(
const String& filename,
const String& param_name)
const;
814 void parseRange_(
const String& text,
double& low,
double& high)
const;
817 void parseRange_(
const String& text,
Int& low,
Int& high)
const;
829 template <
typename FeatureType>
836 template <
typename PeakType,
typename CT>
839 for (
Size i = 0; i < map.
size(); ++i)
841 map[i].getDataProcessing().push_back(dp);
844 for (
Size i = 0; i < chromatograms.size(); ++i)
846 chromatograms[i].getDataProcessing().push_back(dp);
855 DataProcessing getProcessingInfo_(
const std::set<DataProcessing::ProcessingAction>& actions)
const;
866 ExitCodes writeWSDL_(
const String& filename);
893 void addText_(
const String& text);
908 #endif //OPENMS_APPLICATIONS_TOPPBASE_H
String verboseVersion_
Version string including additional revision/date time information. Note: This differs from version_ ...
Definition: TOPPBase.h:377
Definition: TOPPBase.h:144
Descripton 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:271
An unregistered parameter was accessed.
Definition: TOPPBase.h:73
Definition: TOPPBase.h:137
Definition: TOPPBase.h:140
A more convenient string class.
Definition: String.h:56
const char * tool_name
Definition: TOPPAS.C:91
Size size() const
Definition: MSExperiment.h:117
LogType
Possible log types.
Definition: ProgressLogger.h:66
UnregisteredParameter(const char *file, int line, const char *function, const String ¶meter)
Definition: TOPPBase.h:77
RequiredParameterNotGiven(const char *file, int line, const char *function, const String ¶meter)
Definition: TOPPBase.h:101
std::ofstream log_
Log file stream. Use the writeLog_() and writeDebug_() methods to access it.
Definition: TOPPBase.h:232
A container for features.
Definition: FeatureMap.h:111
bool official_
Flag indicating if this an official TOPP tool.
Definition: TOPPBase.h:380
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:60
Definition: TOPPBase.h:145
Definition: TOPPBase.h:141
std::map< String, String > subsections_
Storage location and description for allowed subsections.
Definition: TOPPBase.h:268
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:389
Definition: TOPPBase.h:147
bool test_mode_
Test mode.
Definition: TOPPBase.h:879
Definition: TOPPBase.h:146
Base class for TOPP applications.
Definition: TOPPBase.h:130
static GlobalExceptionHandler & getInstance()
The accessor for the singleton. It also serves as a replacement for the constructor.
Definition: GlobalExceptionHandler.h:89
Class to hold strings, numeric values, lists of strings and lists of numeric values.
Definition: DataValue.h:57
Definition: TOPPBase.h:143
const std::vector< DataProcessing > & getDataProcessing() const
returns a const reference to the description of the applied data processing
Definition: FeatureMap.h:446
A parameter was accessed with the wrong type.
Definition: TOPPBase.h:85
Definition: TOPPBase.h:142
Param param_cmdline_
Parameters from command line.
Definition: TOPPBase.h:220
Tags OpenMS file containers with a DocumentID.
Definition: DocumentIDTagger.h:55
Param param_common_tool_
Parameters from common section with tool name.
Definition: TOPPBase.h:226
ProcessingAction
Definition: DataProcessing.h:58
int main(int argc, const char **argv)
Definition: RNPxl.C:1354
bool id_tag_support_
Tool indicates it supports assignment of unique DocumentID from IDPool.
Definition: TOPPBase.h:193
Definition: TOPPBase.h:148
Definition: TOPPBase.h:149
bool require_args_
Require at least one command line argument, exit immediately otherwise. GUI tools should disable this...
Definition: TOPPBase.h:196
Exception base class.
Definition: Exception.h:90
Param param_common_
Parameters from common section without tool name.
Definition: TOPPBase.h:229
String version_
Version string (if empty, the OpenMS/TOPP version is printed)
Definition: TOPPBase.h:374
DocumentIDTagger id_tagger_
Instance of DocumentIDTagger, which can be accessed using getDocumentIDTagger_()
Definition: TOPPBase.h:199
Management and storage of parameters / INI files.
Definition: Param.h:69
Representation of a mass spectrometry experiment.
Definition: MSExperiment.h:68
WrongParameterType(const char *file, int line, const char *function, const String ¶meter)
Definition: TOPPBase.h:89
void setChromatograms(const std::vector< MSChromatogram< ChromatogramPeakType > > &chromatograms)
sets the chromatogram list
Definition: MSExperiment.h:756
Definition: TOPPBase.h:139
String list.
Definition: StringList.h:56
static void setMessage(const std::string &message)
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
String const tool_name_
Tool name. This is assigned once and for all in the constructor.
Definition: TOPPBase.h:187
Param param_
All parameters relevant to this invocation of the program.
Definition: TOPPBase.h:214
void addDataProcessing_(FeatureMap< FeatureType > &map, const DataProcessing &dp) const
Data processing setter for feature maps.
Definition: TOPPBase.h:830
Definition: TOPPBase.h:138
std::vector< ParameterInformation > parameters_
Storage location for parameter information.
Definition: TOPPBase.h:245
ExitCodes
Exit codes.
Definition: TOPPBase.h:135
String const ini_location_
Location in the ini file where to look for parameters.
Definition: TOPPBase.h:205
String const tool_description_
Tool description. This is assigned once and for all in the constructor.
Definition: TOPPBase.h:190
Param param_inifile_
All parameters specified in the ini file.
Definition: TOPPBase.h:217
int Int
Signed integer type.
Definition: Types.h:100
Param param_instance_
Parameters from instance section.
Definition: TOPPBase.h:223
void addDataProcessing_(MSExperiment< PeakType, CT > &map, const DataProcessing &dp) const
Data processing setter for peak maps.
Definition: TOPPBase.h:837
Int debug_level_
Debug level set by -debug.
Definition: TOPPBase.h:885
DoubleReal list.
Definition: DoubleList.h:56
ProgressLogger::LogType log_type_
Type of progress logging.
Definition: TOPPBase.h:820
const std::vector< MSChromatogram< ChromatogramPeakType > > & getChromatograms() const
returns the chromatogram list
Definition: MSExperiment.h:768
Int const instance_number_
Instance number.
Definition: TOPPBase.h:202
static String topp_ini_file_
.TOPP.ini file for storing system default parameters
Definition: TOPPBase.h:882
Int list.
Definition: IntList.h:56
A required parameter was not given.
Definition: TOPPBase.h:97