libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::PeptideFragmentIonListBase Class Reference

#include <peptidefragmentionlistbase.h>

Public Member Functions

 PeptideFragmentIonListBase (const PeptideSp &peptide, const IonList &ions)
 PeptideFragmentIonListBase (const PeptideFragmentIonListBase &other)
virtual ~PeptideFragmentIonListBase ()
PeptideFragmentIonListBaseSp makePeptideFragmentIonListBaseSp () const
const std::list< Enums::PeptideIon > & getIonList () const
unsigned int getPhosphorylationNumber () const
virtual const PeptideSpgetPeptideSp () const
const std::list< PeptideFragmentIonSpgetPeptideFragmentIonSp (Enums::PeptideIon ion_type) const
const PeptideFragmentIonSpgetPeptideFragmentIonSp (Enums::PeptideIon ion_type, unsigned int size) const
const PeptideFragmentIonSpgetPeptideFragmentIonSp (Enums::PeptideIon ion_type, unsigned int size, unsigned int number_of_neutral_phospho_loss) const
std::list< PeptideFragmentIonSp >::const_iterator begin () const
std::list< PeptideFragmentIonSp >::const_iterator end () const
const std::list< PeptideFragmentIonSp > & getPeptideFragmentIonList () const
std::size_t size () const

Static Public Member Functions

static std::list< Enums::PeptideIongetCIDionList ()
static std::list< Enums::PeptideIongetETDionList ()

Static Protected Member Functions

static const std::list< PeptideFragmentSpgetPeptideFragmentList (const PeptideSp &peptide)

Protected Attributes

const PeptideSp msp_peptide
std::list< PeptideFragmentIonSpmsp_peptide_fragment_ion_list
IonList m_ionList
unsigned int m_phosphorylationNumber

Private Types

using IonList = std::list<Enums::PeptideIon>

Detailed Description

Definition at line 44 of file peptidefragmentionlistbase.h.

Member Typedef Documentation

◆ IonList

Definition at line 46 of file peptidefragmentionlistbase.h.

Constructor & Destructor Documentation

◆ PeptideFragmentIonListBase() [1/2]

pappso::PeptideFragmentIonListBase::PeptideFragmentIonListBase ( const PeptideSp & peptide,
const IonList & ions )

Definition at line 78 of file peptidefragmentionlistbase.cpp.

