diff --git a/src/core/peptideevidence.cpp b/src/core/peptideevidence.cpp index 2ca7d6b3e79c30c26c79210b16ab85870a160740..748513258b4fdf8df3a3456ccff4039cfd2fe5ab 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 89f1771b6503e9331f33869afb8f76ad99b88371..ff8cfc9255b873cc4372b357fd6d96dfb65c82a8 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 7fb0b3e6af76abbe3ac30651cff30ea97762329e..3d43d3d7b2d85cdeae7e27def32c66e43ec67048 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); } }