36                                                   std::size_t model_max_size,
 
   42  std::vector<pappso::CodeToMass> code_to_mass =
 
   43    m_aaCodec.generateLlcCodeListUpToMaxPeptideSize(model_max_size);
 
   45  for(
auto &code_mass : code_to_mass)
 
   48      aaCodeMassRange.
code         = code_mass.code;
 
   49      double delta                 = precision->
delta(code_mass.mass);
 
   51      aaCodeMassRange.
mz           = code_mass.mass;
 
   52      aaCodeMassRange.
mz_range_up  = code_mass.mass + delta;
 
   61              return a.mz_range_low < b.mz_range_low;
 
 
   89  std::vector<uint32_t> aa_code_list;
 
   93  auto it_aacode = std::upper_bound(
 
   99      return mass_range.mz_range_up > mass;
 
  102  bool previous_out_of_range = 
false;
 
  106      if(mass < it_aacode->mz_range_low)
 
  109          if(previous_out_of_range)
 
  111          previous_out_of_range = 
true;
 
  116          if(mass <= it_aacode->mz_range_up)
 
  118              previous_out_of_range = 
false;
 
  119              aa_code_list.push_back(it_aacode->code);
 
 
  133  double mass, 
const pappso::Aa &aa, 
int quantifier)
 const 
  135  std::vector<uint32_t> aa_code_list;
 
  137  double total_modification_mass = aa.getTotalModificationMass();
 
  138  total_modification_mass *= quantifier;
 
  139  mass = mass - total_modification_mass;
 
  143  uint8_t aamodCode = 
m_aaCode.getAaCode(aa.getLetter());
 
  149      if(mass < it_aacode->mz_range_low)
 
  155          if(mass <= it_aacode->mz_range_up)
 
  157              if(
m_aaCodec.uniqueCodeContainsAminoAcid(
 
  158                   it_aacode->code, aamodCode, quantifier))
 
  160                  aa_code_list.push_back(it_aacode->code);
 
 
  177  std::vector<double> &mass_list)
 const 
  179  std::sort(mass_list.begin(), mass_list.end(), [](
double a, 
double b) {
 
  182  std::vector<uint32_t> aa_code_list;
 
  185  auto it_mass   = mass_list.begin();
 
  187  while((it_aacode != 
m_codeMassList.end()) && (it_mass != mass_list.end()))
 
  189      if(*it_mass < it_aacode->mz_range_low)
 
  195          if(*it_mass <= it_aacode->mz_range_up)
 
  197              aa_code_list.push_back(it_aacode->code);
 
 
  211  std::vector<uint32_t> &code_list)
 const 
  213  std::sort(code_list.begin(), code_list.end(), [](uint32_t 
a, uint32_t 
b) {
 
  216  std::vector<uint32_t> filtered_aa_code_list;
 
  218  std::vector<uint8_t> aa_ok;
 
  220  auto it = code_list.begin();
 
  223      aa_ok.push_back((uint8_t)*it);
 
  229  for(uint32_t code : code_list)
 
  231      if(
m_aaCodec.codeOnlyContains(code, aa_ok))
 
  233          filtered_aa_code_list.push_back(code);
 
  236  return filtered_aa_code_list;
 
 
collection of integer code for each amino acid 0 => null 1 to 20 => amino acid sorted by there mass (...
 
std::vector< aaCodeAndMassRange > m_codeMassList
 
std::vector< uint32_t > filterCodeList(std::vector< uint32_t > &code_list) const
filter a list of amino acid string code find elementary amino acids (one base only) in the list and r...
 
~AaStringCodeMassMatching()
 
std::vector< uint32_t > getAaCodeFromMass(double mass) const
get amino acid string code from a single mass delta
 
PrecisionPtr getPrecisionPtr() const
 
AaStringCodeMassMatching(const AaCode &aa_code, std::size_t model_max_size, PrecisionPtr precision)
 
std::vector< uint32_t > getAaCodeFromMassWearingModification(double mass, const Aa &aa, int quantifier) const
get amino acid string code from a single mass delta wearing a specific modification
 
std::vector< uint32_t > getAaCodeFromMassList(std::vector< double > &mass_list) const
 
virtual pappso_double delta(pappso_double value) const =0
 
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
 
const PrecisionBase * PrecisionPtr