80 : msp_peptide(peptide), m_ionList(ions)
81{
82 try
83 {
84 qDebug() << "PeptideFragmentIonListBase::PeptideFragmentIonListBase begin " << ions.size();
85 std::list<PeptideFragmentSp> fragment_list =
87
89 AaModificationP phosphorylation_mod = nullptr;
90
91
92 qDebug();
93 for(auto &&fragment_sp : fragment_list)
94 {
95 // qDebug()<< "PeptideFragmentIonListBase::PeptideFragmentIonListBase
96 // ition";
97 if(fragment_sp.get()->getPeptideIonDirection() == PeptideDirection::Cter)
98 {
99 for(auto &&ion_type : m_ionList)
100 {
101 // qDebug()<<
102 // "PeptideFragmentIonListBase::PeptideFragmentIonListBase
103 // ition";
104 if((ion_type == Enums::PeptideIon::y) || (ion_type == Enums::PeptideIon::ystar) ||
105 (ion_type == Enums::PeptideIon::yo) || (ion_type == Enums::PeptideIon::z))
106 {
108 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type));
109 }
110 else if(ion_type == Enums::PeptideIon::yp)
111 {
112 if(phosphorylation_mod == nullptr)
113 {
114 phosphorylation_mod = AaModification::getInstance("MOD:00696");
116 peptide.get()->getNumberOfModification(phosphorylation_mod);
117 }
118 for(unsigned int i = 0; i < m_phosphorylationNumber; i++)
119 {
121 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type, i + 1));
122 }
123 }
124 }
125 }
126 else
127 {
128 for(auto &&ion_type : m_ionList)
129 {
130 // b, bstar, bo, a
131 if((ion_type == Enums::PeptideIon::b) || (ion_type == Enums::PeptideIon::bstar) ||
132 (ion_type == Enums::PeptideIon::bo) || (ion_type == Enums::PeptideIon::a) ||
133 (ion_type == Enums::PeptideIon::c))
134 {
136 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type));
137 }
138 else if(ion_type == Enums::PeptideIon::bp)
139 {
140 if(phosphorylation_mod == nullptr)
141 {
142 phosphorylation_mod = AaModification::getInstance("MOD:00696");
144 peptide.get()->getNumberOfModification(phosphorylation_mod);
145 }
146 for(unsigned int i = 0; i < m_phosphorylationNumber; i++)
147 {
149 std::make_shared<PeptideFragmentIon>(fragment_sp, ion_type, i + 1));
150 }
151 }
152 }
153 }
154 }
155 qDebug() << "PeptideFragmentIonListBase::PeptideFragmentIonListBase end " << ions.size();
156 }
157 catch(PappsoException &exception_pappso)
158 {
159 QString errorStr =
160 QObject::tr("ERROR building PeptideFragmentIonListBase, PAPPSO exception:\n%1")
161 .arg(exception_pappso.qwhat());
162 qDebug() << "PeptideFragmentIonListBase::PeptideFragmentIonListBase "
163 "PappsoException :\n"
164 << errorStr;
165 throw PappsoException(errorStr);
166 }
167 catch(std::exception &exception_std)
168 {
169 QString errorStr =
170 QObject::tr("ERROR building PeptideFragmentIonListBase, std exception:\n%1")
171 .arg(exception_std.what());
172 qDebug() << "PeptideFragmentIonListBase::PeptideFragmentIonListBase "
173 "std::exception :\n"
174 << errorStr;
175 throw PappsoException(errorStr);
176 }
177}
static AaModificationP getInstance(const QString &accession)
std::list< PeptideFragmentIonSp > msp_peptide_fragment_ion_list
static const std::list< PeptideFragmentSp > getPeptideFragmentList(const PeptideSp &peptide)
@ a
Nter aldimine ions.
Definition types.h:290
@ y
Cter amino ions.
Definition types.h:295
@ c
Nter amino ions.
Definition types.h:294
@ ystar
Cter amino ions + NH3 loss.
Definition types.h:296
@ yo
Cter amino ions + H2O loss.
Definition types.h:297
@ bstar
Nter acylium ions + NH3 loss.
Definition types.h:288
@ b
Nter acylium ions.
Definition types.h:287
@ bo
Nter acylium ions + H2O loss.
Definition types.h:289
@ z
Cter carbocations.
Definition types.h:298
const AaModification * AaModificationP

References pappso::Enums::a, pappso::Enums::b, pappso::Enums::bo, pappso::Enums::bp, pappso::Enums::bstar, pappso::Enums::c, pappso::Cter, pappso::AaModification::getInstance(), getPeptideFragmentList(), m_ionList, m_phosphorylationNumber, msp_peptide, msp_peptide_fragment_ion_list, pappso::PappsoException::qwhat(), pappso::Enums::y, pappso::Enums::yo, pappso::Enums::yp, pappso::Enums::ystar, and pappso::Enums::z.

Referenced by PeptideFragmentIonListBase().

◆ PeptideFragmentIonListBase() [2/2]

pappso::PeptideFragmentIonListBase::PeptideFragmentIonListBase ( const PeptideFragmentIonListBase & other)

Definition at line 179 of file peptidefragmentionlistbase.cpp.

180 : msp_peptide(other.msp_peptide),
181 msp_peptide_fragment_ion_list(other.msp_peptide_fragment_ion_list),
182 m_ionList(other.m_ionList),
183 m_phosphorylationNumber(other.m_phosphorylationNumber)
184{
185}

References PeptideFragmentIonListBase(), m_ionList, m_phosphorylationNumber, msp_peptide, and msp_peptide_fragment_ion_list.

◆ ~PeptideFragmentIonListBase()

pappso::PeptideFragmentIonListBase::~PeptideFragmentIonListBase ( )
virtual

Definition at line 195 of file peptidefragmentionlistbase.cpp.

196{
197}

Member Function Documentation

◆ begin()

std::list< pappso::PeptideFragmentIonSp >::const_iterator pappso::PeptideFragmentIonListBase::begin ( ) const

Definition at line 298 of file peptidefragmentionlistbase.cpp.

