ProteoWizard
Functions | Variables
Serializer_mzXML_Test.cpp File Reference
#include "Serializer_mzXML.hpp"
#include "Serializer_mzML.hpp"
#include "Diff.hpp"
#include "TextWriter.hpp"
#include "examples.hpp"
#include "pwiz/utility/misc/unit.hpp"
#include "boost/iostreams/positioning.hpp"
#include "pwiz/utility/misc/Std.hpp"
#include <cstring>

Go to the source code of this file.

Functions

void testWriteRead (const MSData &msd, const Serializer_mzXML::Config &config)
 
void testWriteRead ()
 
int main (int argc, char *argv[])
 

Variables

ostream * os_ = 0
 

Function Documentation

◆ testWriteRead() [1/2]

void testWriteRead ( const MSData msd,
const Serializer_mzXML::Config config 
)

Definition at line 44 of file Serializer_mzXML_Test.cpp.

45{
46 if (os_) *os_ << "testWriteRead() " << config << endl;
47
48 Serializer_mzXML mzxmlSerializer(config);
49
50 ostringstream oss;
51 mzxmlSerializer.write(oss, msd);
52
53 if (os_) *os_ << "oss:\n" << oss.str() << endl;
54
55 shared_ptr<istringstream> iss(new istringstream(oss.str()));
56 MSData msd2;
57 mzxmlSerializer.read(iss, msd2);
58
59 DiffConfig diffConfig;
60 diffConfig.ignoreMetadata = true;
61 diffConfig.ignoreChromatograms = true;
62
63 Diff<MSData, DiffConfig> diff(msd, msd2, diffConfig);
64 if (os_ && diff) *os_ << diff << endl;
66
67 if (os_)
68 {
69 *os_ << "msd2:\n";
70 Serializer_mzML mzmlSerializer;
71 mzmlSerializer.write(*os_, msd2);
72 *os_ << endl;
73
74 *os_ << "msd2::";
76 write(msd2);
77
78 *os_ << endl;
79 }
80}
void diff(const string &filename1, const string &filename2)
ostream * os_
MSData <-> mzML stream serialization.
void write(std::ostream &os, const MSData &msd, const pwiz::util::IterationListenerRegistry *iterationListenerRegistry=0) const
write MSData object to ostream as mzML; iterationListenerRegistry may be used to receive progress upd...
MSData <-> mzXML stream serialization.
PWIZ_API_DECL void write(minimxml::XMLWriter &writer, const CV &cv)
Calculate diffs of objects in a ProteoWizard data model hierarchy.
Definition diff_std.hpp:143
configuration struct for diffing MSData types
Definition Diff.hpp:206
bool ignoreMetadata
ignore all file level metadata, and most scan level metadata, i.e.
Definition Diff.hpp:214
This is the root element of ProteoWizard; it represents the mzML element, defined as: intended to cap...
Definition MSData.hpp:850
#define unit_assert(x)
Definition unit.hpp:85

References diff(), pwiz::msdata::DiffConfig::ignoreChromatograms, pwiz::msdata::DiffConfig::ignoreMetadata, os_, pwiz::msdata::Serializer_mzXML::read(), unit_assert, pwiz::msdata::Serializer_mzML::write(), and pwiz::msdata::Serializer_mzXML::write().

◆ testWriteRead() [2/2]

void testWriteRead ( )

Definition at line 83 of file Serializer_mzXML_Test.cpp.

84{
85 MSData msd;
87
88 // remove s22 since it is not written to mzXML
89 static_cast<SpectrumListSimple&>(*msd.run.spectrumListPtr).spectra.pop_back();
90
93 testWriteRead(msd, config);
94
96 testWriteRead(msd, config);
97
98 config.indexed = false;
99 testWriteRead(msd, config);
100}
void testWriteRead()
PWIZ_API_DECL void initializeTiny(MSData &msd)
Run run
a run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument.
Definition MSData.hpp:886
SpectrumListPtr spectrumListPtr
all mass spectra and the acquisitions underlying them are described and attached here....
Definition MSData.hpp:827
Serializer_mzXML configuration.
BinaryDataEncoder::Config binaryDataEncoderConfig
configuration for binary data encoding in write() note: byteOrder is ignored (mzXML always big endian...
bool indexed
(indexed==true): read/write with <index>
Simple writeable in-memory implementation of SpectrumList.
Definition MSData.hpp:717

References pwiz::msdata::Serializer_mzXML::Config::binaryDataEncoderConfig, pwiz::msdata::Serializer_mzXML::Config::indexed, pwiz::msdata::examples::initializeTiny(), pwiz::msdata::BinaryDataEncoder::Config::precision, pwiz::msdata::BinaryDataEncoder::Precision_32, pwiz::msdata::BinaryDataEncoder::Precision_64, pwiz::msdata::MSData::run, pwiz::msdata::Run::spectrumListPtr, testWriteRead(), and unit_assert.

Referenced by main(), and testWriteRead().

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 103 of file Serializer_mzXML_Test.cpp.

104{
105 TEST_PROLOG(argc, argv)
106
107 try
108 {
109 if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
111 }
112 catch (exception& e)
113 {
114 TEST_FAILED(e.what())
115 }
116 catch (...)
117 {
118 TEST_FAILED("Caught unknown exception.")
119 }
120
122}
#define TEST_EPILOG
Definition unit.hpp:183
#define TEST_FAILED(x)
Definition unit.hpp:177
#define TEST_PROLOG(argc, argv)
Definition unit.hpp:175

References os_, TEST_EPILOG, TEST_FAILED, TEST_PROLOG, and testWriteRead().

Variable Documentation

◆ os_

ostream* os_ = 0

Definition at line 41 of file Serializer_mzXML_Test.cpp.

Referenced by main(), and testWriteRead().