Matrix Science Mascot Parser toolkit
 
Loading...
Searching...
No Matches
ms_linker_site_vector.hpp
1/*
2##############################################################################
3# file: ms_linker_site_vector.hpp #
4# 'msparser' toolkit #
5# A vector of ms_linker_site objects #
6##############################################################################
7# COPYRIGHT NOTICE #
8# Copyright 1998-2018 Matrix Science Limited All Rights Reserved. #
9# #
10##############################################################################
11# $Author: robertog@matrixscience.com $ #
12# $Date: 2023-04-14 15:33:41 +0100 $ #
13# $Revision: 316087dfcebe5f2dc18d1f35fd47c9d25ab4322d | MSPARSER_REL_3_0_0-2024-09-24-0-g93ebaeb4f4 $ #
14# $NoKeywords:: $ #
15##############################################################################
16*/
17
18#ifndef MS_LINKERSITEVECTOR_HPP
19#define MS_LINKERSITEVECTOR_HPP
20
21
22// Includes from the standard template library
23#include <vector>
24#include <list>
25
26namespace matrix_science {
27 class ms_linker_site;
28}
29
30namespace matrix_science {
37
45 class MS_MASCOTRESFILE_API ms_linker_site_vector
46 {
47 public:
50
51#ifndef SWIG
53 ms_linker_site_vector(const std::vector<ms_linker_site> &v, const int alphaVarModsLen, const int betaVarModsLen);
54
56 ms_linker_site_vector(const std::list<ms_linker_site> &v, const int alphaVarModsLen, const int betaVarModsLen);
57#endif
58
61
64
65#ifndef SWIG
67 ms_linker_site_vector& operator=(const ms_linker_site_vector& right);
68
70 const std::vector<ms_linker_site>& toVector() const;
71#endif
72
74 void copyFrom(const ms_linker_site_vector *src);
75
77 void append(const ms_linker_site_vector & src);
78
80 int size() const;
81
83 bool empty() const;
84
86 void push(const ms_linker_site &linkerSite);
87
89 ms_linker_site pop();
90
92 ms_linker_site get(int idx) const;
93
95 void set(int idx, const ms_linker_site &linkerSite);
96
98 void clear();
99
101 void swap(ms_linker_site_vector &right);
102
104 bool containsVarModIdx(int idx) const;
105
107 int getVarModIdxOfLinkedSite(const ms_peptide::PSM psmComponent, const int i) const;
108
110 int getAlphaVarModsStrLength() const;
111
113 int getBetaVarModsStrLength() const;
114
116 void setVarModsStrLengths(const int alphaVarModsLen, const int betaVarModsLen);
117
119 std::string stringify() const;
120
121 private:
122 std::vector<ms_linker_site> data_;
123 int alphaVarModsLen_, betaVarModsLen_;
124 };
125
126#ifndef SWIG
127 std::ostream& operator<<(std::ostream& out, const ms_linker_site_vector& v);
128#endif
129 // end of resfile_group
131} // matrix_science namespace
132
133#endif // MS_LINKERSITEVECTOR_HPP
134
135/*------------------------------- End of File -------------------------------*/
136
A vector of linker sites.
Definition: ms_linker_site_vector.hpp:46
Position of an intact link between alpha and beta peptide or a looplink.
Definition: ms_linker_site.hpp:42
PSM
Type of data to return from accessor methods.
Definition: ms_peptide.hpp:98