32 #include "../pappsoexception.h"
42 #define CACHE_ARRAY_SIZE 500
57 for(
unsigned int d = 1; d <= k; ++d)
81 return (pow(abundance, heavy) * pow((
double)1 - abundance, (total - heavy)) *
201 PeptideNaturalIsotope::PeptideNaturalIsotope(
203 : m_peptide(peptide), m_mapIsotope(map_isotope)
218 int number_of_fixed_oxygen =
221 int number_of_fixed_sulfur =
239 number_of_fixed_oxygen,
244 number_of_fixed_oxygen,
249 number_of_fixed_sulfur,
254 number_of_fixed_sulfur,
259 number_of_fixed_sulfur,
279 : m_peptide(other.m_peptide), m_mapIsotope(other.m_mapIsotope)
313 return m_peptide.get()->getNumberOfAtom(atom);
320 m_peptide.get()->getNumberOfIsotope(isotope);
323 const std::map<Isotope, int> &
virtual int getNumberOfAtom(AtomIsotopeSurvey atom) const override
get the number of atom C, O, N, H in the molecule
virtual const QString getSequence() const override
amino acid sequence without modification
virtual int getNumberOfIsotope(Isotope isotope) const override
get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
const std::map< Isotope, int > & getIsotopeMap() const
const PeptideInterfaceSp m_peptide
PeptideNaturalIsotope(const PeptideInterfaceSp &peptide, const std::map< Isotope, int > &map_isotope)
virtual bool isPalindrome() const override
tells if the peptide sequence is a palindrome
virtual unsigned int size() const override
virtual unsigned int getIsotopeNumber() const
virtual ~PeptideNaturalIsotope()
const std::map< Isotope, int > m_mapIsotope
pappso_double getIntensityRatio(unsigned int charge) const
pappso_double getMass() const override
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
const pappso_double DIFFS32S33(32.9714589101 - MASSSULFUR)
uint64_t Combinations(unsigned int n, unsigned int k)
const pappso_double DIFFS32S34(33.9678670300 - MASSSULFUR)
pappso_double ratioO17_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double DIFFO16O17(16.99913150 - MASSOXYGEN)
const pappso_double ABUNDANCES36(0.00010999120070394368536836893213148869108408689498901367187500)
std::shared_ptr< const PeptideInterface > PeptideInterfaceSp
pappso_double ratioS34_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double ABUNDANCEN15(0.00364198543205827118818262988497735932469367980957031250000000)
const pappso_double DIFFS32S36(35.9670812000 - MASSSULFUR)
pappso_double ratioC13_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
double pappso_double
A type definition for doubles.
pappso_double isotopem_ratio(pappso_double abundance, unsigned int total, unsigned int heavy)
pappso_double ratioH2_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double ABUNDANCEC13(0.01078805814953308406245469086570665240287780761718750000000000)
const pappso_double ABUNDANCEO17(0.00038099847600609595965615028489992255344986915588378906250000)
pappso_double isotopem_ratio_cache(Isotope isotope, unsigned int total, unsigned int heavy)
const pappso_double ABUNDANCEH2(0.00011570983569203332000374651045149221317842602729797363281250)
pappso_double ratioO18_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double ABUNDANCES34(0.04252059835213182203972337447339668869972229003906250000000000)
pappso_double ratioS36_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double ABUNDANCEO18(0.00205139179443282221315669744399201590567827224731445312500000)
uint64_t combinations_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double DIFFO16O18(17.9991610 - MASSOXYGEN)
const pappso_double ABUNDANCES33(0.00751939844812414937003097747947322204709053039550781250000000)
const pappso_double DIFFN14N15(15.0001088982 - MASSNITROGEN)
pappso_double ratioN15_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
pappso_double ratioS33_cache[CACHE_ARRAY_SIZE][CACHE_ARRAY_SIZE]
const pappso_double DIFFC12C13(1.0033548378)
const pappso_double DIFFH1H2(2.0141017778 - MPROTIUM)
peptide natural isotope model