56 SpectrumIdentificationResultPtr result2 = sil->spectrumIdentificationResult[1];
62 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
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());
75 sip->enzymes.independent =
true;
79 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
82 result2_rank1->peptideEvidencePtr[0]->pre =
'K';
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());
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);
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());
124 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
125 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
129 for (
int i=0; i < 2; ++i)
135 unit_assert(result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
136 unit_assert(!result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
143 sip->enzymes.enzymes[0]->enzymeName.clear();
144 sip->enzymes.enzymes[0]->siteRegexp =
"(?<=K)";
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());
158 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
159 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
163 for (
int i=0; i < 2; ++i)
168 unit_assert(result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
169 unit_assert(!result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
175 sip->enzymes.enzymes[0]->siteRegexp.clear();
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());
189 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
190 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
194 for (
int i=0; i < 2; ++i)
199 unit_assert(!result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
200 unit_assert(!result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
205 sip->enzymes.enzymes[0]->enzymeName.clear();
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());
220 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
221 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
225 for (
int i=0; i < 2; ++i)
230 unit_assert(result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
231 unit_assert(result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
236 sip->enzymes.enzymes[0]->enzymeName.clear();
237 sip->enzymes.enzymes[0]->siteRegexp =
"(?=K)";
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());
251 SpectrumIdentificationItemPtr result2_rank2 = result2->spectrumIdentificationItem[1];
252 vector<DigestedPeptide> result2_rank2_digestedPeptides =
digestedPeptides(*sip, *result2_rank2);
256 for (
int i=0; i < 2; ++i)
261 unit_assert(!result2_rank2_digestedPeptides[i].NTerminusIsSpecific());
262 unit_assert(result2_rank2_digestedPeptides[i].CTerminusIsSpecific());
269 SpectrumIdentificationItemPtr result2_rank1 = result2->spectrumIdentificationItem[0];
272 result2_rank1->peptideEvidencePtr[0]->start = 618;
273 result2_rank1->peptideEvidencePtr[0]->post =
'-';
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());
287 result2_rank1->peptideEvidencePtr[0]->start = 1;
288 result2_rank1->peptideEvidencePtr[0]->pre =
'-';
289 result2_rank1->peptideEvidencePtr[0]->post =
'A';
297 unit_assert(result2_rank1_digestedPeptides[0].NTerminusIsSpecific());
298 unit_assert(!result2_rank1_digestedPeptides[0].CTerminusIsSpecific());
311 BOOST_FOREACH(SearchModificationPtr& mod, sip->modificationParams)
312 mod->cvParams.clear();
315 BOOST_FOREACH(ModificationPtr& mod, pep->modification)
316 mod->cvParams.clear();
325 if (diff &&
os_) *
os_ <<
"diff:\n" << diff_string<TextWriter>(
diff) << endl;
370 tmtPeptide.
modification.push_back(ModificationPtr(nMod));
371 tmtPeptide.
modification.push_back(ModificationPtr(cMod));
398 ez.
name =
"trypsin/p";
410 int main(
int argc,
char** argv)
414 if (argc>1 && !strcmp(argv[1],
"-v"))
os_ = &cout;
415 if (
os_) *
os_ <<
"MzIdentMLTest\n";
AnalysisProtocolCollection analysisProtocolCollection
PWIZ_API_DECL const Modification & modification(CVID cvid)
find a modification by CVID
double monoisotopicMassDelta
AnalysisCollection analysisCollection
maps peptide/protein sequence indexes (0-based) to a modification list
Implementation of EnzymeType from the mzIdentML schema.
MS_Trypsin
Trypsin: Enzyme trypsin.
PWIZ_API_DECL proteome::Peptide peptide(const Peptide &peptide)
creates a proteome::Peptide from an identdata::Peptide
Calculate diffs of objects in a ProteoWizard data model hierarchy.
std::vector< SpectrumIdentificationListPtr > spectrumIdentificationList
std::string peptideSequence
#define unit_assert_equal(x, y, epsilon)
std::vector< SpectrumIdentificationProtocolPtr > spectrumIdentificationProtocol
PWIZ_API_DECL void initializeBasicSpectrumIdentification(IdentData &mzid)
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 ...
UNIMOD_Amidated
Amidated: Amidation.
Implementation of PeptideType from the mzIdentML schema.
int main(int argc, char **argv)
DataCollection dataCollection
void diff(const string &filename1, const string &filename2)
represents a peptide or polypeptide (a sequence of amino acids)
std::vector< PeptidePtr > peptides
Uncontrolled user parameters (essentially allowing free text). Before using these, one should verify whether there is an appropriate CV term available, and if so, use the CV term instead.
std::vector< UserParam > userParams
a collection of uncontrolled user terms
ModificationMap & modifications()
the map of sequence offsets (0-based) to modifications; modifications can be added or removed from th...
#define unit_assert_operator_equal(expected, actual)
void testDigestedPeptides()
MS_no_cleavage
no cleavage: No cleavage.
Implementation of the MzIdentMLType from the mzIdentML schema.
MS_Trypsin_P
Trypsin/P: Cleavage agent Trypsin/P.
boost::shared_ptr< Peptide > PeptidePtr
ParamContainer enzymeName
std::vector< SpectrumIdentificationPtr > spectrumIdentification
std::vector< char > residues
SequenceCollection sequenceCollection
PWIZ_API_DECL void snapModificationsToUnimod(const SpectrumIdentification &si)
sets Unimod CV terms (if possible) for all SearchModifications and Modification elements ...
virtual size_type size() const
Returns the number of elements in the map.
std::vector< ModificationPtr > modification
Implementation of ModificationType from the mzIdentML schema.
UNIMOD_Phospho
Phospho: Phosphorylation.
void set(CVID cvid, const std::string &value="", CVID units=CVID_Unknown)
set/add a CVParam (not recursive)
#define TEST_PROLOG(argc, argv)
virtual iterator find(const key_type &x)
Searches the map for a pair with the key value x and returns an iterator to that pair if it is found...
PWIZ_API_DECL CVID cleavageAgent(const Enzyme &ez)
returns a cleavage agent CVID for an identdata::Enzyme
virtual size_type count(const key_type &x) const
Returns a 1 if a value with the key x exists in the map. Otherwise returns a 0.
UNIMOD_TMT6plex
TMT6plex: Sixplex Tandem Mass TagĀ®.
UNIMOD_Carbamidomethyl
Carbamidomethyl: Iodoacetamide derivative.
MS_unspecific_cleavage
unspecific cleavage: Unspecific cleavage.
void testSnapModifications()
AnalysisData analysisData
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...
double monoisotopicDeltaMass() const
const std::string & sequence() const
returns the sequence of amino acids making up the peptide