35 specificity.
cut =
"theCake";
36 specificity.
noCut =
"notTheCake";
37 specificity.
sense =
"non";
47 sampleEnzyme.
name =
"oxiclean";
48 sampleEnzyme.
description =
"makes your whites whiter.";
62 searchDatabase.
localPath =
"http://www.eharmony.com";
67 searchDatabase.
type =
"online dating service";
69 return searchDatabase;
96 peptideProphetResult.
allNttProb.push_back(0.0000);
97 peptideProphetResult.
allNttProb.push_back(0.0000);
98 peptideProphetResult.
allNttProb.push_back(0.780);
100 return peptideProphetResult;
107 analysisResult.
analysis =
"peptideprophet";
112 return analysisResult;
119 alternativeProtein.
protein =
"Dos Pinos";
123 return alternativeProtein;
131 modAminoAcidMass.
mass = 12.345;
133 return modAminoAcidMass;
143 return modificationInfo;
150 searchHit.
peptide =
"RAGMALLICK";
179 enzymaticSearchConstraint.
enzyme =
"emyzne";
183 return enzymaticSearchConstraint;
192 aminoAcidModification.
massDiff = 9.63333;
193 aminoAcidModification.
mass = 82.65;
194 aminoAcidModification.
variable =
"c";
195 aminoAcidModification.
symbol =
"r";
197 return aminoAcidModification;
204 searchSummary.
baseName =
"mseharmony";
220 return searchSummary;
238 spectrumQuery.
spectrum =
"ultraviolet";
240 spectrumQuery.
endScan = 19120415;
243 spectrumQuery.
index = 3547;
250 return spectrumQuery;
269 return msmsRunSummary;
277 match->feature->mz = 1.234;
278 match->feature->retentionTime = 5.678;
286 if (
os_) *
os_ <<
"\ntestSpecificity() ... \n";
292 specificity.
write(writer);
295 istringstream iss(oss.str());
296 readSpecificity.
read(iss);
300 if (
os_) *
os_ << oss.str() << endl;
306 if (
os_) *
os_ <<
"\ntestSampleEnzyme() ... \n";
312 sampleEnzyme.
write(writer);
315 istringstream iss(oss.str());
316 readSampleEnzyme.
read(iss);
320 if (
os_) *
os_ << oss.str() << endl;
326 if (
os_) *
os_ <<
"\ntestSearchDatabase() ... \n";
332 searchDatabase.
write(writer);
335 istringstream iss(oss.str());
336 readSearchDatabase.
read(iss);
340 if (
os_) *
os_ << oss.str() << endl;
346 if (
os_) *
os_ <<
"\ntestQ3RatioResult() ... \n";
355 istringstream iss(oss.str());
359 if (
os_) *
os_ << oss.str() << endl;
365 if (
os_) *
os_ <<
"\ntestPeptideProphetResult() ... \n";
374 istringstream iss(oss.str());
375 readPeptideProphetResult.
read(iss);
379 if (
os_) *
os_ << oss.str() << endl;
385 if (
os_) *
os_ <<
"\ntestAnalysisResult() ...\n";
391 analysisResult.
write(writer);
394 istringstream iss(oss.str());
395 readAnalysisResult.
read(iss);
399 if(
os_) *
os_ << oss.str() << endl;
407 analysisResult2.
write(writer2);
410 istringstream iss2(oss2.str());
411 readAnalysisResult2.
read(iss2);
413 unit_assert(analysisResult2 == readAnalysisResult2);
415 if(
os_) *
os_ << oss2.str() << endl;
422 if (
os_) *
os_ <<
"\ntestAlternativeProtein() ...\n";
428 alternativeProtein.
write(writer);
431 istringstream iss(oss.str());
432 readAlternativeProtein.
read(iss);
434 unit_assert(alternativeProtein == readAlternativeProtein);
436 if(
os_) *
os_ << oss.str() << endl;
442 if (
os_) *
os_ <<
"\ntestModAminoAcidMass() ...\n";
448 modAminoAcidMass.
write(writer);
451 istringstream iss(oss.str());
452 readModAminoAcidMass.
read(iss);
454 unit_assert(modAminoAcidMass == readModAminoAcidMass);
456 if(
os_) *
os_ << oss.str() << endl;
461 if (
os_) *
os_ <<
"\ntestModificationInfo() ...\n";
467 modificationInfo.
write(writer);
470 istringstream iss(oss.str());
471 readModificationInfo.
read(iss);
473 unit_assert(modificationInfo == readModificationInfo);
475 if(
os_) *
os_ << oss.str() << endl;
481 if (
os_) *
os_ <<
"\ntestSearchHit() ...\n";
487 searchHit.
write(writer);
490 istringstream iss(oss.str());
491 readSearchHit.
read(iss);
495 if(
os_) *
os_ << oss.str() << endl;
500 if(
os_) *
os_ <<
"\ntestSearchResult() ... \n";
506 searchResult.
write(writer);
509 istringstream iss(oss.str());
510 readSearchResult.
read(iss);
514 if(
os_) *
os_ << oss.str() << endl;
521 if (
os_) *
os_ <<
"\ntestEnzymaticSearchConstraint() ... \n";
527 enzymaticSearchConstraint.
write(writer);
530 istringstream iss(oss.str());
531 readEnzymaticSearchConstraint.
read(iss);
533 unit_assert(enzymaticSearchConstraint == readEnzymaticSearchConstraint);
535 if(
os_) *
os_ << oss.str() << endl;
541 if (
os_) *
os_ <<
"\ntestAminoAcidModification() ... \n";
547 aminoAcidModification.
write(writer);
550 istringstream iss(oss.str());
551 readAminoAcidModification.
read(iss);
553 unit_assert(aminoAcidModification == readAminoAcidModification);
555 if(
os_) *
os_ << oss.str() << endl;
561 if(
os_) *
os_ <<
"\ntestSearchSummary() ... \n";
567 searchSummary.
write(writer);
570 istringstream iss(oss.str());
571 readSearchSummary.
read(iss);
575 if(
os_) *
os_ << oss.str() << endl;
581 if(
os_) *
os_ <<
"\ntestSpectrumQuery() ... \n";
587 spectrumQuery.
write(writer);
589 if(
os_) *
os_ << oss.str() << endl;
592 istringstream iss(oss.str());
593 readSpectrumQuery.
read(iss);
595 readSpectrumQuery.
write(writer);
596 if(
os_) *
os_ << oss.str() << endl;
599 if(
os_) *
os_ << oss.str() << endl;
605 if(
os_) *
os_ <<
"\ntestMSMSRunSummary() ... \n";
611 msmsRunSummary.
write(writer);
614 istringstream iss(oss.str());
615 readMSMSRunSummary.
read(iss);
619 if(
os_) *
os_ << oss.str() << endl;
625 if(
os_) *
os_ <<
"\ntestMSMSPipelineAnalysis() ... \n";
628 msmsPipelineAnalysis.
date =
"20000101";
629 msmsPipelineAnalysis.
summaryXML =
"/2000/01/20000101/20000101.xml";
630 msmsPipelineAnalysis.
xmlns =
"http://regis-web.systemsbiology.net/pepXML";
631 msmsPipelineAnalysis.
xmlnsXSI =
"aruba";
639 msmsPipelineAnalysis.
write(writer);
642 istringstream iss(oss.str());
643 readMSMSPipelineAnalysis.
read(iss);
645 unit_assert(msmsPipelineAnalysis == readMSMSPipelineAnalysis);
647 if(
os_) *
os_ << oss.str() << endl;
653 if(
os_) *
os_ <<
"\ntestMatch() ... \n";
659 match->write(writer);
662 istringstream iss(oss.str());
665 ostringstream checkstream;
667 readMatch.
write(check);
670 if(
os_) *
os_ << oss.str() << endl;
671 if(
os_) *
os_ << checkstream.str() << endl;
679 if(
os_) *
os_ <<
"\ntestMatchData() ... \n";
689 matchData.
write(writer);
692 istringstream iss(oss.str());
693 readMatchData.
read(iss);
696 ostringstream checkstream;
698 readMatchData.
write(check);
701 if(
os_) *
os_ << oss.str() << endl;
702 if(
os_) *
os_ << checkstream.str() << endl;
708 if(
os_) *
os_ << oss.str() << endl;
714 ifstream ifs(
"20080619-A-6mixtestRG_Data10_msprefix.pep.xml");
717 throw runtime_error(
"bad ifs");
722 msmsPipelineAnalysis.
read(ifs);
724 ofstream ofs(
"test.pep.xml", ios::app);
726 msmsPipelineAnalysis.
write(writer);
730int main(
int argc,
char* argv[])
737 if (argc>1 && !strcmp(argv[1],
"-v"))
os_ = &cout;
738 if (
os_) *
os_ <<
"MinimumPepXMLTest ... \n";
void testSearchDatabase()
void testInvarianceUnderProteinProphet()
int main(int argc, char *argv[])
PeptideProphetResult makePeptideProphetResult()
SpectrumQuery makeSpectrumQuery()
AlternativeProtein makeAlternativeProtein()
MSMSRunSummary makeMSMSRunSummary()
void testPeptideProphetResult()
SampleEnzyme makeSampleEnzyme()
SearchSummary makeSearchSummary()
void testAnalysisResult()
void testEnzymaticSearchConstraint()
Q3RatioResult makeQ3RatioResult()
void testModificationInfo()
Specificity makeSpecificity()
AminoAcidModification makeAminoAcidModification()
void testMSMSRunSummary()
void testModAminoAcidMass()
ModAminoAcidMass makeModAminoAcidMass()
void testAminoAcidModification()
void testMSMSPipelineAnalysis()
SearchDatabase makeSearchDatabase()
ModificationInfo makeModificationInfo()
SearchResult makeSearchResult()
void testAlternativeProtein()
AnalysisResult makeAnalysisResult()
SearchHit makeSearchHit()
EnzymaticSearchConstraint makeEnzymaticSearchConstraint()
The XMLWriter class provides simple, tag-level XML syntax writing.
boost::shared_ptr< SearchResult > SearchResultPtr
boost::shared_ptr< SearchSummary > SearchSummaryPtr
boost::shared_ptr< Match > MatchPtr
boost::shared_ptr< SpectrumQuery > SpectrumQueryPtr
boost::shared_ptr< SearchHit > SearchHitPtr
void read(std::istream &is)
void write(XMLWriter &writer) const
void read(std::istream &is)
void write(XMLWriter &writer) const
void write(XMLWriter &writer) const
void read(std::istream &is)
Q3RatioResult q3RatioResult
PeptideProphetResult peptideProphetResult
void write(XMLWriter &writer) const
void read(std::istream &is)
int maxNumInternalCleavages
MSMSRunSummary msmsRunSummary
std::string XSISchemaLocation
void read(std::istream &is)
void write(XMLWriter &writer) const
SampleEnzyme sampleEnzyme
std::vector< SpectrumQueryPtr > spectrumQueries
void read(std::istream &is)
std::vector< SearchSummaryPtr > searchSummary
void write(XMLWriter &writer) const
std::string searchNbhdCalculator
std::vector< MatchPtr > matches
std::string warpFunctionCalculator
void write(minimxml::XMLWriter &writer) const
void read(std::istream &is)
void write(minimxml::XMLWriter &writer) const
void read(std::istream &is)
void write(XMLWriter &writer) const
void read(std::istream &is)
std::string modifiedPeptide
void read(std::istream &is)
void write(XMLWriter &writer) const
ModAminoAcidMass modAminoAcidMass
void write(XMLWriter &writer) const
void read(std::istream &is)
std::vector< double > allNttProb
void write(XMLWriter &writer) const
void read(std::istream &is)
std::string fidelity
Semispecific means that at least one end of a pepide must conform to the cleavage specificity,...
void read(std::istream &is)
void write(XMLWriter &writer) const
std::string name
Controlled code name for the enzyme that can be referred to by applications.
boost::tribool independent
If there are multiple specificities and independent is true, then a single peptide cannot exhibit one...
std::string description
Free text to describe alternative names, special conditions, etc.
void read(std::istream &is)
void write(XMLWriter &writer) const
std::string databaseReleaseIdentifier
std::string peptideNextAA
void read(std::istream &is)
std::vector< AlternativeProtein > alternativeProteins
double calcNeutralPepMass
AnalysisResult analysisResult
ModificationInfo modificationInfo
std::string peptidePrevAA
void write(XMLWriter &writer) const
void read(std::istream &is)
void write(XMLWriter &writer) const
std::vector< SearchHitPtr > searchHit
Database search settings.
SearchDatabase searchDatabase
runner up search hit data type extension (e.g. .tgz)
std::vector< AminoAcidModification > aminoAcidModifications
std::string fragmentMassType
average or monoisotopic
std::string searchEngine
SEQUEST, Mascot, COMET, etc.
std::string searchID
Format of file storing the runner up peptides (if not present in pepXML)
void write(XMLWriter &writer) const
void read(std::istream &is)
std::string baseName
Full path location of mzXML file for this search run (without the .mzXML extension)
std::string precursorMassType
average or monoisotopic
EnzymaticSearchConstraint enzymaticSearchConstraint
std::string noCut
Zero or more 1-letter residue codes.
size_t minSpace
minimum separation between adjacent cleavages. default 1.
void read(std::istream &is)
std::string cut
One or more 1-letter residue codes.
void write(XMLWriter &writer) const
std::string sense
Defines whether cleavage occurs on the C-terminal or N-terminal side of the residue(s) listed in cut ...
double precursorNeutralMass
std::vector< SearchResultPtr > searchResult
double retentionTimeSec
Unique identifier.
int index
Search constraint applied specifically to this query.
int startScan
first scan number integrated into MS/MS spectrum
void read(std::istream &is)
int endScan
last scan number integrated into MS/MS spectrum
void write(XMLWriter &writer) const
int assumedCharge
Precursor ion charge used for search.
#define TEST_PROLOG(argc, argv)