61 QString peptide_str = pepstr;
63 QStringList res_split = peptide_str.split(
"?");
64 if(res_split.size() == 2)
66 peptide_str = res_split.at(1);
68 QRegularExpressionMatch match_global_mod =
m_firstGlobalMod.match(peptide_str);
70 QStringList global_mod_list;
71 while(match_global_mod.hasMatch())
73 QStringList pline = match_global_mod.capturedTexts();
80 else if(pline[1] ==
"15N")
85 else if(pline[1] ==
"D")
93 global_mod_list << pline[1];
95 peptide_str = pline[2];
101 std::size_t end = peptide_str.size();
103 bool in_cter =
false;
106 QChar aa_char = peptide_str[i];
111 aa_char = peptide_str[i];
112 while((i < end) && (aa_char !=
']'))
117 aa_char = peptide_str[i];
124 QObject::tr(
"modification string is malformed %1").arg(mod));
128 bool is_double =
false;
129 double mass_modif = mod.toDouble(&is_double);
140 if(peptide.
m_aaVec.size() == 0)
146 if(better_mod !=
nullptr)
162 if(better_mod !=
nullptr)
171 peptide.
m_aaVec.back().addAaModification(aamod);
177 if(aa_char.isLetter())
180 Aa pappso_aa(aa_char.toLatin1());
182 peptide.
m_aaVec.push_back(pappso_aa);
184 else if(aa_char ==
'-')
192 QObject::tr(
"%1 is not an amino acid").arg(aa_char));
199 for(QString &global_label_str : global_mod_list)
201 qDebug() << global_label_str;
203 QRegularExpression global_label_reg(
"^\\[(.*)\\]@(.*)$");
205 QRegularExpressionMatch match_global = global_label_reg.match(global_label_str);
207 if(match_global.hasMatch())
209 QStringList pline = match_global.capturedTexts();
210 qDebug() << pline[1];
213 qDebug() << pline[2];
214 for(QString &aa_str : pline[2].split(
","))