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 registerOutputDir_ (const String &name, const String &argument, const String &default_value, const String &description, bool required=true, bool advanced=false)
 Registers an output directory used for tools with multiple output files which are not an output file list, i.e. do not correspond to the number of input files. 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 (use getOutputDirOption() for output directories) More...
 
String getOutputDirOption (const String &name) const
 Returns the value of a previously registered output_dir 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 , EXTERNAL_PROGRAM_NOTFOUND
}
 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 Public Attributes inherited from TOPPBase
static const char * TAG_OUTPUT_FILE = "output file"
 
static const char * TAG_INPUT_FILE = "input file"
 
static const char * TAG_OUTPUT_DIR = "output dir"
 
static const char * TAG_OUTPUT_PREFIX = "output prefix"
 
static const char * TAG_ADVANCED = "advanced"
 
static const char * TAG_REQUIRED = "required"
 
static const Citation cite_openms
 The latest and greatest OpenMS citation. More...
 
- Static Protected Attributes inherited from TOPPBase
static String topp_ini_file_
 .TOPP.ini file for storing system default parameters 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