ProteoWizard
Public Member Functions | Private Attributes | List of all members
pwiz::tradata::TextWriter Class Reference

#include <TextWriter.hpp>

Public Member Functions

 TextWriter (std::ostream &os, int depth=0)
 
TextWriter child ()
 
TextWriteroperator() (const std::string &text)
 
TextWriteroperator() (const CVParam &cvParam)
 
TextWriteroperator() (const UserParam &userParam)
 
template<typename object_type >
TextWriteroperator() (const std::string &label, const std::vector< object_type > &v)
 
template<typename object_type >
TextWriteroperator() (const std::string &label, const object_type &v)
 
TextWriteroperator() (const TraData &msd)
 
TextWriteroperator() (const CV &cv)
 
TextWriteroperator() (const ParamContainer &paramContainer)
 
TextWriteroperator() (const Publication &publication)
 
TextWriteroperator() (const Software &software)
 
TextWriteroperator() (const Contact &contact)
 
TextWriteroperator() (const RetentionTime &retentionTime)
 
TextWriteroperator() (const Prediction &prediction)
 
TextWriteroperator() (const Evidence &evidence)
 
TextWriteroperator() (const Validation &validation)
 
TextWriteroperator() (const Protein &protein)
 
TextWriteroperator() (const Modification &modification)
 
TextWriteroperator() (const Peptide &peptide)
 
TextWriteroperator() (const Compound &compound)
 
TextWriteroperator() (const Precursor &precursor)
 
TextWriteroperator() (const Product &product)
 
TextWriteroperator() (const Transition &transition)
 
TextWriteroperator() (const Target &target)
 
TextWriteroperator() (const TargetList &targetList)
 
template<typename object_type >
TextWriteroperator() (const boost::shared_ptr< object_type > &p)
 

Private Attributes

std::ostream & os_
 
int depth_
 
std::string indent_
 

Detailed Description

Definition at line 43 of file TextWriter.hpp.

Constructor & Destructor Documentation

§ TextWriter()

pwiz::tradata::TextWriter::TextWriter ( std::ostream &  os,
int  depth = 0 
)
inline

Definition at line 47 of file TextWriter.hpp.

48  : os_(os), depth_(depth), indent_(depth*2, ' ')
49  {}

Member Function Documentation

§ child()

TextWriter pwiz::tradata::TextWriter::child ( )
inline

Definition at line 51 of file TextWriter.hpp.

References os_.

51 {return TextWriter(os_, depth_+1);}
TextWriter(std::ostream &os, int depth=0)
Definition: TextWriter.hpp:43

§ operator()() [1/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const std::string &  text)
inline

Definition at line 53 of file TextWriter.hpp.

References os_.

54  {
55  os_ << indent_ << text << std::endl;
56  return *this;
57  }

§ operator()() [2/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const CVParam cvParam)
inline

Definition at line 59 of file TextWriter.hpp.

References pwiz::data::CVParam::cvid, CVID_Unknown, pwiz::cv::cvTermInfo(), pwiz::cv::CVTermInfo::name, os_, pwiz::data::CVParam::units, pwiz::data::CVParam::unitsName(), and pwiz::data::CVParam::value.

60  {
61  os_ << indent_ << "cvParam: " << cvTermInfo(cvParam.cvid).name;
62  if (!cvParam.value.empty())
63  os_ << ", " << cvParam.value;
64  if (cvParam.units != CVID_Unknown)
65  os_ << ", " << cvParam.unitsName();
66  os_ << std::endl;
67  return *this;
68  }
PWIZ_API_DECL const CVTermInfo & cvTermInfo(CVID cvid)
returns CV term info for the specified CVID
std::string name
Definition: cv.hpp:13385
CVID_Unknown
Definition: cv.hpp:97

§ operator()() [3/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const UserParam userParam)
inline

Definition at line 70 of file TextWriter.hpp.

References CVID_Unknown, pwiz::cv::cvTermInfo(), pwiz::data::UserParam::name, pwiz::cv::CVTermInfo::name, os_, pwiz::data::UserParam::type, pwiz::data::UserParam::units, and pwiz::data::UserParam::value.

71  {
72  os_ << indent_ << "userParam: " << userParam.name;
73  if (!userParam.value.empty()) os_ << ", " << userParam.value;
74  if (!userParam.type.empty()) os_ << ", " << userParam.type;
75  if (userParam.units != CVID_Unknown) os_ << ", " << cvTermInfo(userParam.units).name;
76  os_ << std::endl;
77  return *this;
78  }
PWIZ_API_DECL const CVTermInfo & cvTermInfo(CVID cvid)
returns CV term info for the specified CVID
std::string name
Definition: cv.hpp:13385
CVID_Unknown
Definition: cv.hpp:97

§ operator()() [4/25]

template<typename object_type >
TextWriter& pwiz::tradata::TextWriter::operator() ( const std::string &  label,
const std::vector< object_type > &  v 
)
inline

Definition at line 81 of file TextWriter.hpp.

82  {
83  (*this)(label);
84  for_each(v.begin(), v.end(), child());
85  return *this;
86  }

§ operator()() [5/25]

template<typename object_type >
TextWriter& pwiz::tradata::TextWriter::operator() ( const std::string &  label,
const object_type &  v 
)
inline

Definition at line 89 of file TextWriter.hpp.

90  {
91  (*this)(label)(boost::lexical_cast<std::string>(v));
92  return *this;
93  }

§ operator()() [6/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const TraData msd)
inline

Definition at line 96 of file TextWriter.hpp.

References pwiz::tradata::TraData::compoundPtrs, pwiz::tradata::TraData::contactPtrs, pwiz::tradata::TraData::cvs, pwiz::tradata::TargetList::empty(), pwiz::tradata::TraData::instrumentPtrs, pwiz::tradata::TraData::peptidePtrs, pwiz::tradata::TraData::proteinPtrs, pwiz::tradata::TraData::publications, pwiz::tradata::TraData::softwarePtrs, pwiz::tradata::TraData::targets, pwiz::tradata::TraData::transitions, and pwiz::tradata::TraData::version().

97  {
98  (*this)("tradata:");
99  child()("version: " + msd.version());
100  if (!msd.cvs.empty())
101  child()("cvList: ", msd.cvs);
102  if (!msd.contactPtrs.empty())
103  child()("contactList: ", msd.contactPtrs);
104  if (!msd.publications.empty())
105  child()("publicationList: ", msd.publications);
106  if (!msd.instrumentPtrs.empty())
107  child()("instrumentList: ", msd.instrumentPtrs);
108  if (!msd.softwarePtrs.empty())
109  child()("softwareList: ", msd.softwarePtrs);
110  if (!msd.proteinPtrs.empty())
111  child()("proteinList: ", msd.proteinPtrs);
112  if (!msd.peptidePtrs.empty())
113  child()("peptideList: ", msd.peptidePtrs);
114  if (!msd.compoundPtrs.empty())
115  child()("compoundList: ", msd.compoundPtrs);
116  if (!msd.transitions.empty())
117  child()("transitionList: ", msd.transitions);
118  if (!msd.targets.empty())
119  child()(msd.targets);
120 
121  return *this;
122  }

§ operator()() [7/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const CV cv)
inline

Definition at line 124 of file TextWriter.hpp.

References pwiz::cv::CV::fullName, pwiz::cv::CV::id, pwiz::cv::CV::URI, and pwiz::cv::CV::version.

125  {
126  (*this)("cv:");
127  child()
128  ("id: " + cv.id)
129  ("fullName: " + cv.fullName)
130  ("version: " + cv.version)
131  ("URI: " + cv.URI);
132  return *this;
133  }
std::string id
the short label to be used as a reference tag with which to refer to this particular Controlled Vocab...
Definition: cv.hpp:13356
PWIZ_API_DECL const CV & cv(const std::string &prefix)
returns a CV object for the specified namespace (prefix); currently supported namespaces are: MS UO ...
std::string fullName
the usual name for the resource (e.g. The PSI-MS Controlled Vocabulary).
Definition: cv.hpp:13362
std::string URI
the URI for the resource.
Definition: cv.hpp:13359
std::string version
the version of the CV from which the referred-to terms are drawn.
Definition: cv.hpp:13365

§ operator()() [8/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const ParamContainer paramContainer)
inline

Definition at line 135 of file TextWriter.hpp.

References pwiz::data::ParamContainer::cvParams, and pwiz::data::ParamContainer::userParams.

136  {
137  for_each(paramContainer.cvParams.begin(), paramContainer.cvParams.end(), *this);
138  for_each(paramContainer.userParams.begin(), paramContainer.userParams.end(), *this);
139  return *this;
140  }

§ operator()() [9/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Publication publication)
inline

Definition at line 142 of file TextWriter.hpp.

References pwiz::tradata::Publication::id.

