-
Notifications
You must be signed in to change notification settings - Fork 0
/
groFile.h
53 lines (39 loc) · 1.13 KB
/
groFile.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef GROFILE_H
#define GROFILE_H
#include "input.h"
#include <sstream>
#include <fstream>
#include <string>
#include <vector>
#include <regex>
using namespace std;
class GroFile
{
public:
GroFile(const string &filename);
~GroFile();
const string* getType() const { return type; }
const string* getRes() const { return res; }
const int* getResNum() const { return resnum; }
const int* getChain() const { return chain; }
const bool* getBackbone() const { return backbone; }
inline int getNatom() const {return natom;}
inline int getNres() const {return nres;}
const int* getResNumAll() const { return resnumAll; }
const vector<int> getResSt() const { return resSt; }
vector<int> getChromList(const Input &input, const int nchain) const;
private:
string *type;
string *res;
int *resnum;
int *chain;
int *resnumAll;
bool *backbone;
vector<int> resSt;
int natom;
int nres;
static string extractAndTrim(const string &s, const int a,const int b);
int findCarboxyl(const string &whichRes,const int whichNum,
const int whichChain) const;
};
#endif