mbuild_polybuild.aa_monomers.methacrylate.Methacrylate.energy_minimize

Methacrylate.energy_minimize(forcefield='UFF', steps=1000, shift_com=True, anchor=None, **kwargs)

Perform an energy minimization on a Compound.

Default behavior utilizes Open Babel to perform an energy minimization/geometry optimization on a Compound by applying a generic force field

Can also utilize OpenMM to energy minimize after atomtyping a Compound using Foyer to apply a forcefield XML file that contains valid SMARTS strings.

This function is primarily intended to be used on smaller components, with sizes on the order of 10’s to 100’s of particles, as the energy minimization scales poorly with the number of particles.

Parameters:
  • steps (int, optional, default=1000) – The number of optimization iterations

  • forcefield (str, optional, default=’UFF’) – The generic force field to apply to the Compound for minimization. Valid options are ‘MMFF94’, ‘MMFF94s’, ‘’UFF’, ‘GAFF’, ‘Ghemical’. Please refer to the Open Babel documentation when considering your choice of force field. Utilizing OpenMM for energy minimization requires a forcefield XML file with valid SMARTS strings. Please refer to OpenMM docs for more information.

  • shift_com (bool, optional, default=True) – If True, the energy-minimized Compound is translated such that the center-of-mass is unchanged relative to the initial configuration.

  • anchor (Compound, optional, default=None) – Translates the energy-minimized Compound such that the position of the anchor Compound is unchanged relative to the initial configuration.

Other Parameters:
  • algorithm (str, optional, default=’cg’) – The energy minimization algorithm. Valid options are ‘steep’, ‘cg’, and ‘md’, corresponding to steepest descent, conjugate gradient, and equilibrium molecular dynamics respectively. For _energy_minimize_openbabel

  • fixed_compounds (Compound, optional, default=None) – An individual Compound or list of Compounds that will have their position fixed during energy minimization. Note, positions are fixed using a restraining potential and thus may change slightly. Position fixing will apply to all Particles (i.e., atoms) that exist in the Compound and to particles in any subsequent sub-Compounds. By default x,y, and z position is fixed. This can be toggled by instead passing a list containing the Compound and an list or tuple of bool values corresponding to x,y and z; e.g., [Compound, (True, True, False)] will fix the x and y position but allow z to be free. For _energy_minimize_openbabel

  • ignore_compounds (Compound, optional, default=None) – An individual compound or list of Compounds whose underlying particles will have their positions fixed and not interact with other atoms via the specified force field during the energy minimization process. Note, a restraining potential used and thus absolute position may vary as a result of the energy minimization process. Interactions of these ignored atoms can be specified by the user, e.g., by explicitly setting a distance constraint. For _energy_minimize_openbabel

  • distance_constraints (list, optional, default=None) – A list containing a pair of Compounds as a tuple or list and a float value specifying the target distance between the two Compounds, e.g.,: [(compound1, compound2), distance]. To specify more than one constraint, pass constraints as a 2D list, e.g.,: [ [(compound1, compound2), distance1], [(compound3, compound4), distance2] ]. Note, Compounds specified here must represent individual point particles. For _energy_minimize_openbabel

  • constraint_factor (float, optional, default=50000.0) – Harmonic springs are used to constrain distances and fix atom positions, where the resulting energy associated with the spring is scaled by the constraint_factor; the energy of this spring is considering during the minimization. As such, very small values of the constraint_factor may result in an energy minimized state that does not adequately restrain the distance/position of atoms. For _energy_minimize_openbabel

  • scale_bonds (float, optional, default=1) – Scales the bond force constant (1 is completely on). For _energy_minimize_openmm

  • scale_angles (float, optional, default=1) – Scales the angle force constant (1 is completely on) For _energy_minimize_openmm

  • scale_torsions (float, optional, default=1) – Scales the torsional force constants (1 is completely on) For _energy_minimize_openmm Note: Only Ryckaert-Bellemans style torsions are currently supported

  • scale_nonbonded (float, optional, default=1) – Scales epsilon (1 is completely on) For _energy_minimize_openmm

  • constraints (str, optional, default=”AllBonds”) – Specify constraints on the molecule to minimize, options are: None, “HBonds”, “AllBonds”, “HAngles” For _energy_minimize_openmm

References

If using _energy_minimize_openmm(), please cite:

[Eastman2013]

P. Eastman, M. S. Friedrichs, J. D. Chodera, R. J. Radmer, C. M. Bruns, J. P. Ku, K. A. Beauchamp, T. J. Lane, L.-P. Wang, D. Shukla, T. Tye, M. Houston, T. Stich, C. Klein, M. R. Shirts, and V. S. Pande. “OpenMM 4: A Reusable, Extensible, Hardware Independent Library for High Performance Molecular Simulation.” J. Chem. Theor. Comput. 9(1): 461-469. (2013).

If using _energy_minimize_openbabel(), please cite:

[OBoyle2011]

O’Boyle, N.M.; Banck, M.; James, C.A.; Morley, C.; Vandermeersch, T.; Hutchison, G.R. “Open Babel: An open chemical toolbox.” (2011) J. Cheminf. 3, 33

[OpenBabel]

Open Babel, version X.X.X http://openbabel.org, (installed Month Year)

If using the ‘MMFF94’ force field please also cite the following:

[Halgren1996a]

T.A. Halgren, “Merck molecular force field. I. Basis, form, scope, parameterization, and performance of MMFF94.” (1996) J. Comput. Chem. 17, 490-519

[Halgren1996b]

T.A. Halgren, “Merck molecular force field. II. MMFF94 van der Waals and electrostatic parameters for intermolecular interactions.” (1996) J. Comput. Chem. 17, 520-552

[Halgren1996c]

T.A. Halgren, “Merck molecular force field. III. Molecular geometries and vibrational frequencies for MMFF94.” (1996) J. Comput. Chem. 17, 553-586

[Halgren1996d]

T.A. Halgren and R.B. Nachbar, “Merck molecular force field. IV. Conformational energies and geometries for MMFF94.” (1996) J. Comput. Chem. 17, 587-615

[Halgren1996e]

T.A. Halgren, “Merck molecular force field. V. Extension of MMFF94 using experimental data, additional computational data, and empirical rules.” (1996) J. Comput. Chem. 17, 616-641

If using the ‘MMFF94s’ force field please cite the above along with:

[Halgren1999]

T.A. Halgren, “MMFF VI. MMFF94s option for energy minimization studies.” (1999) J. Comput. Chem. 20, 720-729

If using the ‘UFF’ force field please cite the following:

[Rappe1992]

Rappe, A.K., Casewit, C.J., Colwell, K.S., Goddard, W.A. III, Skiff, W.M. “UFF, a full periodic table force field for molecular mechanics and molecular dynamics simulations.” (1992) J. Am. Chem. Soc. 114, 10024-10039

If using the ‘GAFF’ force field please cite the following:

[Wang2004]

Wang, J., Wolf, R.M., Caldwell, J.W., Kollman, P.A., Case, D.A. “Development and testing of a general AMBER force field” (2004) J. Comput. Chem. 25, 1157-1174

If using the ‘Ghemical’ force field please cite the following:

[Hassinen2001]

T. Hassinen and M. Perakyla, “New energy terms for reduced protein models implemented in an off-lattice force field” (2001) J. Comput. Chem. 22, 1229-1242