From 51144af49ba87b59c4f49a569dd2379e9019bbae Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Sun, 17 Dec 2017 09:07:33 +0100 Subject: [PATCH] new function to get mass delta in ppm --- src/core/peptideevidence.cpp | 11 ++++++++++- src/core/peptideevidence.h | 5 +++++ src/core/proteinmatch.cpp | 11 +++++------ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/core/peptideevidence.cpp b/src/core/peptideevidence.cpp index 2ca7d6b3e..748513258 100644 --- a/src/core/peptideevidence.cpp +++ b/src/core/peptideevidence.cpp @@ -52,7 +52,7 @@ PeptideEvidence::PeptideEvidence(const PeptideEvidence & other): PeptideEvidence _params = other._params; _checked = other._checked; _proxy_valid = other._proxy_valid; - + } PeptideEvidenceSp PeptideEvidence::makePeptideEvidenceSp() const { @@ -117,6 +117,15 @@ void PeptideEvidence::setExperimentalMass(pappso::pappso_double exp_mass) { pappso::mz PeptideEvidence::getDeltaMass() const { return (_peptide_sp.get()->getMz(1) - (_exp_mass+pappso::MHPLUS)); } +pappso::mz PeptideEvidence::getPpmDeltaMass() const { + //return (_peptide_sp.get()->getMz(1) - (_exp_mass+pappso::MHPLUS)); + pappso::pappso_double diff = getDeltaMass(); + while (diff < -0.5) { + diff = diff + pappso::DIFFC12C13; + } + diff = (diff / getPeptideXtpSp().get()->getMz(1)) * pappso::ONEMILLION; + return diff; +} void PeptideEvidence::setCharge(unsigned int charge) { _charge =charge; } diff --git a/src/core/peptideevidence.h b/src/core/peptideevidence.h index 89f1771b6..ff8cfc925 100644 --- a/src/core/peptideevidence.h +++ b/src/core/peptideevidence.h @@ -113,6 +113,11 @@ public : * theoretical mhplus mass - mhplus experimental mass */ pappso::mz getDeltaMass() const; + + /** @brief get delta in ppm between theoretical mhplus mass and mhplus experimental mass + * theoretical mhplus mass - mhplus experimental mass + */ + pappso::mz getPpmDeltaMass() const; ValidationState getValidationState() const; diff --git a/src/core/proteinmatch.cpp b/src/core/proteinmatch.cpp index 7fb0b3e6a..3d43d3d7b 100644 --- a/src/core/proteinmatch.cpp +++ b/src/core/proteinmatch.cpp @@ -449,14 +449,13 @@ void ProteinMatch::collectMhDelta(std::set< const PeptideEvidence *> & already_c for (auto & peptide_match : _peptide_match_list) { const PeptideEvidence * p_peptide_evidence = peptide_match.getPeptideEvidence(); if ((p_peptide_evidence->getValidationState() >= state)&&(already_counted.find(p_peptide_evidence) == already_counted.end())) { - pappso::pappso_double diff = p_peptide_evidence->getDeltaMass(); if (unit == pappso::PrecisionUnit::ppm) { - while (diff < -0.5) { - diff = diff + pappso::DIFFC12C13; - } - diff = (diff / p_peptide_evidence->getPeptideXtpSp().get()->getMz(1)) * pappso::ONEMILLION; + delta_list.push_back(p_peptide_evidence->getPpmDeltaMass()); + } + else { + delta_list.push_back(p_peptide_evidence->getDeltaMass()); } - delta_list.push_back(diff); + already_counted.insert(p_peptide_evidence); } } -- GitLab