An algorithm to search for exact mass matches from a spectrum against a database (e.g. HMDB).
More...
|
| AccurateMassSearchEngine () |
| Default constructor. More...
|
|
| ~AccurateMassSearchEngine () override |
| Default destructor. More...
|
|
void | queryByMZ (const double &observed_mz, const Int &observed_charge, const String &ion_mode, std::vector< AccurateMassSearchResult > &results, const EmpiricalFormula &observed_adduct=EmpiricalFormula()) const |
| search for a specific observed mass by enumerating all possible adducts and search M+X against database. If use_feature_adducts is activated, queryByMZ uses annotated, observed adducts as EmpiricalFormulas, restricting M+X candidates. More...
|
|
void | queryByFeature (const Feature &feature, const Size &feature_index, const String &ion_mode, std::vector< AccurateMassSearchResult > &results) const |
|
void | queryByConsensusFeature (const ConsensusFeature &cfeat, const Size &cf_index, const Size &number_of_maps, const String &ion_mode, std::vector< AccurateMassSearchResult > &results) const |
|
void | run (FeatureMap &, MzTab &) const |
|
void | run (FeatureMap &, MzTabM &) const |
|
void | run (ConsensusMap &, MzTab &) const |
|
void | init () |
| parse database and adduct files More...
|
|
Public Member Functions inherited from DefaultParamHandler |
| DefaultParamHandler (const String &name) |
| Constructor with name that is displayed in error messages. More...
|
|
| DefaultParamHandler (const DefaultParamHandler &rhs) |
| Copy constructor. More...
|
|
virtual | ~DefaultParamHandler () |
| Destructor. More...
|
|
DefaultParamHandler & | operator= (const DefaultParamHandler &rhs) |
| Assignment operator. More...
|
|
virtual bool | operator== (const DefaultParamHandler &rhs) const |
| Equality operator. More...
|
|
void | setParameters (const Param ¶m) |
| Sets the parameters. More...
|
|
const Param & | getParameters () const |
| Non-mutable access to the parameters. More...
|
|
const Param & | getDefaults () const |
| Non-mutable access to the default parameters. More...
|
|
const String & | getName () const |
| Non-mutable access to the name. More...
|
|
void | setName (const String &name) |
| Mutable access to the name. More...
|
|
const std::vector< String > & | getSubsections () const |
| Non-mutable access to the registered subsections. More...
|
|
| ProgressLogger () |
| Constructor. More...
|
|
virtual | ~ProgressLogger () |
| Destructor. More...
|
|
| ProgressLogger (const ProgressLogger &other) |
| Copy constructor. More...
|
|
ProgressLogger & | operator= (const ProgressLogger &other) |
| Assignment Operator. More...
|
|
void | setLogType (LogType type) const |
| Sets the progress log that should be used. The default type is NONE! More...
|
|
LogType | getLogType () const |
| Returns the type of progress log being used. More...
|
|
void | setLogger (ProgressLoggerImpl *logger) |
| Sets the logger to be used for progress logging. More...
|
|
void | startProgress (SignedSize begin, SignedSize end, const String &label) const |
| Initializes the progress display. More...
|
|
void | setProgress (SignedSize value) const |
| Sets the current progress. More...
|
|
void | endProgress (UInt64 bytes_processed=0) const |
|
void | nextProgress () const |
| increment progress by 1 (according to range begin-end) More...
|
|
|
template<typename MAPTYPE > |
String | resolveAutoMode_ (const MAPTYPE &map) const |
| private member functions More...
|
|
void | parseMappingFile_ (const StringList &) |
|
void | parseStructMappingFile_ (const StringList &) |
|
void | parseAdductsFile_ (const String &filename, std::vector< AdductInfo > &result) |
|
void | searchMass_ (double neutral_query_mass, double diff_mass, std::pair< Size, Size > &hit_indices) const |
|
void | annotate_ (const std::vector< AccurateMassSearchResult > &, BaseFeature &) const |
| Add search results to a Consensus/Feature. More...
|
|
std::vector< AccurateMassSearchResult > | extractQueryResults_ (const Feature &feature, const Size &feature_index, const String &ion_mode_internal, Size &dummy_count) const |
| Extract query results from feature. More...
|
|
void | addMatchesToID_ (IdentificationData &id, const std::vector< AccurateMassSearchResult > &amr, const IdentificationData::InputFileRef &file_ref, const IdentificationData::ScoreTypeRef &mass_error_ppm_score_ref, const IdentificationData::ScoreTypeRef &mass_error_Da_score_ref, const IdentificationData::ProcessingStepRef &step_ref, BaseFeature &f) const |
| Add resulting matches to IdentificationData. More...
|
|
double | computeCosineSim_ (const std::vector< double > &x, const std::vector< double > &y) const |
|
double | computeIsotopePatternSimilarity_ (const Feature &feat, const EmpiricalFormula &form) const |
|
void | exportMzTab_ (const QueryResultsTable &overall_results, const Size number_of_maps, MzTab &mztab_out, const std::vector< String > &file_locations) const |
|
void | exportMzTabM_ (const FeatureMap &fmap, MzTabM &mztabm_out) const |
|
An algorithm to search for exact mass matches from a spectrum against a database (e.g. HMDB).
For each peak, neutral masses are reconstructed from observed (spectrum) m/z values by enumerating all possible adducts with matching charge. The resulting neutral masses (can be more than one, depending on list of possible adducts) are matched against masses from a database within a certain mass error (Da or ppm).
Supports any database which contains an identifier, chemical sum formula and (optional) mass. If masses in the database are not given (= set to 0), they are computed from sum formulas.
Both positive and negative ion mode is supported. Charge for (Consensus-)Features can be either positive or negative, but only the absolute value is used since many FeatureFinders will only report positive charges even in negative ion mode. Entities with charge=0 are treated as "unknown charge" and are tested with all potential adducts and subsequently matched against the database.
A file with a list of potential adducts can be given for each mode separately. Each line contains a chemical formula (plus quantor) and a charge (separated by semicolon), e.g. M+H;1+ The M can be preceded by a quantor (e.g.2M, 3M), implicitly assumed as 1. The chemical formula can contain multiple segments, separated by + or - operators, e.g. M+H-H2O;+1 (water loss in positive mode). Brackets are implicit per segment, i.e. M+H-H2O is parsed as M + (H) - (H2O). Each segment can also be preceded by a quantor, e.g. M+H-H2O would parse as M + (H) - 2x(H2O). If debug mode is enabled, the masses of each segment are printed for verification. In particular, typing H20 (twenty H) is different from H2O (water).
Ionization mode of the observed m/z values can be determined automatically if the input map (either FeatureMap or ConsensusMap) is annotated with a meta value, as done by FeatureFinderMetabo.