def get_interaction_energy(self, assign_ff=True, ff=None, mol2=False,
                               force_ff_assign=False):
        """Calculates the interaction energy of the AMPAL object.

        Parameters
        ----------
        assign_ff: bool, optional
            If true the force field will be updated if required.
        ff: BuffForceField, optional
            The force field to be used for scoring.
        mol2: bool, optional
            If true, mol2 style labels will also be used.
        force_ff_assign: bool, optional
            If true, the force field will be completely reassigned, 
            ignoring the cached parameters.

        Returns
        -------
        buff_score: buff.BUFFScore
            A BUFFScore object with information about each of the
            interactions and the `Atoms` involved.

        Raises
        ------
        AttributeError
            Raise if a component molecule does not have an `update_ff`
            method.
        """
        if not ff:
            ff = global_settings['buff']['force_field']
        if assign_ff:
            for molecule in self._molecules:
                if hasattr(molecule, 'update_ff'):
                    molecule.update_ff(
                        ff, mol2=mol2, force_ff_assign=force_ff_assign)
                else:
                    raise AttributeError(
                        'The following molecule does not have a update_ff'
                        'method:\n{}\nIf this is a custom molecule type it'
                        'should inherit from BaseAmpal:'.format(molecule))
        interactions = find_inter_ampal(self, ff.distance_cutoff)
        buff_score = score_interactions(interactions, ff)
        return buff_score
def get_interaction_energy ( self , assign_ff = True , ff = None , mol2 = False , force_ff_assign = False ) : if not ff : ff = global_settings [ 'buff' ] [ 'force_field' ] if assign_ff : for molecule in self . _molecules : if hasattr ( molecule , 'update_ff' ) : molecule . update_ff ( ff , mol2 = mol2 , force_ff_assign = force_ff_assign ) else : raise AttributeError ( 'The following molecule does not have a update_ff' 'method:\n{}\nIf this is a custom molecule type it' 'should inherit from BaseAmpal:' . format ( molecule ) ) interactions = find_inter_ampal ( self , ff . distance_cutoff ) buff_score = score_interactions ( interactions , ff ) return buff_score
Calculates the interaction energy of the AMPAL object.

        Parameters
        ----------
        assign_ff: bool, optional
            If true the force field will be updated if required.
        ff: BuffForceField, optional
            The force field to be used for scoring.
        mol2: bool, optional
            If true, mol2 style labels will also be used.
        force_ff_assign: bool, optional
            If true, the force field will be completely reassigned, 
            ignoring the cached parameters.

        Returns
        -------
        buff_score: buff.BUFFScore
            A BUFFScore object with information about each of the
            interactions and the `Atoms` involved.

        Raises
        ------
        AttributeError
            Raise if a component molecule does not have an `update_ff`
            method.