 |
OpenMS
2.4.0
|
Go to the documentation of this file.
70 enum Measure {MEASURE_PPM = 0, MEASURE_DA};
96 void annotate(
PeakMap& map,
const std::vector<PeptideIdentification>& peptide_ids,
const std::vector<ProteinIdentification>& protein_ids,
const bool clear_ids =
false,
const bool mapMS1 =
false)
98 checkHits_(peptide_ids);
102 std::vector<PeptideIdentification> empty_ids;
105 it->setPeptideIdentifications(empty_ids);
107 std::vector<ProteinIdentification> empty_prot_ids;
111 if (peptide_ids.empty())
return;
117 std::multimap<double, Size> experiment_precursors;
118 for (
Size i = 0; i < map.
size(); i++)
120 experiment_precursors.insert(std::make_pair(map[i].getRT(), i));
124 std::multimap<double, Size> identifications_precursors;
125 for (
Size i = 0; i < peptide_ids.size(); ++i)
127 if (!peptide_ids[i].empty())
129 identifications_precursors.insert(std::make_pair(peptide_ids[i].getRT(), i));
135 std::set<Size> peptides_mapped;
138 std::multimap<double, Size>::const_iterator experiment_iterator = experiment_precursors.begin();
139 std::multimap<double, Size>::const_iterator identifications_iterator = identifications_precursors.begin();
144 while (experiment_iterator != experiment_precursors.end())
147 if (identifications_iterator == identifications_precursors.end())
149 --identifications_iterator;
153 while (identifications_iterator != identifications_precursors.begin() &&
154 (experiment_iterator->first - identifications_iterator->first) < rt_tolerance_)
156 --identifications_iterator;
159 if (identifications_iterator != identifications_precursors.end() && ((experiment_iterator->first - identifications_iterator->first) > rt_tolerance_))
161 ++identifications_iterator;
164 if (identifications_iterator == identifications_precursors.end())
170 while (identifications_iterator != identifications_precursors.end() &&
171 (identifications_iterator->first - experiment_iterator->first) < rt_tolerance_)
175 ((!map[experiment_iterator->second].getPrecursors().
empty()) &&
176 isMatch_(0, peptide_ids[identifications_iterator->second].getMZ(), map[experiment_iterator->second].getPrecursors()[0].getMZ())))
178 map[experiment_iterator->second].getPeptideIdentifications().push_back(peptide_ids[identifications_iterator->second]);
179 peptides_mapped.insert(identifications_iterator->second);
181 ++identifications_iterator;
184 ++experiment_iterator;
188 LOG_INFO <<
"Peptides assigned to a precursor: " << peptides_mapped.size() <<
"\n"
189 <<
" Unassigned peptides: " << peptide_ids.size() - peptides_mapped.size() <<
"\n"
190 <<
" Unmapped (empty) peptides: " << peptide_ids.size() - identifications_precursors.size() << std::endl;
213 std::vector<PeptideIdentification> peptide_ids;
215 for (FeatureMap::const_iterator it = fmap.begin(); it != fmap.end(); ++it)
217 const std::vector<PeptideIdentification>& pi = it->getPeptideIdentifications();
218 for (std::vector<PeptideIdentification>::const_iterator itp = pi.begin(); itp != pi.end(); ++itp)
220 peptide_ids.push_back(*itp);
222 if (!itp->hasMZ()) peptide_ids.back().setMZ(it->getMZ());
223 if (!itp->hasRT()) peptide_ids.back().setRT(it->getRT());
227 annotate(map, peptide_ids, protein_ids, clear_ids, mapMS1);
249 void annotate(
FeatureMap& map,
const std::vector<PeptideIdentification>& ids,
const std::vector<ProteinIdentification>& protein_ids,
bool use_centroid_rt =
false,
bool use_centroid_mz =
false,
const PeakMap& spectra =
PeakMap());
267 void annotate(
ConsensusMap& map,
const std::vector<PeptideIdentification>& ids,
268 const std::vector<ProteinIdentification>& protein_ids,
269 bool measure_from_subelements =
false,
270 bool annotate_ids_with_subelements =
false,
300 const std::vector<PeptideIdentification>& ids,
301 double mz_tol = 0.001,
302 double rt_tol = 0.001)
305 for (
Size spectrum_index = 0; spectrum_index < spectra.
size(); ++spectrum_index)
307 const MSSpectrum& spectrum = spectra[spectrum_index];
310 bool identified(
false);
311 const std::vector<Precursor>& precursors = spectrum.
getPrecursors();
314 for (
Size i_p = 0; i_p < precursors.size(); ++i_p)
317 double mz_p = precursors[i_p].getMZ();
318 double rt_s = spectrum.
getRT();
320 for (
Size i_id = 0; i_id != ids.size(); ++i_id)
325 if (pid.
getHits().empty())
continue;
327 double mz_id = pid.
getMZ();
328 double rt_id = pid.
getRT();
330 if ( fabs(mz_id - mz_p) < mz_tol && fabs(rt_s - rt_id) < rt_tol )
356 void updateMembers_()
override;
370 double getAbsoluteMZTolerance_(
const double mz)
const;
373 bool isMatch_(
const double rt_distance,
const double mz_theoretical,
const double mz_observed)
const;
376 void checkHits_(
const std::vector<PeptideIdentification>& ids)
const;
388 bool checkMassType_(
const std::vector<DataProcessing>& processing)
const;
OpenMS identification format (.idXML)
Definition: FileTypes.h:66
bool ignore_charge_
Ignore charge states during matching?
Definition: IDMapper.h:365
Base class for TOPP applications.
Definition: TOPPBase.h:150
std::vector< String > valid_strings
Default: empty.
Definition: Param.h:109
double rt_tolerance_
Allowed RT deviation.
Definition: IDMapper.h:359
void store(const String &filename, const ConsensusMap &consensus_map)
Stores a consensus map to file.
A method or algorithm argument contains illegal values.
Definition: Exception.h:648
std::vector< Size > identified
Definition: IDMapper.h:280
void setValue(const String &key, const DataValue &value, const String &description="", const StringList &tags=StringList())
Sets a value.
double mz_tolerance_
Allowed m/z deviation.
Definition: IDMapper.h:361
File adapter for MzML files.
Definition: MzMLFile.h:55
A more convenient string class.
Definition: String.h:57
Iterator begin()
Definition: MSExperiment.h:157
std::vector< double > DoubleList
Vector of double precision real types.
Definition: ListUtils.h:65
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
const std::vector< Precursor > & getPrecursors() const
returns a const reference to the precursors
OpenMS consensus map format (.consensusXML)
Definition: FileTypes.h:67
static SpectraIdentificationState mapPrecursorsToIdentifications(const PeakMap &spectra, const std::vector< PeptideIdentification > &ids, double mz_tol=0.001, double rt_tol=0.001)
Mapping of peptide identifications to spectra This helper function partitions all spectra into those ...
Definition: IDMapper.h:299
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
mzQuantML (HUPO PSI AnalysisXML followup format) (.mzq)
Definition: FileTypes.h:78
#define LOG_INFO
Macro if a information, e.g. a status should be reported.
Definition: LogStream.h:454
const DataValue & getValue(const String &key) const
Returns a value of a parameter.
mzIdentML (HUPO PSI AnalysisXML followup format) (.mzid)
Definition: FileTypes.h:77
std::vector< Int > IntList
Vector of signed integers.
Definition: ListUtils.h:58
Measure measure_
Measure used for m/z.
Definition: IDMapper.h:363
Result of a partitioning by identification state with mapPrecursorsToIdentifications().
Definition: IDMapper.h:277
Size size() const
Definition: MSExperiment.h:127
const std::vector< ProteinIdentification > & getProteinIdentifications() const
returns a const reference to the protein ProteinIdentification vector
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:91
const std::vector< PeptideHit > & getHits() const
returns the peptide hits as const
File adapter for MzQuantML files.
Definition: MzQuantMLFile.h:51
const std::vector< ConsensusMap > & getConsensusMaps() const
void load(const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids)
Loads the identifications of an idXML file without identifier.
File adapter for MzIdentML files.
Definition: MzIdentMLFile.h:67
void sortPeptideIdentificationsByMapIndex()
Sorts PeptideIdentifications of consensus features with respect to their map index.
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
OpenMS feature file (.featureXML)
Definition: FileTypes.h:65
void load(const String &filename, PeakMap &map)
Loads a map from a MzML file. Spectra and chromatograms are sorted by default (this can be disabled u...
Base::iterator iterator
Definition: MSExperiment.h:124
void load(const String &filename, FeatureMap &feature_map)
loads the file with name filename into map and calls updateRanges().
Type
Actual file types enum.
Definition: FileTypes.h:58
static FileTypes::Type getType(const String &filename)
Tries to determine the file type (by name or content)
std::vector< Size > unidentified
Definition: IDMapper.h:281
void annotate(PeakMap &map, FeatureMap fmap, const bool clear_ids=false, const bool mapMS1=false)
Mapping method for peak maps.
Definition: IDMapper.h:210
void setParameters(const Param ¶m)
Sets the parameters.
const Param & getParameters() const
Non-mutable access to the parameters.
bool empty() const
Definition: MSExperiment.h:137
MSExperiment PeakMap
Two-dimensional map of raw data points or peaks.
Definition: StandardTypes.h:61
A container for consensus elements.
Definition: ConsensusMap.h:75
void store(const String &filename, const FeatureMap &feature_map)
stores the map feature_map in file with name filename.
void load(const String &filename, ConsensusMap &map)
Loads a consensus map from file and calls updateRanges.
void load(const String &filename, std::vector< ProteinIdentification > &poid, std::vector< PeptideIdentification > &peid)
Loads the identifications from a MzIdentML file.
int main(int argc, const char **argv)
Definition: INIFileEditor.cpp:73
void store(const String &filename, const MSQuantifications &cmsq) const
Stores a map in a MzQuantML file.
A container for features.
Definition: FeatureMap.h:93
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:62
double getMZ() const
returns the MZ of the MS2 spectrum
Iterator end()
Definition: MSExperiment.h:167
Measure
Definition: IDMapper.h:70
This class provides Input/Output functionality for feature maps.
Definition: FeatureXMLFile.h:68
Management and storage of parameters / INI files.
Definition: Param.h:74
const ParamEntry & getEntry(const String &key) const
Returns the whole parameter entry.
Definition: MSQuantifications.h:51
Identification mapping
Definition: DataProcessing.h:74
Annotates an MSExperiment, FeatureMap or ConsensusMap with peptide identifications.
Definition: IDMapper.h:66
The representation of a 1D spectrum.
Definition: MSSpectrum.h:66
std::vector< Size > no_precursors
Definition: IDMapper.h:279
void load(const String &filename, MSQuantifications &msq)
Loads a map from a MzQuantML file.
void setProteinIdentifications(const std::vector< ProteinIdentification > &protein_identifications)
sets the protein ProteinIdentification vector
const std::vector< ProteinIdentification > & getProteinIdentifications() const
non-mutable access to the protein identifications
This class provides Input functionality for ConsensusMaps and Output functionality for alignments and...
Definition: ConsensusXMLFile.h:61
Used to load and store idXML files.
Definition: IdXMLFile.h:63
double getRT() const
returns the RT of the MS2 spectrum where the identification occurred
void annotate(PeakMap &map, const std::vector< PeptideIdentification > &peptide_ids, const std::vector< ProteinIdentification > &protein_ids, const bool clear_ids=false, const bool mapMS1=false)
Mapping method for peak maps.
Definition: IDMapper.h:96