128 x21p, y21p, z21p, r21p,
135 cosa = (
REAL)cos((
double)(70.6 *
PI / 180.0));
136 sina = (
REAL)sin((
double)(70.6 *
PI / 180.0));
137 BondLen = (
REAL)1.08;
138 sFac = (
REAL)(sqrt((
double)3.0) * 0.5);
143 for(p=nter; p!= end;
NEXT(p))
145 if(!strncmp(p->atnam,
"N ",4) || !strncmp(p->atnam,
"NT ",4))
147 else if(!strncmp(p->atnam,
"CA ",4))
149 else if(!strncmp(p->atnam,
"C ",4))
171 r32 = (
REAL)sqrt((
double)(x32*x32 + y32*y32 + z32*z32));
177 scalpr = (x21*x32 + y21*y32 + z21*z32)/r32;
186 r21p = (
REAL)sqrt((
double)(x21p*x21p + y21p*y21p + z21p*z21p));
200 coor[0].
x = N->
x + BondLen*(cosax + sina*xv);
201 coor[0].
y = N->
y + BondLen*(cosay + sina*yv);
202 coor[0].
z = N->
z + BondLen*(cosaz + sina*zv);
204 coor[1].
x = N->
x + BondLen*(cosax + sina*(sFac*xs - 0.5*xv));
205 coor[1].
y = N->
y + BondLen*(cosay + sina*(sFac*ys - 0.5*yv));
206 coor[1].
z = N->
z + BondLen*(cosaz + sina*(sFac*zs - 0.5*zv));
208 coor[2].
x = N->
x + BondLen*(cosax + sina*(-sFac*xs - 0.5*xv));
209 coor[2].
y = N->
y + BondLen*(cosay + sina*(-sFac*ys - 0.5*yv));
210 coor[2].
z = N->
z + BondLen*(cosaz + sina*(-sFac*zs - 0.5*zv));
Include file for PDB routines.
int blCalcTetraHCoords(PDB *nter, COOR *coor)
System-type variable type definitions.
PDB * blFindNextResidue(PDB *pdb)
Type definitions for maths.