| OpenMS 2.5.0

Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | List of all members
NucleicAcidSearchEngine Class Reference
Inheritance diagram for NucleicAcidSearchEngine:

## Classes

struct | AnnotatedHit
class | HasInvalidLength
struct | PrecursorInfo

## Public Member Functions

| NucleicAcidSearchEngine ()
Public Member Functions inherited from TOPPBase
| TOPPBase (const String &name, const String &description, bool official=true, const std::vector< Citation > &citations={})
| Constructor. More...
virtual | ~TOPPBase ()
| Destructor. More...
ExitCodes | main (int argc, const char **argv)
| Main routine of all TOPP applications. More...

## Protected Types

typedef multimap< double, AnnotatedHit, greater< double > > | HitsByScore

## Protected Member Functions

void | registerOptionsAndFlags_ ()
| Sets the valid command line options (with argument) and flags (without argument). More...
set< ConstRibonucleotidePtr > | getModifications_ (const set< String > &mod_names)
EmpiricalFormula | parseAdduct_ (const String &adduct)
void | deisotopeAndSingleChargeMSSpectrum_ (MSSpectrum &in, Int min_charge, Int max_charge, double fragment_tolerance, bool fragment_unit_ppm, bool keep_only_deisotoped=false, Size min_isopeaks=3, Size max_isopeaks=10, bool make_single_charged=true)
void | preprocessSpectra_ (PeakMap &exp, double fragment_mass_tolerance, bool fragment_mass_tolerance_unit_ppm, bool single_charge_spectra, bool negative_mode, Int min_charge, Int max_charge, bool include_unknown_charge)
double | calculatePrecursorMass_ (double mz, Int charge, Int isotope, double adduct_mass, bool negative_mode)
void | resolveAmbiguousMods_ (HitsByScore &hits)
void | postProcessHits_ (const PeakMap &exp, vector< HitsByScore > &annotated_hits, IdentificationData &id_data, bool negative_mode)
void | registerIDMetaData_ (IdentificationData &id_data, const String &in_mzml, const vector< String > &primary_files, const IdentificationData::DBSearchParam &search_param)
void | calculateAndFilterFDR_ (IdentificationData &id_data, bool only_top_hits)
void | generateLFQInput_ (IdentificationData &id_data, const String &out_file)
ExitCodes | main_ (int, const char **) override
| The actual "main" method. main_() is invoked by main(). More...
Protected Member Functions inherited from TOPPBase
const String & | getIniLocation_ () const
| Returns the location of the ini file where parameters are taken from. E.g. if the command line was `TOPPTool -instance 17`, then this will be `"TOPPTool:17:"`. Note the ':' at the end. More...
const String & | toolName_ () const
| Returns the tool name. More...
void | printUsage_ ()
| Prints the tool-specific command line options and appends the common options. More...
bool | parseRange_ (const String &text, double &low, double &high) const
| Parses a range string ([a]:[b]) into two variables (doubles) More...
bool | parseRange_ (const String &text, Int &low, Int &high) const
| Parses a range string ([a]:[b]) into two variables (integers) More...
bool | writeCTD_ ()
| Write common tool description (CTD) file. More...
String | getParamArgument_ (const Param::ParamEntry &entry) const
| Utility function that determines a suitable argument value for the given Param::ParamEntry. More...
std::vector< ParameterInformation > | paramToParameterInformation_ (const Param &param) const
| Translates the given parameter object into a vector of ParameterInformation, that can be utilized for cl parsing. More...
ParameterInformation | paramEntryToParameterInformation_ (const Param::ParamEntry &entry, const String &argument="", const String &full_name="") const
| Transforms a ParamEntry object to command line parameter (ParameterInformation). More...
void | registerParamSubsectionsAsTOPPSubsections_ (const Param &param)
void | registerFullParam_ (const Param &param)
| Register command line parameters for all entries in a Param object. More...
void | registerStringOption_ (const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
| Registers a string option. More...
void | setValidStrings_ (const String &name, const std::vector< String > &strings)
| Sets the valid strings for a string option or a whole string list. More...
void | setValidStrings_ (const String &name, const std::string vstrings[], int count)
| Sets the valid strings for a string option or a whole string list. More...
void | registerInputFile_ (const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false, const StringList &tags=StringList())
| Registers an input file option. More...
void | registerOutputFile_ (const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
| Registers an output file option. More...
void | setValidFormats_ (const String &name, const std::vector< String > &formats, const bool force_OpenMS_format=true)
| Sets the formats for a input/output file option or for all members of an input/output file lists. More...
void | registerDoubleOption_ (const String &name, const String &argument, double default_value, const String &description, bool required=true, bool advanced=false)
| Registers a double option. More...
void | setMinInt_ (const String &name, Int min)
| Sets the minimum value for the integer parameter(can be a list of integers,too) `name`. More...
void | setMaxInt_ (const String &name, Int max)
| Sets the maximum value for the integer parameter(can be a list of integers,too) `name`. More...
void | setMinFloat_ (const String &name, double min)
| Sets the minimum value for the floating point parameter(can be a list of floating points,too) `name`. More...
void | setMaxFloat_ (const String &name, double max)
| Sets the maximum value for the floating point parameter(can be a list of floating points,too) `name`. More...
void | registerIntOption_ (const String &name, const String &argument, Int default_value, const String &description, bool required=true, bool advanced=false)
| Registers an integer option. More...
void | registerIntList_ (const String &name, const String &argument, IntList default_value, const String &description, bool required=true, bool advanced=false)
| Registers a list of integers option. More...
void | registerDoubleList_ (const String &name, const String &argument, DoubleList default_value, const String &description, bool required=true, bool advanced=false)
| Registers a list of doubles option. More...
void | registerStringList_ (const String &name, const String &argument, StringList default_value, const String &description, bool required=true, bool advanced=false)
| Registers a list of strings option. More...
void | registerInputFileList_ (const String &name, const String &argument, StringList default_value, const String &description, bool required=true, bool advanced=false, const StringList &tags=StringList())
| Registers a list of input files option. More...
void | registerOutputFileList_ (const String &name, const String &argument, StringList default_value, const String &description, bool required=true, bool advanced=false)
| Registers a list of output files option. More...
void | registerFlag_ (const String &name, const String &description, bool advanced=false)
| Registers a flag. More...
void | registerSubsection_ (const String &name, const String &description)
| Registers an allowed subsection in the INI file (usually from OpenMS algorithms). More...
void | registerTOPPSubsection_ (const String &name, const String &description)
| Registers an allowed subsection in the INI file originating from the TOPP tool itself. More...
void | addEmptyLine_ ()
| Adds an empty line between registered variables in the documentation. More...
String | getStringOption_ (const String &name) const
| Returns the value of a previously registered string option. More...
double | getDoubleOption_ (const String &name) const
| Returns the value of a previously registered double option. More...
Int | getIntOption_ (const String &name) const
| Returns the value of a previously registered integer option. More...
StringList | getStringList_ (const String &name) const
| Returns the value of a previously registered StringList. More...
IntList | getIntList_ (const String &name) const
| Returns the value of a previously registered IntList. More...
DoubleList | getDoubleList_ (const String &name) const
| Returns the value of a previously registered DoubleList. More...
bool | getFlag_ (const String &name) const
| Returns the value of a previously registered flag. More...
const ParameterInformation & | findEntry_ (const String &name) const
| Finds the entry in the parameters_ array that has the name `name`. More...
Param const & | getParam_ () const
| Return all parameters relevant to this TOPP tool. More...
void | checkParam_ (const Param &param, const String &filename, const String &location) const
| Checks top-level entries of `param` according to the information during registration. More...
void | fileParamValidityCheck_ (String &filename, const String &param_name, const ParameterInformation &p) const
| checks if an input file exists (respecting the flags) More...
void | checkIfIniParametersAreApplicable_ (const Param &ini_params)
| Checks if the parameters of the provided ini file are applicable to this tool. More...
void | writeLog_ (const String &text) const
| Writes a string to the log file and to std::cout. More...
void | writeDebug_ (const String &text, UInt min_level) const
| Writes a `text` to the log file and to std::cout if the debug level is at least `min_level`. More...
void | writeDebug_ (const String &text, const Param &param, UInt min_level) const
| Writes a String followed by a Param to the log file and to std::cout if the debug level is at least `min_level`. More...
String | makeTempDirectory_ () const
| Creates a unique temporary directory and returns its name (you have to clean it up yourself) More...
String | makeAutoRemoveTempDirectory_ (Int keep_debug=2)
| Creates a unique temporary directory and returns its name (will be cleaned up automatically if debug level is high enough) More...
void | removeTempDirectory_ (const String &dirname, Int keep_debug=2) const
| Removes a (temporary) directory. More...
ExitCodes | runExternalProcess_ (const QString &executable, const QStringList &arguments, const QString &workdir="") const
| Runs an external process via QProcess and reports its status in the logs. More...
void | inputFileReadable_ (const String &filename, const String &param_name) const
| Checks if an input file exists, is readable and is not empty. More...
void | outputFileWritable_ (const String &filename, const String &param_name) const
| Checks if an output file is writable. More...
void | addDataProcessing_ (ConsensusMap &map, const DataProcessing &dp) const
| Data processing setter for consensus maps. More...
void | addDataProcessing_ (FeatureMap &map, const DataProcessing &dp) const
| Data processing setter for feature maps. More...
void | addDataProcessing_ (PeakMap &map, const DataProcessing &dp) const
| Data processing setter for peak maps. More...
DataProcessing | getProcessingInfo_ (DataProcessing::ProcessingAction action) const
| Returns the data processing information. More...
DataProcessing | getProcessingInfo_ (const std::set< DataProcessing::ProcessingAction > &actions) const
| Returns the data processing information. More...

## Protected Attributes

vector< String > | fragment_ion_codes_
map< String, String > | ambiguous_mods_
bool | resolve_ambiguous_mods_
Protected Attributes inherited from TOPPBase
String | version_
| Version string (if empty, the OpenMS/TOPP version is printed) More...
String | verboseVersion_
| Version string including additional revision/date time information. Note: This differs from version_ only if not provided by the user. More...
bool | official_
| Flag indicating if this an official TOPP tool. More...
std::vector< Citation > | citations_
| Papers, specific for this tool (will be shown in '–help') More...
ProgressLogger::LogType | log_type_
| Type of progress logging. More...
bool | test_mode_
| Test mode. More...
Int | debug_level_
| Debug level set by -debug. More...

## Private Types

using | ConstRibonucleotidePtr = const Ribonucleotide *

## Additional Inherited Members

Public Types inherited from TOPPBase
enum | ExitCodes { EXECUTION_OK, INPUT_FILE_NOT_FOUND, INPUT_FILE_NOT_READABLE, INPUT_FILE_CORRUPT, INPUT_FILE_EMPTY, CANNOT_WRITE_OUTPUT_FILE, ILLEGAL_PARAMETERS, MISSING_PARAMETERS, UNKNOWN_ERROR, EXTERNAL_PROGRAM_ERROR, PARSE_ERROR, INCOMPATIBLE_INPUT_DATA, INTERNAL_ERROR, UNEXPECTED_RESULT
}
| Exit codes. More...
Static Public Member Functions inherited from TOPPBase
static void | setMaxNumberOfThreads (int num_threads)
| Sets the maximal number of usable threads. More...
Static Protected Attributes inherited from TOPPBase
static String | topp_ini_file_
| .TOPP.ini file for storing system default parameters More...
static const Citation | cite_openms_
| The OpenMS citation. More...

## Class Documentation

## ◆ NucleicAcidSearchEngine::AnnotatedHit

struct NucleicAcidSearchEngine::AnnotatedHit

Class Members
vector< PeakAnnotation > | annotations |
IdentifiedOligoRef | oligo_ref |
double | precursor_error_ppm |
const PrecursorInfo * | precursor_ref |
NASequence | sequence |

## Member Typedef Documentation

## ◆ ConstRibonucleotidePtr

using ConstRibonucleotidePtr = const Ribonucleotide*

private

## ◆ HitsByScore

typedef multimap<double, AnnotatedHit, greater<double> > HitsByScore

protected

## Constructor & Destructor Documentation

## ◆ NucleicAcidSearchEngine()

NucleicAcidSearchEngine | ( |  | ) |

inline

## Member Function Documentation

## ◆ calculateAndFilterFDR_()

void calculateAndFilterFDR_ | ( | IdentificationData & | id_data,
|  | bool | only_top_hits
| ) |  |

inline protected

References FalseDiscoveryRate::applyToQueryMatches(), IDFilter::filterQueryMatchesByScore(), IdentificationData::findScoreType(), IdentificationData::getDataQueries(), DefaultParamHandler::getDefaults(), IdentificationData::getMoleculeQueryMatches(), OPENMS_LOG_INFO, IDFilter::removeDecoys(), DefaultParamHandler::setParameters(), and Param::setValue().

## ◆ calculatePrecursorMass_()

double calculatePrecursorMass_ | ( | double | mz,
|  | Int | charge,
|  | Int | isotope,
|  | double | adduct_mass,
|  | bool | negative_mode
| ) |  |

inline protected

References OpenMS::Constants::C13C12_MASSDIFF_U, and OpenMS::Constants::PROTON_MASS_U.

## ◆ deisotopeAndSingleChargeMSSpectrum_()

void deisotopeAndSingleChargeMSSpectrum_ | ( | MSSpectrum & | in,
|  | Int | min_charge,
|  | Int | max_charge,
|  | double | fragment_tolerance,
|  | bool | fragment_unit_ppm,
|  | bool | keep_only_deisotoped = `false`,
|  | Size | min_isopeaks = `3`,
|  | Size | max_isopeaks = `10`,
|  | bool | make_single_charged = `true`
| ) |  |

inline protected

References OpenMS::Constants::C13C12_MASSDIFF_U, MSSpectrum::clear(), MSSpectrum::findNearest(), Peak1D::getMZ(), OpenMS::Constants::PROTON_MASS_U, Peak1D::setMZ(), and MSSpectrum::sortByPosition().

## ◆ generateLFQInput_()

void generateLFQInput_ | ( | IdentificationData & | id_data,
|  | const String & | out_file
| ) |  |

inline protected

References ListUtils::concatenate(), IdentificationData::getMoleculeQueryMatches(), OpenMS::Math::median(), and SVOutStream::modifyStrings().

## ◆ getModifications_()

set<ConstRibonucleotidePtr> getModifications_ | ( | const set< String > & | mod_names | ) |

inline protected

References RibonucleotideDB::getInstance(), and Ribonucleotide::isAmbiguous().

## ◆ main_()

ExitCodes main_ | ( | int | argc,
|  | const char ** | argv
| ) |  |

inline override protected virtual

The actual "main" method. main_() is invoked by main().

Implements TOPPBase.

References PeakFileOptions::addMSLevel(), NucleicAcidSearchEngine::AnnotatedHit::annotations, ModifiedNASequenceGenerator::applyVariableModifications(), OpenMS::IdentificationDataInternal::AVERAGE, MSExperiment::begin(), IdentificationData::calculateCoverages(), DBSearchParam::charges, PeakFileOptions::clearMSLevels(), MetaboliteSpectralMatching::computeHyperScore(), DBSearchParam::database, RNaseDigestion::digest(), DBSearchParam::digestion_enzyme, MSExperiment::end(), ProgressLogger::endProgress(), IdentificationDataConverter::exportIDs(), IdentificationDataConverter::exportMzTab(), DBSearchParam::fragment_mass_tolerance, DBSearchParam::fragment_tolerance_ppm, EmpiricalFormula::getAverageWeight(), IdentificationData::getDataQueries(), DigestionEnzymeDB< DigestionEnzymeType, InstanceType >::getEnzyme(), IdentificationData::getIdentifiedOligos(), DigestionEnzymeDB< DigestionEnzymeRNA, RNaseDB >::getInstance(), EmpiricalFormula::getMonoWeight(), NucleicAcidSpectrumGenerator::getMultipleSpectra(), MSExperiment::getNrSpectra(), MzTab::getNucleicAcidSectionRows(), MzTab::getOligonucleotideSectionRows(), MzMLFile::getOptions(), MzTab::getOSMSectionRows(), DefaultParamHandler::getParameters(), MSExperiment::getPrimaryMSRunPath(), IdentificationDataConverter::importSequences(), MzMLFile::load(), FASTAFile::load(), DBSearchParam::mass_type, DBSearchParam::max_length, DBSearchParam::min_length, DBSearchParam::missed_cleavages, DBSearchParam::molecule_type, OpenMS::IdentificationDataInternal::MONOISOTOPIC, NucleicAcidSearchEngine::AnnotatedHit::oligo_ref, OPENMS_LOG_DEBUG, OPENMS_LOG_ERROR, OPENMS_LOG_INFO, OPENMS_LOG_WARN, NucleicAcidSearchEngine::AnnotatedHit::precursor_error_ppm, DBSearchParam::precursor_mass_tolerance, NucleicAcidSearchEngine::AnnotatedHit::precursor_ref, DBSearchParam::precursor_tolerance_ppm, OpenMS::IdentificationDataInternal::RNA, NucleicAcidSearchEngine::AnnotatedHit::sequence, RNaseDigestion::setEnzyme(), ProgressLogger::setLogType(), EnzymaticDigestion::setMissedCleavages(), MSSpectrum::setName(), DefaultParamHandler::setParameters(), ProgressLogger::setProgress(), Param::setValue(), MSExperiment::size(), MSExperiment::sortSpectra(), ProgressLogger::startProgress(), MzTabFile::store(), IdXMLFile::store(), MzMLFile::store(), NASequence::toString(), and DBSearchParam::variable_mods.

## ◆ parseAdduct_()

EmpiricalFormula parseAdduct_ | ( | const String & | adduct | ) |

inline protected

References OPENMS_LOG_DEBUG, and String::split().

## ◆ postProcessHits_()

void postProcessHits_ | ( | const PeakMap & | exp,
|  | vector< HitsByScore > & | annotated_hits,
|  | IdentificationData & | id_data,
|  | bool | negative_mode
| ) |  |

inline protected

References ScoredProcessingResult::addScore(), NucleicAcidSearchEngine::PrecursorInfo::adduct, NucleicAcidSearchEngine::AnnotatedHit::annotations, NucleicAcidSearchEngine::PrecursorInfo::charge, IdentificationData::cleanup(), IdentificationData::getCurrentProcessingStep(), IdentificationData::getInputFiles(), SpectrumSettings::getNativeID(), SpectrumSettings::getPrecursors(), MSSpectrum::getRT(), IdentificationData::getScoreTypes(), NucleicAcidSearchEngine::PrecursorInfo::isotope, NucleicAcidSearchEngine::AnnotatedHit::oligo_ref, OPENMS_LOG_DEBUG, MoleculeQueryMatch::peak_annotations, NucleicAcidSearchEngine::AnnotatedHit::precursor_error_ppm, OpenMS::Constants::UserParam::PRECURSOR_ERROR_PPM_USERPARAM, NucleicAcidSearchEngine::AnnotatedHit::precursor_ref, IdentificationData::registerDataQuery(), IdentificationData::registerIdentifiedOligo(), IdentificationData::registerMoleculeQueryMatch(), IdentifiedSequence< SeqType >::sequence, NucleicAcidSearchEngine::AnnotatedHit::sequence, MetaInfoInterface::setMetaValue(), and NASequence::toString().

## ◆ preprocessSpectra_()

void preprocessSpectra_ | ( | PeakMap & | exp,
|  | double | fragment_mass_tolerance,
|  | bool | fragment_mass_tolerance_unit_ppm,
|  | bool | single_charge_spectra,
|  | bool | negative_mode,
|  | Int | min_charge,
|  | Int | max_charge,
|  | bool | include_unknown_charge
| ) |  |

inline protected

References ThresholdMower::filterPeakMap(), Normalizer::filterPeakMap(), NLargest::filterPeakSpectrum(), WindowMower::filterPeakSpectrum(), SpectrumSettings::getNativeID(), DefaultParamHandler::getParameters(), SpectrumSettings::getPrecursors(), OPENMS_LOG_DEBUG, OPENMS_LOG_ERROR, OPENMS_LOG_INFO, OPENMS_LOG_WARN, Precursor::setCharge(), DefaultParamHandler::setParameters(), SpectrumSettings::setPrecursors(), Param::setValue(), MSExperiment::size(), MSSpectrum::sortByPosition(), and MSExperiment::sortSpectra().

## ◆ registerIDMetaData_()

void registerIDMetaData_ | ( | IdentificationData & | id_data,
|  | const String & | in_mzml,
|  | const vector< String > & | primary_files,
|  | const IdentificationData::DBSearchParam & | search_param
| ) |  |

inline protected

References DataProcessingSoftware::assigned_scores, File::basename(), IdentificationData::registerDataProcessingSoftware(), IdentificationData::registerDataProcessingStep(), IdentificationData::registerDBSearchParam(), IdentificationData::registerInputFile(), IdentificationData::registerScoreType(), IdentificationData::setCurrentProcessingStep(), and Software::setVersion().

## ◆ registerOptionsAndFlags_()

void registerOptionsAndFlags_ | ( |  | ) |

inline protected virtual

Sets the valid command line options (with argument) and flags (without argument).

The options '-ini' '-log' '-instance' '-debug' and the flag '–help' are automatically registered.

Implements TOPPBase.

References DigestionEnzymeDB< DigestionEnzymeType, InstanceType >::getAllNames(), RibonucleotideDB::getInstance(), DigestionEnzymeDB< DigestionEnzymeRNA, RNaseDB >::getInstance(), and String::remove().

## ◆ resolveAmbiguousMods_()

void resolveAmbiguousMods_ | ( | HitsByScore & | hits | ) |

inline protected

References NASequence::empty(), RibonucleotideDB::getInstance(), OPENMS_PRECONDITION, and NASequence::size().

## Member Data Documentation

## ◆ ambiguous_mods_

map<String, String> ambiguous_mods_

protected

## ◆ fragment_ion_codes_

vector<String> fragment_ion_codes_

protected

## ◆ resolve_ambiguous_mods_

bool resolve_ambiguous_mods_

protected