25 #include <QStringList>
27 #include "../obo/filterobopsimodtermlabel.h"
28 #include "../obo/filterobopsimodsink.h"
54 int matched_length_cumul = 0;
55 while((pos = mod_parser.indexIn(pepstr, pos)) != -1)
57 QStringList mod_list = pepstr.mid(pos + 1, mod_parser.matchedLength() - 2)
58 .split(QRegExp(
"[+,\\,]"));
59 for(QString &mod : mod_list)
61 qDebug() <<
"PeptideStrParser::parseString mod " << mod;
62 if(rx_psimod.exactMatch(mod))
64 qDebug() <<
"PeptideStrParser::parseString pos-1 "
65 << (pos - 1 - matched_length_cumul);
67 pos - 1 - matched_length_cumul);
69 else if(mod.startsWith(
"internal:Nter_"))
74 else if(mod.startsWith(
"internal:Cter_"))
79 else if(rx_modmass.exactMatch(mod))
82 if(!mod.contains(
"."))
85 mod =
"MOD:0000" + mod;
88 mod = mod.replace(4, 1,
"");
91 pos - 1 - matched_length_cumul);
97 pos - 1 - matched_length_cumul);
109 pos - 1 - matched_length_cumul);
112 matched_length_cumul += mod_parser.matchedLength();
113 pos += mod_parser.matchedLength();