299{
300 return msp_peptide_fragment_ion_list.begin();
301}

References msp_peptide_fragment_ion_list.

◆ end()

std::list< pappso::PeptideFragmentIonSp >::const_iterator pappso::PeptideFragmentIonListBase::end ( ) const

Definition at line 304 of file peptidefragmentionlistbase.cpp.

305{
307}

References msp_peptide_fragment_ion_list.

◆ getCIDionList()

std::list< Enums::PeptideIon > pappso::PeptideFragmentIonListBase::getCIDionList ( )
static

Definition at line 41 of file peptidefragmentionlistbase.cpp.

42{
43 IonList ret;
44 // populate ret
45
46 ret.push_back(Enums::PeptideIon::y);
47 ret.push_back(Enums::PeptideIon::yp);
48 ret.push_back(Enums::PeptideIon::ystar);
49 ret.push_back(Enums::PeptideIon::yo);
50 ret.push_back(Enums::PeptideIon::b);
51 ret.push_back(Enums::PeptideIon::bp);
52 ret.push_back(Enums::PeptideIon::a);
53 ret.push_back(Enums::PeptideIon::bstar);
54 ret.push_back(Enums::PeptideIon::bo);
55 return ret;
56}

References pappso::Enums::a, pappso::Enums::b, pappso::Enums::bo, pappso::Enums::bp, pappso::Enums::bstar, pappso::Enums::y, pappso::Enums::yo, pappso::Enums::yp, and pappso::Enums::ystar.

Referenced by pappso::MassSpectrumWidget::MassSpectrumWidget(), and pappso::cbor::psm::PsmIonSeriesScan::process().

◆ getETDionList()

std::list< Enums::PeptideIon > pappso::PeptideFragmentIonListBase::getETDionList ( )
static

Definition at line 59 of file peptidefragmentionlistbase.cpp.

60{
61 IonList ret;
62 // populate ret
63
64 ret.push_back(Enums::PeptideIon::y);
65 ret.push_back(Enums::PeptideIon::c);
66 ret.push_back(Enums::PeptideIon::z);
67 ret.push_back(Enums::PeptideIon::ystar);
68 ret.push_back(Enums::PeptideIon::yo);
69 return ret;
70}

References pappso::Enums::c, pappso::Enums::y, pappso::Enums::yo, pappso::Enums::ystar, and pappso::Enums::z.

◆ getIonList()

const std::list< Enums::PeptideIon > & pappso::PeptideFragmentIonListBase::getIonList ( ) const

Definition at line 73 of file peptidefragmentionlistbase.cpp.

74{
75 return m_ionList;
76}

References m_ionList.

◆ getPeptideFragmentIonList()

const std::list< pappso::PeptideFragmentIonSp > & pappso::PeptideFragmentIonListBase::getPeptideFragmentIonList ( ) const

Definition at line 280 of file peptidefragmentionlistbase.cpp.

281{
283}

References msp_peptide_fragment_ion_list.

◆ getPeptideFragmentIonSp() [1/3]

const std::list< PeptideFragmentIonSp > pappso::PeptideFragmentIonListBase::getPeptideFragmentIonSp ( Enums::PeptideIon ion_type) const

Definition at line 226 of file peptidefragmentionlistbase.cpp.

227{
228 std::list<PeptideFragmentIonSp> ion_list;
229 for(auto &&peptide_fragment_ion_sp : msp_peptide_fragment_ion_list)
230 {
231 if(peptide_fragment_ion_sp.get()->getPeptideIonType() == ion_type)
232 {
233 ion_list.push_back(peptide_fragment_ion_sp);
234 }
235 }
236 return (ion_list);
237}

References msp_peptide_fragment_ion_list.

Referenced by pappso::PeptideIsotopeSpectrumMatch::PeptideIsotopeSpectrumMatch(), pappso::specglob::PeptideSpectrum::PeptideSpectrum(), getPeptideFragmentIonSp(), and pappso::PeptideSpectrumMatch::privMatchIonList().

◆ getPeptideFragmentIonSp() [2/3]

const PeptideFragmentIonSp & pappso::PeptideFragmentIonListBase::getPeptideFragmentIonSp ( Enums::PeptideIon ion_type,
unsigned int size ) const

