<p>As @M__ has mentioned, the terminology in your Q is a bit confusing.</p>
<p>A molecule can be the small molecule (ligand, compound etc.) or a polypeptide chain (protein).</p>
<p>Conformer generation of a compound is commonly not called 'energy minimisation' for technical reasons. For example, you normally generate in rdkit a conformer via <code>AllChem.EmbedMolecule(mol)</code>, but you could do it via</p>
<pre class="lang-py prettyprint-override"><code>p = AllChem.MMFFGetMoleculeProperties(mol, 'MMFF94')
ff = AllChem.MMFFGetMoleculeForceField(mol, p)
m = ff.Minimize()
assert m == 0, 'failure'
</code></pre>
<p>The latter would make sense if you want to add constraints (e.g. <code>ff.MMFFAddPositionConstraint(0, 0.1, 10)</code>).</p>
<p>There is also DFT (e.g. Gaussian or Schrödinger Jaguar), wherein the conformer is generated from a forcefield, but using a slimmed-down quantum theory to described orbitals as opposed to atoms. This is much slower than the above which use atoms as rigid particles tethered together (molecular mechanics).</p>
<p>The <code>EmbedMolecule</code> uses ETKDG method, which is a stochastic search method that cheats by using knowledge derived from crystal structures (cf. CCDC), so is way faster. It will be based on crystal structures, where the latter makes the compound best suit the terms of the MMFF94 forcefield.</p>
<p>If you are using a conformer generator, or similar, then the only quicker method is to retrieve the crystallographical structure.</p>
<p>If you are talking about minimising a whole protein, every forcefield will give slightly different results and there is no DB you could use. However, if it is for a snapshot/pose calculation, a common hack is do a local minimisation around your target and use implicit solvent which will be much faster. You have added the tag <code>MD</code>, which would suggest FEP calculations, for this local minimisation would not work.</p>

CC BY-SA 4.0
2023-02-10T18:58:22.773Z
2023-02-10T19:10:35.787Z
2023-02-10T19:10:35.787Z
Matteo Ferla
<p>I have 3000 molecules which I need for docking but before that I need to perform energy minimization for all the molecules and it is taking a long time because I am doing it one by one. So is there a way that I can select multiple molecules and do the energy minimization</p>

CC BY-SA 4.0
2023-02-09T16:44:03.207Z
Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.
Community
CC BY-SA 4.0
2023-02-10T14:49:52.380Z
Could you kindly consider improving this question? For example, what are the "molecules" in question, how is energy minimisation being performed and possibly an example. The answer is scripting via a loop and there are a number of members here with the skills who could help, but further information is likely to be needed.
M__
<docking><molecular-dynamics>
Energy minimization of molecules
# Energy minimization of molecules

(Asked by: username_0 on 2023-02-09)

I have 3000 molecules which I need for docking but before that I need to perform energy minimization for all the molecules and it is taking a long time because I am doing it one by one. So is there a way that I can select multiple molecules and do the energy minimization

**Tags:** docking, molecular-dynamics
> **Comments:**
> **username_1**: Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.  
> **username_2**: Could you kindly consider improving this question? For example, what are the "molecules" in question, how is energy minimisation being performed and possibly an example. The answer is scripting via a loop and there are a number of members here with the skills who could help, but further information is likely to be needed.  

---

## 1 answers

### Answer by username_3 on 2023-02-10. Score: 1

As @M__ has mentioned, the terminology in your Q is a bit confusing.
A molecule can be the small molecule (ligand, compound etc.) or a polypeptide chain (protein).
Conformer generation of a compound is commonly not called 'energy minimisation' for technical reasons. For example, you normally generate in rdkit a conformer via AllChem.EmbedMolecule(mol), but you could do it via
p = AllChem.MMFFGetMoleculeProperties(mol, 'MMFF94')
ff = AllChem.MMFFGetMoleculeForceField(mol, p)
m = ff.Minimize()
assert m == 0, 'failure'

The latter would make sense if you want to add constraints (e.g. ff.MMFFAddPositionConstraint(0, 0.1, 10)).
There is also DFT (e.g. Gaussian or Schrödinger Jaguar), wherein the conformer is generated from a forcefield, but using a slimmed-down quantum theory to described orbitals as opposed to atoms. This is much slower than the above which use atoms as rigid particles tethered together (molecular mechanics).
The EmbedMolecule uses ETKDG method, which is a stochastic search method that cheats by using knowledge derived from crystal structures (cf. CCDC), so is way faster. It will be based on crystal structures, where the latter makes the compound best suit the terms of the MMFF94 forcefield.
If you are using a conformer generator, or similar, then the only quicker method is to retrieve the crystallographical structure.
If you are talking about minimising a whole protein, every forcefield will give slightly different results and there is no DB you could use. However, if it is for a snapshot/pose calculation, a common hack is do a local minimisation around your target and use implicit solvent which will be much faster. You have added the tag MD, which would suggest FEP calculations, for this local minimisation would not work.


---

