User 870ab5b546
21-09-2007 12:50:07
They cannot possibly have the same Dreiding energy. They are diastereomers, and one of them is impossibly strained (i.e., cannot exist).
User 677b9c22ff
21-09-2007 18:33:47
Hi,
you could use the conformer API option to distinguish between them. However I wonder why the nonexistent (?) (R,S) has the lower energy in this example and the (S,S) with the more favorable strain energy has the high energy. I suspect an artefact. How could the (S,S) molecule not flip into the favorable position? I think the pure 2D view is misleading and if you view the molecule in Marvin as 3D view its better to understand, but I don't have time to include these right now.
Now the interesting part, if you change in MArvin view to 3D view it and calculate the name it will generate a different name (because it switched to the more favorable position (bug or feature, actually the tool should inform the user that the conformation changed). So actually on can use the stereoisomer generator to generate all 4 possible positions (R/S,R/R,S/S,S/R).
R/R switches to S/R - 134 kcal/mol ( different to last)
R/S switches to R/S - 40 kcal/mol
S/R switches to S/R - 40 kcal/mol
S/S switches to S/R - 140 kcal/mol (different to first)
The Dreiding and conformer energies for the lowest energy conformers in Marvin always(?) give different results. So its obvious that the Dreiding model can not handle that.
Tobias
User 677b9c22ff
22-09-2007 04:50:56
Hi,
I think the conformer generation works pretty well,
here are some results with
PM6 from Mopac2007 (this link also contains datasets for comparisons) other
stuff can be downloaded from the CCCBDB from
NIST:
134.18 kcal/mol PM6 431.86883 KJ (431.86883 kilojoules = 103.219128 kilocalories)
40.47 kcal/mol PM6 27.25763 KJ (27.25763 kilojoules = 6.51472992 kilocalories)
40.47 kcal/mol PM6 27.25761 KJ (27.25763 kilojoules = 6.51472992 kilocalories)
140.2 kcal/mol PM6 428.75878 KJ (428.75878 kilojoules = 102.475808 kilocalories)
which is in accordance with the energies from the lowest conformer.
I attached the source an outputs were the last file had problems with PM6 (bond broken) so I had to do an PM3 computation first. Actually the PM6 computation
is quite fast, so it would be easy to do a quick Marvin conformer calculation and send then everything to PM6 (at least for small molecules)
Tobias
User 65315e6b18
23-09-2007 08:56:32
Hi,
This seems to be a bug, thank you for reporting. We are going to fix it ASAP. The reason is that the second structure is invalid but the buildup process does not detect that correctly.
Best wishes,
Ödön
bobgr wrote: |
Hello,
The code:
Code: | GeometryPlugin plugin = new GeometryPlugin();
plugin.setCalculateForLEConformer("always");
plugin.setCalculateEnergy(true);
int start = stereoisomers.size() - 1;
System.out.println("specifyUnspecifiedConfigs: before energy check, "
+ "stereoisomers are " + Utils.printMolArrayList(stereoisomers));
for (int isomerNum = start; isomerNum >= 0; isomerNum--) {
try {
plugin.setMolecule(stereoisomers.get(isomerNum));
plugin.run();
double energy = plugin.getDreidingEnergy();
if (energy > MAX_DREIDING_ENERGY)
System.out.println("specifyUnspecifiedConfigs: removing "
+ stereoisomers.remove(isomerNum).toFormat("smiles")
+ " from list of stereoisomers due to strain of "
+ energy + ".");
else System.out.println("specifyUnspecifiedConfigs: "
+ stereoisomers.get(isomerNum).toFormat("smiles")
+ " has insufficient strain energy, " + energy
+ ", to be removed.");
} catch (PluginException e) {
System.out.println("MolFunctions.specifyUnspecifiedConfigs: "
+ "caught PluginException calculating energy of "
+ stereoisomers.get(isomerNum).toFormat("smiles")
+ "; continuing.");
} // try
} // for each stereoisomer |
The output:
Code: | specifyUnspecifiedConfigs: [H]C1C[C@@H]2C[C@H]1c3ccccc3C2 has insufficient strain energy, 42.62, to be removed.
specifyUnspecifiedConfigs: [H]C1C[C@@H]2C[C@@H]1c3ccccc3C2 has insufficient strain energy, 42.62, to be removed.
specifyUnspecifiedConfigs: Cl[H] has insufficient strain energy, 0.0, to be removed. |
I am concerned that [H]C1C[C@@H]2C[C@H]1c3ccccc3C2 and [H]C1C[C@@H]2C[C@@H]1c3ccccc3C2 are calculated to have the same Dreiding energy. |
User adecf4403f
05-05-2015 13:12:46
GeometryPlugin plugin4 = new GeometryPlugin();
m = MolImporter.importMol("MEK");
plugin4.setMolecule(m);
plugin4.setCalculateForLEConformer("always");
plugin4.setCalculateEnergy(true);
plugin4.run();
Hello, somebody help me.
chemaxon.marvin.plugin.PluginException: Geometry calculation with molecule in 0 dimension format.
at chemaxon.marvin.calculations.GeometryPlugin.run(GeometryPlugin.java:699)
[catch] at cu.uci.samp.core.OutputTopComponent.jButton1ActionPerformed(OutputTopComponent.java:203)
at cu.uci.samp.core.OutputTopComponent.access$200(OutputTopComponent.java:54)
at cu.uci.samp.core.OutputTopComponent$3.actionPerformed(OutputTopComponent.java:113)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
User 677b9c22ff
06-05-2015 18:56:41
ChemAxon d51151248d
07-05-2015 11:41:53
Hi All,
Tobias, thank you for your answer and help. Yes, this is quite an old forum topic, the code examples in it can be outdated already. Please use the newest API functions to run your calculations.
Thanks,
Daniel