ProteoWizard
TraData.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Matt Chambers <matt.chambers .@. vanderbilt.edu>
6//
7// Copyright 2009 Vanderbilt University - Nashville, TN 37232
8//
9// Licensed under the Apache License, Version 2.0 (the "License");
10// you may not use this file except in compliance with the License.
11// You may obtain a copy of the License at
12//
13// http://www.apache.org/licenses/LICENSE-2.0
14//
15// Unless required by applicable law or agreed to in writing, software
16// distributed under the License is distributed on an "AS IS" BASIS,
17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18// See the License for the specific language governing permissions and
19// limitations under the License.
20//
21
22
23#ifndef _TRADATA_HPP_
24#define _TRADATA_HPP_
25
26
30#include <vector>
31#include <string>
32
33
34namespace pwiz {
35namespace tradata {
36
37
38using namespace pwiz::data;
39
40
41/// returns a default list of CVs used in an TraML document;
42/// currently includes PSI-MS, Unit Ontology, and UNIMOD
43PWIZ_API_DECL std::vector<CV> defaultCVList();
44
45
47{
48 /// Identifier for the contact to be used for referencing within a document
49 std::string id;
50
51 Contact(const std::string& id = "");
52
53 /// returns true iff all members are empty and contain no params
54 bool empty() const;
55};
56
57typedef boost::shared_ptr<Contact> ContactPtr;
58
59
61{
62 /// Identifier for the publication to be used for referencing within a document
63 std::string id;
64
65 /// returns true iff all members are empty and contain no params
66 bool empty() const;
67};
68
69
71{
72 /// Identifier for the software to be used for referencing within a document
73 std::string id;
74
75 /// Version of the software program described
76 std::string version;
77
78 Software(const std::string& _id = "");
79
80 Software(const std::string& _id,
81 const CVParam& _param,
82 const std::string& _version);
83
84 /// returns true iff all members are empty and contain no params
85 bool empty() const;
86};
87
88typedef boost::shared_ptr<Software> SoftwarePtr;
89
90
92{
93 /// Software used to determine the retention time
95
96 /// returns true iff all members are empty and contain no params
97 bool empty() const;
98};
99
100
101/// Information about a prediction for a suitable transition using some software
103{
104 /// Reference to a software package from which this prediction is derived
106
107 /// Reference to a contact person that generated this prediction
109
110 /// returns true iff all members are empty and contain no params
111 bool empty() const;
112};
113
114
115/// Information about empirical mass spectrometer observations of the peptide
117{
118 /// returns true iff contain no params
119 bool empty() const;
120};
121
122
123/// Information about the state of validation of a transition on a given instrument model
125{
126 /// returns true iff contain no params
127 bool empty() const;
128};
129
130
131/// Instrument on which transitions are validated
133{
134 /// Identifier for the instrument to be used for referencing within a document
135 std::string id;
136
137 Instrument(const std::string& id = "");
138
139 /// returns true iff all members are empty and contain no params
140 bool empty() const;
141};
142
143typedef boost::shared_ptr<Instrument> InstrumentPtr;
144
145
146/// Instrument configuration used in the validation or optimization of the transitions
148{
149 std::vector<Validation> validations;
150
151 /// Reference to a contact person originating this information
153
154 /// Reference to an instrument for which this configuration information is appropriate
156
157 /// returns true iff all members are empty and contain no params
158 bool empty() const;
159};
160
161
162/// A possible interpration of the product ion for a transition
164{
165 /// returns true iff contains no params
166 bool empty() const;
167};
168
169
171{
172 /// Identifier for the protein to be used for referencing within a document
173 std::string id;
174
175 /// Amino acid sequence of the protein
176 std::string sequence;
177
178 Protein(const std::string& id = "");
179
180 /// returns true iff all members are empty and contain no params
181 bool empty() const;
182};
183
184typedef boost::shared_ptr<Protein> ProteinPtr;
185
186
187/// A molecule modification specification.
188/// If n modifications are present on the peptide, there should be n instances of the modification element.
189/// If multiple modifications are provided as cvParams, it is assumed the modification is ambiguous,
190/// i.e. one modification or the other. If no cvParams are provided it is assumed that the delta has not been
191/// matched to a known modification.
193{
195
196 /// Location of the modification within the peptide sequence, counted from the N-terminus, starting at position 1. Specific modifications to the N-terminus should be given the location 0. Modification to the C-terminus should be given as peptide length + 1.
198
199 /// Atomic mass delta when assuming only the most common isotope of elements in Daltons.
201
202 /// Atomic mass delta when considering the natural distribution of isotopes in Daltons.
204
205 /// returns true iff all members are zero and contain no params
206 bool empty() const;
207};
208
209
210/// Peptide for which one or more transitions are intended to identify
212{
213 /// Identifier for the peptide to be used for referencing within a document
214 std::string id;
215
216 /// Amino acid sequence of the peptide being described
217 std::string sequence;
218
219 /// List of modifications on this peptide
220 std::vector<Modification> modifications;
221
222 /// Reference to zero or more proteins which this peptide is intended to identify
223 std::vector<ProteinPtr> proteinPtrs;
224
225 /// List of retention time information entries
226 std::vector<RetentionTime> retentionTimes;
227
229
230 Peptide(const std::string& id = "");
231
232 /// returns true iff all members are empty and contain no params
233 bool empty() const;
234};
235
236typedef boost::shared_ptr<Peptide> PeptidePtr;
237
238
239/// Chemical compound other than a peptide for which one or more transitions
241{
242 /// Identifier for the compound to be used for referencing within a document
243 std::string id;
244
245 /// List of retention time information entries
246 std::vector<RetentionTime> retentionTimes;
247
248 Compound(const std::string& id = "");
249
250 /// returns true iff all members are empty and contain no params
251 bool empty() const;
252};
253
254typedef boost::shared_ptr<Compound> CompoundPtr;
255
256
257/// Precursor (Q1) of the transition
259{
260 /// returns true iff contains no params
261 bool empty() const;
262};
263
264
265/// Product (Q3) of the transition
267{
268 /// returns true iff contains no params
269 bool empty() const;
270};
271
272
274{
275 /// String label for this transition
276 std::string id;
277
278 /// Reference to a peptide which this transition is intended to identify
280
281 /// Reference to a compound for this transition
283
284 /// Precursor (Q1) of the transition
286
287 /// Product (Q3) of the transition
289
290 /// Information about a prediction for a suitable transition using some software
292
293 /// Information about predicted or calibrated retention time
295
296 /// List of possible interprations of fragment ions for a transition
297 std::vector<Interpretation> interpretationList;
298
299 /// List of insutrument configurations used in the validation or optimization of the transitions
300 std::vector<Configuration> configurationList;
301
302 /// returns true iff all members are empty and contain no params
303 bool empty() const;
304};
305
306
307/// A peptide or compound that is to be included or excluded from a target list of precursor m/z values.
309{
310 /// String label for this target
311 std::string id;
312
313 /// Reference to a peptide for which this target is the trigger
315
316 /// Reference to a compound for which this target is the trigger
318
319 /// Precursor (Q1) of the target
321
322 /// Information about predicted or calibrated retention time
324
325 /// List of instrument configurations used in the validation or optimization of the target
326 std::vector<Configuration> configurationList;
327
328 /// returns true iff all members are empty and contain no params
329 bool empty() const;
330};
331
332
333/// List of precursor m/z targets to include or exclude
335{
336 /// List of precursor m/z targets to exclude
337 std::vector<Target> targetExcludeList;
338
339 /// List of precursor m/z targets to include
340 std::vector<Target> targetIncludeList;
341
342 /// returns true iff all members are empty and contain no params
343 bool empty() const;
344};
345
346
347namespace IO {struct HandlerTraData;} // forward declaration for friend
348
349
351{
352 /// for internal use: not currently in the schema
353 std::string id;
354
355 /// List of controlled vocabularies used in a TraML document
356 /// note: one of the <cv> elements in this list MUST be the PSI MS controlled vocabulary. All <cvParam> elements in the document MUST refer to one of the <cv> elements in this list.
357 std::vector<CV> cvs;
358
359 /// List of contacts referenced in the generation or validation of transitions
360 std::vector<ContactPtr> contactPtrs;
361
362 /// List of publications from which the transitions were collected or wherein they are published
363 std::vector<Publication> publications;
364
365 /// List of instruments on which transitions are validated
366 std::vector<InstrumentPtr> instrumentPtrs;
367
368 /// List of software packages used in the generation of one of more transitions described in the document
369 std::vector<SoftwarePtr> softwarePtrs;
370
371 /// List of proteins for which one or more transitions are intended to identify
372 std::vector<ProteinPtr> proteinPtrs;
373
374 /// List of compounds (including peptides) for which one or more transitions are intended to identify
375 std::vector<PeptidePtr> peptidePtrs;
376 std::vector<CompoundPtr> compoundPtrs;
377
378 /// List of transitions
379 std::vector<Transition> transitions;
380
381 /// List of precursor m/z targets to include or exclude
383
384 /// returns true iff all members are empty
385 bool empty() const;
386
387 /// returns the version of this traML document;
388 /// for a document created programmatically, the version is the current release version of traML;
389 /// for a document created from a file/stream, the version is the schema version read from the file/stream
390 const std::string& version() const;
391
393 virtual ~TraData();
394
395 private:
396 // no copying
399
400 protected:
401 std::string version_; // schema version read from the file/stream
402 friend struct IO::HandlerTraData;
403};
404
405
406typedef boost::shared_ptr<TraData> TraDataPtr;
407
408
409} // tradata
410} // pwiz
411
412
413#endif // _TRADATA_HPP_
#define PWIZ_API_DECL
Definition Export.hpp:32
represents a post-translational modification (PTM) modification formula or masses must be provided at...
represents a peptide or polypeptide (a sequence of amino acids)
Definition Peptide.hpp:62
boost::shared_ptr< Protein > ProteinPtr
boost::shared_ptr< Contact > ContactPtr
Definition TraData.hpp:57
boost::shared_ptr< Software > SoftwarePtr
Definition TraData.hpp:88
boost::shared_ptr< Instrument > InstrumentPtr
Definition TraData.hpp:143
boost::shared_ptr< Compound > CompoundPtr
Definition TraData.hpp:254
boost::shared_ptr< TraData > TraDataPtr
Definition TraData.hpp:406
boost::shared_ptr< Peptide > PeptidePtr
Definition TraData.hpp:236
PWIZ_API_DECL std::vector< CV > defaultCVList()
returns a default list of CVs used in an TraML document; currently includes PSI-MS,...
represents a tag-value pair, where the tag comes from the controlled vocabulary
The base class for elements that may contain cvParams, userParams, or paramGroup references.
Chemical compound other than a peptide for which one or more transitions.
Definition TraData.hpp:241
Compound(const std::string &id="")
bool empty() const
returns true iff all members are empty and contain no params
std::vector< RetentionTime > retentionTimes
List of retention time information entries.
Definition TraData.hpp:246
std::string id
Identifier for the compound to be used for referencing within a document.
Definition TraData.hpp:243
Instrument configuration used in the validation or optimization of the transitions.
Definition TraData.hpp:148
bool empty() const
returns true iff all members are empty and contain no params
std::vector< Validation > validations
Definition TraData.hpp:149
InstrumentPtr instrumentPtr
Reference to an instrument for which this configuration information is appropriate.
Definition TraData.hpp:155
ContactPtr contactPtr
Reference to a contact person originating this information.
Definition TraData.hpp:152
std::string id
Identifier for the contact to be used for referencing within a document.
Definition TraData.hpp:49
bool empty() const
returns true iff all members are empty and contain no params
Contact(const std::string &id="")
Information about empirical mass spectrometer observations of the peptide.
Definition TraData.hpp:117
bool empty() const
returns true iff contain no params
Instrument on which transitions are validated.
Definition TraData.hpp:133
Instrument(const std::string &id="")
bool empty() const
returns true iff all members are empty and contain no params
std::string id
Identifier for the instrument to be used for referencing within a document.
Definition TraData.hpp:135
A possible interpration of the product ion for a transition.
Definition TraData.hpp:164
bool empty() const
returns true iff contains no params
double averageMassDelta
Atomic mass delta when considering the natural distribution of isotopes in Daltons.
Definition TraData.hpp:203
bool empty() const
returns true iff all members are zero and contain no params
int location
Location of the modification within the peptide sequence, counted from the N-terminus,...
Definition TraData.hpp:197
double monoisotopicMassDelta
Atomic mass delta when assuming only the most common isotope of elements in Daltons.
Definition TraData.hpp:200
bool empty() const
returns true iff all members are empty and contain no params
std::string sequence
Amino acid sequence of the peptide being described.
Definition TraData.hpp:217
std::vector< Modification > modifications
List of modifications on this peptide.
Definition TraData.hpp:220
std::string id
Identifier for the peptide to be used for referencing within a document.
Definition TraData.hpp:214
Peptide(const std::string &id="")
std::vector< RetentionTime > retentionTimes
List of retention time information entries.
Definition TraData.hpp:226
std::vector< ProteinPtr > proteinPtrs
Reference to zero or more proteins which this peptide is intended to identify.
Definition TraData.hpp:223
Precursor (Q1) of the transition.
Definition TraData.hpp:259
bool empty() const
returns true iff contains no params
Information about a prediction for a suitable transition using some software.
Definition TraData.hpp:103
bool empty() const
returns true iff all members are empty and contain no params
SoftwarePtr softwarePtr
Reference to a software package from which this prediction is derived.
Definition TraData.hpp:105
ContactPtr contactPtr
Reference to a contact person that generated this prediction.
Definition TraData.hpp:108
Product (Q3) of the transition.
Definition TraData.hpp:267
bool empty() const
returns true iff contains no params
Protein(const std::string &id="")
std::string id
Identifier for the protein to be used for referencing within a document.
Definition TraData.hpp:173
bool empty() const
returns true iff all members are empty and contain no params
std::string sequence
Amino acid sequence of the protein.
Definition TraData.hpp:176
bool empty() const
returns true iff all members are empty and contain no params
std::string id
Identifier for the publication to be used for referencing within a document.
Definition TraData.hpp:63
bool empty() const
returns true iff all members are empty and contain no params
SoftwarePtr softwarePtr
Software used to determine the retention time.
Definition TraData.hpp:94
std::string id
Identifier for the software to be used for referencing within a document.
Definition TraData.hpp:73
std::string version
Version of the software program described.
Definition TraData.hpp:76
Software(const std::string &_id="")
bool empty() const
returns true iff all members are empty and contain no params
Software(const std::string &_id, const CVParam &_param, const std::string &_version)
A peptide or compound that is to be included or excluded from a target list of precursor m/z values.
Definition TraData.hpp:309
PeptidePtr peptidePtr
Reference to a peptide for which this target is the trigger.
Definition TraData.hpp:314
std::string id
String label for this target.
Definition TraData.hpp:311
RetentionTime retentionTime
Information about predicted or calibrated retention time.
Definition TraData.hpp:323
Precursor precursor
Precursor (Q1) of the target.
Definition TraData.hpp:320
CompoundPtr compoundPtr
Reference to a compound for which this target is the trigger.
Definition TraData.hpp:317
bool empty() const
returns true iff all members are empty and contain no params
std::vector< Configuration > configurationList
List of instrument configurations used in the validation or optimization of the target.
Definition TraData.hpp:326
List of precursor m/z targets to include or exclude.
Definition TraData.hpp:335
std::vector< Target > targetExcludeList
List of precursor m/z targets to exclude.
Definition TraData.hpp:337
std::vector< Target > targetIncludeList
List of precursor m/z targets to include.
Definition TraData.hpp:340
bool empty() const
returns true iff all members are empty and contain no params
std::vector< CV > cvs
List of controlled vocabularies used in a TraML document note: one of the <cv> elements in this list ...
Definition TraData.hpp:357
std::vector< ContactPtr > contactPtrs
List of contacts referenced in the generation or validation of transitions.
Definition TraData.hpp:360
std::vector< InstrumentPtr > instrumentPtrs
List of instruments on which transitions are validated.
Definition TraData.hpp:366
std::vector< Publication > publications
List of publications from which the transitions were collected or wherein they are published.
Definition TraData.hpp:363
std::vector< ProteinPtr > proteinPtrs
List of proteins for which one or more transitions are intended to identify.
Definition TraData.hpp:372
TraData(const TraData &)
const std::string & version() const
returns the version of this traML document; for a document created programmatically,...
bool empty() const
returns true iff all members are empty
std::vector< CompoundPtr > compoundPtrs
Definition TraData.hpp:376
std::string id
for internal use: not currently in the schema
Definition TraData.hpp:353
TargetList targets
List of precursor m/z targets to include or exclude.
Definition TraData.hpp:382
std::vector< PeptidePtr > peptidePtrs
List of compounds (including peptides) for which one or more transitions are intended to identify.
Definition TraData.hpp:375
std::vector< SoftwarePtr > softwarePtrs
List of software packages used in the generation of one of more transitions described in the document...
Definition TraData.hpp:369
TraData & operator=(const TraData &)
std::vector< Transition > transitions
List of transitions.
Definition TraData.hpp:379
PeptidePtr peptidePtr
Reference to a peptide which this transition is intended to identify.
Definition TraData.hpp:279
Prediction prediction
Information about a prediction for a suitable transition using some software.
Definition TraData.hpp:291
Product product
Product (Q3) of the transition.
Definition TraData.hpp:288
bool empty() const
returns true iff all members are empty and contain no params
Precursor precursor
Precursor (Q1) of the transition.
Definition TraData.hpp:285
std::string id
String label for this transition.
Definition TraData.hpp:276
std::vector< Interpretation > interpretationList
List of possible interprations of fragment ions for a transition.
Definition TraData.hpp:297
CompoundPtr compoundPtr
Reference to a compound for this transition.
Definition TraData.hpp:282
std::vector< Configuration > configurationList
List of insutrument configurations used in the validation or optimization of the transitions.
Definition TraData.hpp:300
RetentionTime retentionTime
Information about predicted or calibrated retention time.
Definition TraData.hpp:294
Information about the state of validation of a transition on a given instrument model.
Definition TraData.hpp:125
bool empty() const
returns true iff contain no params