143  {
144  (*this)("publication:");
145  child()
146  ("id: " + publication.id)
147  (static_cast<const ParamContainer&>(publication));
148  return *this;
149  }

§ operator()() [10/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Software software)
inline

Definition at line 151 of file TextWriter.hpp.

References pwiz::tradata::Software::id, and pwiz::tradata::Software::version.

152  {
153  (*this)("software:");
154  child()
155  ("id: " + software.id)
156  ("version: " + software.version)
157  (static_cast<const ParamContainer&>(software));
158  return *this;
159  }

§ operator()() [11/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Contact contact)
inline

Definition at line 161 of file TextWriter.hpp.

162  {
163  (*this)("contact:");
164  child()(static_cast<const ParamContainer&>(contact));
165  return *this;
166  }

§ operator()() [12/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const RetentionTime retentionTime)
inline

Definition at line 168 of file TextWriter.hpp.

References pwiz::tradata::RetentionTime::softwarePtr.

169  {
170  (*this)("retentionTime:");
171  child()(static_cast<const ParamContainer&>(retentionTime));
172  if (retentionTime.softwarePtr.get() &&
173  !retentionTime.softwarePtr->empty())
174  child()("softwareRef: " + retentionTime.softwarePtr->id);
175  return *this;
176  }

§ operator()() [13/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Prediction prediction)
inline

Definition at line 178 of file TextWriter.hpp.

179  {
180  (*this)("prediction:");
181  child()(static_cast<const ParamContainer&>(prediction));
182  return *this;
183  }

§ operator()() [14/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Evidence evidence)
inline

Definition at line 185 of file TextWriter.hpp.

186  {
187  (*this)("evidence:");
188  child()(static_cast<const ParamContainer&>(evidence));
189  return *this;
190  }

§ operator()() [15/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Validation validation)
inline

Definition at line 192 of file TextWriter.hpp.

193  {
194  (*this)("validation:");
195  child()(static_cast<const ParamContainer&>(validation));
196  return *this;
197  }

§ operator()() [16/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Protein protein)
inline

Definition at line 199 of file TextWriter.hpp.

References pwiz::proteome::Protein::id, and pwiz::proteome::Peptide::sequence().

200  {
201  (*this)("protein:");
202  child()("id: " + protein.id)
203  ("sequence: " + protein.sequence);
204  child()(static_cast<const ParamContainer&>(protein));
205  return *this;
206  }

§ operator()() [17/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Modification modification)
inline

Definition at line 208 of file TextWriter.hpp.

References boost::lexical_cast(), and pwiz::data::unimod::modification().

209  {
210  (*this)("modification:");
211  child()("location: ", lexical_cast<string>(modification.location))
212  ("monoisotopicMassDelta: " + lexical_cast<string>(modification.monoisotopicMassDelta))
213  ("averageMassDelta: " + lexical_cast<string>(modification.averageMassDelta));
214  child()(static_cast<const ParamContainer&>(modification));
215  return *this;
216  }
PWIZ_API_DECL const Modification & modification(CVID cvid)
find a modification by CVID
float lexical_cast(const std::string &str)

§ operator()() [18/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Peptide peptide)
inline

Definition at line 218 of file TextWriter.hpp.

References pwiz::util::virtual_map< keyT, valueT, _Pr, _Alloc >::empty(), pwiz::proteome::Peptide::modifications(), pwiz::identdata::peptide(), and pwiz::proteome::Peptide::sequence().

219  {
220  (*this)("peptide:");
221  child()("id: " + peptide.id)
222  ("sequence: " + peptide.sequence)
223  (peptide.evidence);
224 
225  if (!peptide.proteinPtrs.empty())
226  child()("proteinRefs:", peptide.proteinPtrs);
227  if (!peptide.modifications.empty())
228  child()("modifications:", peptide.modifications);
229  if (!peptide.retentionTimes.empty())
230  child()("retentionTimes:", peptide.retentionTimes);
231 
232  child()(static_cast<const ParamContainer&>(peptide));
233  return *this;
234  }
virtual bool empty() const
Returns true if the map is empty, false otherwise.
PWIZ_API_DECL proteome::Peptide peptide(const Peptide &peptide)
creates a proteome::Peptide from an identdata::Peptide
ModificationMap & modifications()
the map of sequence offsets (0-based) to modifications; modifications can be added or removed from th...
const std::string & sequence() const
returns the sequence of amino acids making up the peptide

§ operator()() [19/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Compound compound)
inline

Definition at line 236 of file TextWriter.hpp.