Definition at line 240 of file peptidefragmentionlistbase.cpp.

242{
243
244 return getPeptideFragmentIonSp(ion_type, size, 0);
245}
const std::list< PeptideFragmentIonSp > getPeptideFragmentIonSp(Enums::PeptideIon ion_type) const

References getPeptideFragmentIonSp(), and size().

◆ getPeptideFragmentIonSp() [3/3]

const PeptideFragmentIonSp & pappso::PeptideFragmentIonListBase::getPeptideFragmentIonSp ( Enums::PeptideIon ion_type,
unsigned int size,
unsigned int number_of_neutral_phospho_loss ) const

Definition at line 248 of file peptidefragmentionlistbase.cpp.

250{
251 for(auto &&peptide_fragment_ion_sp : msp_peptide_fragment_ion_list)
252 {
253 if(peptide_fragment_ion_sp.get()->getPeptideIonType() == ion_type)
254 {
255 if(peptide_fragment_ion_sp.get()->size() == size)
256 {
257 if(peptide_fragment_ion_sp.get()->getNumberOfNeutralPhosphoLoss() ==
258 number_of_neutral_phospho_loss)
259 {
260 return (peptide_fragment_ion_sp);
261 }
262 }
263 }
264 }
265
266 throw PappsoException(QString("PeptideFragmentIon %1 of size %2 not found")
268 .arg(size));
269}
const QString getPeptideIonName() const

References pappso::PeptideFragmentIon::getPeptideIonName(), msp_peptide_fragment_ion_list, and size().

◆ getPeptideFragmentList()

const std::list< PeptideFragmentSp > pappso::PeptideFragmentIonListBase::getPeptideFragmentList ( const PeptideSp & peptide)
staticprotected

Definition at line 200 of file peptidefragmentionlistbase.cpp.

201{
202
203 qDebug();
204 std::list<PeptideFragmentSp> peptide_fragment_list;
205
206 if(peptide.get()->size() < 1)
207 {
208 return peptide_fragment_list;
209 }
210
211 unsigned int max = peptide.get()->size() - 1;
212
213 for(unsigned int i = 0; i < max; i++)
214 {
215
216 peptide_fragment_list.push_back(
217 std::make_shared<PeptideFragment>(peptide, PeptideDirection::Nter, i + 1));
218 peptide_fragment_list.push_back(
219 std::make_shared<PeptideFragment>(peptide, PeptideDirection::Cter, i + 1));
220 }
221 qDebug();
222 return peptide_fragment_list;
223}
@ max
maximum of intensities
Definition types.h:280

References pappso::Cter, and pappso::Nter.

Referenced by PeptideFragmentIonListBase().

◆ getPeptideSp()

const pappso::PeptideSp & pappso::PeptideFragmentIonListBase::getPeptideSp ( ) const
virtual

Definition at line 286 of file peptidefragmentionlistbase.cpp.

287{
288 return msp_peptide;
289}

References msp_peptide.

◆ getPhosphorylationNumber()

unsigned int pappso::PeptideFragmentIonListBase::getPhosphorylationNumber ( ) const

Definition at line 292 of file peptidefragmentionlistbase.cpp.

293{
295}

References m_phosphorylationNumber.

◆ makePeptideFragmentIonListBaseSp()

PeptideFragmentIonListBaseSp pappso::PeptideFragmentIonListBase::makePeptideFragmentIonListBaseSp ( ) const

Definition at line 189 of file peptidefragmentionlistbase.cpp.

190{
191 return std::make_shared<const PeptideFragmentIonListBase>(*this);
192}

◆ size()

std::size_t pappso::PeptideFragmentIonListBase::size ( ) const

Member Data Documentation

◆ m_ionList

IonList pappso::PeptideFragmentIonListBase::m_ionList
protected

◆ m_phosphorylationNumber

unsigned int pappso::PeptideFragmentIonListBase::m_phosphorylationNumber
protected

◆ msp_peptide

const PeptideSp pappso::PeptideFragmentIonListBase::msp_peptide
protected

◆ msp_peptide_fragment_ion_list

std::list<PeptideFragmentIonSp> pappso::PeptideFragmentIonListBase::msp_peptide_fragment_ion_list
protected

The documentation for this class was generated from the following files: