예제 #1
0
    def bond_angle(self, i, j, k):
        """bond_angle(i, j, k) --> bond angle defined by atoms i, j, k.
        Angle is calculated using the shortest ji and jk lengths with
        respect to periodic boundary conditions.

        i, j, k  -- atom indices starting at 1

        Return a tuple of (angle, angle_error), both values are in degrees.

        Raises: ValueError if selected atom(s) does not exist
                pdffit.unassignedError when no structure has been loaded
        """
        rv = pdffit2.bond_angle(self._handle, i, j, k)
        return rv
예제 #2
0
    def bond_angle(self, i, j, k):
        """bond_angle(i, j, k) --> bond angle defined by atoms i, j, k.
        Angle is calculated using the shortest ji and jk lengths with
        respect to periodic boundary conditions.

        i, j, k  -- atom indices starting at 1

        Return a tuple of (angle, angle_error), both values are in degrees.

        Raises: ValueError if selected atom(s) does not exist
                pdffit.unassignedError when no structure has been loaded
        """
        rv = pdffit2.bond_angle(self._handle, i, j, k)
        return rv
예제 #3
0
    def bang(self, i, j, k):
        """bang(i, j, k) --> Show bond angle defined by atoms i, j, k.

        No return value.  Use bond_angle() to get the result.

        Raises: ValueError if selected atom(s) does not exist
                pdffit.unassignedError when no structure has been loaded
        """
        angle, stdev = pdffit2.bond_angle(self._handle, i, j, k)
        # indices should be already checked here by bond_angle
        atom_symbols = self.get_atoms()
        leader = "   %s (#%i) - %s (#%i) - %s (#%i)   =   " % \
                (atom_symbols[i-1], i, atom_symbols[j-1], j,
                 atom_symbols[k-1], k)
        s = leader + _format_value_std(angle, stdev) + " degrees"
        print >> output.stdout, s
        return
예제 #4
0
    def bang(self, i, j, k):
        """bang(i, j, k) --> Show bond angle defined by atoms i, j, k.

        No return value.  Use bond_angle() to get the result.

        Raises: ValueError if selected atom(s) does not exist
                pdffit.unassignedError when no structure has been loaded
        """
        angle, stdev = pdffit2.bond_angle(self._handle, i, j, k)
        # indices should be already checked here by bond_angle
        atom_symbols = self.get_atoms()
        leader = "   %s (#%i) - %s (#%i) - %s (#%i)   =   " % \
                (atom_symbols[i-1], i, atom_symbols[j-1], j,
                 atom_symbols[k-1], k)
        s = leader + _format_value_std(angle, stdev) + " degrees"
        print(s, file=output.stdout)
        return