Skip to content

Commit

Permalink
Added method to check if force field is OPLS format. [ref #337]
Browse files Browse the repository at this point in the history
  • Loading branch information
lohedges committed Feb 4, 2021
1 parent 8d500b8 commit 51173ec
Show file tree
Hide file tree
Showing 6 changed files with 334 additions and 316 deletions.
6 changes: 6 additions & 0 deletions corelib/src/libs/SireMM/mmdetail.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,12 @@ bool MMDetail::isAmberStyle() const
usesCosineDihedrals();
}

/** Return whether or not this is a GROMACS OPLS force field. */
bool MMDetail::isOPLS() const
{
return name() == "opls::ff";
}

/** Return whether or not this forcefield is compatible with 'other' */
bool MMDetail::isCompatibleWith(const FFDetail &other) const
{
Expand Down
1 change: 1 addition & 0 deletions corelib/src/libs/SireMM/mmdetail.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ friend SIREMM_EXPORT QDataStream& ::operator>>(QDataStream&, MMDetail&);
QString dihedralStyle() const;

bool isAmberStyle() const;
bool isOPLS() const;

bool isCompatibleWith(const FFDetail &other) const;

Expand Down
320 changes: 160 additions & 160 deletions wrapper/MM/CMakeAutogenFile.txt
Original file line number Diff line number Diff line change
@@ -1,185 +1,185 @@
# WARNING - AUTOGENERATED FILE - CONTENTS WILL BE OVERWRITTEN!
set ( PYPP_SOURCES
CLJScaleFactor.pypp.cpp
InternalSymbolsBase.pypp.cpp
TwoAtomFunctions.pypp.cpp
LJComponent.pypp.cpp
GromacsAngle.pypp.cpp
CLJPotentialInterface_IntraSoftCLJPotential_.pypp.cpp
CoulombScaleFactor.pypp.cpp
CLJNBPairs.pypp.cpp
InterCoulombFF.pypp.cpp
NullRestraint.pypp.cpp
AtomFunction.pypp.cpp
LJPerturbation.pypp.cpp
InternalSymbols.pypp.cpp
CoulombComponent.pypp.cpp
CLJBoxes.pypp.cpp
CLJBox.pypp.cpp
BendBendComponent.pypp.cpp
InterGroupSoftCLJFFBase.pypp.cpp
LJPotentialInterface_IntraLJPotential_.pypp.cpp
AmberDihedral.pypp.cpp
StretchStretchSymbols.pypp.cpp
CHARMMSwitchingFunction.pypp.cpp
StretchBendTorsionComponent.pypp.cpp
BendBendSymbols.pypp.cpp
GridFF2.pypp.cpp
IntraGroupCLJFFBase.pypp.cpp
InterCLJFFBase.pypp.cpp
GromacsDihedral.pypp.cpp
InterGroupCLJFFBase.pypp.cpp
UreyBradleyParameterName.pypp.cpp
IntraGroupFF.pypp.cpp
LJParameterName3D.pypp.cpp
CLJSoftIntraRFFunction.pypp.cpp
ScaledLJParameterNames3D.pypp.cpp
InterGroupLJFF.pypp.cpp
AmberNB14.pypp.cpp
CLJIntraFunction.pypp.cpp
BondParameterName.pypp.cpp
InterGroupLJFFBase.pypp.cpp
SwitchingFunction.pypp.cpp
StretchBendTorsionSymbols.pypp.cpp
TripleDistanceRestraint.pypp.cpp
LJNBPairs.pypp.cpp
LJPotentialInterface_IntraLJPotential_.pypp.cpp
CLJGrid.pypp.cpp
CLJBox.pypp.cpp
CLJSoftIntraShiftFunction.pypp.cpp
InterCoulombFF.pypp.cpp
CLJParameterNames.pypp.cpp
AtomLJs.pypp.cpp
SoftCLJPotentialInterface_IntraSoftCLJPotential_.pypp.cpp
AtomPairs_LJScaleFactor_.pypp.cpp
ScaledChargeParameterNames3D.pypp.cpp
AtomFunctions.pypp.cpp
CLJCalculator.pypp.cpp
DihedralSymbols.pypp.cpp
CoulombPotentialInterface_InterCoulombPotential_.pypp.cpp
UreyBradleyComponent.pypp.cpp
IntraCoulombFFBase.pypp.cpp
DoubleDistanceRestraint.pypp.cpp
StretchStretchParameterName.pypp.cpp
AmberAngle.pypp.cpp
TwoAtomFunctions.pypp.cpp
IntraGroupFF.pypp.cpp
CoulombProbe.pypp.cpp
InterGroupCLJFF.pypp.cpp
CLJPotentialInterface_InterCLJPotential_.pypp.cpp
AngleComponent.pypp.cpp
ThreeAtomPerturbation.pypp.cpp
InterSoftCLJFF.pypp.cpp
IntraFF.pypp.cpp
StretchBendComponent.pypp.cpp
ThreeAtomFunction.pypp.cpp
AtomPairs_CLJScaleFactor_.pypp.cpp
NoCutoff.pypp.cpp
InterLJFFBase.pypp.cpp
IntraGroupSoftCLJFF.pypp.cpp
CLJAtom.pypp.cpp
CoulombNBPairs.pypp.cpp
CLJExtractor.pypp.cpp
ChargeParameterName3D.pypp.cpp
RestraintFF.pypp.cpp
SoftCLJPotentialInterface_IntraSoftCLJPotential_.pypp.cpp
CLJSoftIntraFunction.pypp.cpp
BondComponent.pypp.cpp
CLJSoftShiftFunction.pypp.cpp
AtomPairs_LJScaleFactor_.pypp.cpp
InternalParameterNames.pypp.cpp
SwitchingFunction.pypp.cpp
BondSymbols.pypp.cpp
IntraSoftCLJFFBase.pypp.cpp
CHARMMSwitchingFunction.pypp.cpp
NullCLJFunction.pypp.cpp
IntraGroupLJFF.pypp.cpp
CLJSoftIntraShiftFunction.pypp.cpp
CLJParameterNames.pypp.cpp
MultiCLJComponent.pypp.cpp
CLJBoxDistance.pypp.cpp
IntraLJFFBase.pypp.cpp
AngleSymbols.pypp.cpp
StretchBendParameterName.pypp.cpp
IntraLJFF.pypp.cpp
InternalParameterNames.pypp.cpp
CLJ14Group.pypp.cpp
LJScaleFactor.pypp.cpp
IntraCoulombFF.pypp.cpp
SoftCLJPotentialInterface_InterSoftCLJPotential_.pypp.cpp
GromacsBond.pypp.cpp
TestFF.pypp.cpp
InternalParameterNames3D.pypp.cpp
DihedralParameterName.pypp.cpp
BendBendParameterName.pypp.cpp
CLJIntraRFFunction.pypp.cpp
Restraint.pypp.cpp
CLJBoxIndex.pypp.cpp
AmberDihPart.pypp.cpp
AmberNB14.pypp.cpp
LJParameterName.pypp.cpp
CLJParameterNames3D.pypp.cpp
DistanceRestraint.pypp.cpp
CLJWorkspace.pypp.cpp
InterLJFFBase.pypp.cpp
IntraCLJFFBase.pypp.cpp
IntraFF.pypp.cpp
InternalSymbolsBase.pypp.cpp
StretchBendTorsionParameterName.pypp.cpp
Intra14Component.pypp.cpp
InterSoftCLJFFBase.pypp.cpp
CLJComponent.pypp.cpp
InternalParameters.pypp.cpp
RestraintComponent.pypp.cpp
AngleSymbols.pypp.cpp
AngleParameterName.pypp.cpp
InterGroupSoftCLJFF.pypp.cpp
IntraGroupSoftCLJFFBase.pypp.cpp
IntraGroupLJFFBase.pypp.cpp
ChargeParameterName.pypp.cpp
LJNBPairs.pypp.cpp
InternalFF.pypp.cpp
LJProbe.pypp.cpp
LJScaleFactor.pypp.cpp
SoftCLJComponent.pypp.cpp
BendBendComponent.pypp.cpp
AngleRestraint.pypp.cpp
IntraSoftCLJFF.pypp.cpp
CLJDelta.pypp.cpp
IntraCLJFF.pypp.cpp
AmberAngle.pypp.cpp
BendBendSymbols.pypp.cpp
IntraGroupCoulombFF.pypp.cpp
GroupInternalParameters.pypp.cpp
CLJRFFunction.pypp.cpp
LJPerturbation.pypp.cpp
StretchBendSymbols.pypp.cpp
IntraLJFFBase.pypp.cpp
Restraint3D.pypp.cpp
InternalParameters3D.pypp.cpp
CoulombComponent.pypp.cpp
FourAtomFunction.pypp.cpp
ChargeParameterName3D.pypp.cpp
InternalSymbols.pypp.cpp
Intra14LJComponent.pypp.cpp
CLJSoftRFFunction.pypp.cpp
CLJParameterNames3D.pypp.cpp
CLJSoftIntraFunction.pypp.cpp
InterGroupCLJFFBase.pypp.cpp
GromacsAngle.pypp.cpp
CoulombNBPairs.pypp.cpp
LJComponent.pypp.cpp
UreyBradleyParameterName.pypp.cpp
InterCoulombFFBase.pypp.cpp
ThreeAtomFunction.pypp.cpp
Intra14CoulombComponent.pypp.cpp
TestFF.pypp.cpp
LJParameter.pypp.cpp
Restraint.pypp.cpp
CLJShiftFunction.pypp.cpp
IntraSoftCLJFFBase.pypp.cpp
CLJExtractor.pypp.cpp
StretchBendComponent.pypp.cpp
CLJProbe.pypp.cpp
CLJIntraFunction.pypp.cpp
CLJBoxIndex.pypp.cpp
SoftCLJPotentialInterface_InterSoftCLJPotential_.pypp.cpp
IntraCoulombFF.pypp.cpp
DihedralParameterName.pypp.cpp
InterGroupCoulombFFBase.pypp.cpp
TwoAtomFunction.pypp.cpp
GroupInternalParameters.pypp.cpp
AngleRestraint.pypp.cpp
CLJSoftFunction.pypp.cpp
IntraGroupCLJFF.pypp.cpp
DihedralComponent.pypp.cpp
IntraGroupCoulombFFBase.pypp.cpp
CLJAtoms.pypp.cpp
CLJPotentialInterface_InterCLJPotential_.pypp.cpp
ThreeAtomFunctions.pypp.cpp
TwoAtomPerturbation.pypp.cpp
ScaledCLJParameterNames3D.pypp.cpp
HarmonicSwitchingFunction.pypp.cpp
UreyBradleyComponent.pypp.cpp
GromacsBond.pypp.cpp
LJProbe.pypp.cpp
CLJFunction.pypp.cpp
DihedralRestraint.pypp.cpp
CLJGroup.pypp.cpp
InterLJFF.pypp.cpp
InternalPerturbation.pypp.cpp
Intra14Component.pypp.cpp
IntraCLJFFBase.pypp.cpp
CLJWorkspace.pypp.cpp
Intra14CoulombComponent.pypp.cpp
Restraint3D.pypp.cpp
AtomLJs.pypp.cpp
TripleDistanceRestraint.pypp.cpp
SoftCLJComponent.pypp.cpp
CLJIntraShiftFunction.pypp.cpp
InterGroupCoulombFF.pypp.cpp
CLJIntraRFFunction.pypp.cpp
ImproperParameterName.pypp.cpp
GridFF.pypp.cpp
FourAtomPerturbation.pypp.cpp
InterCoulombFFBase.pypp.cpp
CLJPotentialInterface_IntraSoftCLJPotential_.pypp.cpp
CLJCutoffFunction.pypp.cpp
InterGroupFF.pypp.cpp
StretchStretchComponent.pypp.cpp
InternalParameters.pypp.cpp
ImproperComponent.pypp.cpp
AngleParameterName.pypp.cpp
IntraGroupCLJFF.pypp.cpp
InterGroupSoftCLJFFBase.pypp.cpp
BendBendParameterName.pypp.cpp
CoulombPotentialInterface_IntraCoulombPotential_.pypp.cpp
CLJComponent.pypp.cpp
CLJPotentialInterface_InterSoftCLJPotential_.pypp.cpp
AmberBond.pypp.cpp
Intra14LJComponent.pypp.cpp
ScaledChargeParameterNames3D.pypp.cpp
InterGroupCoulombFF.pypp.cpp
ThreeAtomFunctions.pypp.cpp
CoulombScaleFactor.pypp.cpp
MultiCLJComponent.pypp.cpp
ChargeParameterName.pypp.cpp
IntraGroupSoftCLJFF.pypp.cpp
InterGroupLJFFBase.pypp.cpp
InterLJFF.pypp.cpp
FourAtomFunctions.pypp.cpp
RestraintFF.pypp.cpp
IntraGroupCLJFFBase.pypp.cpp
GridFF2.pypp.cpp
CLJDelta.pypp.cpp
NoCutoff.pypp.cpp
CLJBoxDistance.pypp.cpp
CLJAtom.pypp.cpp
StretchStretchComponent.pypp.cpp
StretchBendParameterName.pypp.cpp
DihedralSymbols.pypp.cpp
AmberParams.pypp.cpp
IntraLJFF.pypp.cpp
InternalComponent.pypp.cpp
DihedralComponent.pypp.cpp
InterFF.pypp.cpp
CLJRFFunction.pypp.cpp
ScaledCLJParameterNames3D.pypp.cpp
CLJCutoffFunction.pypp.cpp
DistanceRestraint.pypp.cpp
IntraGroupCoulombFF.pypp.cpp
StretchBendTorsionSymbols.pypp.cpp
FourAtomFunctions.pypp.cpp
MMDetail.pypp.cpp
StretchBendSymbols.pypp.cpp
AtomPairs_CoulombScaleFactor_.pypp.cpp
InterGroupCLJFF.pypp.cpp
GromacsDihedral.pypp.cpp
CLJSoftFunction.pypp.cpp
LJPotentialInterface_InterLJPotential_.pypp.cpp
AtomFunctions.pypp.cpp
ImproperSymbols.pypp.cpp
RestraintComponent.pypp.cpp
TwoAtomPerturbation.pypp.cpp
InternalParameters3D.pypp.cpp
LJParameterName.pypp.cpp
CLJGrid.pypp.cpp
FourAtomFunction.pypp.cpp
CLJShiftFunction.pypp.cpp
GridFF.pypp.cpp
DoubleDistanceRestraint.pypp.cpp
InterCLJFF.pypp.cpp
HarmonicSwitchingFunction.pypp.cpp
CoulombProbe.pypp.cpp
ImproperParameterName.pypp.cpp
LJParameter.pypp.cpp
CLJProbe.pypp.cpp
AmberDihedral.pypp.cpp
AtomPairs_CoulombScaleFactor_.pypp.cpp
InternalFF.pypp.cpp
InterGroupLJFF.pypp.cpp
CLJGroup.pypp.cpp
CLJNBPairs.pypp.cpp
AtomPairs_CLJScaleFactor_.pypp.cpp
NullRestraint.pypp.cpp
MMDetail.pypp.cpp
ScaledLJParameterNames3D.pypp.cpp
InternalComponent.pypp.cpp
CLJIntraShiftFunction.pypp.cpp
CLJSoftIntraRFFunction.pypp.cpp
IntraGroupLJFF.pypp.cpp
StretchStretchSymbols.pypp.cpp
CLJSoftShiftFunction.pypp.cpp
LJParameterName3D.pypp.cpp
GromacsAtomType.pypp.cpp
InterSoftCLJFFBase.pypp.cpp
IntraGroupLJFFBase.pypp.cpp
CLJPotentialInterface_InterSoftCLJPotential_.pypp.cpp
AmberDihPart.pypp.cpp
IntraCLJFF.pypp.cpp
CLJPotentialInterface_IntraCLJPotential_.pypp.cpp
StretchStretchParameterName.pypp.cpp
InternalPerturbation.pypp.cpp
NullCLJFunction.pypp.cpp
CLJBoxes.pypp.cpp
DihedralRestraint.pypp.cpp
IntraCoulombFFBase.pypp.cpp
BondParameterName.pypp.cpp
TwoAtomFunction.pypp.cpp
CLJAtoms.pypp.cpp
InterCLJFF.pypp.cpp
AtomFunction.pypp.cpp
InterCLJFFBase.pypp.cpp
AmberBond.pypp.cpp
IntraGroupSoftCLJFFBase.pypp.cpp
ImproperSymbols.pypp.cpp
CoulombPotentialInterface_InterCoulombPotential_.pypp.cpp
CLJScaleFactor.pypp.cpp
InternalParameterNames3D.pypp.cpp
BondComponent.pypp.cpp
ThreeAtomPerturbation.pypp.cpp
IntraGroupCoulombFFBase.pypp.cpp
ImproperComponent.pypp.cpp
SireMM_containers.cpp
SireMM_properties.cpp
SireMM_registrars.cpp
Expand Down
11 changes: 11 additions & 0 deletions wrapper/MM/MMDetail.pypp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,17 @@ void register_MMDetail_class(){
, ( bp::arg("other") )
, "Return whether or not this forcefield is compatible with other" );

}
{ //::SireMM::MMDetail::isOPLS

typedef bool ( ::SireMM::MMDetail::*isOPLS_function_type)( ) const;
isOPLS_function_type isOPLS_function_value( &::SireMM::MMDetail::isOPLS );

MMDetail_exposer.def(
"isOPLS"
, isOPLS_function_value
, "Return whether or not this is a GROMACS OPLS force field." );

}
MMDetail_exposer.def( bp::self != bp::self );
{ //::SireMM::MMDetail::operator=
Expand Down
Loading

0 comments on commit 51173ec

Please sign in to comment.