ProteoWizard
Classes | Typedefs | Functions | Variables
PeptideID_dataFetcherTest.cpp File Reference
#include "pwiz/utility/misc/unit.hpp"
#include "PeptideID_dataFetcher.hpp"
#include "Feature_dataFetcher.hpp"
#include "pwiz/utility/proteome/Ion.hpp"
#include "pwiz/utility/misc/Std.hpp"
#include <iomanip>

Go to the source code of this file.

Classes

struct  IsSQ

Typedefs

typedef boost::shared_ptr
< PeptideID_dataFetcher
PidfPtr

Functions

SpectrumQuery makeSpectrumQuery (double precursorNeutralMass, double rt, int charge, string sequence, double score, int startScan, int endScan)
PidfPtr makePeptideID_dataFetcher (const char *samplePepXML)
void testPeptideID_dataFetcherConstructor ()
void testMerge ()
int main (int argc, char *argv[])

Variables

ostream * os_ = 0
const char * samplePepXML = "</msms_pipeline_analysis>\n"

Typedef Documentation

typedef boost::shared_ptr<PeptideID_dataFetcher> PidfPtr

Definition at line 35 of file PeptideID_dataFetcherTest.cpp.


Function Documentation

SpectrumQuery makeSpectrumQuery ( double  precursorNeutralMass,
double  rt,
int  charge,
string  sequence,
double  score,
int  startScan,
int  endScan 
)
PidfPtr makePeptideID_dataFetcher ( const char *  samplePepXML)

Definition at line 130 of file PeptideID_dataFetcherTest.cpp.

Referenced by test(), and testPeptideID_dataFetcherConstructor().

{
istringstream iss(samplePepXML);
return pidf;
}
void testPeptideID_dataFetcherConstructor ( )

Definition at line 157 of file PeptideID_dataFetcherTest.cpp.

References makePeptideID_dataFetcher(), makeSpectrumQuery(), pwiz::chemistry::Ion::mz(), os_, samplePepXML, unit_assert, and pwiz::data::pepxml::SpectrumQuery::write().

Referenced by main().

{
if (os_)
{
*os_ << "\ntestPeptideID_dataFetcherConstructor() ... \n";
*os_ << "\nSample pep.xml: \n";
*os_ << samplePepXML << endl;
}
// make the PeptideID_dataFetcher from input pep.xml
// make the SpectrumQuery objects that we expect to be read into the PeptideID_dataFetcher
SpectrumQuery a = makeSpectrumQuery(1,2,1, "BUCKLEMYSHOE", 0.900, 1,2); // mz, rt, charge, sequence, score, start scan, end scan
SpectrumQuery b = makeSpectrumQuery(3,4,1,"SHUTTHEDOOR",0.900,3,4);
SpectrumQuery c = makeSpectrumQuery(5,6,1,"PICKUPSTICKS",0.900,5,6);
SpectrumQuery d = makeSpectrumQuery(7,8,1,"LAYTHEMSTRAIGHT",0.900,7,8);
// Access SpectrumQuery objects that are in the PeptideID_dataFetcher at the coordinates we expect
vector<boost::shared_ptr<SpectrumQuery> > sq_a = pidf->getSpectrumQueries(Ion::mz(1,1),2);
vector<boost::shared_ptr<SpectrumQuery> > sq_b = pidf->getSpectrumQueries(Ion::mz(3,1),4);
vector<boost::shared_ptr<SpectrumQuery> > sq_c = pidf->getSpectrumQueries(Ion::mz(5,1),6);
vector<boost::shared_ptr<SpectrumQuery> > sq_d = pidf->getSpectrumQueries(Ion::mz(7,1),8);
// Assert that all SpectrumQuery objects were found at expected coordinates
unit_assert(find_if(sq_a.begin(), sq_a.end(),IsSQ(a)) != sq_a.end());
unit_assert(find_if(sq_b.begin(), sq_b.end(),IsSQ(b)) != sq_b.end());
unit_assert(find_if(sq_c.begin(), sq_c.end(),IsSQ(c)) != sq_c.end());
unit_assert(find_if(sq_d.begin(), sq_d.end(),IsSQ(d)) != sq_d.end());
if (os_)
{
*os_ << "\nSpectrumQuery objects read from sample pep.xml: \n";
ostringstream oss;
XMLWriter writer(oss);
a.write(writer);
b.write(writer);
c.write(writer);
d.write(writer);
*os_ << oss.str() << endl;
}
}
void testMerge ( )

Definition at line 202 of file PeptideID_dataFetcherTest.cpp.

References pwiz::Bin< T >::getAllContents(), pwiz::eharmony::PeptideID_dataFetcher::getBin(), makeSpectrumQuery(), pwiz::eharmony::PeptideID_dataFetcher::merge(), pwiz::data::pepxml::MSMSPipelineAnalysis::msmsRunSummary, os_, pwiz::data::pepxml::SpectrumQuery::retentionTimeSec, pwiz::data::pepxml::MSMSRunSummary::spectrumQueries, and unit_assert.

{
if (os_) *os_ << "\ntestMerge() ... \n" << endl;
SpectrumQuery b = makeSpectrumQuery(1,2,1, "BUCKLEMYSHOE", 0.900, 1,2);
SpectrumQuery c = makeSpectrumQuery(3,4,1, "SHUTTHEDOOR", 0.900, 3,4);
vector<SpectrumQuery> v;
v.push_back(b);
vector<SpectrumQuery> v2;
b2.retentionTimeSec = 4000;
v2.push_back(b2);
v2.push_back(c);
MSMSPipelineAnalysis mspa_chrysler;
mspa_chrysler.msmsRunSummary.spectrumQueries = v2;
PeptideID_dataFetcher fiat(mspa_fiat);
PeptideID_dataFetcher chrysler(mspa_chrysler);
fiat.merge(chrysler);
// test that the merger correctly concatenated all SpectrumQuery objects
// vector<boost::shared_ptr<SpectrumQuery> > contents = fiat.getSpectrumQueries(Ion::mz(b.precursorNeutralMass, b.assumedCharge), b.retentionTimeSec);
vector<boost::shared_ptr<SpectrumQuery> > contents = fiat.getBin().getAllContents();
unit_assert(contents.size() == 2);
unit_assert(**contents.begin() == b);
unit_assert(*contents.back() == c);
}
int main ( int  argc,
char *  argv[] 
)

Definition at line 240 of file PeptideID_dataFetcherTest.cpp.

References e(), os_, testMerge(), and testPeptideID_dataFetcherConstructor().

{
try
{
if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
}
catch (std::exception& e)
{
cerr << e.what() << endl;
return 1;
}
catch (...)
{
cerr << "Caught unknown exception.\n";
return 1;
}
return 0;
}

Variable Documentation

ostream* os_ = 0

Definition at line 37 of file PeptideID_dataFetcherTest.cpp.

const char* samplePepXML = "</msms_pipeline_analysis>\n"