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