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.

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

References os_.

◆ operator()() [1/25]

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

Definition at line 53 of file TextWriter.hpp.

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

References os_.

◆ operator()() [2/25]

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

Definition at line 59 of file TextWriter.hpp.

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 }
CVID_Unknown
Definition cv.hpp:114
PWIZ_API_DECL const CVTermInfo & cvTermInfo(CVID cvid)
returns CV term info for the specified CVID
std::string name
Definition cv.hpp:14947

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.

◆ operator()() [3/25]

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

Definition at line 70 of file TextWriter.hpp.

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 }

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

◆ 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.

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 }

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().

◆ operator()() [7/25]

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

Definition at line 124 of file TextWriter.hpp.

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 }
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 id
the short label to be used as a reference tag with which to refer to this particular Controlled Vocab...
Definition cv.hpp:14918
std::string fullName
the usual name for the resource (e.g. The PSI-MS Controlled Vocabulary).
Definition cv.hpp:14924
std::string URI
the URI for the resource.
Definition cv.hpp:14921
std::string version
the version of the CV from which the referred-to terms are drawn.
Definition cv.hpp:14927

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

◆ operator()() [8/25]

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

Definition at line 135 of file TextWriter.hpp.

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 }

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

◆ operator()() [9/25]

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

Definition at line 142 of file TextWriter.hpp.

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

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

◆ operator()() [10/25]

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

Definition at line 151 of file TextWriter.hpp.

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

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

◆ 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.

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 }

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

◆ 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.

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

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

◆ operator()() [17/25]

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

Definition at line 208 of file TextWriter.hpp.

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

◆ operator()() [18/25]

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

Definition at line 218 of file TextWriter.hpp.

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);
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 }
const std::string & sequence() const
returns the sequence of amino acids making up the peptide
ModificationMap & modifications()
the map of sequence offsets (0-based) to modifications; modifications can be added or removed from th...
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

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

◆ operator()() [19/25]

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

Definition at line 236 of file TextWriter.hpp.

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

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

◆ 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.

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 }

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.

◆ operator()() [23/25]

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

Definition at line 280 of file TextWriter.hpp.

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 }

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.

◆ operator()() [24/25]

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

Definition at line 295 of file TextWriter.hpp.

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 }

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

◆ 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: