OpenMS
NucleicAcidSearchEngine Class Reference
Inheritance diagram for NucleicAcidSearchEngine:
[legend]
Collaboration diagram for NucleicAcidSearchEngine:
[legend]

Classes

struct  AnnotatedHit
 
class  HasInvalidLength
 
struct  PrecursorInfo
 

Public Member Functions

 NucleicAcidSearchEngine ()
 
- Public Member Functions inherited from TOPPBase
 TOPPBase ()=delete
 No default constructor. More...
 
 TOPPBase (const TOPPBase &)=delete
 No default copy constructor. More...
 
 TOPPBase (const String &name, const String &description, bool official=true, const std::vector< Citation > &citations={}, bool toolhandler_test=true)
 Constructor. More...
 
virtual ~TOPPBase ()
 Destructor. More...
 
ExitCodes main (int argc, const char **argv)
 Main routine of all TOPP applications. More...
 
String getToolPrefix () const
 Returns the prefix used to identify the tool. More...
 
String getDocumentationURL () const
 Returns a link to the documentation of the tool (accessible on our servers and only after inclusion in the nightly branch or a release). More...
 

Protected Types

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

Protected Member Functions

void registerOptionsAndFlags_ () override
 Sets the valid command line options (with argument) and flags (without argument). More...
 
set< ConstRibonucleotidePtrgetModifications_ (const set< String > &mod_names)
 
AdductInfo 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 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
String getParamArgument_ (const Param::ParamEntry &entry) const
 Utility function that determines a suitable argument value for the given Param::ParamEntry. More...
 
std::vector< ParameterInformationparamToParameterInformation_ (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 registerOutputPrefix_ (const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
 Registers an output file prefix used for tools with multiple file output. 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, const 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, const 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, const 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, const 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, const 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 ParameterInformationfindEntry_ (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_ (const StringList &param_value, const String &param_name, const ParameterInformation &p) const
 checks if files of an input file list exist More...
 
void fileParamValidityCheck_ (String &param_value, 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 printUsage_ ()
 Prints the tool-specific command line options and appends the common options. More...
 
void writeLogInfo_ (const String &text) const
 Writes a string to the log file and to OPENMS_LOG_INFO. More...
 
void writeLogWarn_ (const String &text) const
 Writes a string to the log file and to OPENMS_LOG_WARN. More...
 
void writeLogError_ (const String &text) const
 Writes a string to the log file and to OPENMS_LOG_ERROR. More...
 
void writeDebug_ (const String &text, UInt min_level) const
 Writes a string to the log file and to OPENMS_LOG_DEBUG 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 OPENMS_LOG_DEBUG if the debug level is at least min_level. More...
 
ExitCodes runExternalProcess_ (const QString &executable, const QStringList &arguments, const QString &workdir="") const
 Runs an external process via ExternalProcess and prints its stderr output on failure or if debug_level > 4. More...
 
ExitCodes runExternalProcess_ (const QString &executable, const QStringList &arguments, String &proc_stdout, String &proc_stderr, const QString &workdir="") const
 
const StringgetIniLocation_ () 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 StringtoolName_ () const
 Returns the tool name. 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...
 
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...
 
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...
 
template<typename Writer >
void writeToolDescription_ (Writer &writer, std::string write_type, std::string fileExtension)
 Helper function avoiding repeated code between CTD, JSON and CWL. More...
 

Protected Attributes

vector< Stringfragment_ion_codes_
 
map< String, Stringambiguous_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< Citationcitations_
 Papers, specific for this tool (will be shown in '–help') More...
 
bool toolhandler_test_
 Enable the ToolHandler tests. 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
Collaboration diagram for NucleicAcidSearchEngine::AnnotatedHit:
[legend]
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()

Member Function Documentation

◆ calculateAndFilterFDR_()

◆ calculatePrecursorMass_()

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

◆ 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 
)
inlineprotected

◆ generateLFQInput_()

void generateLFQInput_ ( IdentificationData id_data,
const String out_file 
)
inlineprotected

◆ getModifications_()

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

◆ main_()

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

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

Implements TOPPBase.

References PeakFileOptions::addMSLevel(), ScoredProcessingResult::addProcessingStep(), MSExperiment::addSpectrum(), NucleicAcidSearchEngine::AnnotatedHit::annotations, ModifiedNASequenceGenerator::applyVariableModifications(), ProcessingSoftware::assigned_scores, OpenMS::IdentificationDataInternal::AVERAGE, File::basename(), 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, IdentificationData::getCurrentProcessingStep(), IdentificationData::getDBSearchParams(), DigestionEnzymeDB< DigestionEnzymeType, InstanceType >::getEnzyme(), IdentificationData::getIdentifiedOligos(), DigestionEnzymeDB< DigestionEnzymeRNA, RNaseDB >::getInstance(), AdductInfo::getMassShift(), NucleicAcidSpectrumGenerator::getMultipleSpectra(), MSExperiment::getNrSpectra(), MzTab::getNucleicAcidSectionRows(), IdentificationData::getObservations(), MzTab::getOligonucleotideSectionRows(), MzTab::getOSMSectionRows(), DefaultParamHandler::getParameters(), IdentificationData::getParentSequences(), MSExperiment::getPrimaryMSRunPath(), MSSpectrum::getRT(), FileTypes::IDXML, IdentificationDataConverter::importSequences(), OMSFile::load(), FASTAFile::load(), FileHandler::loadExperiment(), DBSearchParam::mass_type, DBSearchParam::max_length, DBSearchParam::min_length, DBSearchParam::missed_cleavages, DBSearchParam::molecule_type, OpenMS::IdentificationDataInternal::MONOISOTOPIC, FileTypes::MZML, 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, InputFile::primary_files, IdentificationData::registerAdduct(), IdentificationData::registerDBSearchParam(), IdentificationData::registerInputFile(), IdentificationData::registerParentSequence(), IdentificationData::registerProcessingSoftware(), IdentificationData::registerProcessingStep(), IdentificationData::registerScoreType(), OpenMS::IdentificationDataInternal::RNA, NucleicAcidSearchEngine::AnnotatedHit::sequence, IdentificationData::setCurrentProcessingStep(), RNaseDigestion::setEnzyme(), ProgressLogger::setLogType(), EnzymaticDigestion::setMissedCleavages(), MSSpectrum::setName(), FileHandler::setOptions(), DefaultParamHandler::setParameters(), ProgressLogger::setProgress(), MSSpectrum::setRT(), Param::setValue(), Software::setVersion(), MSExperiment::size(), MSExperiment::sortSpectra(), ProgressLogger::startProgress(), OMSFile::store(), MzTabFile::store(), FileHandler::storeExperiment(), FileHandler::storeIdentifications(), NASequence::toString(), and DBSearchParam::variable_mods.

◆ parseAdduct_()

AdductInfo parseAdduct_ ( const String adduct)
inlineprotected

◆ postProcessHits_()

◆ preprocessSpectra_()

◆ registerOptionsAndFlags_()

void registerOptionsAndFlags_ ( )
inlineoverrideprotectedvirtual

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(), DigestionEnzymeDB< DigestionEnzymeRNA, RNaseDB >::getInstance(), RibonucleotideDB::getInstance(), and String::remove().

◆ resolveAmbiguousMods_()

void resolveAmbiguousMods_ ( HitsByScore hits)
inlineprotected

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