Method: Bio::PDB::Utils.dihedral_angle
- Defined in:
- lib/bio/db/pdb/utils.rb
.dihedral_angle(coord1, coord2, coord3, coord4) ⇒ Object
Calculates dihedral angle.
124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/bio/db/pdb/utils.rb', line 124 def dihedral_angle(coord1, coord2, coord3, coord4) (a1,b1,c1,d) = calculatePlane(coord1,coord2,coord3) (a2,b2,c2) = calculatePlane(coord2,coord3,coord4) torsion = acos((a1*a2 + b1*b2 + c1*c2)/(Math.sqrt(a1**2 + b1**2 + c1**2) * Math.sqrt(a2**2 + b2**2 + c2**2))) if ((a1*coord4.x + b1*coord4.y + c1*coord4.z + d) < 0) -torsion else torsion end end |