47{
49
52
55
56 SpectrumIdentificationResultPtr result2 = sil->spectrumIdentificationResult[1];
57
58
59 {
60
61
62 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
63
64
65 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
70 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
71 unit_assert(result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
72 }
73
74
75 sip->enzymes.independent = true;
76 {
77
78
79 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
80
81
82 result2_rank1->peptideEvidencePtr[0]->pre = 'K';
83
84
85
86
87 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
92 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
93 unit_assert(!result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
94 }
95
96
97 sip->enzymes.enzymes.clear();
98 EnzymePtr trypsin(
new Enzyme);
99 trypsin->id = "ENZ_1";
100 trypsin->cTermGain = "OH";
101 trypsin->nTermGain = "H";
102 trypsin->missedCleavages = 2;
103 trypsin->minDistance = 1;
104 trypsin->terminalSpecificity = proteome::Digestion::FullySpecific;
105 trypsin->siteRegexp = "(?<=[KR])";
107 sip->enzymes.enzymes.push_back(trypsin);
108
109 {
110
111 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
112 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
118 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
119 unit_assert(result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
122
123
124 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
125 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
127
128
129 for (int i=0; i < 2; ++i)
130 {
135 unit_assert(result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
136 unit_assert(!result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
139 }
140 }
141
142
143 sip->enzymes.enzymes[0]->enzymeName.clear();
144 sip->enzymes.enzymes[0]->siteRegexp = "(?<=K)";
145
146 {
147
148 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
149 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
154 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
155 unit_assert(!result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
156
157
158 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
159 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
161
162
163 for (int i=0; i < 2; ++i)
164 {
168 unit_assert(result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
169 unit_assert(!result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
170 }
171 }
172
173
175 sip->enzymes.enzymes[0]->siteRegexp.clear();
176
177 {
178
179 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
180 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
185 unit_assert(!result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
186 unit_assert(!result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
187
188
189 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
190 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
192
193
194 for (int i=0; i < 2; ++i)
195 {
199 unit_assert(!result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
200 unit_assert(!result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
201 }
202 }
203
204
205 sip->enzymes.enzymes[0]->enzymeName.clear();
207
208 {
209
210 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
211 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
216 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
217 unit_assert(result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
218
219
220 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
221 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
223
224
225 for (int i=0; i < 2; ++i)
226 {
230 unit_assert(result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
231 unit_assert(result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
232 }
233 }
234
235
236 sip->enzymes.enzymes[0]->enzymeName.clear();
237 sip->enzymes.enzymes[0]->siteRegexp = "(?=K)";
238
239 {
240
241 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
242 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
247 unit_assert(!result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
248 unit_assert(!result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
249
250
251 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
252 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
254
255
256 for (int i=0; i < 2; ++i)
257 {
261 unit_assert(!result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
262 unit_assert(result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
263 }
264 }
265
266 {
267
268
269 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
270
271
272 result2_rank1->peptideEvidencePtr[0]->start = 618;
273 result2_rank1->peptideEvidencePtr[0]->post = '-';
274
275 vector<DigestedPeptide> result2_rank1_digestedPeptides =
digestedPeptides(*sip, *result2_rank1);
281 unit_assert(!result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
282 unit_assert(result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
285
286
287 result2_rank1->peptideEvidencePtr[0]->start = 1;
288 result2_rank1->peptideEvidencePtr[0]->pre = '-';
289 result2_rank1->peptideEvidencePtr[0]->post = 'A';
290
297 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
298 unit_assert(!result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
301 }
302}
MS_Trypsin_P
Trypsin/P: Cleavage agent Trypsin/P.
MS_no_cleavage
no cleavage: No cleavage.
MS_unspecific_cleavage
unspecific cleavage: Unspecific cleavage.
PWIZ_API_DECL void initializeBasicSpectrumIdentification(IdentData &mzid)
PWIZ_API_DECL proteome::DigestedPeptide digestedPeptide(const SpectrumIdentificationProtocol &sip, const PeptideEvidence &peptideEvidence)
given a protocol and a PeptideEvidence instance, returns the PeptideEvidence as a DigestedPeptide ins...
PWIZ_API_DECL std::vector< proteome::DigestedPeptide > digestedPeptides(const SpectrumIdentificationProtocol &sip, const SpectrumIdentificationItem &sii)
given a protocol and a SpectrumIdentificationItem, builds a set of DigestedPeptides
std::vector< SpectrumIdentificationListPtr > spectrumIdentificationList
std::vector< SpectrumIdentificationProtocolPtr > spectrumIdentificationProtocol
AnalysisData analysisData
Implementation of EnzymeType from the mzIdentML schema.
Implementation of the MzIdentMLType from the mzIdentML schema.
DataCollection dataCollection
AnalysisProtocolCollection analysisProtocolCollection
#define unit_assert_operator_equal(expected, actual)