29 #include "../peptideisotopespectrummatch.h"
30 #include "../../trace/linearregression.h"
36 unsigned int parent_charge,
38 std::vector<PeptideIon> ion_vector)
40 std::list<PeptideIon> ion_list(ion_vector.begin(), ion_vector.end());
42 spectrum, peptide_sp, parent_charge, precision, ion_list, 1, 1);
48 std::vector<double> mono_th_intensities(peptide_sp.get()->size(), 0);
49 std::vector<double> isotope_th_intensities(peptide_sp.get()->size(), 0);
51 std::vector<double> mono_exp_intensities(peptide_sp.get()->size(), 0);
52 std::vector<double> isotope_exp_intensities(peptide_sp.get()->size(), 0);
56 if(peak_ion_match.getPeptideIonType() == ion_type)
58 std::size_t vector_position =
59 peak_ion_match.getPeptideFragmentIonSp().get()->size() - 1;
61 peak_ion_match.getPeptideNaturalIsotopeAverageSp();
62 if(iso_average_sp.get()->getIsotopeNumber() == 0)
64 mono_th_intensities[vector_position] =
65 iso_average_sp.get()->getIntensityRatio();
66 mono_exp_intensities[vector_position] =
67 peak_ion_match.getPeak().y;
69 else if(iso_average_sp.get()->getIsotopeNumber() == 1)
71 isotope_th_intensities[vector_position] =
72 iso_average_sp.get()->getIntensityRatio();
73 isotope_exp_intensities[vector_position] =
74 peak_ion_match.getPeak().y;
79 for(std::size_t i = 0; i < mono_th_intensities.size(); i++)
81 if((mono_th_intensities[i] != 0) && (isotope_th_intensities[i] != 0))
83 DataPoint xy(mono_th_intensities[i] / isotope_th_intensities[i],
84 mono_exp_intensities[i] /
85 isotope_exp_intensities[i]);
86 scaterplot.push_back(
xy);
pappso::pappso_double getIonIsotopeRatioScore() const
IonIsotopeRatioScore(const MassSpectrum &spectrum, const PeptideSp &peptide_sp, unsigned int parent_charge, PrecisionPtr precision, std::vector< PeptideIon > ion_list)
pappso::pappso_double m_ionIsotopeRatioScore
virtual ~IonIsotopeRatioScore()
double getCoefficientOfDetermination(const Trace &data) const
get Coefficient of determination (R2)
Class to represent a mass spectrum.
const std::list< PeakIonIsotopeMatch > & getPeakIonIsotopeMatchList() const
A simple container of DataPoint instances.
psm score computed using ion isotopes
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)
std::shared_ptr< const Peptide > PeptideSp
double pappso_double
A type definition for doubles.
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp