31 const std::vector<unsigned int>::iterator first,
32 std::vector<unsigned int>::iterator k,
33 const std::vector<unsigned int>::iterator last)
36 if((first == last) || (first == k) || (last == k))
38 std::vector<unsigned int>::iterator i1 = first;
39 std::vector<unsigned int>::iterator i2 =
last;
51 std::vector<unsigned int>::iterator j = k;
54 std::iter_swap(i1, j);
58 std::rotate(i1, j, last);
64 std::rotate(k, i2, last);
68 std::rotate(first, k, last);
93 std::int8_t sequence_database_id,
99 unsigned int missed_cleavage_number,
106 bool modify_this_peptide =
true;
109 modify_this_peptide =
false;
113 modify_this_peptide =
true;
116 (protein_sp.get()->size() ==
117 (start + peptide_sp_original.get()->size())))
120 modify_this_peptide =
true;
124 modify_this_peptide =
true;
128 if(modify_this_peptide)
131 std::vector<unsigned int> position_list;
148 missed_cleavage_number,
152 unsigned int nb_pos = position_list.size();
156 unsigned int comb_size = 1;
163 Peptide new_peptide(*(peptide_sp_original.get()));
164 for(
unsigned int i = 0; i < comb_size; i++)
166 new_peptide.addAaModification(
mp_mod, position_list[i]);
168 PeptideSp new_peptide_sp = new_peptide.makePeptideSp();
175 missed_cleavage_number,
179 position_list.begin() + comb_size,
180 position_list.end()));
187 Peptide new_peptide(*(peptide_sp_original.get()));
188 for(
unsigned int i = 0; i < nb_pos; i++)
190 new_peptide.addAaModification(
mp_mod, position_list[i]);
192 PeptideSp new_peptide_sp = new_peptide.makePeptideSp();
199 missed_cleavage_number,
213 missed_cleavage_number,