code: def get_dihedral(self, i: int, j: int, k: int, l: int) -> float:
          
          v1 = self[k].coords - self[l].coords
          v2 = self[j].coords - self[k].coords
          v3 = self[i].coords - self[j].coords
          v23 = np.cross(v2, v3)
          v12 = np.cross(v1, v2)
          return math.degrees(math.atan2(np.linalg.norm(v2) * np.dot(v1, v23),
                                         np.dot(v12, v23)))
docs: Returns dihedral angle specified by four sites.
  
          Args:
              i: Index of first site
              j: Index of second site
              k: Index of third site
              l: Index of fourth site
  
          Returns:
              Dihedral angle in degrees.