66 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
67 std::vector<Aa>::const_iterator it(peptide.
begin());
68 std::vector<Aa>::const_iterator end(peptide.
end());
76 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
77 pappso_double cumulative_mass = it->getMass() - nter_internal;
78 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
85 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
89 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__
90 <<
" cumulative_mass=" << cumulative_mass;
91 cumulative_mass += it->getMass();
93 (it->getLetter() ==
'P'))
104 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
105 std::vector<Aa>::const_reverse_iterator rit(peptide.
rbegin());
106 std::vector<Aa>::const_reverse_iterator ritf(peptide.
rbegin());
107 std::vector<Aa>::const_reverse_iterator rend(peptide.
rend());
109 cumulative_mass = rit->getMass() - cter_internal;
111 (ritf->getLetter() ==
'P'))
118 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
127 cumulative_mass += rit->getMass();
129 (ritf != peptide.
rend()) && (ritf->getLetter() ==
'P'))
141 qDebug() << __FILE__ <<
" " << __FUNCTION__ <<
" " << __LINE__;
146 std::vector<pappso_double> &mass_list,
PeptideIon ion_type)
const
158 mass_list.push_back(mass +
m_ionDeltaMz[(std::int8_t)ion_type]);
165 unsigned int charge)
const
185 std::vector<SimplePeakIonMatch> &peak_match_list,
189 unsigned int charge)
const
191 std::vector<pappso_double> mass_list;
197 std::vector<pappso_double>::iterator it_mz = mass_list.begin();
198 std::vector<pappso_double>::iterator it_mz_end = mass_list.end();
201 std::vector<DataPoint>::const_iterator it_peak = spectrum.begin();
202 std::vector<DataPoint>::const_iterator it_peak_end = spectrum.end();
203 unsigned int ion_size = 1;
204 while((it_peak != it_peak_end) && (it_mz != it_mz_end))
206 MzRange massrange(it_peak->x, precision);
207 if((*it_mz) > massrange.
upper())
212 if((*it_mz) < massrange.
lower())
218 peak_match_list.push_back(
219 {(*it_peak), ion_type, ion_size, charge, (*it_mz)});
pappso_double getMass() const
Class to represent a mass spectrum.
pappso_double lower() const
pappso_double upper() const
static pappso_double getDeltaMass(PeptideIon ion_type)
pappso_double[20] ionDeltatMzMassMap
~PeptideRawFragmentMasses()
void pushBackMatchSpectrum(std::vector< SimplePeakIonMatch > &peak_match_list, const MassSpectrum &spectrum, PrecisionPtr precision, PeptideIon ion_type, unsigned int charge) const
PeptideRawFragmentMasses(const Peptide &peptide, RawFragmentationMode mode)
std::vector< pappso_double > m_cumulativeCterMasses
cumulative Cter masses (without internal Cter modification)
std::vector< pappso_double > m_cumulativeNterMasses
cumulative Nter masses (without internal Nter modification)
void pushBackIonMz(std::vector< pappso_double > &mass_list, PeptideIon ion_type, unsigned int charge) const
void pushBackIonMasses(std::vector< pappso_double > &mass_list, PeptideIon ion_type) const
static ionDeltatMzMassMap m_ionDeltaMz
std::vector< Aa >::iterator end()
AaModificationP getInternalNterModification() const
std::vector< Aa >::const_reverse_iterator rend() const
std::vector< Aa >::const_reverse_iterator rbegin() const
AaModificationP getInternalCterModification() const
std::vector< Aa >::iterator begin()
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
PeptideIon
PeptideIon enum defines all types of ions (Nter or Cter)
@ astar
Nter aldimine ions + NH3 loss.
@ ystar
Cter amino ions + NH3 loss.
@ yo
Cter amino ions + H2O loss.
@ bstar
Nter acylium ions + NH3 loss.
@ bo
Nter acylium ions + H2O loss.
@ ao
Nter aldimine ions + H2O loss.
const pappso_double MASSCO(MASSCARBON+MASSOXYGEN)
const pappso_double MHPLUS(1.007276466879)
double pappso_double
A type definition for doubles.
const pappso_double MPROTIUM(1.007825032241)
const pappso_double MASSH2O((MPROTIUM *2)+MASSOXYGEN)
const pappso_double MASSNH3((MPROTIUM *3)+MASSNITROGEN)
const pappso_double MASSNITROGEN(14.0030740048)
const pappso_double MASSOXYGEN(15.99491461956)
bool peptideIonIsNter(PeptideIon ion_type)
tells if an ion is Nter
class dedicated to raw mass computations of peptide products (fragments)