public class ForceFieldMMFF extends ForceField
Modifier and Type | Field and Description |
---|---|
private static int |
A4_BNDK |
private static int |
A4_CHRG |
private static int |
A4_SB |
private static int |
A4_SBDEF |
private static int |
A4_VDW |
private static java.util.List<AtomType> |
atomTypes |
private static int[] |
equivalentTypes |
private static java.util.Map<java.lang.Integer,java.lang.Object> |
ffParams |
private static int |
KEY_BNDK |
private static int |
KEY_OOP |
private static int |
KEY_PBCI |
private static int |
KEY_SBDEF |
private static int |
KEY_VDW |
private static double[] |
r0reductions |
private int[] |
rawAtomTypes |
private int[] |
rawBondTypes |
private float[] |
rawMMFF94Charges |
private static int[] |
sbMap |
private static int |
TYPE_ANGLE |
private static int |
TYPE_BNDK |
private static int |
TYPE_BOND |
private static int |
TYPE_CHRG |
private static int |
TYPE_OOP |
private static int |
TYPE_PBCI |
private static int |
TYPE_SB |
private static int |
TYPE_SBDEF |
private static int |
TYPE_TORSION |
private static int |
TYPE_VDW |
private int[] |
typeData |
private boolean |
useEmpiricalRules |
private java.util.List<java.util.BitSet>[] |
vRings |
ABI_IJ, ABI_JK, bsFixed, calc, currentStep, EANGLE, EBOND, EELECTROSTATIC, ENERGY, EOOP, ESTRBND, ETORSION, EVDW, minAngles, minAtomCount, minAtoms, minBondCount, minBonds, minimizer, minTorsions, name, R3, R4, R5, R56, TBI_AB, TBI_BC, TBI_CD
Constructor and Description |
---|
ForceFieldMMFF(Minimizer m) |
Modifier and Type | Method and Description |
---|---|
private java.lang.Integer |
applyEmpiricalRules(MinObject o,
double[] ddata,
int ktype) |
private boolean |
checkRings(java.util.List<java.util.BitSet> v,
int[] minlist,
int n) |
void |
clear() |
private int |
fixOrder(int[] a,
int i,
int j) |
private static boolean |
fixTypeOrder(int[] a,
int i,
int j) |
private void |
fixTypes() |
java.lang.String[] |
getAtomTypeDescriptions() |
static java.lang.String[] |
getAtomTypeDescs(int[] types) |
private void |
getAtomTypes(java.lang.String fileName) |
private int |
getBondType(Bond bond,
AtomType at1,
AtomType at2,
int index1,
int index2) |
private void |
getChargeParameters() |
private static double |
getCovalentRadius(int elemno) |
private static double |
getCParam(int elemno) |
private static int |
getEquivalentType(int type,
int level)
equivalent types for OOP and torsions
|
private java.lang.Integer |
getKey(java.lang.Object obj,
int type,
int ktype) |
private void |
getMinimizationParameters() |
private void |
getMmffParameters(java.lang.String fileName,
java.util.Map<java.lang.Integer,java.lang.Object> data,
int dataType) |
(package private) double |
getOutOfPlaneParameter(int[] data) |
float[] |
getPartialCharges() |
static float[] |
getPartialCharges(Bond[] bonds,
int[] bTypes,
Atom[] atoms,
int[] aTypes,
java.util.BitSet bsAtoms,
boolean doRound)
assign partial charges ala MMFF94
|
private static double |
getR0(MinBond b) |
private int |
getRowFor(int i) |
private static double |
getRuleBondLength(MinAtom a,
MinAtom b,
int boAB,
boolean isAromatic) |
private java.lang.Integer |
getTorsionKey(int type,
int i,
int j) |
private static double |
getUParam(int elemno) |
private static double |
getVParam(int elemno) |
private static double |
getZParam(int elemno) |
private boolean |
isAromaticBond(int a1,
int a2) |
private static boolean |
isBondType1(AtomType at1,
AtomType at2) |
private int |
setAngleType(MinAngle angle) |
boolean |
setArrays(Atom[] atoms,
java.util.BitSet bsAtoms,
Bond[] bonds,
int rawBondCount,
boolean doRound,
boolean allowUnknowns) |
private static int[] |
setAtomTypes(Atom[] atoms,
java.util.BitSet bsAtoms,
SmilesMatcherInterface smartsMatcher,
java.util.List<java.util.BitSet>[] vRings,
boolean allowUnknowns)
The file MMFF94-smarts.txt is derived from MMFF94-smarts.xlsx.
|
private int[] |
setBondTypes(Bond[] bonds,
int bondCount,
java.util.BitSet bsAtoms) |
private static void |
setFlags(AtomType at) |
boolean |
setModel(java.util.BitSet bsElements,
int elemnoMax) |
private int |
setTorsionType(MinTorsion t) |
private static void |
sortOop(int[] typeData) |
private static void |
swap(int[] a,
int i,
int j) |
private int |
typeOf(int iAtom) |
detectExplosion, energyAngle, energyBond, energyES, energyFull, energyOOP, energyStretchBend, energyTorsion, energyVDW, getAtomList, getCurrentStep, getEnergy, getEnergyDiff, getLogData, getNormalizedDE, log, setConstraints, setModelFields, steepestDescentInitialize, steepestDescentTakeNSteps, toUserUnits
private boolean useEmpiricalRules
private static final int A4_VDW
private static final int A4_BNDK
private static final int A4_CHRG
private static final int A4_SB
private static final int A4_SBDEF
private static final int KEY_SBDEF
private static final int KEY_PBCI
private static final int KEY_VDW
private static final int KEY_BNDK
private static final int KEY_OOP
private static final int TYPE_PBCI
private static final int TYPE_VDW
private static final int TYPE_BNDK
private static final int TYPE_CHRG
private static final int TYPE_BOND
private static final int TYPE_ANGLE
private static final int TYPE_SB
private static final int TYPE_SBDEF
private static final int TYPE_TORSION
private static final int TYPE_OOP
private static java.util.List<AtomType> atomTypes
private static java.util.Map<java.lang.Integer,java.lang.Object> ffParams
private int[] rawAtomTypes
private int[] rawBondTypes
private float[] rawMMFF94Charges
private java.util.List<java.util.BitSet>[] vRings
private static final int[] sbMap
private int[] typeData
private static final int[] equivalentTypes
private static final double[] r0reductions
public ForceFieldMMFF(Minimizer m)
public java.lang.String[] getAtomTypeDescriptions()
public float[] getPartialCharges()
public void clear()
clear
in class ForceField
public boolean setModel(java.util.BitSet bsElements, int elemnoMax)
setModel
in class ForceField
public boolean setArrays(Atom[] atoms, java.util.BitSet bsAtoms, Bond[] bonds, int rawBondCount, boolean doRound, boolean allowUnknowns)
private void getChargeParameters()
private void getMinimizationParameters()
private void getMmffParameters(java.lang.String fileName, java.util.Map<java.lang.Integer,java.lang.Object> data, int dataType)
private void getAtomTypes(java.lang.String fileName)
private static void setFlags(AtomType at)
public static float[] getPartialCharges(Bond[] bonds, int[] bTypes, Atom[] atoms, int[] aTypes, java.util.BitSet bsAtoms, boolean doRound)
bonds
- bTypes
- atoms
- aTypes
- bsAtoms
- doRound
- private boolean isAromaticBond(int a1, int a2)
public static java.lang.String[] getAtomTypeDescs(int[] types)
private static int[] setAtomTypes(Atom[] atoms, java.util.BitSet bsAtoms, SmilesMatcherInterface smartsMatcher, java.util.List<java.util.BitSet>[] vRings, boolean allowUnknowns)
atoms
- bsAtoms
- smartsMatcher
- vRings
- allowUnknowns
- private int[] setBondTypes(Bond[] bonds, int bondCount, java.util.BitSet bsAtoms)
private void fixTypes()
private int setAngleType(MinAngle angle)
private int setTorsionType(MinTorsion t)
private int typeOf(int iAtom)
private boolean checkRings(java.util.List<java.util.BitSet> v, int[] minlist, int n)
private java.lang.Integer getKey(java.lang.Object obj, int type, int ktype)
private java.lang.Integer getTorsionKey(int type, int i, int j)
private java.lang.Integer applyEmpiricalRules(MinObject o, double[] ddata, int ktype)
private static double getR0(MinBond b)
private int getRowFor(int i)
double getOutOfPlaneParameter(int[] data)
private static void sortOop(int[] typeData)
private static boolean fixTypeOrder(int[] a, int i, int j)
a
- i
- j
- private int fixOrder(int[] a, int i, int j)
a
- i
- j
- private static void swap(int[] a, int i, int j)
private static int getEquivalentType(int type, int level)
type
- mmFF94 atom typelevel
- 0, 1, or 2.private static double getZParam(int elemno)
private static double getCParam(int elemno)
private static double getUParam(int elemno)
private static double getVParam(int elemno)
private static double getCovalentRadius(int elemno)