OpenMS  2.5.0
ConsensusIDAlgorithm.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2020.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Hendrik Weisser $
32 // $Authors: Andreas Bertsch, Marc Sturm, Sven Nahnsen, Hendrik Weisser $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
39 
40 #include <map>
41 #include <vector>
42 
43 namespace OpenMS
44 {
59  class OPENMS_DLLAPI ConsensusIDAlgorithm :
60  public DefaultParamHandler
61  {
62  public:
71  void apply(std::vector<PeptideIdentification>& ids,
72  Size number_of_runs = 0);
73 
75  ~ConsensusIDAlgorithm() override;
76 
77  protected:
79  typedef std::map<AASequence, std::pair<Int, std::vector<double> > >
81 
84 
87 
89  double min_support_;
90 
93 
96 
103  virtual void apply_(std::vector<PeptideIdentification>& ids,
104  SequenceGrouping& results) = 0;
105 
107  void updateMembers_() override;
108 
110  void compareChargeStates_(Int& recorded_charge, Int new_charge,
111  const AASequence& peptide);
112 
113  private:
116 
118  ConsensusIDAlgorithm& operator=(const ConsensusIDAlgorithm&);
119 
120  };
121 
122 } // namespace OpenMS
123 
DefaultParamHandler.h
OpenMS::Param::merge
void merge(const Param &toMerge)
Adds missing parameters from the given param toMerge to this param. Existing parameters will not be m...
OpenMS::FileTypes::IDXML
OpenMS identification format (.idXML)
Definition: FileTypes.h:66
ConsensusXMLFile.h
ConsensusIDAlgorithmBest.h
OpenMS::TOPPBase
Base class for TOPP applications.
Definition: TOPPBase.h:144
FileHandler.h
FileTypes.h
OpenMS::FeatureGroupingAlgorithmQT
A feature grouping algorithm for unlabeled data.
Definition: FeatureGroupingAlgorithmQT.h:52
VersionInfo.h
OpenMS::ConsensusXMLFile::store
void store(const String &filename, const ConsensusMap &consensus_map)
Stores a consensus map to file.
OpenMS::IdXMLFile::store
void store(const String &filename, const std::vector< ProteinIdentification > &protein_ids, const std::vector< PeptideIdentification > &peptide_ids, const String &document_id="")
Stores the data in an idXML file.
OpenMS::ConsensusIDAlgorithm::count_empty_
bool count_empty_
Count empty runs in "min_support" calculation? (input parameter)
Definition: ConsensusIDAlgorithm.h:92
OpenMS::FeatureGroupingAlgorithmQT::group
void group(const std::vector< FeatureMap > &maps, ConsensusMap &out) override
Applies the algorithm to feature maps.
OpenMS::Param::setValue
void setValue(const String &key, const DataValue &value, const String &description="", const StringList &tags=StringList())
Sets a value.
OpenMS::String
A more convenient string class.
Definition: String.h:58
OpenMS::MSExperiment::begin
Iterator begin()
Definition: MSExperiment.h:157
OpenMS::ConsensusIDAlgorithmAverage
Calculates a consensus from multiple ID runs by averaging the search scores.
Definition: ConsensusIDAlgorithmAverage.h:48
OpenMS::ConsensusIDAlgorithmRanks
Calculates a consensus from multiple ID runs based on the ranks of the search hits.
Definition: ConsensusIDAlgorithmRanks.h:48
OpenMS::PeptideIdentification::setRT
void setRT(double rt)
sets the RT of the MS2 spectrum where the identification occurred
OpenMS::MSExperiment
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
OpenMS::FileTypes::CONSENSUSXML
OpenMS consensus map format (.consensusXML)
Definition: FileTypes.h:67
OpenMS::Size
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
IdXMLFile.h
FeatureXMLFile.h
ConsensusIDAlgorithmPEPMatrix.h
OpenMS::ConsensusIDAlgorithm::SequenceGrouping
std::map< AASequence, std::pair< Int, std::vector< double > > > SequenceGrouping
Mapping: peptide sequence -> (charge, scores)
Definition: ConsensusIDAlgorithm.h:80
OpenMS::BaseFeature::getPeptideIdentifications
const std::vector< PeptideIdentification > & getPeptideIdentifications() const
returns a const reference to the PeptideIdentification vector
OpenMS::ExperimentalSettings::getProteinIdentifications
const std::vector< ProteinIdentification > & getProteinIdentifications() const
returns a const reference to the protein ProteinIdentification vector
OpenMS::DefaultParamHandler
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:91
OpenMS::PeptideIdentification::getHits
const std::vector< PeptideHit > & getHits() const
returns the peptide hits as const
OpenMS::DateTime::now
static DateTime now()
Returns the current date and time.
OpenMS::IdXMLFile::load
void load(const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids)
Loads the identifications of an idXML file without identifier.
OPENMS_LOG_FATAL_ERROR
#define OPENMS_LOG_FATAL_ERROR
Macro to be used if fatal error are reported (processing stops)
Definition: LogStream.h:450
ConsensusIDAlgorithmRanks.h
OpenMS::Peak2D::setRT
void setRT(CoordinateType coordinate)
Mutable access to the RT coordinate (index 0)
Definition: Peak2D.h:214
OpenMS
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
OpenMS::MSExperiment::Iterator
std::vector< SpectrumType >::iterator Iterator
Mutable iterator.
Definition: MSExperiment.h:111
ConsensusIDAlgorithmPEPIons.h
OpenMS::ProteinIdentification::SearchParameters::variable_modifications
std::vector< String > variable_modifications
Allowed variable modifications.
Definition: ProteinIdentification.h:230
OpenMS::FileTypes::FEATUREXML
OpenMS feature file (.featureXML)
Definition: FileTypes.h:65
ConsensusIDAlgorithmWorst.h
OpenMS::ConsensusIDAlgorithm::min_support_
double min_support_
Fraction of required support by other ID runs (input parameter)
Definition: ConsensusIDAlgorithm.h:89
int
OpenMS::ConsensusIDAlgorithmWorst
Calculates a consensus from multiple ID runs by taking the worst search score (conservative approach)...
Definition: ConsensusIDAlgorithmWorst.h:48
OpenMS::FeatureXMLFile::load
void load(const String &filename, FeatureMap &feature_map)
loads the file with name filename into map and calls updateRanges().
OpenMS::FileTypes::Type
Type
Actual file types enum.
Definition: FileTypes.h:58
OpenMS::FileHandler::getType
static FileTypes::Type getType(const String &filename)
Tries to determine the file type (by name or content)
ConsensusIDAlgorithmAverage.h
OpenMS::Peak2D::setMZ
void setMZ(CoordinateType coordinate)
Mutable access to the m/z coordinate (index 1)
Definition: Peak2D.h:202
OpenMS::DefaultParamHandler::setParameters
void setParameters(const Param &param)
Sets the parameters.
OpenMS::DefaultParamHandler::getDefaults
const Param & getDefaults() const
Non-mutable access to the default parameters.
OpenMS::VersionInfo::getVersion
static String getVersion()
Return the version number of OpenMS.
OpenMS::ConsensusIDAlgorithmPEPIons
Calculates a consensus from multiple ID runs based on PEPs and shared ions.
Definition: ConsensusIDAlgorithmPEPIons.h:48
OpenMS::ConsensusMap
A container for consensus elements.
Definition: ConsensusMap.h:79
OpenMS::StringList
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
OpenMS::FeatureXMLFile::store
void store(const String &filename, const FeatureMap &feature_map)
stores the map feature_map in file with name filename.
OpenMS::ConsensusIDAlgorithmBest
Calculates a consensus from multiple ID runs by taking the best search score.
Definition: ConsensusIDAlgorithmBest.h:48
OpenMS::ConsensusXMLFile::load
void load(const String &filename, ConsensusMap &map)
Loads a consensus map from file and calls updateRanges.
OpenMS::ProteinIdentification::SearchParameters::fixed_modifications
std::vector< String > fixed_modifications
Used fixed modifications.
Definition: ProteinIdentification.h:229
main
int main(int argc, const char **argv)
Definition: INIFileEditor.cpp:73
OpenMS::Param::update
bool update(const Param &p_outdated, const bool add_unknown=false)
Rescue parameter values from p_outdated to current param.
OpenMS::FeatureMap
A container for features.
Definition: FeatureMap.h:95
OpenMS::OpenMS_Log_debug
Logger::LogStream OpenMS_Log_debug
Global static instance of a LogStream to capture messages classified as debug output....
OpenMS::PeptideIdentification
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:62
OpenMS::Param::remove
void remove(const String &key)
Remove the entry key or a section key (when suffix is ':')
OpenMS::Feature
An LC-MS feature.
Definition: Feature.h:70
OpenMS::MSExperiment::end
Iterator end()
Definition: MSExperiment.h:167
OpenMS::ConsensusIDAlgorithmPEPMatrix
Calculates a consensus from multiple ID runs based on PEPs and sequence similarities.
Definition: ConsensusIDAlgorithmPEPMatrix.h:157
OpenMS::ConsensusMap::Iterator
std::vector< ConsensusFeature >::iterator Iterator
Mutable iterator.
Definition: ConsensusMap.h:160
FeatureGroupingAlgorithmQT.h
OpenMS::FeatureXMLFile
This class provides Input/Output functionality for feature maps.
Definition: FeatureXMLFile.h:68
ConsensusIDAlgorithm.h
OpenMS::Param
Management and storage of parameters / INI files.
Definition: Param.h:73
OpenMS::MSExperiment::clear
void clear(bool clear_meta_data)
Clears all data and meta data.
OpenMS::AASequence
Representation of a peptide/protein sequence.
Definition: AASequence.h:113
OpenMS::ConsensusIDAlgorithm
Abstract base class for all ConsensusID algorithms (that calculate a consensus from multiple ID runs)...
Definition: ConsensusIDAlgorithm.h:59
OpenMS::ConsensusIDAlgorithm::number_of_runs_
Size number_of_runs_
Number of ID runs.
Definition: ConsensusIDAlgorithm.h:86
PeptideIdentification.h
OpenMS::ConsensusIDAlgorithm::apply
void apply(std::vector< PeptideIdentification > &ids, Size number_of_runs=0)
Calculates the consensus ID for a set of peptide identifications of one spectrum or (consensus) featu...
OpenMS::ConsensusIDAlgorithm::considered_hits_
Size considered_hits_
Number of peptide hits considered per ID run (input parameter)
Definition: ConsensusIDAlgorithm.h:83
OpenMS::ProteinIdentification::SearchParameters
Search parameters of the DB search.
Definition: ProteinIdentification.h:221
OpenMS::PeptideIdentification::setMZ
void setMZ(double mz)
sets the MZ of the MS2 spectrum
TOPPBase.h
OpenMS::ConsensusXMLFile
This class provides Input functionality for ConsensusMaps and Output functionality for alignments and...
Definition: ConsensusXMLFile.h:61
OpenMS::IdXMLFile
Used to load and store idXML files.
Definition: IdXMLFile.h:63