References pwiz::tradata::Compound::id, and pwiz::tradata::Compound::retentionTimes.

237  {
238  (*this)("compound:");
239  child()("id: " + compound.id)
240  ("retentionTimes:", compound.retentionTimes);
241  child()(static_cast<const ParamContainer&>(compound));
242  return *this;
243  }

§ operator()() [20/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Precursor precursor)
inline

Definition at line 245 of file TextWriter.hpp.

246  {
247  (*this)("precursor:");
248  child()(static_cast<const ParamContainer&>(precursor));
249  return *this;
250  }

§ operator()() [21/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Product product)
inline

Definition at line 252 of file TextWriter.hpp.

253  {
254  (*this)("product:");
255  child()(static_cast<const ParamContainer&>(product));
256  return *this;
257  }

§ operator()() [22/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Transition transition)
inline

Definition at line 259 of file TextWriter.hpp.

References pwiz::tradata::Transition::compoundPtr, pwiz::tradata::Transition::configurationList, pwiz::tradata::Prediction::empty(), pwiz::tradata::Precursor::empty(), pwiz::tradata::Product::empty(), pwiz::tradata::Transition::id, pwiz::tradata::Transition::interpretationList, pwiz::tradata::Transition::peptidePtr, pwiz::tradata::Transition::precursor, pwiz::tradata::Transition::prediction, and pwiz::tradata::Transition::product.

260  {
261  (*this)("transition:");
262  child()("id: ", transition.id);
263  if (!transition.precursor.empty())
264  child()(transition.precursor);
265  if (!transition.product.empty())
266  child()(transition.product);
267  if (!transition.prediction.empty())
268  child()(transition.prediction);
269  if (!transition.interpretationList.empty())
270  child()("interpretationList: ", transition.interpretationList);
271  if (!transition.configurationList.empty())
272  child()("configurationList: ", transition.configurationList);
273  if (transition.peptidePtr.get() && !transition.peptidePtr->empty())
274  child()("peptideRef: " + transition.peptidePtr->id);
275  if (transition.compoundPtr.get() && !transition.compoundPtr->empty())
276  child()("compoundRef: " + transition.compoundPtr->id);
277  return *this;
278  }

§ operator()() [23/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const Target target)
inline

Definition at line 280 of file TextWriter.hpp.

References pwiz::tradata::Target::compoundPtr, pwiz::tradata::Target::configurationList, pwiz::tradata::Precursor::empty(), pwiz::tradata::Target::id, pwiz::tradata::Target::peptidePtr, and pwiz::tradata::Target::precursor.

281  {
282  (*this)("target:");
283  child()("id: ", target.id);
284  if (!target.precursor.empty())
285  child()(target.precursor);
286  if (!target.configurationList.empty())
287  child()("configurationList: ", target.configurationList);
288  if (target.peptidePtr.get() && !target.peptidePtr->empty())
289  child()("peptideRef: " + target.peptidePtr->id);
290  if (target.compoundPtr.get() && !target.compoundPtr->empty())
291  child()("compoundRef: " + target.compoundPtr->id);
292  return *this;
293  }

§ operator()() [24/25]

TextWriter& pwiz::tradata::TextWriter::operator() ( const TargetList targetList)
inline

Definition at line 295 of file TextWriter.hpp.

References pwiz::tradata::TargetList::targetExcludeList, and pwiz::tradata::TargetList::targetIncludeList.

296  {
297  (*this)("targetList:");
298  child()(static_cast<const ParamContainer&>(targetList));
299  if (!targetList.targetExcludeList.empty())
300  child()("targetExcludeList: ", targetList.targetExcludeList);
301  if (!targetList.targetIncludeList.empty())
302  child()("targetIncludeList: ", targetList.targetIncludeList);
303  return *this;
304  }

§ operator()() [25/25]

template<typename object_type >
TextWriter& pwiz::tradata::TextWriter::operator() ( const boost::shared_ptr< object_type > &  p)
inline

Definition at line 308 of file TextWriter.hpp.

309  {
310  return p.get() ? (*this)(*p) : *this;
311  }

Member Data Documentation

§ os_

std::ostream& pwiz::tradata::TextWriter::os_
private

Definition at line 314 of file TextWriter.hpp.

§ depth_

int pwiz::tradata::TextWriter::depth_
private

Definition at line 315 of file TextWriter.hpp.

§ indent_

std::string pwiz::tradata::TextWriter::indent_
private

Definition at line 316 of file TextWriter.hpp.


The documentation for this class was generated from the following file: