63 for(
auto &aa_char : aa_str)
74 std::vector<uint8_t> llc_vec;
76 for(
auto &aa_char : aa_str)
78 llc_vec.push_back(
m_aaCode.getAaCode(aa_char.toLatin1()));
80 std::sort(llc_vec.begin(), llc_vec.end(), std::greater<uint8_t>());
85 for(
auto &aa_code : llc_vec)
95 std::size_t size)
const
97 std::vector<uint8_t> llc_vec;
99 for(std::size_t i = 0; i < size; i++)
101 llc_vec.push_back(*it_begin);
104 std::sort(llc_vec.begin(), llc_vec.end(), std::greater<uint8_t>());
109 for(
auto &aa_code : llc_vec)
137 QStringList aa_string_list;
138 for(
auto code : code_list)
142 return aa_string_list;
161std::vector<CodeToMass>
164 std::vector<CodeToMass> llc_list;
167 std::vector<uint8_t> model;
168 for(uint8_t p = 1; p <= size; p++)
172 for(uint8_t i = 1; i <
m_base; i++)
189std::vector<CodeToMass>
192 std::vector<CodeToMass> llc_list;
195 std::vector<uint8_t> model;
196 model.resize(size, 0);
198 for(uint8_t i = 1; i <
m_base; i++)
208 std::vector<uint8_t> &model,
209 std::size_t position)
const
211 if(position == model.size())
214 if(position == model.size() - 1)
216 uint8_t max = model[position - 1];
217 for(uint8_t i = 1; i <= max; i++)
225 uint8_t max = model[position - 1];
226 for(uint8_t i = 1; i <= max; i++)
239 for(
auto aacode : model)
256 std::size_t
code = 0;
257 for(std::size_t pos = 0; pos < size; pos++)
270 if(std::find(aa_ok.begin(), aa_ok.end(), (uint8_t)(
code %
m_base)) == aa_ok.end())
collection of integer code for each amino acid 0 => null 1 to 20 => amino acid sorted by there mass (...
std::size_t getLimitMax(std::size_t size) const
get the maximum code number for a given peptide size
double getMass(uint32_t code) const
const AaCode & getAaCode() const
QString decode(uint32_t code) const
uint32_t codeLlc(const QString &aa_str) const
get the lowest common denominator integer from amino acide suite string
void recGenerateModel(std::vector< CodeToMass > &glist, std::vector< uint8_t > &model, std::size_t position) const
recursive method to generate models
std::vector< uint32_t > m_units
bool uniqueCodeContainsAminoAcid(uint32_t code, uint8_t aa_ok, int times) const
tell if a unique code only contains one amino acid 1 or n times
uint32_t code(const QString &aa_str) const
get integer from amino acide suite string
CodeToMass generateCodeMassFromModel(const std::vector< uint8_t > &model) const
AaStringCodec(const AaCode &aaCode)
std::vector< CodeToMass > generateLlcCodeListByMaxPeptideSize(std::size_t size) const
generates all possible combination of llc code mass llc : the lowest common code denominator for a gi...
bool codeOnlyContains(uint32_t code, const std::vector< uint8_t > &aa_ok) const
tell if a code only contains a list of amino acid
std::vector< CodeToMass > generateLlcCodeListUpToMaxPeptideSize(std::size_t size) const
generates all possible combination of llc code mass llc : the lowest common code denominator for a gi...
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...