Loading...
Searching...
No Matches
peakionisotopematch.cpp
Go to the documentation of this file.
/*
* *******************************************************************************
* * Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
* *
* * This file is part of MassChroqPRM.
* *
* * MassChroqPRM is free software: you can redistribute it and/or modify
* * it under the terms of the GNU General Public License as published by
* * the Free Software Foundation, either version 3 of the License, or
* * (at your option) any later version.
* *
* * MassChroqPRM is distributed in the hope that it will be useful,
* * but WITHOUT ANY WARRANTY; without even the implied warranty of
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* * GNU General Public License for more details.
* *
* * You should have received a copy of the GNU General Public License
* * along with MassChroqPRM. If not, see <http://www.gnu.org/licenses/>.
* *
* * Contributors:
* * Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
* implementation
* ******************************************************************************/
#include "peakionisotopematch.h"
namespace pappso
{
std::vector<PeakIonIsotopeMatch>::iterator
findComplementIonType(std::vector<PeakIonIsotopeMatch>::iterator begin,
std::vector<PeakIonIsotopeMatch>::iterator end,
const PeakIonIsotopeMatch &peak_ion,
std::size_t peptide_size)
{
return std::find_if(
begin,
end,
[peak_ion, peptide_size](const PeakIonIsotopeMatch &to_compare) {
if(to_compare.getCharge() == peak_ion.getCharge())
{
if((to_compare.getPeptideFragmentIonSp().get()->size() +
peak_ion.getPeptideFragmentIonSp().get()->size()) == peptide_size)
{
if(peptideIonTypeIsComplement(to_compare.getPeptideIonType(),
peak_ion.getPeptideIonType()))
{
if(to_compare.getPeptideNaturalIsotopeAverageSp()
.get()
->getIsotopeNumber() ==
peak_ion.getPeptideNaturalIsotopeAverageSp()
.get()
->getIsotopeNumber())
{
return true;
}
}
}
}
return false;
});
}
PeakIonIsotopeMatch::PeakIonIsotopeMatch(
const DataPoint &peak,
const PeptideNaturalIsotopeAverageSp &naturalIsotopeAverageSp,
const PeptideFragmentIonSp &ion_sp)
: PeakIonMatch(peak, ion_sp, naturalIsotopeAverageSp.get()->getCharge()),
_naturalIsotopeAverageSp(naturalIsotopeAverageSp)
{
qDebug();
}
PeakIonIsotopeMatch::PeakIonIsotopeMatch(const PeakIonIsotopeMatch &other)
: PeakIonMatch(other)
{
_naturalIsotopeAverageSp = other._naturalIsotopeAverageSp;
}
PeakIonIsotopeMatch::PeakIonIsotopeMatch(PeakIonIsotopeMatch &&other)
: PeakIonMatch(std::move(other))
{
_naturalIsotopeAverageSp = other._naturalIsotopeAverageSp;
}
PeakIonIsotopeMatch::~PeakIonIsotopeMatch()
{
}
const PeptideNaturalIsotopeAverageSp &
PeakIonIsotopeMatch::getPeptideNaturalIsotopeAverageSp() const
{
return _naturalIsotopeAverageSp;
}
PeakIonIsotopeMatch &
PeakIonIsotopeMatch::operator=(const PeakIonIsotopeMatch &other)
{
PeakIonMatch::operator=(other);
_naturalIsotopeAverageSp = other._naturalIsotopeAverageSp;
return *this;
}
QString
PeakIonIsotopeMatch::toString() const
{
return QString("%1isotope%2r%3mz%4")
.arg(PeakIonMatch::toString())
.arg(_naturalIsotopeAverageSp.get()->getIsotopeNumber())
.arg(_naturalIsotopeAverageSp.get()->getIsotopeRank())
.arg(getPeak().x);
}
} // namespace pappso
pappso::PeakIonIsotopeMatch
Definition peakionisotopematch.h:47
pappso::PeakIonIsotopeMatch::PeakIonIsotopeMatch
PeakIonIsotopeMatch(const DataPoint &peak, const PeptideNaturalIsotopeAverageSp &naturalIsotopeAverageSp, const PeptideFragmentIonSp &ion_sp)
Definition peakionisotopematch.cpp:66
pappso::PeakIonIsotopeMatch::toString
virtual QString toString() const
Definition peakionisotopematch.cpp:110
pappso::PeakIonIsotopeMatch::operator=
PeakIonIsotopeMatch & operator=(const PeakIonIsotopeMatch &other)
Definition peakionisotopematch.cpp:100
pappso::PeakIonIsotopeMatch::_naturalIsotopeAverageSp
PeptideNaturalIsotopeAverageSp _naturalIsotopeAverageSp
Definition peakionisotopematch.h:65
pappso::PeakIonIsotopeMatch::getPeptideNaturalIsotopeAverageSp
virtual const PeptideNaturalIsotopeAverageSp & getPeptideNaturalIsotopeAverageSp() const
Definition peakionisotopematch.cpp:93
pappso::PeakIonIsotopeMatch::~PeakIonIsotopeMatch
virtual ~PeakIonIsotopeMatch()
Definition peakionisotopematch.cpp:89
pappso::PeakIonMatch
Definition peakionmatch.h:40
pappso::PeakIonMatch::getPeak
const DataPoint & getPeak() const
Definition peakionmatch.cpp:76
pappso::PeakIonMatch::toString
virtual QString toString() const
Definition peakionmatch.cpp:100
pappso::PeakIonMatch::operator=
PeakIonMatch & operator=(const PeakIonMatch &other)
Definition peakionmatch.cpp:60
pappso::PeakIonMatch::getCharge
unsigned int getCharge() const
Definition peakionmatch.cpp:82
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
pappso::PeptideFragmentIonSp
std::shared_ptr< const PeptideFragmentIon > PeptideFragmentIonSp
Definition peptidefragmention.h:46
pappso::PeptideIonCter::x
@ x
pappso::PeptideNaturalIsotopeAverageSp
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp
Definition peptidenaturalisotopeaverage.h:40
pappso::findComplementIonType
std::vector< PeakIonIsotopeMatch >::iterator findComplementIonType(std::vector< PeakIonIsotopeMatch >::iterator begin, std::vector< PeakIonIsotopeMatch >::iterator end, const PeakIonIsotopeMatch &peak_ion, std::size_t peptide_size)
find the first element containing the complementary ion complementary ion of y1 is b(n-1) for instanc...
Definition peakionisotopematch.cpp:30
peakionisotopematch.h
pappso::DataPoint
Definition datapoint.h:22