BALL 1.5.0
Public Member Functions | Static Public Attributes | List of all members
BALL::CommandlineParser Class Reference

#include <BALL/FORMAT/commandlineParser.h>

Public Member Functions

 CommandlineParser (String tool_name, String tool_description, String tool_version, String build_date, String category="")
 
void setToolManual (const String &manual)
 
void registerMandatoryIntegerParameter (const String &name, const String &description)
 
void registerMandatoryIntegerListParameter (const String &name, const String &description)
 
void registerMandatoryDoubleParameter (const String &name, const String &description)
 
void registerMandatoryDoubleListParameter (const String &name, const String &description)
 
void registerMandatoryStringParameter (const String &name, const String &description)
 
void registerMandatoryStringListParameter (const String &name, const String &description)
 
void registerMandatoryInputFile (const String &name, const String &description)
 
void registerMandatoryOutputFile (const String &name, const String &description)
 
void registerMandatoryInputFileList (const String &name, const String &description)
 
void registerMandatoryOutputFileList (const String &name, const String &description)
 
void registerMandatoryGalaxyOutputFolder (const String &name, const String &description)
 
void registerMandatoryGalaxyOutputId (const String &name, const String &description)
 
void registerOptionalIntegerParameter (const String &name, const String &description, int default_value=0)
 
void registerOptionalIntegerListParameter (const String &name, const String &description, const std::vector< int > &default_values=vector< int >())
 
void registerOptionalDoubleParameter (const String &name, const String &description, double default_value=0.0)
 
void registerOptionalDoubleListParameter (const String &name, const String &description, const std::vector< double > &default_values=vector< double >())
 
void registerOptionalStringParameter (const String &name, const String &description, const String &default_value="")
 
void registerOptionalStringListParameter (const String &name, const String &description, const std::vector< String > &default_values=vector< String >())
 
void registerOptionalInputFile (const String &name, const String &description, const String &default_value="")
 
void registerOptionalOutputFile (const String &name, const String &description, const String &default_value="")
 
void registerOptionalInputFileList (const String &name, const String &description, const std::vector< String > &default_values=vector< String >())
 
void registerOptionalOutputFileList (const String &name, const String &description, const std::vector< String > &default_values=vector< String >())
 
void registerOptionalGalaxyOutputFolder (const String &name, const String &description, const String &default_value="")
 
void registerOptionalGalaxyOutputId (const String &name, const String &description, const String &default_value="")
 
void registerFlag (String name, String description, bool default_gui_value=false, bool hidden=false)
 
void registerAdvancedParameters (Options &options)
 
void setParameterAsAdvanced (String name)
 
void setParameterAsHidden (String name)
 
void setParameterRestrictions (String category, String par_name, double min_value, double max_value)
 
void setParameterRestrictions (String par_name, double min_value, double max_value)
 
void setParameterRestrictions (String category, String par_name, int min_value, int max_value)
 
void setParameterRestrictions (String par_name, int min_value, int max_value)
 
void setParameterRestrictions (String category, String par_name, list< String > &allowed_values)
 
void setParameterRestrictions (String par_name, list< String > &allowed_values)
 
void setSupportedFormats (String category, String par_name, String supported_formats)
 
void setSupportedFormats (String par_name, String supported_formats)
 
void parse (int argc, char *argv[])
 
void copyAdvancedParametersToOptions (Options &options)
 
const Stringget (String name)
 
bool has (String name)
 
const list< String > & getList (String name)
 
void printHelp (const std::set< String > &parameter_names=std::set< String >(), bool show_manual=true)
 
void printToolInfo ()
 
const StringgetStartTime ()
 
const StringgetStartCommand ()
 

Static Public Attributes

static const String NOT_FOUND
 
static const list< StringEMTPY_LIST
 

Detailed Description

Class for parsing parameters specified on the command line.
Register the parameters and flags of your tool with registerParameter(), resp. registerFlag() and have the command-line parsed with parse(). After this, you can retrieve the values of all parameters with get().
In addition to this, you can also register a tool-manual text, define restrictions on parameters and register file-formats that are supported for in- or output-files.
If the parameter '-write_par somefilename.xml' is given to the program, an xml-based parameter-file will be automatically written, containing the specification the tool, all its parameters and all parameter values used on the commend-line.
If the parameter '-par somefilename.xml' is used, such a file can be read, so that the parameter-values stored in it will be used. However, if, although this is not necessary, parameters (other than -par) are specified on the command-line, their values will automatically overload those stored in the xml-file.

