OESmirnoffParams

Attention

This API is currently available in C++ and Python.

class OESmirnoffParams : public OEMolPotential::OEFFParams

The OESmirnoffParams class provides the ability to retrieve parameters necessary to perform energy and gradient calculations using the SMIRNOFF force field (see SMIRNOFF).

Note

The inherited methods, GetAtomTypeIndex, GetAtomTypeName and GetStretchBendParams, have no meaning in the SMIRNOFF force field and SHOULD NOT be used. When these methods are called, they return 0, none, and false, respectively.

The following methods are publicly inherited from OEFFParams:
The OESmirnoffParams class defines the following overloaded public methods:

Constructors

OESmirnoffParams() = default
OESmirnoffParams(const OESmirnoffParams&) = default

Default and copy constructors.

operator=

OESmirnoffParams& operator=(const OESmirnoffParams&) = default;

The assignment operator.

GetVdwParams

bool GetVdwParams(OEMolPotential::OEInteractParams&, const OEChem::OEAtomBase*,
                  const OEChem::OEAtomBase*) const

Fills the first argument, OEInteractParams, with the SMIRNOFF Vdw parameters for the two non-bonded atoms specified by the second and the third arguments, OEAtomBase. If parameters were not found, it returns false; otherwise, it returns true.

OESystem::OEIterBase<OEMolPotential::OEVdwParams>*
GetVdwParams(const OEChem::OEMolBase& mol,
             const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>* pred=0,
             const double rcut=0.0) const

Takes a molecule object, mol, and returns an iterator to all OEVdwParams objects created for that molecule. If the pointer to atom predicate is passed as the second argument, all atoms engaged in vdw non-bonded interactions will be tested against with that predicate. In this case, the returned iterator will contain parameters for only those pairs of atoms that pass the test. Similarly, all OEVdwParams objects for pairs outside the cutoff radius, rcut, will be eliminated.

OESystem::OEIterBase<OEMolPotential::OEVdwParams>*
GetVdwParams(const OEChem::OEMolBase& mol, const OEChem::OEMolBase& host) const

Returns an iterator to all OEVdwParams objects created for host-ligand interactions specified by the ligand molecule, mol, and the host molecule, host.

GetStretchParams

bool GetStretchParams(OEMolPotential::OEInteractParams&, const OEChem::OEBondBase*) const

Fills the first argument, OEInteractParams, with the SMIRNOFF bond stretch parameters for the bond, OEBondBase. If the parameters were not found, it returns false; otherwise, it returns true.

OESystem::OEIterBase<OEMolPotential::OEStretchParams>*
GetStretchParams(const OEChem::OEMolBase& mol,
                 const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Takes a molecule object, mol, and returns an iterator to all OEStretchParams objects created for that molecule. If the pointer to an atom predicate is passed as the second argument, all atoms making bonds will be tested against with that predicate. In this case, the returned iterator will contain parameters for only those bonds made between the atoms that pass the test.

GetBendParams

bool GetBendParams(OEMolPotential::OEInteractParams&, const OEChem::OEAtomBase*,
                   const OEChem::OEAtomBase*, const OEChem::OEAtomBase*) const

Fills the first argument, OEInteractParams, with the SMIRNOFF bend parameters for a bond angle made by 3 atoms, OEAtomBase, passed as the second, third and the forth arguments. If the parameters were not found, it returns false; otherwise, it returns true.

OESystem::OEIterBase<OEMolPotential::OEBendParams>*
GetBendParams(const OEChem::OEMolBase& mol,
              const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Takes a molecule object, mol, and returns an iterator to all OEBendParams objects created for that molecule. If the pointer to an atom predicate is passed as the second argument, all atoms making bond angles will be tested against that with predicate and the returned iterator will contain parameters for only those bond angles whose atom members pass the test.

GetTorsionParams

bool GetTorsionParams(OEMolPotential::OEInteractParams&, const OEChem::OEAtomBase*,
                      const OEChem::OEAtomBase*, const OEChem::OEAtomBase*,
                      const OEChem::OEAtomBase*) const

Fills the first argument, OEInteractParams, with the SMIRNOFF torsion parameters for a torsion made by 4 atoms, OEAtomBase, passed as the second, third, forth and the fifth arguments. If the parameters were not found, it returns false; otherwise, it returns true.

OESystem::OEIterBase<OEMolPotential::OETorsionParams>*
GetTorsionParams(const OEChem::OEMolBase& mol,
                 const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Takes a molecule object, mol, and returns an iterator to all OETorsionParams objects created for that molecule. If the pointer to an atom predicate is passed as the second argument, all atoms making torsions will be tested against with that predicate and the returned iterator will contain parameters for only those torsions whose atom members pass the test.

GetOutOfPlaneParams

bool GetOutOfPlaneParams(OEMolPotential::OEInteractParams&, const OEChem::OEAtomBase*,
                         const OEChem::OEAtomBase*, const OEChem::OEAtomBase*,
                         const OEChem::OEAtomBase*) const

Fills the first argument, OEInteractParams, with the SMIRNOFF improper torsion parameters for an improper torsion made by 4 atoms, OEAtomBase, passed as the second, third, forth and the fifth arguments. If the parameters were not found, it returns false; otherwise, it returns true.

OESystem::OEIterBase<OEMolPotential::OEOutOfPlaneParams>*
GetOutOfPlaneParams(const OEChem::OEMolBase& mol,
                    const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Takes a molecule object, mol, and returns an iterator to all OESmirnoffOutOfPlane objects created for that molecule. If the pointer to an atom predicate is passed as the second argument, all atoms making improper torsions will be tested against with that predicate and the returned iterator will contain parameters for only those improper torsions whose atom members pass the test.

HasVdwParams

bool HasVdwParams(const OEChem::OEMolBase& mol,
             const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>* pred=0,
             const double rcut=0.0) const
bool HasVdwParams(const OEChem::OEMolBase& mol, const OEChem::OEMolBase& host) const

Returns if the desired Vdw parameters exist for the specified molecule, mol. See the GetVdwParams method.

HasStretchParams

bool HasStretchParams(const OEChem::OEMolBase& mol,
                 const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Returns if the desired bond stretching parameters exist for the specified molecule, mol. See the GetStretchParams method.

HasBendParams

bool HasBendParams(const OEChem::OEMolBase& mol,
              const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Returns if the desired bend parameters exist for the specified molecule, mol. See the GetBendParams method.

HasTorsionParams

bool HasTorsionParams(const OEChem::OEMolBase& mol,
                 const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *pred=0) const

Returns if the desired torison parameters exist for the specified molecule, mol. See the GetTorsionParams method.