ProteoWizard
IdentData.hpp
Go to the documentation of this file.
1 //
2 // $Id$
3 //
4 //
5 // Original author: Robert Burke <robert.burke@proteowizard.org>
6 //
7 // Copyright 2009 Spielberg Family Center for Applied Proteomics
8 // University of Southern California, Los Angeles, California 90033
9 //
10 // Licensed under the Apache License, Version 2.0 (the "License");
11 // you may not use this file except in compliance with the License.
12 // You may obtain a copy of the License at
13 //
14 // http://www.apache.org/licenses/LICENSE-2.0
15 //
16 // Unless required by applicable law or agreed to in writing, software
17 // distributed under the License is distributed on an "AS IS" BASIS,
18 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 // See the License for the specific language governing permissions and
20 // limitations under the License.
21 //
22 
23 
24 #ifndef _IDENTDATA_HPP_
25 #define _IDENTDATA_HPP_
26 
27 
32 #include "boost/logic/tribool.hpp"
33 #include <vector>
34 #include <string>
35 #include <map>
36 
37 
38 #ifdef USE_RAW_PTR
39 #define TYPEDEF_SHARED_PTR(type) typedef type* type##Ptr
40 #define BOOST_FOREACH(a, b) a;
41 #else
42 #include <boost/foreach.hpp>
43 #define TYPEDEF_SHARED_PTR(type) typedef boost::shared_ptr<type> type##Ptr
44 #endif
45 
46 
47 namespace pwiz {
48 namespace identdata {
49 
50 
51 using namespace pwiz::cv;
52 using namespace pwiz::data;
53 
54 /// returns a default list of CVs used in an IdentData document;
55 /// currently includes PSI-MS, Unit Ontology, and UNIMOD
56 PWIZ_API_DECL std::vector<CV> defaultCVList();
57 
58 /// Parent class representing extensions of the IdentifiableType from
59 /// the mzIdentML schema.
60 ///
61 /// Other classes in the model can be specified as sub-classes,
62 /// inheriting from Identifiable. Identifiable gives classes a unique
63 /// identifier within the scope and a name that need not be unique.
65 {
66  Identifiable(const std::string& id_ = "",
67  const std::string& name_ = "");
68  virtual ~Identifiable() {}
69 
70  std::string id;
71  std::string name;
72 
73  virtual bool empty() const;
74 };
75 
76 /// Parent class of all Identifiable objects that have ParamGroups.
77 ///
78 /// Represents bibliographic references.
80 {
81  IdentifiableParamContainer(const std::string& id_ = "",
82  const std::string& name_ = "");
84 
85  std::string id;
86  std::string name;
87 
88  virtual bool empty() const;
89 };
90 
91 /// Implementation for the BibliographicReferenceType tag in the
92 /// mzIdentML schema.
93 ///
94 /// Represents bibliographic references.
96 {
98 
99  std::string authors;
100  std::string publication;
101  std::string publisher;
102  std::string editor;
103  int year;
104  std::string volume;
105  std::string issue;
106  std::string pages;
107  std::string title;
108 
109  bool empty() const;
110 };
111 
113 
114 /// Implementation of ContactType from mzIdentML.
115 ///
116 /// A contact is either a person or an organization.
118 {
119  Contact(const std::string& id_ = "",
120  const std::string& name_ = "");
121  virtual ~Contact() {}
122 
123  virtual bool empty() const;
124 };
125 
127 
128 /// \brief Implementation of AbstractOrganizationType from the
129 /// mzIdentML schema.
130 ///
131 /// Organizations are entities like companies, universities,
132 /// government agencies. Any additional information such as the
133 /// address, email etc. should be supplied either as CV parameters or
134 /// as user parameters.
136 {
137  Organization(const std::string& id_ = "",
138  const std::string& name_ = "");
139 
140  boost::shared_ptr<Organization> parent;
141 
142  virtual bool empty() const;
143 };
144 
146 
147 /// Implementation of PersonType from the mzIdentML schema.
148 ///
149 /// A person's name and contact details. Any additional information
150 /// such as the address, contact email etc. should be supplied using
151 /// CV parameters or user parameters.
152 struct PWIZ_API_DECL Person : public Contact
153 {
154  Person(const std::string& id_ = "",
155  const std::string& name_ = "");
156 
157  std::string lastName;
158  std::string firstName;
159  std::string midInitials;
160 
161  std::vector<OrganizationPtr> affiliations;
162 
163  virtual bool empty() const;
164 };
165 
167 
168 /// Implementation of ContactRoleType from the mzIdentML schema.
169 ///
170 /// The role that a Contact plays in an organization or with respect
171 /// to the associating class. A Contact may have several Roles within
172 /// scope, and as such, associations to ContactRole allow the use of a
173 /// Contact in a certain manner. Examples might include a provider, or
174 /// a data analyst.
176 {
177  ContactRole(CVID role_ = CVID_Unknown,
178  const ContactPtr& contactPtr_ = ContactPtr());
179 
181 
182  bool empty() const;
183 };
184 
186 
187 /// Implementation of the SampleType from the mzIdentML schema.
188 ///
189 /// A description of the sample analysed by mass spectrometry using
190 /// CVParams or UserParams. If a composite sample has been analysed, a
191 /// parent sample should be defined, which references subsamples. This
192 /// represents any kind of substance used in an experimental workflow,
193 /// such as whole organisms, cells, DNA, solutions, compounds and
194 /// experimental substances (gels, arrays etc.).
196 {
197  Sample(const std::string& id_ = "",
198  const std::string& name_ = "");
199 
200  std::vector<ContactRolePtr> contactRole;
201  std::vector<boost::shared_ptr<Sample> > subSamples;
202 
203  bool empty() const;
204 };
205 
207 
208 /// Implementation of AnalysisSoftwareType from the mzIdentML schema.
209 ///
210 /// The software used for performing the analyses.
212 {
213  AnalysisSoftware(const std::string& id_ = "",
214  const std::string& name_ = "");
215 
216  // SoftwareType attributes
217  std::string version;
218  std::string URI;
219  std::string customizations;
220 
221  // SoftwareType elements
222  ContactRolePtr contactRolePtr;
224 
225  virtual bool empty() const;
226 };
227 
229 
230 /// Implementation of ProviderType from the mzIdentML schema.
231 ///
232 /// The provider of the document in terms of the Contact and the
233 /// software the produced the document instance.
235 {
236  Provider(const std::string id_ = "",
237  const std::string name_ = "");
238 
239  ContactRolePtr contactRolePtr;
240  AnalysisSoftwarePtr analysisSoftwarePtr;
241 
242  bool empty() const;
243 };
244 
246 
247 
248 // TODO find example document w/ this in it and determine best
249 // representation for data model
250 
251 /// Implementation of AnalysisSampleCollectionType from mzIdentML
252 /// schema.
253 ///
254 /// The samples analysed can optionally be recorded using CV terms for
255 /// descriptions. If a composite sample has been analysed, the
256 /// subsample association can be used to build a hierarchical
257 /// description.
259 {
260  std::vector<SamplePtr> samples;
261 
262  bool empty() const;
263 };
264 
265 
266 /// Implementation of SearchDatabaseType from the mzIdentML schema.
267 ///
268 /// A database for searching mass spectra. Examples include a set of
269 /// amino acid sequence entries, or annotated spectra libraries.
271 {
272  SearchDatabase(const std::string& id_ = "",
273  const std::string& name_ = "");
274 
275  std::string location;
276  std::string version;
277  std::string releaseDate;
280 
283 
284  bool empty() const;
285 };
286 
288 
289 
290 /// Implementation of DBSequenceType from the mzIdentML schema.
291 ///
292 /// A database sequence from the specified SearchDatabase (nucleic
293 /// acid or amino acid). If the sequence is nucleic acid, the source
294 /// nucleic acid sequence should be given in the seq attribute rather
295 /// than a translated sequence.
297 {
298  DBSequence(const std::string id_ = "",
299  const std::string name_ = "");
300 
301  int length;
302  std::string accession;
303  SearchDatabasePtr searchDatabasePtr;
304 
305  std::string seq;
306 
307  bool empty() const;
308 };
309 
311 
312 
313 /// Implementation of ModificationType from the mzIdentML schema.
314 ///
315 /// A molecule modification specification. If n modifications have
316 /// been found on a peptide, there should be n instances of
317 /// Modification. If multiple modifications are provided as cvParams,
318 /// it is assumed that the modification is ambiguous i.e. one
319 /// modification or another. A cvParam must be provided with the
320 /// identification of the modification sourced from a suitable CV
321 /// e.g. UNIMOD. If the modification is not present in the CV (and
322 /// this will be checked by the semantic validator within a given
323 /// tolerance window), there is a “unknown modification” CV
324 /// term that must be used instead. A neutral loss should be defined
325 /// as an additional CVParam within Modification. If more complex
326 /// information should be given about neutral losses (such as
327 /// presence/absence on particular product ions), this can
328 /// additionally be encoded within the FragmentationArray.
330 {
332 
333  int location;
334  std::vector<char> residues;
335  double avgMassDelta;
337 
338  bool empty() const;
339 };
340 
342 
343 
344 /// Implementation of SubstitutionModificationType from the mzIdentML
345 /// schema.
346 ///
347 /// A modification where one residue is substituted by another (amino
348 /// acid change).
350 {
352 
355  int location;
356  double avgMassDelta;
358 
359  bool empty() const;
360 };
361 
363 
364 /// Implementation of PeptideType from the mzIdentML schema.
365 ///
366 /// One (poly)peptide (a sequence with modifications). The combination
367 /// of Peptide sequence and modifications must be unique in the file.
369 {
370  Peptide(const std::string& id="",
371  const std::string& name="");
372 
373  std::string peptideSequence;
374  std::vector<ModificationPtr> modification;
375  std::vector<SubstitutionModificationPtr> substitutionModification;
376 
377  bool empty() const;
378 };
379 
381 
382 
383 /// Implementation of SearchModificationType from the mzIdentML schema.
384 ///
385 /// Filters applied to the search database. The filter must include at
386 /// least one of Include and Exclude. If both are used, it is assumed
387 /// that inclusion is performed first.
389 {
391 
392  bool fixedMod;
393  double massDelta;
394  std::vector<char> residues;
396 
397  bool empty() const;
398 };
399 
401 
402 
403 /// Implementation of EnzymeType from the mzIdentML schema.
404 ///
405 /// The details of an individual cleavage enzyme should be provided by
406 /// giving a regular expression or a CV term if a "standard" enzyme
407 /// cleavage has been performed.
409 {
410  Enzyme(const std::string& id = "",
411  const std::string& name = "");
412 
413  std::string nTermGain;
414  std::string cTermGain;
415  proteome::Digestion::Specificity terminalSpecificity;
418 
419  std::string siteRegexp;
421 
422  bool empty() const;
423 };
424 
426 
427 
428 /// Implementation of EnzymesType from the mzIdentML schema.
429 ///
430 /// The list of enzymes used in experiment.
432 {
433  boost::logic::tribool independent;
434 
435  std::vector<EnzymePtr> enzymes;
436 
437  bool empty() const;
438 };
439 
440 
441 /// Implementation of ResidueType from the mzIdentML schema.
442 ///
443 /// Representation of the Residue tags that holds a letter code and
444 /// residue mass in Daltons (not including any fixed modifications).
446 {
448 
449  char code;
450  double mass;
451 
452  bool empty() const;
453 };
454 
456 
457 
458 /// Implementation of AmbiguousResidueType from the mzIdentML schema.
459 ///
460 /// Ambiguous residues e.g. X can be specified by the Code attribute
461 /// and a set of parameters for example giving the different masses
462 /// that will be used in the search.
464 {
466 
467  char code;
468 
469  bool empty() const;
470 };
471 
473 
474 
475 /// Implementation of MassTableType from the mzIdentML schema.
476 ///
477 /// Ambiguous residues e.g. X can be specified by the Code attribute
478 /// and a set of parameters for example giving the different masses
479 /// that will be used in the search.
481 {
482  MassTable(const std::string id = "");
483 
484  std::string id;
485  std::vector<int> msLevel;
486 
487  std::vector<ResiduePtr> residues;
488  std::vector<AmbiguousResiduePtr> ambiguousResidue;
489 
490  bool empty() const;
491 };
492 
494 
495 
496 /// Implementation of FilterType from the mzIdentML schema.
497 ///
498 /// Filters applied to the search database. The filter must include at
499 /// least one of Include and Exclude. If both are used, it is assumed
500 /// that inclusion is performed first.
502 {
506 
507  bool empty() const;
508 };
509 
511 
512 
513 /// Implementation of TranslationTableType from the mzIdentML schema.
514 ///
515 /// The table used to translate codons into nucleic acids e.g. by
516 /// reference to the NCBI translation table.
518 {
519  TranslationTable(const std::string& id = "",
520  const std::string& name = "");
521 };
522 
524 
525 
526 /// Implementation of DatabaseTranslationType from the mzIdentML schema.
527 ///
528 /// A specification of how a nucleic acid sequence database was
529 /// translated for searching.
531 {
532  std::vector<int> frames;
533  std::vector<TranslationTablePtr> translationTable;
534 
535  bool empty() const;
536 };
537 
539 
540 
541 /// Implementation of SpectrumIdentificationProtocolType from the
542 /// mzIdentML schema.
543 ///
544 /// The parameters and settings of a SpectrumIdentification analysis.
546 {
547  SpectrumIdentificationProtocol(const std::string& id_ = "",
548  const std::string& name_ = "");
549 
550  AnalysisSoftwarePtr analysisSoftwarePtr;
551 
554  std::vector<SearchModificationPtr> modificationParams;
556  std::vector<MassTablePtr> massTable;
560  std::vector<FilterPtr> databaseFilters;
561  DatabaseTranslationPtr databaseTranslation;
562 
563  bool empty() const;
564 };
565 
567 
568 
569 /// Implementation of MeasureType from the mzIdentML schema.
570 ///
571 /// References to CV terms defining the measures about product ions to
572 /// be reported in SpectrumIdentificationItem.
574 {
575  Measure(const std::string id = "",
576  const std::string name = "");
577 
578  bool empty() const;
579 };
580 
582 
583 
584 /// Implementation of FragmentArrayType from the mzIdentML schema.
585 ///
586 /// Contains the types of measures that will be reported in generic
587 /// arrays for each SpectrumIdentificationItem e.g. product ion m/z,
588 /// product ion intensity, product ion m/z error
590 {
591  std::vector<double> values;
592  MeasurePtr measurePtr;
593 
594  bool empty() const;
595 };
596 
598 
599 
600 /// Implementation of IonTypeType from the mzIdentML schema.
601 ///
602 /// IonType defines the index of fragmentation ions being reported,
603 /// importing a CV term for the type of ion e.g. b ion. Example: if b3
604 /// b7 b8 and b10 have been identified, the index attribute will
605 /// contain 3 7 8 10, and the corresponding values will be reported in
606 /// parallel arrays below
608 {
610 
611  std::vector<int> index;
612  int charge;
613  std::vector<FragmentArrayPtr> fragmentArray;
614 
615  bool empty() const;
616 };
617 
619 
620 
621 /// Implementation of PeptideEvidenceType from the mzIdentML schema.
622 ///
623 /// PeptideEvidence links a specific Peptide element to a specific
624 /// position in a DBSequence. There must only be one PeptideEvidence
625 /// item per Peptide-to-DBSequence-position.
627 {
628  PeptideEvidence(const std::string& id = "",
629  const std::string& name = "");
630 
632  DBSequencePtr dbSequencePtr;
633  int start;
634  int end;
635  char pre;
636  char post;
637  TranslationTablePtr translationTablePtr;
638  int frame;
639  bool isDecoy;
640 
641  bool empty() const;
642 };
643 
645 
646 
647 /// Implementation of SequenceCollectionType from the mzIdentML schema.
648 ///
649 /// The collection of sequences (DBSequence or Peptide) identified and
650 /// their relationship between each other (PeptideEvidence) to be
651 /// referenced elsewhere in the results.
653 {
654  std::vector<DBSequencePtr> dbSequences;
655  std::vector<PeptidePtr> peptides;
656  std::vector<PeptideEvidencePtr> peptideEvidence;
657  bool empty() const;
658 };
659 
660 
661 /// Implementation of SpectrumIdentificationItemType from the
662 /// mzIdentML schema.
663 ///
664 /// An identification of a single (poly)peptide, resulting from
665 /// querying an input spectra, along with the set of confidence values
666 /// for that identification. PeptideEvidence elements should be given
667 /// for all mappings of the corresponding Peptide sequence within
668 /// protein sequences.
670 {
671  SpectrumIdentificationItem(const std::string& id = "",
672  const std::string& name = "");
673 
677  double calculatedPI;
679  int rank;
681  MassTablePtr massTablePtr;
683 
684  std::vector<PeptideEvidencePtr> peptideEvidencePtr;
685  std::vector<IonTypePtr> fragmentation;
686 
687  bool empty() const;
688 };
689 
691 
692 
693 /// Implementation of SpectraDataType from the mzIdentML schema.
694 ///
695 /// A data set containing spectra data (consisting of one or more
696 /// spectra).
698 {
699  SpectraData(const std::string id = "",
700  const std::string name = "");
701 
702  std::string location;
703 
704  std::vector<std::string> externalFormatDocumentation;
707 
708  bool empty() const;
709 };
710 
712 
713 
714 /// Implementation of SpectrumIdentificationResultType from the
715 /// mzIdentML schema.
716 ///
717 /// All identifications made from searching one spectrum. For PMF
718 /// data, all peptide identifications will be listed underneath as
719 /// SpectrumIdentificationItems. For MS/MS data, there will be ranked
720 /// SpectrumIdentificationItems corresponding to possible different
721 /// peptide IDs.
723 {
724  SpectrumIdentificationResult(const std::string& id_ = "",
725  const std::string& name_ = "");
726 
727  std::string spectrumID;
728  SpectraDataPtr spectraDataPtr;
729 
730  std::vector<SpectrumIdentificationItemPtr> spectrumIdentificationItem;
731 
732  bool empty() const;
733 };
734 
736 
737 
738 /// Implementation of SpectrumIdentificationListType from the
739 /// mzIdentML schema.
740 ///
741 /// Represents the set of all search results from
742 /// SpectrumIdentification.
744 {
745  SpectrumIdentificationList(const std::string& id_ = "",
746  const std::string& name_ = "");
747 
749 
750  std::vector<MeasurePtr> fragmentationTable;
751  std::vector<SpectrumIdentificationResultPtr> spectrumIdentificationResult;
752 
753  bool empty() const;
754 };
755 
757 
758 
759 /// Implementation of SpectrumIdentificationType from the mzIdentML schema.
760 ///
761 /// An Analysis which tries to identify peptides in input spectra,
762 /// referencing the database searched, the input spectra, the output
763 /// results and the protocol that is run.
765 {
766  SpectrumIdentification(const std::string& id_ = "",
767  const std::string& name_ = "");
768 
769  SpectrumIdentificationProtocolPtr spectrumIdentificationProtocolPtr;
770  SpectrumIdentificationListPtr spectrumIdentificationListPtr;
771  std::string activityDate;
772 
773  std::vector<SpectraDataPtr> inputSpectra;
774  std::vector<SearchDatabasePtr> searchDatabase;
775 
776  bool empty() const;
777 };
778 
780 
781 
782 /// Implementation of ProteinDetectionProtocolType from the mzIdentML
783 /// schema.
784 ///
785 /// The parameters and settings of a ProteinDetection process.
787 {
788  ProteinDetectionProtocol(const std::string& id_ = "",
789  const std::string& name_ = "");
790 
791  AnalysisSoftwarePtr analysisSoftwarePtr;
792 
795 
796  bool empty() const;
797 };
798 
800 
801 
802 /// Implementation of PeptideHypothesisType from the mzIdentML schema.
803 ///
804 /// Peptide evidence on which this ProteinHypothesis is based by
805 /// reference to a PeptideEvidence element.
807 {
808  PeptideEvidencePtr peptideEvidencePtr;
809  std::vector<SpectrumIdentificationItemPtr> spectrumIdentificationItemPtr;
810 
811  bool empty() const;
812 };
813 
814 
815 /// Implementation of ProteinDetectionHypothesisType from the
816 /// mzIdentML schema.
817 ///
818 /// A single result of the ProteinDetection analysis (i.e. a protein).
820 {
821  ProteinDetectionHypothesis(const std::string& id_ = "",
822  const std::string& name_ = "");
823 
824  DBSequencePtr dbSequencePtr;
826  std::vector<PeptideHypothesis> peptideHypothesis;
827 
828  bool empty() const;
829 };
830 
832 
833 
834 /// Implementation of ProteinAmbiguityGroupType from the mzIdentML schema.
835 ///
836 /// A set of logically related results from a protein detection, for
837 /// example to represent conflicting assignments of peptides to
838 /// proteins.
840 {
841  ProteinAmbiguityGroup(const std::string& id_ = "",
842  const std::string& name_ = "");
843 
844  std::vector<ProteinDetectionHypothesisPtr> proteinDetectionHypothesis;
845 
846  bool empty() const;
847 };
848 
850 
851 
852 /// Implementation of ProteinDetectionListType from the mzIdentML schema.
853 ///
854 /// The protein list resulting from a protein detection process.
856 {
857  ProteinDetectionList(const std::string& id_ = "",
858  const std::string& name_ = "");
859 
860  std::vector<ProteinAmbiguityGroupPtr> proteinAmbiguityGroup;
861 
862  bool empty() const;
863 };
864 
866 
867 
868 /// Implementation of ProteinDetectionType from the mzIdentML schema.
869 ///
870 /// An Analysis which assembles a set of peptides (e.g. from a spectra
871 /// search analysis) to proteins.
873 {
874  ProteinDetection(const std::string id_ = "",
875  const std::string name_ = "");
876 
877  ProteinDetectionProtocolPtr proteinDetectionProtocolPtr;
878  ProteinDetectionListPtr proteinDetectionListPtr;
879  std::string activityDate;
880 
881  std::vector<SpectrumIdentificationListPtr> inputSpectrumIdentifications;
882 
883  virtual bool empty() const;
884 };
885 
887 
888 
889 /// Implementation of AnalysisCollectionType from the mzIdentML schema
890 ///
891 /// The analyses performed to get the results, which map the input and
892 /// output data sets. Analyses are for example: SpectrumIdentification
893 /// (resulting in peptides) or ProteinDetection (assemble proteins
894 /// from peptides).
896 {
897  std::vector<SpectrumIdentificationPtr> spectrumIdentification;
899 
900  bool empty() const;
901 };
902 
903 
904 /// Implementation of AnalysisProtocolCollectionType from the
905 /// mzIdentML schema.
906 ///
907 /// The collection of protocols which include the parameters and
908 /// settings of the performed analyses.
910 {
911  std::vector<SpectrumIdentificationProtocolPtr> spectrumIdentificationProtocol;
912  std::vector<ProteinDetectionProtocolPtr> proteinDetectionProtocol;
913 
914  bool empty() const;
915 };
916 
918 
919 
920 /// Implementation of SourceFileType from the mzIdentML schema.
921 ///
922 /// A file from which this mzIdentML instance was created.
924 {
925  std::string location;
927 
928  std::vector<std::string> externalFormatDocumentation;
929 
930  bool empty() const;
931 };
932 
934 
935 
936 /// Implementation of the InputsType from the mzIdentML schema.
937 ///
938 /// The inputs to the analyses including the databases searched, the
939 /// spectral data and the source file converted to mzIdentML.
940 ///
941 /// Input element. Contains 0+ of SourceFile, SearchDatabase,
942 /// SpectraData
944 {
945  // Replace these 3 members w/ their types
946  std::vector<SourceFilePtr> sourceFile;
947  std::vector<SearchDatabasePtr> searchDatabase;
948  std::vector<SpectraDataPtr> spectraData;
949 
950  bool empty() const;
951 };
952 
954 
955 
956 /// Implementation of AnalysisDataType from the mzIdentML schema.
957 ///
958 /// Data sets generated by the analyses, including peptide and protein
959 /// lists.
961 {
962  std::vector<SpectrumIdentificationListPtr> spectrumIdentificationList;
963  ProteinDetectionListPtr proteinDetectionListPtr;
964 
965  bool empty() const;
966 };
967 
969 
970 
971 /// Implementation of DataCollectionType from the mzIdentML schema.
972 ///
973 /// The collection of input and output data sets of the analyses.
975 {
978 
979  bool empty() const;
980 };
981 
983 
984 
985 namespace IO {struct HandlerIdentData;} // forward declaration for friend
986 
987 
988 /// Implementation of the MzIdentMLType from the mzIdentML schema.
989 ///
990 /// The upper-most hierarchy level of mzIdentML with sub-containers
991 /// for example describing software, protocols and search results
992 /// (spectrum identifications or protein detection results).
994 {
995  IdentData(const std::string& id_ = "",
996  const std::string& creationDate_ = "");
997 
998  // attributes included in the IdentData schema
999  std::string creationDate;
1000 
1001  ///////////////////////////////////////////////////////////////////////
1002  // Elements
1003 
1004  std::vector<CV> cvs;
1005 
1006  std::vector<AnalysisSoftwarePtr> analysisSoftwareList;
1007 
1009 
1010  std::vector<ContactPtr> auditCollection;
1011 
1013 
1015 
1017 
1019 
1021 
1022  std::vector<BibliographicReferencePtr> bibliographicReference;
1023 
1024  bool empty() const;
1025 
1026  /// returns the version of this mzIdentML document;
1027  /// for a document created programmatically, the version is the current release version of mzIdentML;
1028  /// for a document created from a file/stream, the version is the schema version read from the file/stream
1029  const std::string& version() const;
1030 
1031  protected:
1032  std::string version_; // schema version read from the file/stream
1033  friend struct IO::HandlerIdentData;
1034 };
1035 
1037 
1038 
1039 /// given a protocol and a PeptideEvidence instance, returns the PeptideEvidence as a DigestedPeptide instance
1041 
1042 /// given a protocol and a SpectrumIdentificationItem, builds a set of DigestedPeptides
1043 PWIZ_API_DECL std::vector<proteome::DigestedPeptide> digestedPeptides(const SpectrumIdentificationProtocol& sip, const SpectrumIdentificationItem& sii);
1044 
1045 /// creates a proteome::Peptide from an identdata::Peptide
1047 
1048 /// creates a proteome::Modification from an identdata::Modification
1050 
1051 /// returns a cleavage agent CVID for an identdata::Enzyme
1053 
1054 /// returns a list of cleavage agent CVIDs for an identdata::Enzymes instance
1055 PWIZ_API_DECL std::vector<CVID> cleavageAgents(const Enzymes& enzymes);
1056 
1057 /// returns a regular expression for an identdata::Enzyme
1058 PWIZ_API_DECL std::string cleavageAgentRegex(const Enzyme& ez);
1059 
1060 /// returns a list of regular expressions for an identdata::Enzymes instance
1061 PWIZ_API_DECL std::vector<std::string> cleavageAgentRegexes(const Enzymes& enzymes);
1062 
1063 /// sets Unimod CV terms (if possible) for all SearchModifications and Modification elements
1065 
1066 
1067 } // namespace identdata
1068 } // namespace pwiz
1069 
1070 #endif // _IDENTDATA_HPP_
pwiz::identdata::SpectrumIdentificationProtocol::empty
bool empty() const
pwiz::identdata::IonType::empty
bool empty() const
pwiz::identdata::SpectrumIdentificationProtocol::modificationParams
std::vector< SearchModificationPtr > modificationParams
Definition: IdentData.hpp:554
pwiz::identdata::Enzyme::nTermGain
std::string nTermGain
Definition: IdentData.hpp:413
pwiz::identdata::SpectrumIdentificationItem
Implementation of SpectrumIdentificationItemType from the mzIdentML schema.
Definition: IdentData.hpp:670
pwiz::identdata::defaultCVList
PWIZ_API_DECL std::vector< CV > defaultCVList()
returns a default list of CVs used in an IdentData document; currently includes PSI-MS,...
pwiz::identdata::Person
Implementation of PersonType from the mzIdentML schema.
Definition: IdentData.hpp:153
pwiz::identdata::BibliographicReference::issue
std::string issue
Definition: IdentData.hpp:105
pwiz::identdata::PeptideHypothesis::empty
bool empty() const
pwiz::identdata::snapModificationsToUnimod
PWIZ_API_DECL void snapModificationsToUnimod(const SpectrumIdentification &si)
sets Unimod CV terms (if possible) for all SearchModifications and Modification elements
pwiz::identdata::ProteinDetectionHypothesis::empty
bool empty() const
pwiz::identdata::SpectrumIdentificationResult::spectrumIdentificationItem
std::vector< SpectrumIdentificationItemPtr > spectrumIdentificationItem
Definition: IdentData.hpp:730
pwiz::identdata::AnalysisCollection::empty
bool empty() const
pwiz::identdata::Person::lastName
std::string lastName
Definition: IdentData.hpp:157
pwiz::identdata::DatabaseTranslation::translationTable
std::vector< TranslationTablePtr > translationTable
Definition: IdentData.hpp:533
pwiz::identdata::Filter::empty
bool empty() const
pwiz::identdata::Contact::Contact
Contact(const std::string &id_="", const std::string &name_="")
pwiz::identdata::FragmentArray::measurePtr
MeasurePtr measurePtr
Definition: IdentData.hpp:592
pwiz::identdata::PeptideEvidence
Implementation of PeptideEvidenceType from the mzIdentML schema.
Definition: IdentData.hpp:627
pwiz::identdata::AnalysisProtocolCollection::proteinDetectionProtocol
std::vector< ProteinDetectionProtocolPtr > proteinDetectionProtocol
Definition: IdentData.hpp:912
pwiz::identdata::MassTable::ambiguousResidue
std::vector< AmbiguousResiduePtr > ambiguousResidue
Definition: IdentData.hpp:488
pwiz::identdata::SpectraData::location
std::string location
Definition: IdentData.hpp:702
pwiz::identdata::PeptideEvidence::dbSequencePtr
DBSequencePtr dbSequencePtr
Definition: IdentData.hpp:632
pwiz::identdata::Residue::empty
bool empty() const
pwiz::identdata::SubstitutionModification::avgMassDelta
double avgMassDelta
Definition: IdentData.hpp:356
pwiz::identdata::SpectrumIdentificationItem::chargeState
int chargeState
Definition: IdentData.hpp:674
pwiz::identdata::SpectrumIdentificationResult::spectraDataPtr
SpectraDataPtr spectraDataPtr
Definition: IdentData.hpp:728
pwiz::identdata::Residue
Implementation of ResidueType from the mzIdentML schema.
Definition: IdentData.hpp:446
pwiz::identdata::SpectrumIdentificationProtocol::additionalSearchParams
ParamContainer additionalSearchParams
Definition: IdentData.hpp:553
pwiz::identdata::MassTable::msLevel
std::vector< int > msLevel
Definition: IdentData.hpp:485
pwiz::identdata::Enzyme::empty
bool empty() const
pwiz::identdata::Organization::empty
virtual bool empty() const
pwiz::identdata::SearchDatabase::numDatabaseSequences
long numDatabaseSequences
Definition: IdentData.hpp:278
pwiz::identdata::Modification::monoisotopicMassDelta
double monoisotopicMassDelta
Definition: IdentData.hpp:336
pwiz::identdata::SpectrumIdentificationItem::samplePtr
SamplePtr samplePtr
Definition: IdentData.hpp:682
pwiz::identdata::Measure::Measure
Measure(const std::string id="", const std::string name="")
pwiz
Definition: ChromatogramList_Filter.hpp:36
pwiz::identdata::PeptideEvidence::peptidePtr
PeptidePtr peptidePtr
Definition: IdentData.hpp:631
pwiz::identdata::AmbiguousResidue
Implementation of AmbiguousResidueType from the mzIdentML schema.
Definition: IdentData.hpp:464
pwiz::identdata::SpectrumIdentification::activityDate
std::string activityDate
Definition: IdentData.hpp:771
pwiz::identdata::Enzyme::missedCleavages
int missedCleavages
Definition: IdentData.hpp:416
pwiz::identdata::SpectrumIdentificationResult
Implementation of SpectrumIdentificationResultType from the mzIdentML schema.
Definition: IdentData.hpp:723
pwiz::identdata::Identifiable::~Identifiable
virtual ~Identifiable()
Definition: IdentData.hpp:68
pwiz::cv
Definition: cv.hpp:108
pwiz::identdata::Enzyme::siteRegexp
std::string siteRegexp
Definition: IdentData.hpp:419
pwiz::identdata::ProteinDetectionHypothesis
Implementation of ProteinDetectionHypothesisType from the mzIdentML schema.
Definition: IdentData.hpp:820
pwiz::identdata::Filter::exclude
ParamContainer exclude
Definition: IdentData.hpp:505
pwiz::identdata::SpectraData
Implementation of SpectraDataType from the mzIdentML schema.
Definition: IdentData.hpp:698
pwiz::identdata::SpectrumIdentification::empty
bool empty() const
pwiz::identdata::Provider
Implementation of ProviderType from the mzIdentML schema.
Definition: IdentData.hpp:235
pwiz::identdata::SpectrumIdentificationResult::spectrumID
std::string spectrumID
Definition: IdentData.hpp:727
pwiz::identdata::DBSequence::searchDatabasePtr
SearchDatabasePtr searchDatabasePtr
Definition: IdentData.hpp:303
pwiz::identdata::IonType::fragmentArray
std::vector< FragmentArrayPtr > fragmentArray
Definition: IdentData.hpp:613
pwiz::identdata::Modification::Modification
Modification()
pwiz::identdata::IdentData::analysisCollection
AnalysisCollection analysisCollection
Definition: IdentData.hpp:1016
Exception.hpp
pwiz::identdata::SpectrumIdentification::spectrumIdentificationProtocolPtr
SpectrumIdentificationProtocolPtr spectrumIdentificationProtocolPtr
Definition: IdentData.hpp:769
pwiz::identdata::IdentData::bibliographicReference
std::vector< BibliographicReferencePtr > bibliographicReference
Definition: IdentData.hpp:1022
pwiz::identdata::SpectrumIdentificationProtocol::enzymes
Enzymes enzymes
Definition: IdentData.hpp:555
pwiz::identdata::SearchModification::specificityRules
CVParam specificityRules
Definition: IdentData.hpp:395
pwiz::identdata::SpectrumIdentificationList::numSequencesSearched
long numSequencesSearched
Definition: IdentData.hpp:748
pwiz::identdata::PeptideEvidence::PeptideEvidence
PeptideEvidence(const std::string &id="", const std::string &name="")
pwiz::identdata::ProteinDetection::inputSpectrumIdentifications
std::vector< SpectrumIdentificationListPtr > inputSpectrumIdentifications
Definition: IdentData.hpp:881
pwiz::identdata::ProteinDetectionProtocol::analysisParams
ParamContainer analysisParams
Definition: IdentData.hpp:793
pwiz::proteome::Modification
represents a post-translational modification (PTM) modification formula or masses must be provided at...
Definition: Modification.hpp:42
pwiz::identdata::SearchDatabase::location
std::string location
Definition: IdentData.hpp:275
pwiz::identdata::Sample::Sample
Sample(const std::string &id_="", const std::string &name_="")
pwiz::data
Definition: BinaryIndexStream.hpp:31
pwiz::identdata::BibliographicReference::pages
std::string pages
Definition: IdentData.hpp:106
pwiz::identdata::SubstitutionModification
Implementation of SubstitutionModificationType from the mzIdentML schema.
Definition: IdentData.hpp:350
pwiz::identdata::SpectrumIdentificationResult::SpectrumIdentificationResult
SpectrumIdentificationResult(const std::string &id_="", const std::string &name_="")
pwiz::identdata::TranslationTable
Implementation of TranslationTableType from the mzIdentML schema.
Definition: IdentData.hpp:518
pwiz::identdata::SearchModification::empty
bool empty() const
pwiz::identdata::AnalysisSampleCollection::samples
std::vector< SamplePtr > samples
Definition: IdentData.hpp:260
pwiz::identdata::ProteinDetectionHypothesis::peptideHypothesis
std::vector< PeptideHypothesis > peptideHypothesis
Definition: IdentData.hpp:826
pwiz::identdata::Provider::empty
bool empty() const
pwiz::identdata::SourceFile::externalFormatDocumentation
std::vector< std::string > externalFormatDocumentation
Definition: IdentData.hpp:928
pwiz::identdata::ProteinAmbiguityGroup::proteinDetectionHypothesis
std::vector< ProteinDetectionHypothesisPtr > proteinDetectionHypothesis
Definition: IdentData.hpp:844
pwiz::identdata::Peptide::Peptide
Peptide(const std::string &id="", const std::string &name="")
pwiz::identdata::Contact
Implementation of ContactType from mzIdentML.
Definition: IdentData.hpp:118
pwiz::identdata::SearchModification::massDelta
double massDelta
Definition: IdentData.hpp:393
pwiz::identdata::SpectrumIdentificationProtocol::massTable
std::vector< MassTablePtr > massTable
Definition: IdentData.hpp:556
pwiz::identdata::ProteinDetection::proteinDetectionProtocolPtr
ProteinDetectionProtocolPtr proteinDetectionProtocolPtr
Definition: IdentData.hpp:877
pwiz::identdata::cleavageAgent
PWIZ_API_DECL CVID cleavageAgent(const Enzyme &ez)
returns a cleavage agent CVID for an identdata::Enzyme
pwiz::identdata::Contact::empty
virtual bool empty() const
pwiz::identdata::SourceFile
Implementation of SourceFileType from the mzIdentML schema.
Definition: IdentData.hpp:924
pwiz::identdata::PeptideEvidence::pre
char pre
Definition: IdentData.hpp:635
pwiz::proteome::Peptide
represents a peptide or polypeptide (a sequence of amino acids)
Definition: Peptide.hpp:62
pwiz::identdata::ProteinDetectionProtocol::empty
bool empty() const
pwiz::identdata::AmbiguousResidue::code
char code
Definition: IdentData.hpp:467
pwiz::identdata::AnalysisCollection::spectrumIdentification
std::vector< SpectrumIdentificationPtr > spectrumIdentification
Definition: IdentData.hpp:897
pwiz::identdata::SpectrumIdentificationItem::calculatedMassToCharge
double calculatedMassToCharge
Definition: IdentData.hpp:676
pwiz::identdata::PeptideEvidence::translationTablePtr
TranslationTablePtr translationTablePtr
Definition: IdentData.hpp:637
PWIZ_API_DECL
#define PWIZ_API_DECL
Definition: Export.hpp:32
pwiz::identdata::SpectrumIdentification::inputSpectra
std::vector< SpectraDataPtr > inputSpectra
Definition: IdentData.hpp:773
pwiz::identdata::PeptideEvidence::isDecoy
bool isDecoy
Definition: IdentData.hpp:639
pwiz::identdata::Enzymes::empty
bool empty() const
pwiz::identdata::Provider::Provider
Provider(const std::string id_="", const std::string name_="")
pwiz::identdata::Organization
Implementation of AbstractOrganizationType from the mzIdentML schema.
Definition: IdentData.hpp:136
pwiz::identdata::SpectraData::fileFormat
CVParam fileFormat
Definition: IdentData.hpp:705
pwiz::identdata::IonType
Implementation of IonTypeType from the mzIdentML schema.
Definition: IdentData.hpp:608
pwiz::identdata::ProteinDetection
Implementation of ProteinDetectionType from the mzIdentML schema.
Definition: IdentData.hpp:873
pwiz::identdata::Enzymes::enzymes
std::vector< EnzymePtr > enzymes
Definition: IdentData.hpp:435
pwiz::identdata::SpectrumIdentificationList::empty
bool empty() const
pwiz::identdata::SpectrumIdentificationProtocol::databaseFilters
std::vector< FilterPtr > databaseFilters
Definition: IdentData.hpp:560
pwiz::identdata::SearchDatabase::releaseDate
std::string releaseDate
Definition: IdentData.hpp:277
pwiz::identdata::AmbiguousResidue::AmbiguousResidue
AmbiguousResidue()
pwiz::identdata::Enzyme
Implementation of EnzymeType from the mzIdentML schema.
Definition: IdentData.hpp:409
pwiz::identdata::SpectrumIdentificationItem::calculatedPI
double calculatedPI
Definition: IdentData.hpp:677
pwiz::identdata::SpectraData::SpectraData
SpectraData(const std::string id="", const std::string name="")
pwiz::identdata::SubstitutionModification::replacementResidue
char replacementResidue
Definition: IdentData.hpp:354
pwiz::identdata::Peptide::modification
std::vector< ModificationPtr > modification
Definition: IdentData.hpp:374
pwiz::identdata::SpectrumIdentificationItem::rank
int rank
Definition: IdentData.hpp:679
pwiz::identdata::SubstitutionModification::empty
bool empty() const
pwiz::identdata::ProteinAmbiguityGroup::empty
bool empty() const
pwiz::identdata::Peptide::peptideSequence
std::string peptideSequence
Definition: IdentData.hpp:373
pwiz::identdata::IdentifiableParamContainer::~IdentifiableParamContainer
virtual ~IdentifiableParamContainer()
Definition: IdentData.hpp:83
pwiz::identdata::Provider::analysisSoftwarePtr
AnalysisSoftwarePtr analysisSoftwarePtr
Definition: IdentData.hpp:240
pwiz::identdata::Residue::mass
double mass
Definition: IdentData.hpp:450
pwiz::identdata::DatabaseTranslation::empty
bool empty() const
pwiz::identdata::SequenceCollection::peptideEvidence
std::vector< PeptideEvidencePtr > peptideEvidence
Definition: IdentData.hpp:656
pwiz::identdata::IonType::index
std::vector< int > index
Definition: IdentData.hpp:611
Export.hpp
pwiz::identdata::Identifiable
Parent class representing extensions of the IdentifiableType from the mzIdentML schema.
Definition: IdentData.hpp:65
pwiz::identdata::TYPEDEF_SHARED_PTR
TYPEDEF_SHARED_PTR(BibliographicReference)
pwiz::identdata::DBSequence::length
int length
Definition: IdentData.hpp:301
pwiz::identdata::Residue::code
char code
Definition: IdentData.hpp:449
pwiz::identdata::BibliographicReference
Implementation for the BibliographicReferenceType tag in the mzIdentML schema.
Definition: IdentData.hpp:96
pwiz::identdata::AnalysisData::spectrumIdentificationList
std::vector< SpectrumIdentificationListPtr > spectrumIdentificationList
Definition: IdentData.hpp:962
pwiz::identdata::PeptideHypothesis
Implementation of PeptideHypothesisType from the mzIdentML schema.
Definition: IdentData.hpp:807
pwiz::identdata::Modification
Implementation of ModificationType from the mzIdentML schema.
Definition: IdentData.hpp:330
pwiz::identdata::peptide
PWIZ_API_DECL proteome::Peptide peptide(const Peptide &peptide)
creates a proteome::Peptide from an identdata::Peptide
pwiz::identdata::ContactRole::empty
bool empty() const
pwiz::identdata::Organization::Organization
Organization(const std::string &id_="", const std::string &name_="")
pwiz::identdata::IdentifiableParamContainer::id
std::string id
Definition: IdentData.hpp:85
pwiz::identdata::SpectrumIdentificationList::SpectrumIdentificationList
SpectrumIdentificationList(const std::string &id_="", const std::string &name_="")
pwiz::identdata::DatabaseTranslation
Implementation of DatabaseTranslationType from the mzIdentML schema.
Definition: IdentData.hpp:531
pwiz::identdata::SourceFile::empty
bool empty() const
pwiz::identdata::Residue::Residue
Residue()
pwiz::identdata::Filter::filterType
ParamContainer filterType
Definition: IdentData.hpp:503
pwiz::identdata::cleavageAgentRegexes
PWIZ_API_DECL std::vector< std::string > cleavageAgentRegexes(const Enzymes &enzymes)
returns a list of regular expressions for an identdata::Enzymes instance
pwiz::identdata::SpectraData::empty
bool empty() const
pwiz::identdata::ProteinDetectionList
Implementation of ProteinDetectionListType from the mzIdentML schema.
Definition: IdentData.hpp:856
pwiz::identdata::SpectrumIdentificationProtocol::searchType
CVParam searchType
Definition: IdentData.hpp:552
pwiz::identdata::Inputs
Implementation of the InputsType from the mzIdentML schema.
Definition: IdentData.hpp:944
pwiz::identdata::SpectraData::externalFormatDocumentation
std::vector< std::string > externalFormatDocumentation
Definition: IdentData.hpp:704
pwiz::identdata::TranslationTable::TranslationTable
TranslationTable(const std::string &id="", const std::string &name="")
pwiz::identdata::FragmentArray
Implementation of FragmentArrayType from the mzIdentML schema.
Definition: IdentData.hpp:590
pwiz::identdata::Provider::contactRolePtr
ContactRolePtr contactRolePtr
Definition: IdentData.hpp:239
pwiz::identdata::IdentData::version
const std::string & version() const
returns the version of this mzIdentML document; for a document created programmatically,...
pwiz::identdata::SearchDatabase::numResidues
long numResidues
Definition: IdentData.hpp:279
pwiz::identdata::ProteinDetectionHypothesis::passThreshold
bool passThreshold
Definition: IdentData.hpp:825
pwiz::identdata::SourceFile::fileFormat
CVParam fileFormat
Definition: IdentData.hpp:926
pwiz::identdata::AnalysisProtocolCollection
Implementation of AnalysisProtocolCollectionType from the mzIdentML schema.
Definition: IdentData.hpp:910
pwiz::identdata::SearchDatabase::version
std::string version
Definition: IdentData.hpp:276
pwiz::identdata::ProteinDetectionProtocol
Implementation of ProteinDetectionProtocolType from the mzIdentML schema.
Definition: IdentData.hpp:787
pwiz::identdata::ProteinDetection::proteinDetectionListPtr
ProteinDetectionListPtr proteinDetectionListPtr
Definition: IdentData.hpp:878
pwiz::identdata::SpectrumIdentificationItem::peptidePtr
PeptidePtr peptidePtr
Definition: IdentData.hpp:678
pwiz::identdata::AnalysisCollection
Implementation of AnalysisCollectionType from the mzIdentML schema.
Definition: IdentData.hpp:896
pwiz::identdata::BibliographicReference::BibliographicReference
BibliographicReference()
pwiz::identdata::MassTable::residues
std::vector< ResiduePtr > residues
Definition: IdentData.hpp:487
pwiz::identdata::IdentData::cvs
std::vector< CV > cvs
Definition: IdentData.hpp:1004
ParamTypes.hpp
pwiz::identdata::SpectrumIdentificationList::fragmentationTable
std::vector< MeasurePtr > fragmentationTable
Definition: IdentData.hpp:750
pwiz::identdata::Modification::avgMassDelta
double avgMassDelta
Definition: IdentData.hpp:335
pwiz::identdata::Peptide
Implementation of PeptideType from the mzIdentML schema.
Definition: IdentData.hpp:369
pwiz::identdata::SpectrumIdentificationProtocol
Implementation of SpectrumIdentificationProtocolType from the mzIdentML schema.
Definition: IdentData.hpp:546
pwiz::identdata::AnalysisSoftware::version
std::string version
Definition: IdentData.hpp:217
pwiz::identdata::SpectraData::spectrumIDFormat
CVParam spectrumIDFormat
Definition: IdentData.hpp:706
pwiz::identdata::Sample::subSamples
std::vector< boost::shared_ptr< Sample > > subSamples
Definition: IdentData.hpp:201
pwiz::identdata::DataCollection::inputs
Inputs inputs
Definition: IdentData.hpp:976
pwiz::identdata::AnalysisSoftware::empty
virtual bool empty() const
pwiz::identdata::ContactRole::contactPtr
ContactPtr contactPtr
Definition: IdentData.hpp:180
CVID_Unknown
CVID_Unknown
Definition: cv.hpp:114
pwiz::identdata::BibliographicReference::year
int year
Definition: IdentData.hpp:103
pwiz::identdata::DBSequence::seq
std::string seq
Definition: IdentData.hpp:305
pwiz::identdata::Organization::parent
boost::shared_ptr< Organization > parent
Definition: IdentData.hpp:140
pwiz::identdata::IdentifiableParamContainer::name
std::string name
Definition: IdentData.hpp:86
pwiz::data::ParamContainer
The base class for elements that may contain cvParams, userParams, or paramGroup references.
Definition: ParamTypes.hpp:245
pwiz::identdata::IonType::IonType
IonType()
pwiz::identdata::ProteinDetectionList::empty
bool empty() const
pwiz::msdata::SamplePtr
boost::shared_ptr< Sample > SamplePtr
Definition: MSData.hpp:118
pwiz::identdata::ProteinDetectionProtocol::threshold
ParamContainer threshold
Definition: IdentData.hpp:794
pwiz::identdata::Filter::include
ParamContainer include
Definition: IdentData.hpp:504
pwiz::identdata::SearchModification
Implementation of SearchModificationType from the mzIdentML schema.
Definition: IdentData.hpp:389
pwiz::identdata::PeptideHypothesis::peptideEvidencePtr
PeptideEvidencePtr peptideEvidencePtr
Definition: IdentData.hpp:808
pwiz::identdata::PeptideEvidence::post
char post
Definition: IdentData.hpp:636
pwiz::identdata::SpectrumIdentificationProtocol::parentTolerance
ParamContainer parentTolerance
Definition: IdentData.hpp:558
pwiz::identdata::AnalysisData::proteinDetectionListPtr
ProteinDetectionListPtr proteinDetectionListPtr
Definition: IdentData.hpp:963
pwiz::identdata::SequenceCollection
Implementation of SequenceCollectionType from the mzIdentML schema.
Definition: IdentData.hpp:653
pwiz::identdata::IdentData::provider
Provider provider
Definition: IdentData.hpp:1008
pwiz::identdata::ProteinDetectionProtocol::analysisSoftwarePtr
AnalysisSoftwarePtr analysisSoftwarePtr
Definition: IdentData.hpp:791
pwiz::identdata::ContactRole
Implementation of ContactRoleType from the mzIdentML schema.
Definition: IdentData.hpp:176
pwiz::identdata::Person::firstName
std::string firstName
Definition: IdentData.hpp:158
pwiz::identdata::SpectrumIdentificationProtocol::analysisSoftwarePtr
AnalysisSoftwarePtr analysisSoftwarePtr
Definition: IdentData.hpp:550
pwiz::identdata::MassTable
Implementation of MassTableType from the mzIdentML schema.
Definition: IdentData.hpp:481
pwiz::identdata::SearchDatabase::empty
bool empty() const
pwiz::identdata::IdentData::analysisSampleCollection
AnalysisSampleCollection analysisSampleCollection
Definition: IdentData.hpp:1012
pwiz::identdata::SpectrumIdentificationProtocol::databaseTranslation
DatabaseTranslationPtr databaseTranslation
Definition: IdentData.hpp:561
pwiz::identdata::MassTable::id
std::string id
Definition: IdentData.hpp:484
pwiz::identdata::IdentData::version_
std::string version_
Definition: IdentData.hpp:1032
pwiz::identdata::SequenceCollection::dbSequences
std::vector< DBSequencePtr > dbSequences
Definition: IdentData.hpp:654
pwiz::identdata::SearchModification::SearchModification
SearchModification()
pwiz::identdata::SpectrumIdentificationProtocol::SpectrumIdentificationProtocol
SpectrumIdentificationProtocol(const std::string &id_="", const std::string &name_="")
pwiz::identdata::DataCollection
Implementation of DataCollectionType from the mzIdentML schema.
Definition: IdentData.hpp:975
pwiz::identdata::Modification::location
int location
Definition: IdentData.hpp:333
pwiz::identdata::PeptideEvidence::frame
int frame
Definition: IdentData.hpp:638
pwiz::identdata::PeptideHypothesis::spectrumIdentificationItemPtr
std::vector< SpectrumIdentificationItemPtr > spectrumIdentificationItemPtr
Definition: IdentData.hpp:809
pwiz::identdata::SearchDatabase
Implementation of SearchDatabaseType from the mzIdentML schema.
Definition: IdentData.hpp:271
pwiz::identdata::IdentData
Implementation of the MzIdentMLType from the mzIdentML schema.
Definition: IdentData.hpp:994
pwiz::identdata::SourceFile::location
std::string location
Definition: IdentData.hpp:925
pwiz::identdata::ProteinDetectionList::proteinAmbiguityGroup
std::vector< ProteinAmbiguityGroupPtr > proteinAmbiguityGroup
Definition: IdentData.hpp:860
pwiz::identdata::Sample
Implementation of the SampleType from the mzIdentML schema.
Definition: IdentData.hpp:196
pwiz::identdata::SpectrumIdentificationItem::experimentalMassToCharge
double experimentalMassToCharge
Definition: IdentData.hpp:675
pwiz::identdata::IdentData::sequenceCollection
SequenceCollection sequenceCollection
Definition: IdentData.hpp:1014
pwiz::identdata::SpectrumIdentification::searchDatabase
std::vector< SearchDatabasePtr > searchDatabase
Definition: IdentData.hpp:774
pwiz::identdata::BibliographicReference::authors
std::string authors
Definition: IdentData.hpp:99
pwiz::identdata::ContactRole::ContactRole
ContactRole(CVID role_=CVID_Unknown, const ContactPtr &contactPtr_=ContactPtr())
pwiz::identdata::Identifiable::Identifiable
Identifiable(const std::string &id_="", const std::string &name_="")
pwiz::identdata::AnalysisSampleCollection::empty
bool empty() const
pwiz::identdata::SpectrumIdentificationItem::fragmentation
std::vector< IonTypePtr > fragmentation
Definition: IdentData.hpp:685
pwiz::identdata::Identifiable::id
std::string id
Definition: IdentData.hpp:70
pwiz::identdata::BibliographicReference::publisher
std::string publisher
Definition: IdentData.hpp:101
pwiz::identdata::Enzyme::terminalSpecificity
proteome::Digestion::Specificity terminalSpecificity
Definition: IdentData.hpp:415
pwiz::identdata::BibliographicReference::volume
std::string volume
Definition: IdentData.hpp:104
pwiz::identdata::Enzymes::independent
boost::logic::tribool independent
Definition: IdentData.hpp:433
pwiz::identdata::Person::empty
virtual bool empty() const
pwiz::identdata::cleavageAgentRegex
PWIZ_API_DECL std::string cleavageAgentRegex(const Enzyme &ez)
returns a regular expression for an identdata::Enzyme
pwiz::identdata::Sample::empty
bool empty() const
pwiz::identdata::Inputs::sourceFile
std::vector< SourceFilePtr > sourceFile
Definition: IdentData.hpp:946
pwiz::identdata::ProteinDetectionProtocol::ProteinDetectionProtocol
ProteinDetectionProtocol(const std::string &id_="", const std::string &name_="")
pwiz::identdata::SequenceCollection::peptides
std::vector< PeptidePtr > peptides
Definition: IdentData.hpp:655
pwiz::identdata::ProteinDetectionList::ProteinDetectionList
ProteinDetectionList(const std::string &id_="", const std::string &name_="")
pwiz::identdata::FragmentArray::values
std::vector< double > values
Definition: IdentData.hpp:591
pwiz::identdata::AmbiguousResidue::empty
bool empty() const
pwiz::identdata::IonType::charge
int charge
Definition: IdentData.hpp:612
pwiz::identdata::IdentData::dataCollection
DataCollection dataCollection
Definition: IdentData.hpp:1020
pwiz::identdata::AnalysisData
Implementation of AnalysisDataType from the mzIdentML schema.
Definition: IdentData.hpp:961
pwiz::identdata::SpectrumIdentificationResult::empty
bool empty() const
pwiz::identdata::SubstitutionModification::originalResidue
char originalResidue
Definition: IdentData.hpp:353
pwiz::identdata::BibliographicReference::title
std::string title
Definition: IdentData.hpp:107
pwiz::identdata::SpectrumIdentificationItem::passThreshold
bool passThreshold
Definition: IdentData.hpp:680
pwiz::identdata::ProteinDetection::empty
virtual bool empty() const
pwiz::identdata::Enzyme::minDistance
int minDistance
Definition: IdentData.hpp:417
pwiz::identdata::SearchDatabase::databaseName
ParamContainer databaseName
Definition: IdentData.hpp:282
pwiz::identdata::Measure
Implementation of MeasureType from the mzIdentML schema.
Definition: IdentData.hpp:574
pwiz::identdata::Enzyme::enzymeName
ParamContainer enzymeName
Definition: IdentData.hpp:420
pwiz::identdata::DBSequence
Implementation of DBSequenceType from the mzIdentML schema.
Definition: IdentData.hpp:297
pwiz::identdata::modification
PWIZ_API_DECL proteome::Modification modification(const Modification &mod)
creates a proteome::Modification from an identdata::Modification
pwiz::identdata::Contact::~Contact
virtual ~Contact()
Definition: IdentData.hpp:121
pwiz::identdata::DBSequence::empty
bool empty() const
pwiz::identdata::SequenceCollection::empty
bool empty() const
pwiz::identdata::Person::midInitials
std::string midInitials
Definition: IdentData.hpp:159
pwiz::identdata::PeptideEvidence::end
int end
Definition: IdentData.hpp:634
pwiz::identdata::MassTable::empty
bool empty() const
pwiz::identdata::BibliographicReference::publication
std::string publication
Definition: IdentData.hpp:100
pwiz::identdata::SearchModification::residues
std::vector< char > residues
Definition: IdentData.hpp:394
pwiz::identdata::SpectrumIdentificationList::spectrumIdentificationResult
std::vector< SpectrumIdentificationResultPtr > spectrumIdentificationResult
Definition: IdentData.hpp:751
pwiz::identdata::PeptideEvidence::start
int start
Definition: IdentData.hpp:633
pwiz::identdata::AnalysisSoftware
Implementation of AnalysisSoftwareType from the mzIdentML schema.
Definition: IdentData.hpp:212
pwiz::identdata::SpectrumIdentificationItem::empty
bool empty() const
pwiz::identdata::IdentData::IdentData
IdentData(const std::string &id_="", const std::string &creationDate_="")
pwiz::identdata::SpectrumIdentificationProtocol::fragmentTolerance
ParamContainer fragmentTolerance
Definition: IdentData.hpp:557
pwiz::identdata::Filter
Implementation of FilterType from the mzIdentML schema.
Definition: IdentData.hpp:502
pwiz::identdata::SearchDatabase::fileFormat
CVParam fileFormat
Definition: IdentData.hpp:281
pwiz::identdata::ProteinDetectionHypothesis::dbSequencePtr
DBSequencePtr dbSequencePtr
Definition: IdentData.hpp:824
pwiz::identdata::DBSequence::accession
std::string accession
Definition: IdentData.hpp:302
pwiz::identdata::Modification::residues
std::vector< char > residues
Definition: IdentData.hpp:334
pwiz::identdata::SpectrumIdentificationItem::SpectrumIdentificationItem
SpectrumIdentificationItem(const std::string &id="", const std::string &name="")
pwiz::identdata::SubstitutionModification::location
int location
Definition: IdentData.hpp:355
pwiz::identdata::PeptideEvidence::empty
bool empty() const
pwiz::identdata::ProteinDetection::ProteinDetection
ProteinDetection(const std::string id_="", const std::string name_="")
pwiz::identdata::SearchDatabase::SearchDatabase
SearchDatabase(const std::string &id_="", const std::string &name_="")
pwiz::identdata::Identifiable::empty
virtual bool empty() const
pwiz::identdata::cleavageAgents
PWIZ_API_DECL std::vector< CVID > cleavageAgents(const Enzymes &enzymes)
returns a list of cleavage agent CVIDs for an identdata::Enzymes instance
pwiz::identdata::digestedPeptides
PWIZ_API_DECL std::vector< proteome::DigestedPeptide > digestedPeptides(const SpectrumIdentificationProtocol &sip, const SpectrumIdentificationItem &sii)
given a protocol and a SpectrumIdentificationItem, builds a set of DigestedPeptides
pwiz::identdata::AnalysisSampleCollection
Implementation of AnalysisSampleCollectionType from mzIdentML schema.
Definition: IdentData.hpp:259
pwiz::identdata::IdentData::analysisProtocolCollection
AnalysisProtocolCollection analysisProtocolCollection
Definition: IdentData.hpp:1018
pwiz::identdata::Inputs::spectraData
std::vector< SpectraDataPtr > spectraData
Definition: IdentData.hpp:948
pwiz::identdata::Measure::empty
bool empty() const
pwiz::identdata::DatabaseTranslation::frames
std::vector< int > frames
Definition: IdentData.hpp:532
pwiz::identdata::AnalysisSoftware::URI
std::string URI
Definition: IdentData.hpp:218
pwiz::identdata::AnalysisProtocolCollection::spectrumIdentificationProtocol
std::vector< SpectrumIdentificationProtocolPtr > spectrumIdentificationProtocol
Definition: IdentData.hpp:911
pwiz::identdata::BibliographicReference::empty
bool empty() const
pwiz::identdata::Enzyme::Enzyme
Enzyme(const std::string &id="", const std::string &name="")
pwiz::identdata::DBSequence::DBSequence
DBSequence(const std::string id_="", const std::string name_="")
pwiz::identdata::ProteinDetection::activityDate
std::string activityDate
Definition: IdentData.hpp:879
pwiz::identdata::Peptide::empty
bool empty() const
pwiz::identdata::ProteinDetectionHypothesis::ProteinDetectionHypothesis
ProteinDetectionHypothesis(const std::string &id_="", const std::string &name_="")
pwiz::identdata::AnalysisProtocolCollection::empty
bool empty() const
pwiz::identdata::AnalysisCollection::proteinDetection
ProteinDetection proteinDetection
Definition: IdentData.hpp:898
pwiz::identdata::IdentData::empty
bool empty() const
pwiz::identdata::DataCollection::empty
bool empty() const
pwiz::proteome::DigestedPeptide
peptide subclass that contains extra metadata provided by digestion
Definition: Digestion.hpp:48
pwiz::identdata::SubstitutionModification::SubstitutionModification
SubstitutionModification()
pwiz::identdata::SpectrumIdentification::spectrumIdentificationListPtr
SpectrumIdentificationListPtr spectrumIdentificationListPtr
Definition: IdentData.hpp:770
pwiz::identdata::SearchModification::fixedMod
bool fixedMod
Definition: IdentData.hpp:392
pwiz::identdata::DataCollection::analysisData
AnalysisData analysisData
Definition: IdentData.hpp:977
pwiz::identdata::Modification::empty
bool empty() const
pwiz::identdata::SpectrumIdentification::SpectrumIdentification
SpectrumIdentification(const std::string &id_="", const std::string &name_="")
pwiz::identdata::SubstitutionModification::monoisotopicMassDelta
double monoisotopicMassDelta
Definition: IdentData.hpp:357
pwiz::identdata::MassTable::MassTable
MassTable(const std::string id="")
pwiz::identdata::Enzymes
Implementation of EnzymesType from the mzIdentML schema.
Definition: IdentData.hpp:432
pwiz::tradata::ContactPtr
boost::shared_ptr< Contact > ContactPtr
Definition: TraData.hpp:57
pwiz::identdata::IdentData::analysisSoftwareList
std::vector< AnalysisSoftwarePtr > analysisSoftwareList
Definition: IdentData.hpp:1006
pwiz::identdata::Inputs::empty
bool empty() const
pwiz::identdata::SpectrumIdentificationList
Implementation of SpectrumIdentificationListType from the mzIdentML schema.
Definition: IdentData.hpp:744
pwiz::identdata::SpectrumIdentificationProtocol::threshold
ParamContainer threshold
Definition: IdentData.hpp:559
pwiz::identdata::IdentifiableParamContainer
Parent class of all Identifiable objects that have ParamGroups.
Definition: IdentData.hpp:80
pwiz::identdata::IdentData::creationDate
std::string creationDate
Definition: IdentData.hpp:999
pwiz::identdata::ProteinAmbiguityGroup::ProteinAmbiguityGroup
ProteinAmbiguityGroup(const std::string &id_="", const std::string &name_="")
pwiz::data::CVParam
represents a tag-value pair, where the tag comes from the controlled vocabulary
Definition: ParamTypes.hpp:45
pwiz::identdata::SpectrumIdentification
Implementation of SpectrumIdentificationType from the mzIdentML schema.
Definition: IdentData.hpp:765
pwiz::identdata::Identifiable::name
std::string name
Definition: IdentData.hpp:71
Digestion.hpp
pwiz::identdata::Enzyme::cTermGain
std::string cTermGain
Definition: IdentData.hpp:414
pwiz::identdata::IdentifiableParamContainer::empty
virtual bool empty() const
pwiz::identdata::Peptide::substitutionModification
std::vector< SubstitutionModificationPtr > substitutionModification
Definition: IdentData.hpp:375
pwiz::identdata::Sample::contactRole
std::vector< ContactRolePtr > contactRole
Definition: IdentData.hpp:200
pwiz::identdata::AnalysisSoftware::AnalysisSoftware
AnalysisSoftware(const std::string &id_="", const std::string &name_="")
pwiz::identdata::digestedPeptide
PWIZ_API_DECL proteome::DigestedPeptide digestedPeptide(const SpectrumIdentificationProtocol &sip, const PeptideEvidence &peptideEvidence)
given a protocol and a PeptideEvidence instance, returns the PeptideEvidence as a DigestedPeptide ins...
pwiz::identdata::AnalysisSoftware::softwareName
ParamContainer softwareName
Definition: IdentData.hpp:223
pwiz::identdata::SpectrumIdentificationItem::peptideEvidencePtr
std::vector< PeptideEvidencePtr > peptideEvidencePtr
Definition: IdentData.hpp:684
pwiz::tradata::PeptidePtr
boost::shared_ptr< Peptide > PeptidePtr
Definition: TraData.hpp:236
pwiz::identdata::Inputs::searchDatabase
std::vector< SearchDatabasePtr > searchDatabase
Definition: IdentData.hpp:947
pwiz::identdata::Person::Person
Person(const std::string &id_="", const std::string &name_="")
pwiz::identdata::BibliographicReference::editor
std::string editor
Definition: IdentData.hpp:102
pwiz::identdata::AnalysisSoftware::contactRolePtr
ContactRolePtr contactRolePtr
Definition: IdentData.hpp:222
pwiz::identdata::AnalysisSoftware::customizations
std::string customizations
Definition: IdentData.hpp:219
pwiz::identdata::ProteinAmbiguityGroup
Implementation of ProteinAmbiguityGroupType from the mzIdentML schema.
Definition: IdentData.hpp:840
pwiz::identdata::AnalysisData::empty
bool empty() const
pwiz::identdata::IdentData::auditCollection
std::vector< ContactPtr > auditCollection
Definition: IdentData.hpp:1010
pwiz::identdata::IdentifiableParamContainer::IdentifiableParamContainer
IdentifiableParamContainer(const std::string &id_="", const std::string &name_="")
pwiz::identdata::Person::affiliations
std::vector< OrganizationPtr > affiliations
Definition: IdentData.hpp:161
pwiz::identdata::SpectrumIdentificationItem::massTablePtr
MassTablePtr massTablePtr
Definition: IdentData.hpp:681
pwiz::identdata::FragmentArray::empty
bool empty() const