The parameter '-env' allows to differentiate between command line ('cmdline') behaviour and special adaptions to workflow systems like galaxy or knime.

Definition at line 38 of file commandlineParser.h.

Constructor & Destructor Documentation

◆ CommandlineParser()

BALL::CommandlineParser::CommandlineParser ( String  tool_name,
String  tool_description,
String  tool_version,
String  build_date,
String  category = "" 
)

Member Function Documentation

◆ copyAdvancedParametersToOptions()

void BALL::CommandlineParser::copyAdvancedParametersToOptions ( Options options)

Copies names and values of all advanced parameters to the given Options object.

◆ get()

const String & BALL::CommandlineParser::get ( String  name)

Returns the value for a given parameter name.
Example: For "-o outfile.sdf", CommandlineParser::get("o") will return "outfile.sdf".

◆ getList()

const list< String > & BALL::CommandlineParser::getList ( String  name)

Returns a parameter-list for a given parameter name.
Example: For "-i infile1.sdf infile2.sdf", CommandlineParser::getList("i") will return a vector containing 'infile1.sdf' and infile2.sdf'.

◆ getStartCommand()

const String & BALL::CommandlineParser::getStartCommand ( )

Get the exact command with which the tool was started on the command-line.

◆ getStartTime()

const String & BALL::CommandlineParser::getStartTime ( )

◆ has()

bool BALL::CommandlineParser::has ( String  name)

Find out whether a the parameter or flag has been specified on the command-line.

◆ parse()

void BALL::CommandlineParser::parse ( int  argc,
char *  argv[] 
)

Parse all parameters found in the command line

◆ printHelp()

void BALL::CommandlineParser::printHelp ( const std::set< String > &  parameter_names = std::set< String >(),
bool  show_manual = true 
)

Print information about about all registered parameters.
If 'parameter_names' is specified, only information those parameters is shown.

◆ printToolInfo()

void BALL::CommandlineParser::printToolInfo ( )

◆ registerAdvancedParameters()

void BALL::CommandlineParser::registerAdvancedParameters ( Options options)

◆ registerFlag()

void BALL::CommandlineParser::registerFlag ( String  name,
String  description,
bool  default_gui_value = false,
bool  hidden = false 
)

◆ registerMandatoryDoubleListParameter()

void BALL::CommandlineParser::registerMandatoryDoubleListParameter ( const String name,
const String description 
)

◆ registerMandatoryDoubleParameter()

void BALL::CommandlineParser::registerMandatoryDoubleParameter ( const String name,
const String description 
)

◆ registerMandatoryGalaxyOutputFolder()

void BALL::CommandlineParser::registerMandatoryGalaxyOutputFolder ( const String name,
const String description 
)

◆ registerMandatoryGalaxyOutputId()

void BALL::CommandlineParser::registerMandatoryGalaxyOutputId ( const String name,
const String description 
)

◆ registerMandatoryInputFile()

void BALL::CommandlineParser::registerMandatoryInputFile ( const String name,
const String description 
)

◆ registerMandatoryInputFileList()

void BALL::CommandlineParser::registerMandatoryInputFileList ( const String name,
const String description 
)

◆ registerMandatoryIntegerListParameter()

void BALL::CommandlineParser::registerMandatoryIntegerListParameter ( const String name,
const String description 
)

◆ registerMandatoryIntegerParameter()

void BALL::CommandlineParser::registerMandatoryIntegerParameter ( const String name,
const String description 
)

◆ registerMandatoryOutputFile()

void BALL::CommandlineParser::registerMandatoryOutputFile ( const String name,
const String description 
)

◆ registerMandatoryOutputFileList()

void BALL::CommandlineParser::registerMandatoryOutputFileList ( const String name,
const String description 
)

◆ registerMandatoryStringListParameter()

void BALL::CommandlineParser::registerMandatoryStringListParameter ( const String name,
const String description 
)

◆ registerMandatoryStringParameter()

void BALL::CommandlineParser::registerMandatoryStringParameter ( const String name,
const String description 
)

◆ registerOptionalDoubleListParameter()

void BALL::CommandlineParser::registerOptionalDoubleListParameter ( const String name,
const String description,
const std::vector< double > &  default_values = vector< double >() 
)

