True if all backbone bond angles are within atol degrees of their expected values.

        Notes
        -----
        Ideal bond angles taken from [1].

        References
        ----------
        .. [1] Schulz, G. E, and R. Heiner Schirmer. Principles Of
           Protein Structure. New York: Springer-Verlag, 1979.

        Parameters
        ----------
        atol : float, optional
            Tolerance value in degrees for the absolute deviation
            away from ideal backbone bond angles.

def valid_backbone_bond_angles(self, atol=20):
        """True if all backbone bond angles are within atol degrees of their expected values.

        Notes
        -----
        Ideal bond angles taken from [1].

        References
        ----------
        .. [1] Schulz, G. E, and R. Heiner Schirmer. Principles Of
           Protein Structure. New York: Springer-Verlag, 1979.

        Parameters
        ----------
        atol : float, optional
            Tolerance value in degrees for the absolute deviation
            away from ideal backbone bond angles.
        """
        bond_angles = self.backbone_bond_angles
        omegas = [x[0] for x in measure_torsion_angles(self)]
        trans = ['trans' if (omega is None) or (
            abs(omega) >= 90) else 'cis' for omega in omegas]
        ideal_n_ca_c = [ideal_backbone_bond_angles[x]['n_ca_c'] for x in trans]
        ideal_ca_c_o = [ideal_backbone_bond_angles[trans[i + 1]]
                        ['ca_c_o'] for i in range(len(trans) - 1)]
        ideal_ca_c_o.append(ideal_backbone_bond_angles['trans']['ca_c_o'])
        ideal_ca_c_n = [ideal_backbone_bond_angles[x]['ca_c_n']
                        for x in trans[1:]]
        ideal_c_n_ca = [ideal_backbone_bond_angles[x]['c_n_ca']
                        for x in trans[1:]]
        a1 = numpy.allclose(bond_angles['n_ca_c'], [ideal_n_ca_c], atol=atol)
        a2 = numpy.allclose(bond_angles['ca_c_o'], [ideal_ca_c_o], atol=atol)
        a3 = numpy.allclose(bond_angles['ca_c_n'], [ideal_ca_c_n], atol=atol)
        a4 = numpy.allclose(bond_angles['c_n_ca'], [ideal_c_n_ca], atol=atol)
        return all([a1, a2, a3, a4])