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

#include <ionisotoperatioscore.h>

Public Member Functions

 IonIsotopeRatioScore (const MassSpectrum &spectrum, const PeptideSp &peptide_sp, unsigned int parent_charge, PrecisionPtr precision, std::vector< Enums::PeptideIon > ion_list)
virtual ~IonIsotopeRatioScore ()
pappso::pappso_double getIonIsotopeRatioScore () const

Private Attributes

pappso::pappso_double m_ionIsotopeRatioScore

Detailed Description

Definition at line 36 of file ionisotoperatioscore.h.

Constructor & Destructor Documentation

◆ IonIsotopeRatioScore()

IonIsotopeRatioScore::IonIsotopeRatioScore ( const MassSpectrum & spectrum,
const PeptideSp & peptide_sp,
unsigned int parent_charge,
PrecisionPtr precision,
std::vector< Enums::PeptideIon > ion_list )

Definition at line 34 of file ionisotoperatioscore.cpp.

39{
40 std::list<Enums::PeptideIon> ion_list(ion_vector.begin(), ion_vector.end());
41 PeptideIsotopeSpectrumMatch psm_match(
42 spectrum, peptide_sp, parent_charge, precision, ion_list, 1, 1);
43
44 Trace scaterplot;
45
46 for(Enums::PeptideIon ion_type : ion_vector)
47 {
48 std::vector<double> mono_th_intensities(peptide_sp.get()->size(), 0);
49 std::vector<double> isotope_th_intensities(peptide_sp.get()->size(), 0);
50
51 std::vector<double> mono_exp_intensities(peptide_sp.get()->size(), 0);
52 std::vector<double> isotope_exp_intensities(peptide_sp.get()->size(), 0);
53 for(const PeakIonIsotopeMatch &peak_ion_match : psm_match.getPeakIonIsotopeMatchList())
54 {
55 if(peak_ion_match.getPeptideIonType() == ion_type)
56 {
57 std::size_t vector_position =
58 peak_ion_match.getPeptideFragmentIonSp().get()->size() - 1;
59 PeptideNaturalIsotopeAverageSp iso_average_sp =
60 peak_ion_match.getPeptideNaturalIsotopeAverageSp();
61 if(iso_average_sp.get()->getIsotopeNumber() == 0)
62 {
63 mono_th_intensities[vector_position] = iso_average_sp.get()->getIntensityRatio();
64 mono_exp_intensities[vector_position] = peak_ion_match.getPeak().y;
65 }
66 else if(iso_average_sp.get()->getIsotopeNumber() == 1)
67 {
68 isotope_th_intensities[vector_position] =
69 iso_average_sp.get()->getIntensityRatio();
70 isotope_exp_intensities[vector_position] = peak_ion_match.getPeak().y;
71 }
72 }
73 }
74
75 for(std::size_t i = 0; i < mono_th_intensities.size(); i++)
76 {
77 if((mono_th_intensities[i] != 0) && (isotope_th_intensities[i] != 0))
78 {
79 DataPoint xy(mono_th_intensities[i] / isotope_th_intensities[i],
80 mono_exp_intensities[i] / isotope_exp_intensities[i]);
81 scaterplot.push_back(xy);
82 }
83 }
84 }
85
86 scaterplot.sortX();
87
88 LinearRegression linear_regression(scaterplot);
89
90 m_ionIsotopeRatioScore = linear_regression.getCoefficientOfDetermination();
91}
pappso::pappso_double m_ionIsotopeRatioScore
unsigned int size() const override
Definition peptide.cpp:217
void sortX(Enums::SortOrder sort_order=Enums::SortOrder::ascending)
Definition trace.cpp:1071
PeptideIon
Enums::PeptideIon enum defines all types of ions (Nter or Cter).
Definition types.h:286
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp

References pappso::LinearRegression::getCoefficientOfDetermination(), pappso::PeptideNaturalIsotopeAverage::getIntensityRatio(), pappso::PeptideNaturalIsotopeAverage::getIsotopeNumber(), pappso::PeptideIsotopeSpectrumMatch::getPeakIonIsotopeMatchList(), m_ionIsotopeRatioScore, pappso::Peptide::size(), and pappso::Trace::sortX().

◆ ~IonIsotopeRatioScore()

IonIsotopeRatioScore::~IonIsotopeRatioScore ( )
virtual

Definition at line 94 of file ionisotoperatioscore.cpp.

95{
96}

Member Function Documentation

◆ getIonIsotopeRatioScore()

pappso::pappso_double IonIsotopeRatioScore::getIonIsotopeRatioScore ( ) const

Definition at line 99 of file ionisotoperatioscore.cpp.

100{
102}

References m_ionIsotopeRatioScore.

Member Data Documentation

◆ m_ionIsotopeRatioScore

pappso::pappso_double pappso::IonIsotopeRatioScore::m_ionIsotopeRatioScore
private

Definition at line 49 of file ionisotoperatioscore.h.

Referenced by IonIsotopeRatioScore(), and getIonIsotopeRatioScore().


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