CycloBranch
cBricksDatabase.h
Go to the documentation of this file.
1
7#ifndef _CBRICKSDATABASE_H
8#define _CBRICKSDATABASE_H
9
10#include <iostream>
11#include <fstream>
12#include <vector>
13#include <string>
14#include <algorithm>
15#include <iomanip>
16
17#include "core/utilities.h"
18#include "core/cBrick.h"
20
21
22using namespace std;
23
24
25class cMainThread;
26
27
34bool compareBrickMasses(const cBrick& a, const cBrick& b);
35
36
42void getNameOfCompositionFromIntVector(string& composition, vector<int>& combarray);
43
44
51string& getReversedNameOfCompositionFromStringVector(string& composition, vector<string>& stringcomposition);
52
53
60void generateBricksPermutations(vector<string>& bricks, vector<string>& currentpermutation, vector<string>& permutations);
61
62
67
68 vector<cBrick> bricks;
69
70 map<string, int> lossorders;
71
72 vector<double> lossmasses;
73 vector<string> losssummaries;
74 vector< map<string, int> > lossmaps;
75
76 void addLossToMap(string& lossstr, vector<int>& lossids);
77
78 double getMassFromCombCounts(vector<int>& combcounts, vector<double>& combmasses);
79
80
81public:
82
83
93 bool nextCombination(vector<int>& combarray, int numberofbasicbricks, int maximumbricksincombination, double maximumcumulativemass, double neutralprecursormass);
94
95
108 bool nextCombinationFast(vector<int>& combarray, vector<int>& combcounts, vector<double>& combmasses, double& mass, int numberofbasicbricks, int maximumbricksincombination, double maximumcumulativemass, double neutralprecursormass);
109
110
124 bool nextCombinationFastLimited(vector<int>& combarray, vector<int>& combcounts, vector<int>& comblimits, vector<double>& combmasses, double& mass, int numberofbasicbricks, int maximumbricksincombination, double maximumcumulativemass, double neutralprecursormass);
125
126
131
132
141 int loadFromPlainTextStream(ifstream &stream, string& errormessage, bool ignoreerrors, bool skiph2blocks);
142
143
148 void storeToPlainTextStream(ofstream &stream);
149
150
155 int size();
156
157
161 void print(/*ostream &stream*/);
162
163
167 void sortbyMass();
168
169
175 cBrick& operator[](int position);
176
177
184 double getMassOfComposition(vector<int>& combarray, int numberofbasicbricks);
185
186
192 string getRealName(string& composition);
193
194
201 string getAcronymName(string& composition, bool useHTMLReferences);
202
203
209 string getTagName(string& composition);
210
211
218 string getAcronymNameOfTPeptide(const string& tcomposition, bool useHTMLReferences);
219
220
226 string getTagNameOfTPeptide(string& tcomposition);
227
228
232 void clear();
233
234
241 bool replaceAcronymsByIDs(string& sequence, string& errormessage);
242
243
248 void push_back(cBrick& brick);
249
250
254 void removeLastBrick();
255
256
262 string calculateSummaryFromComposition(int brickid);
263
264
269 void store(ofstream& os);
270
271
276 void load(ifstream& is);
277
278
285 bool checkKetideBlocks(cBrick& brickseries, bool regularblocksorder);
286
287
293 double getMassOfNeutralLosses(vector<int>& lossids);
294
295
301 string getSummaryFormulaOfNeutralLosses(vector<int>& lossids);
302
303
309 void getMapOfNeutralLosses(vector<int>& lossids, map<string, int>& summarymap);
310
311};
312
313
314#endif
The representation of a brick.
void getNameOfCompositionFromIntVector(string &composition, vector< int > &combarray)
Convert vector of ids of bricks into a string.
Definition: cBricksDatabase.cpp:11
string & getReversedNameOfCompositionFromStringVector(string &composition, vector< string > &stringcomposition)
Convert vector of ids of bricks into a string having reversed ids of bricks.
Definition: cBricksDatabase.cpp:24
bool compareBrickMasses(const cBrick &a, const cBrick &b)
Compare masses of two bricks.
Definition: cBricksDatabase.cpp:6
void generateBricksPermutations(vector< string > &bricks, vector< string > &currentpermutation, vector< string > &permutations)
Generate permutations of bricks.
Definition: cBricksDatabase.cpp:36
The representation of a summary formula.
The class representing a building block (brick).
Definition: cBrick.h:41
The class representing a database of building blocks (bricks).
Definition: cBricksDatabase.h:66
string getRealName(string &composition)
Get the real name of a peptide from a composition.
Definition: cBricksDatabase.cpp:631
void push_back(cBrick &brick)
Push a new brick into the vector of bricks.
Definition: cBricksDatabase.cpp:858
void removeLastBrick()
Remove the last brick from the vector of bricks if possible.
Definition: cBricksDatabase.cpp:863
cBrick & operator[](int position)
Overloaded operator [].
Definition: cBricksDatabase.cpp:612
double getMassOfNeutralLosses(vector< int > &lossids)
Get the summary mass of neutral losses.
Definition: cBricksDatabase.cpp:952
string getAcronymNameOfTPeptide(const string &tcomposition, bool useHTMLReferences)
Get the name of a branched peptide composed from acronyms of bricks.
Definition: cBricksDatabase.cpp:697
cBricksDatabase()
The constructor.
Definition: cBricksDatabase.cpp:443
void store(ofstream &os)
Store the structure into an output stream.
Definition: cBricksDatabase.cpp:881
string getTagName(string &composition)
Get a peptide sequence tag from a composition.
Definition: cBricksDatabase.cpp:676
void storeToPlainTextStream(ofstream &stream)
Store the database of bricks into a plain text stream.
Definition: cBricksDatabase.cpp:583
string getSummaryFormulaOfNeutralLosses(vector< int > &lossids)
Get the summary formula of neutral losses.
Definition: cBricksDatabase.cpp:964
void getMapOfNeutralLosses(vector< int > &lossids, map< string, int > &summarymap)
Get the summary map of neutral losses.
Definition: cBricksDatabase.cpp:976
double getMassOfComposition(vector< int > &combarray, int numberofbasicbricks)
Get the mass of a composition of bricks.
Definition: cBricksDatabase.cpp:617
void print()
Print the database of bricks.
Definition: cBricksDatabase.cpp:600
bool nextCombination(vector< int > &combarray, int numberofbasicbricks, int maximumbricksincombination, double maximumcumulativemass, double neutralprecursormass)
Get next combination of bricks.
Definition: cBricksDatabase.cpp:139
string calculateSummaryFromComposition(int brickid)
Calculate the summary formula of a composition.
Definition: cBricksDatabase.cpp:868
int size()
Get the number of bricks in the database.
Definition: cBricksDatabase.cpp:595
bool checkKetideBlocks(cBrick &brickseries, bool regularblocksorder)
Check if the numbers of H2 loss and H2O loss blocks are correct.
Definition: cBricksDatabase.cpp:915
string getAcronymName(string &composition, bool useHTMLReferences)
Get the name of a peptide composed from acronyms of bricks.
Definition: cBricksDatabase.cpp:650
void clear()
Clear the vector of bricks.
Definition: cBricksDatabase.cpp:789
bool nextCombinationFastLimited(vector< int > &combarray, vector< int > &combcounts, vector< int > &comblimits, vector< double > &combmasses, double &mass, int numberofbasicbricks, int maximumbricksincombination, double maximumcumulativemass, double neutralprecursormass)
Get next combination of bricks.
Definition: cBricksDatabase.cpp:299
void sortbyMass()
Sort the database of bricks by mass in ascending order.
Definition: cBricksDatabase.cpp:607
int loadFromPlainTextStream(ifstream &stream, string &errormessage, bool ignoreerrors, bool skiph2blocks)
Load the database of bricks from a plain text stream.
Definition: cBricksDatabase.cpp:448
bool nextCombinationFast(vector< int > &combarray, vector< int > &combcounts, vector< double > &combmasses, double &mass, int numberofbasicbricks, int maximumbricksincombination, double maximumcumulativemass, double neutralprecursormass)
Get next combination of bricks.
Definition: cBricksDatabase.cpp:199
string getTagNameOfTPeptide(string &tcomposition)
Get a peptide sequence tag of a branched peptide from a composition.
Definition: cBricksDatabase.cpp:754
void load(ifstream &is)
Load the structure from an input stream.
Definition: cBricksDatabase.cpp:898
bool replaceAcronymsByIDs(string &sequence, string &errormessage)
Replace acronyms of bricks by ids.
Definition: cBricksDatabase.cpp:798
The class representing a thread launched by the command 'Search->Run'.
Definition: cMainThread.h:34
Auxiliary funtions and structures.