◆ registerOptionalDoubleParameter()

void BALL::CommandlineParser::registerOptionalDoubleParameter ( const String name,
const String description,
double  default_value = 0.0 
)

◆ registerOptionalGalaxyOutputFolder()

void BALL::CommandlineParser::registerOptionalGalaxyOutputFolder ( const String name,
const String description,
const String default_value = "" 
)

◆ registerOptionalGalaxyOutputId()

void BALL::CommandlineParser::registerOptionalGalaxyOutputId ( const String name,
const String description,
const String default_value = "" 
)

◆ registerOptionalInputFile()

void BALL::CommandlineParser::registerOptionalInputFile ( const String name,
const String description,
const String default_value = "" 
)

◆ registerOptionalInputFileList()

void BALL::CommandlineParser::registerOptionalInputFileList ( const String name,
const String description,
const std::vector< String > &  default_values = vector< String >() 
)

◆ registerOptionalIntegerListParameter()

void BALL::CommandlineParser::registerOptionalIntegerListParameter ( const String name,
const String description,
const std::vector< int > &  default_values = vector< int >() 
)

◆ registerOptionalIntegerParameter()

void BALL::CommandlineParser::registerOptionalIntegerParameter ( const String name,
const String description,
int  default_value = 0 
)

◆ registerOptionalOutputFile()

void BALL::CommandlineParser::registerOptionalOutputFile ( const String name,
const String description,
const String default_value = "" 
)

◆ registerOptionalOutputFileList()

void BALL::CommandlineParser::registerOptionalOutputFileList ( const String name,
const String description,
const std::vector< String > &  default_values = vector< String >() 
)

◆ registerOptionalStringListParameter()

void BALL::CommandlineParser::registerOptionalStringListParameter ( const String name,
const String description,
const std::vector< String > &  default_values = vector< String >() 
)

◆ registerOptionalStringParameter()

void BALL::CommandlineParser::registerOptionalStringParameter ( const String name,
const String description,
const String default_value = "" 
)

◆ setParameterAsAdvanced()

void BALL::CommandlineParser::setParameterAsAdvanced ( String  name)

◆ setParameterAsHidden()

void BALL::CommandlineParser::setParameterAsHidden ( String  name)

◆ setParameterRestrictions() [1/6]

void BALL::CommandlineParser::setParameterRestrictions ( String  category,
String  par_name,
double  min_value,
double  max_value 
)

Register the minimal and maximal allowed value for a floating-point numerical parameter.

◆ setParameterRestrictions() [2/6]

void BALL::CommandlineParser::setParameterRestrictions ( String  category,
String  par_name,
int  min_value,
int  max_value 
)

Register the minimal and maximal allowed value for an integer numerical parameter.

◆ setParameterRestrictions() [3/6]

void BALL::CommandlineParser::setParameterRestrictions ( String  category,
String  par_name,
list< String > &  allowed_values 
)

Register the allowed values for a string-parameter.

◆ setParameterRestrictions() [4/6]

void BALL::CommandlineParser::setParameterRestrictions ( String  par_name,
double  min_value,
double  max_value 
)

◆ setParameterRestrictions() [5/6]

void BALL::CommandlineParser::setParameterRestrictions ( String  par_name,
int  min_value,
int  max_value 
)

◆ setParameterRestrictions() [6/6]

void BALL::CommandlineParser::setParameterRestrictions ( String  par_name,
list< String > &  allowed_values 
)

◆ setSupportedFormats() [1/2]

void BALL::CommandlineParser::setSupportedFormats ( String  category,
String  par_name,
String  supported_formats 
)

Register the supported formats for input-/output-files.

Parameters
supported_formatssupported file-formats separated by commas

◆ setSupportedFormats() [2/2]

void BALL::CommandlineParser::setSupportedFormats ( String  par_name,
String  supported_formats 
)

◆ setToolManual()

void BALL::CommandlineParser::setToolManual ( const String manual)

Set the text to be displayed as mini-manual when starting the tool, containing a few sentences describing what the tool should be good for ...

Member Data Documentation

◆ EMTPY_LIST

const list<String> BALL::CommandlineParser::EMTPY_LIST
static

Definition at line 47 of file commandlineParser.h.

◆ NOT_FOUND

const String BALL::CommandlineParser::NOT_FOUND
static

Definition at line 46 of file commandlineParser.h.