23 #include <AminoAcid.h>
25 #include <AminoAcidCode.h>
32 namespace Victor {
namespace Biopool {
45 friend class AtomEnergyCalculator;
46 friend class SideChainPlacement;
55 int getStartOffset() {
59 int getAtomStartOffset() {
60 return startAtomOffset;
66 return startOffset + gaps.size() +
sizeAmino();
68 bool isGap(
int index);
71 unsigned int sizeGaps() {
75 virtual string getClassName()
const {
87 vector<pair<unsigned int, unsigned int> >
getHelixData();
95 double psi = -41,
double omega = 180,
96 double NToCaLen = 1.458,
double CaToCLen = 1.52,
double CToOLen = 1.231,
97 double atCaToCAng = 111.6,
double CaToOAng = 120.80,
98 double CtoNLen = 1.33,
double atCToNAng = 116.4,
99 double OToNAng = 123.2,
double atNToCaAng = 121.9);
103 double psi = -41,
double omega = 180,
104 int beginHole = 0,
int endHole = 0,
105 vgVector3 <double> ca1 = vgVector3<double>(), vgVector3 <double> ca2 = vgVector3<double>(),
106 string target =
"",
Spacer* refSpacer = 0,
Spacer* pOriginalSpacer = 0,
107 double NToCaLen = 1.458,
double CaToCLen = 1.52,
double CToOLen = 1.231,
108 double atCaToCAng = 111.6,
double CaToOAng = 120.80,
109 double CtoNLen = 1.33,
double atCToNAng = 116.4,
110 double OToNAng = 123.2,
double atNToCaAng = 121.9);
115 double psi = -41,
double omega = 180,
116 double NToCaLen = 1.458,
double CaToCLen = 1.52,
double CToOLen = 1.231,
117 double atCaToCAng = 111.6,
double CaToOAng = 120.80,
118 double CtoNLen = 1.33,
double atCToNAng = 116.4,
119 double OToNAng = 123.2,
double atNToCaAng = 121.9);
127 startAtomOffset = _offset;
155 void setRot(vgMatrix3<double> r);
156 void addRot(vgMatrix3<double> r);
163 vector< set<char> > getDSSP() {
181 virtual Component*
clone();
192 vector< pair<int, int> >
getHoles();
194 static double BOND_ANGLE_AT_CPRIME_TO_N;
195 static double BOND_LENGTH_CPRIME_TO_N;
196 static double BOND_ANGLE_CA_TO_O;
197 static double BOND_LENGTH_C_TO_O;
198 static double BOND_LENGTH_CALPHA_TO_CPRIME;
199 static double BOND_LENGTH_N_TO_CALPHA;
200 static double BOND_ANGLE_AT_CALPHA_TO_CPRIME;
201 static double BOND_ANGLE_O_TO_N;
202 static double BOND_ANGLE_AT_N_TO_CALPHA;
224 bool **backboneHbonds;
225 vector<set<char > > ss;
228 vector<pair<unsigned int, unsigned int> > subSpacerList;
250 return subSpacerList.size();
367 v->PrepareSpacer(*
this);
375 v->PrepareSpacer(*
this);
void setStartOffset(int _offset)
Definition: Spacer.cc:261
void mergeSpacer(Spacer *s)
Definition: Spacer.cc:1039
static bool NMRGetMinimumCADistanceVector(const string &strFileName, vector< double > *pNMR)
Definition: Spacer.cc:1412
vector< pair< int, int > > getHoles()
Definition: Spacer.cc:1385
const unsigned int sizeSpacer() const
Definition: Spacer.h:249
void deleteComponent(Component *c)
Definition: Spacer.h:276
Base class for saving components (Atoms, Groups, etc.).
Definition: Saver.h:39
void removeComponentFromIndex(unsigned int i)
Definition: Spacer.h:268
const Spacer & getOutBond(unsigned int n) const
Definition: Spacer.h:349
void copy(const Spacer &orig)
Definition: Spacer.cc:806
virtual void acceptOptimizer(OptimizationVisitor *v)
Definition: Spacer.h:374
AminoAcid & getAmino(unsigned int n)
Definition: Spacer.cc:962
virtual const SimpleBond & getInBond(unsigned int n) const
Definition: SimpleBond.h:176
vector< pair< unsigned int, unsigned int > > getStrandData()
Definition: Spacer.cc:233
virtual const SimpleBond & getOutBond(unsigned int n) const
Definition: SimpleBond.h:184
int getPdbNumberFromIndex(int index)
Definition: Spacer.cc:104
Spacer * splitSpacer(unsigned int index, unsigned int count)
Definition: Spacer.cc:1077
virtual const Atom & getOpenInBondRef(unsigned int n=0) const
Definition: Spacer.cc:158
void insertSubSpacerAfter(Spacer *sp, unsigned int pos)
Definition: Spacer.cc:1133
virtual ~Spacer()
Definition: Spacer.cc:66
void resetBoundaries()
Definition: Spacer.cc:761
bool isGap(int index)
Definition: Spacer.cc:126
const Spacer & getInBond(unsigned int n) const
Definition: Spacer.h:331
void setAtomStartOffset(int _offset)
Definition: Spacer.h:126
const unsigned int sizeAmino() const
Definition: Spacer.cc:197
Base class for composite structures.
Definition: Component.h:39
void setRot(vgMatrix3< double > r)
Definition: Spacer.h:312
void addTrans(vgVector3< double > t)
Definition: Spacer.h:303
void printSubSpacerList()
Definition: Spacer.cc:1351
void updateSubSpacerList()
Definition: Spacer.cc:1257
Base class for loading components (Atoms, Groups, etc.).
Definition: Loader.h:39
Base class implementing the visitor pattern.
Definition: Visitor.h:38
Spacer & operator=(const Spacer &orig)
Definition: Spacer.cc:849
void groupLikeStateCode()
Definition: Spacer.cc:1223
vector< pair< unsigned int, unsigned int > > getHelixData()
Definition: Spacer.cc:209
Spacer & getSpacer(unsigned int n)
Definition: Spacer.cc:921
void makeFlat()
Definition: Spacer.cc:1211
void removeAllGaps()
Definition: Spacer.cc:296
virtual void removeComponentFromIndex(unsigned int i)
Definition: Polymer.cc:98
void printComponents()
Definition: Spacer.cc:1365
virtual const Atom & getOpenOutBondRef(unsigned int n=0) const
Definition: Spacer.cc:178
void insertComponent(Component *c)
Definition: Spacer.cc:865
void setStateFromSecondary(string sec)
Definition: Spacer.cc:1280
void addRot(vgMatrix3< double > r)
Definition: Spacer.h:321
Implements methods to manage a polymer created by components.
Definition: Polymer.h:33
void insertAminoAfter(string code, unsigned int n=9999, double phi=-62, double psi=-41, double omega=180, double NToCaLen=1.458, double CaToCLen=1.52, double CToOLen=1.231, double atCaToCAng=111.6, double CaToOAng=120.80, double CtoNLen=1.33, double atCToNAng=116.4, double OToNAng=123.2, double atNToCaAng=121.9)
Definition: Spacer.cc:481
void getBackboneHbonds()
Definition: Spacer.cc:1489
void printGaps()
Definition: Spacer.cc:145
void setTrans(vgVector3< double > t)
Definition: Spacer.h:294
Base class Optimizacion Patter.
Definition: Visitor.h:66
void sync()
Definition: Spacer.cc:746
Spacer()
Definition: Spacer.cc:49
void addGap(int index)
Definition: Spacer.cc:274
virtual Component * clone()
Definition: Spacer.cc:836
virtual void acceptCalculator(EnergyVisitor *v)
Definition: Spacer.h:366
void setStateFromTorsionAngles()
Definition: Spacer.cc:1312
virtual void deleteComponent(Component *c)
Definition: Polymer.cc:109
void removeComponent(Component *c)
Definition: Spacer.h:259
virtual void removeComponent(Component *c)
Definition: Polymer.cc:81
int getIndexFromPdbNumber(int index)
Definition: Spacer.cc:78
void removeGap(int index)
Definition: Spacer.cc:306
void save(Saver &s)
Definition: Spacer.h:241
void modifySubSpacerList(Spacer *, int)
Definition: Spacer.cc:897
It mplements a simple amino acid.
Definition: AminoAcid.h:43
void load(Loader &l)
Definition: Spacer.h:285
void insertAminoBefore(string code, unsigned int p=0, double phi=-62, double psi=-41, double omega=180, double NToCaLen=1.458, double CaToCLen=1.52, double CToOLen=1.231, double atCaToCAng=111.6, double CaToOAng=120.80, double CtoNLen=1.33, double atCToNAng=116.4, double OToNAng=123.2, double atNToCaAng=121.9)
Definition: Spacer.cc:625
Implements a "Spacer" for a protein chain. Includes methods to obtain values from the atoms and its p...
Definition: Spacer.h:42
void setDSSP(bool verbose)
Definition: Spacer.cc:1597
pair< unsigned int, unsigned int > getSubSpacerListEntry(unsigned int)
Definition: Spacer.cc:783
void insertAminoAfterWithGaps(string code, unsigned int n=9999, double phi=-62, double psi=-41, double omega=180, int beginHole=0, int endHole=0, vgVector3< double > ca1=vgVector3< double >(), vgVector3< double > ca2=vgVector3< double >(), string target="", Spacer *refSpacer=0, Spacer *pOriginalSpacer=0, double NToCaLen=1.458, double CaToCLen=1.52, double CToOLen=1.231, double atCaToCAng=111.6, double CaToOAng=120.80, double CtoNLen=1.33, double atCToNAng=116.4, double OToNAng=123.2, double atNToCaAng=121.9)
Definition: Spacer.cc:347
void insertFirstSpacer(Spacer *sp)
Definition: Spacer.cc:1112