30 typedef map<RotamerGridKey, RotamerGrid, RotamerGridKeyComparator> GridMap;
31 typedef map<RotamerGridKey, RotamerGridSpecial, RotamerGridKeyComparator> GridMapSpecial;
32 typedef map<RotamerGridKey, RotamerGrid, RotamerGridKeyComparator>::iterator GridMapIter;
33 typedef map<RotamerGridKey, RotamerGridSpecial, RotamerGridKeyComparator>::iterator GridMapIterSpecial;
41 vector< double> means;
53 vector<double> acc_rotamer;
55 vector<ChiDistribution> dist_rotamer;
68 vector<double> dist_terminal;
69 vector< vector<double> > acc_terminal;
70 vector< vector<double> > chi_terminal;
86 RotamerGridKey(
const string& name,
const int& phi,
const int& psi);
92 string toString()
const;
131 void sample(
const string& residue_name,
const double& phi,
const double& psi,
int& rotamer_grid, vector<double>& dAngles);
141 void sample_common(
const string& residue_name,
const int& phi,
const int& psi,
int& rotamer_grid, vector<double>& dAngles);
151 void sample_Special(
const string& residue_name,
const int& phi,
const int& psi,
int& rotamer_grid, vector<double>& dAngles);
157 void output(
char* filename);
167 double evalSidechain_log(PChain* chain,
const int s,
const int e);
174 void initSidechainDatabase( PProtein* protein);
181 void read(
const string& res_name);
187 void read_common(
const string& res_name);
193 void read_special(
const string& res_name);
196 GridMapSpecial gridMapSpecial;
199 vector<int> degree_start;
200 vector<int> degree_end;
201 vector<int> stepLength;
203 static const int ASN = 0;
204 static const int ASP = 1;
205 static const int PHE = 2;
206 static const int TRP = 3;
207 static const int HIS = 4;
208 static const int TYR = 5;
209 static const int GLN = 6;
210 static const int GLU = 7;
216 int type(
const string& res_name);
223 bool isSpecial(
const string& res_name);
224 map<string, int> typeMap;