35#include "../pappsoexception.h"
72const std::list<PeptideIon> &
80 : msp_peptide(peptide), m_ionList(ions)
84 qDebug() <<
"PeptideFragmentIonListBase::PeptideFragmentIonListBase begin " << ions.size();
85 std::list<PeptideFragmentSp> fragment_list =
92 for(
auto &&fragment_sp : fragment_list)
107 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type));
111 if(phosphorylation_mod ==
nullptr)
115 peptide.get()->getNumberOfModification(phosphorylation_mod);
120 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type, i + 1));
135 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type));
139 if(phosphorylation_mod ==
nullptr)
143 peptide.get()->getNumberOfModification(phosphorylation_mod);
148 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type, i + 1));
154 qDebug() <<
"PeptideFragmentIonListBase::PeptideFragmentIonListBase end " << ions.size();
159 QObject::tr(
"ERROR building PeptideFragmentIonListBase, PAPPSO exception:\n%1")
160 .arg(exception_pappso.
qwhat());
161 qDebug() <<
"PeptideFragmentIonListBase::PeptideFragmentIonListBase "
162 "PappsoException :\n"
166 catch(std::exception &exception_std)
169 QObject::tr(
"ERROR building PeptideFragmentIonListBase, std exception:\n%1")
170 .arg(exception_std.what());
171 qDebug() <<
"PeptideFragmentIonListBase::PeptideFragmentIonListBase "
179 : msp_peptide(other.msp_peptide),
180 msp_peptide_fragment_ion_list(other.msp_peptide_fragment_ion_list),
181 m_ionList(other.m_ionList),
182 m_phosphorylationNumber(other.m_phosphorylationNumber)
190 return std::make_shared<const PeptideFragmentIonListBase>(*
this);
198const std::list<PeptideFragmentSp>
201 std::list<PeptideFragmentSp> peptide_fragment_list;
203 unsigned int max = peptide.get()->size() - 1;
204 for(
unsigned int i = 0; i <
max; i++)
207 peptide_fragment_list.push_back(
209 peptide_fragment_list.push_back(
212 return peptide_fragment_list;
215const std::list<PeptideFragmentIonSp>
218 std::list<PeptideFragmentIonSp> ion_list;
221 if(peptide_fragment_ion_sp.get()->getPeptideIonType() == ion_type)
223 ion_list.push_back(peptide_fragment_ion_sp);
238 PeptideIon ion_type,
unsigned int size,
unsigned int number_of_neutral_phospho_loss)
const
242 if(peptide_fragment_ion_sp.get()->getPeptideIonType() == ion_type)
244 if(peptide_fragment_ion_sp.get()->size() ==
size)
246 if(peptide_fragment_ion_sp.get()->getNumberOfNeutralPhosphoLoss() ==
247 number_of_neutral_phospho_loss)
249 return (peptide_fragment_ion_sp);
255 throw PappsoException(QString(
"PeptideFragmentIon %1 of size %2 not found")
268const std::list<pappso::PeptideFragmentIonSp> &
271 return msp_peptide_fragment_ion_list;
283 return m_phosphorylationNumber;
286std::list<pappso::PeptideFragmentIonSp>::const_iterator
289 return msp_peptide_fragment_ion_list.begin();
292std::list<pappso::PeptideFragmentIonSp>::const_iterator
295 return msp_peptide_fragment_ion_list.end();
static AaModificationP getInstance(const QString &accession)
virtual const QString & qwhat() const
std::list< PeptideFragmentIonSp > msp_peptide_fragment_ion_list
const std::list< PeptideFragmentIonSp > getPeptideFragmentIonSp(PeptideIon ion_type) const
static std::list< PeptideIon > getETDionList()
unsigned int getPhosphorylationNumber() const
PeptideFragmentIonListBaseSp makePeptideFragmentIonListBaseSp() const
virtual ~PeptideFragmentIonListBase()
virtual const PeptideSp & getPeptideSp() const
PeptideFragmentIonListBase(const PeptideSp &peptide, const IonList &ions)
const std::list< PeptideIon > & getIonList() const
std::list< PeptideIon > IonList
std::list< PeptideFragmentIonSp >::const_iterator end() const
static const std::list< PeptideFragmentSp > getPeptideFragmentList(const PeptideSp &peptide)
unsigned int m_phosphorylationNumber
std::list< PeptideFragmentIonSp >::const_iterator begin() const
const PeptideSp msp_peptide
const std::list< PeptideFragmentIonSp > & getPeptideFragmentIonList() const
static std::list< PeptideIon > getCIDionList()
const QString getPeptideIonName() const
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)
@ ystar
Cter amino ions + NH3 loss.
@ yo
Cter amino ions + H2O loss.
@ bstar
Nter acylium ions + NH3 loss.
@ bo
Nter acylium ions + H2O loss.
std::shared_ptr< const PeptideFragmentIon > PeptideFragmentIonSp
std::shared_ptr< const Peptide > PeptideSp
std::shared_ptr< const PeptideFragmentIonListBase > PeptideFragmentIonListBaseSp
@ max
maximum of intensities
fragmentation base object