OpenMS
2.7.0
|
Representation of a controlled vocabulary. More...
#include <OpenMS/FORMAT/ControlledVocabulary.h>
Classes | |
struct | CVTerm |
Representation of a CV term. More... | |
Public Member Functions | |
ControlledVocabulary () | |
Constructor. More... | |
virtual | ~ControlledVocabulary () |
Destructor. More... | |
const String & | name () const |
Returns the CV name (set in the load method) More... | |
void | loadFromOBO (const String &name, const String &filename) |
Loads the CV from an OBO file. More... | |
bool | exists (const String &id) const |
Returns true if the term is in the CV. Returns false otherwise. More... | |
bool | hasTermWithName (const String &name) const |
Returns true if a term with the given name is in the CV. Returns false otherwise. More... | |
const CVTerm & | getTerm (const String &id) const |
Returns a term specified by ID. More... | |
const CVTerm & | getTermByName (const String &name, const String &desc="") const |
Returns a term specified by name. More... | |
const Map< String, CVTerm > & | getTerms () const |
returns all the terms stored in the CV More... | |
void | getAllChildTerms (std::set< String > &terms, const String &parent_id) const |
Writes all child terms recursively into terms. More... | |
template<class LAMBDA > | |
bool | iterateAllChildren (const String &parent_id, LAMBDA lbd) const |
Iterates over all children of parent recursively. More... | |
const ControlledVocabulary::CVTerm * | checkAndGetTermByName (const OpenMS::String &name) const |
Searches the existing terms for the given name . More... | |
bool | isChildOf (const String &child_id, const String &parent_id) const |
Returns if child is a child of parent . More... | |
Static Public Member Functions | |
static const ControlledVocabulary & | getPSIMSCV () |
Returns a CV for parsing/storing PSI-MS related data, e.g. mzML, or handle accessions/ids in datastructures. More... | |
Protected Member Functions | |
bool | checkName_ (const String &id, const String &name, bool ignore_case=true) |
checks if a name corresponds to an id More... | |
Protected Attributes | |
Map< String, CVTerm > | terms_ |
Map from ID to CVTerm. More... | |
Map< String, String > | namesToIds_ |
Map from name to id. More... | |
String | name_ |
Name set in the load method. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const ControlledVocabulary &cv) |
Print the contents to a stream. More... | |
Representation of a controlled vocabulary.
This representation only contains the information used for parsing and validation. All other lines are stored in the unparsed member of the CVTerm struct.
Constructor.
|
virtual |
Destructor.
const ControlledVocabulary::CVTerm* checkAndGetTermByName | ( | const OpenMS::String & | name | ) | const |
Searches the existing terms for the given name
.
checks if a name corresponds to an id
If the term is not known, 'true' is returned!
bool exists | ( | const String & | id | ) | const |
Returns true if the term is in the CV. Returns false otherwise.
Writes all child terms recursively into terms.
If parent has child this method writes them recursively into the term object
Exception::InvalidValue | is thrown if the term is not present |
|
static |
Returns a CV for parsing/storing PSI-MS related data, e.g. mzML, or handle accessions/ids in datastructures.
The CV will be initialized on first access. Repeated access is therefor cheap.
It consists of the following CVs:
Returns a term specified by ID.
Exception::InvalidValue | is thrown if the term is not present |
Returns a term specified by name.
Exception::InvalidValue | is thrown if the term is not present |
bool hasTermWithName | ( | const String & | name | ) | const |
Returns true if a term with the given name is in the CV. Returns false otherwise.
Returns if child
is a child of parent
.
Exception::InvalidValue | is thrown if one of the terms is not present |
|
inline |
Iterates over all children of parent recursively.
lbd | Function that gets the child-Strings passed. Must return bool. Used for comparisons and / or to set captured variables. If the lambda returns true, the iteration is exited prematurely. E.g. if you have found your search, you don't need to continue searching. Otherwise, if you want to go through the whole tree (e.g. to fill a vector) you can just return false always to not quit early. |
Loads the CV from an OBO file.
Exception::FileNotFound | is thrown if the file could not be opened |
Exception::ParseError | is thrown if an error occurs during parsing |
const String& name | ( | ) | const |
Returns the CV name (set in the load method)
|
friend |
Print the contents to a stream.
|
protected |
Name set in the load method.