resonance structures

User 870ab5b546

30-11-2005 17:55:04

I see Marvin now has a calculator plugin that calculates resonance structures of a given structure.





Does JChem now have a method that determines whether a query is a resonance structure of a target? Such a method would be useful.

ChemAxon a3d59b832c

30-11-2005 18:11:19

Dear Bob,





We are planning to introduce a tautomer search function, but not a resonance search option. I guess such an option would be too resource-intensive.





Best regards,





Szabolcs

User 870ab5b546

30-11-2005 19:22:08

Maybe you misunderstood me. I'm not looking for a search, just a comparison of two structures.

ChemAxon a3d59b832c

01-12-2005 07:51:31

bobgr wrote:
Maybe you misunderstood me. I'm not looking for a search, just a comparison of two structures.
OK, I see. We will discuss this exercise and get back to you.





Best regards,





Szabolcs

ChemAxon a3d59b832c

07-12-2005 14:53:36

Bob,





We will add a search option to match all resonance structures of the query. With this, you will be able to compare two molecules also, when the new option is used in combination with the PERFECT search.





Until it is implemented, I suggest the following:





Generate the resonance structures for one of your molecules with the help of the ResonancePlugin class (http://www.chemaxon.com/marvin/doc/api/chemaxon/marvin/calculations/ResonancePlugin.html)


and compare them one by one to the other molecule (PERFECT search).





Best regards,


Szabolcs

ChemAxon 587f88acea

21-02-2006 17:48:31

Szabolcs wrote:
We will add a search option to match all resonance structures of the query. With this, you will be able to compare two molecules also, when the new option is used in combination with the PERFECT search.
Great. When do you expect to implement this new option?

ChemAxon a3d59b832c

22-02-2006 09:45:29

Dear Bob,





In the meantime, there has been progress in the handling of resonant structures. In the next major Marvin and JChem versions we will be able to generate the most stable (canonical) resonant form of a structure. Currently we are testing this feature and creating the necessary interfaces.





Having this option, you will not need a search option at all, just get the canonical form of the two molecules and compare them with PERFECT match.





Best regards,


Szabolcs

User 870ab5b546

11-08-2006 16:33:34

I see in the Marvin alpha api, http://www.chemaxon.com/shared/alpha/marvin/doc/api/chemaxon/marvin/calculations/MultiformPlugin.html, that Marvin 4.1 now has a method getStructure() that returns a canonical resonance or tautomeric form. Great! I look forward to being able to use this method in the upcoming JChem API.





I don't understand what the parameter index is supposed to designate, though. All the API says is that it is the structure index. What is a structure index? Do you mean the fragment of number index that is obtained if a Molecule is fragmented into its disconnected components? If so, you should say so.





Also, if I use getStructure(), will the atom indices of the product structure be the same as those of the starting structure? If so, there would have to be an exception for tautomeric forms in which the migrating H is explicit. Or can explicit H atoms not be moved to generate tautomeric forms?





Also, what if I want to generate a resonance structure but not a tautomer? For example, suppose I have CH3C(=OH+)CH2 and I want to generate its lower-energy resonance structure. getStructure() may tautomerize it to acetone. Can I stop it from doing so?





Also, how acidic does an atom have to be before its H can migrate to generate a tautomer? For example, allylbenzene is a tautomer of beta-methylstyrene, but I think most people would not want beta-methylstyrene to be returned from allylbenzene.getStructure().





Your answers to these questions would be most appreciated.

ChemAxon e08c317633

14-08-2006 12:36:27

bobgr wrote:
I see in the Marvin alpha api, http://www.chemaxon.com/shared/alpha/marvin/doc/api/chemaxon/marvin/calculations/MultiformPlugin.html, that Marvin 4.1 now has a method getStructure() that returns a canonical resonance or tautomeric form. Great! I look forward to being able to use this method in the upcoming JChem API.





I don't understand what the parameter index is supposed to designate, though. All the API says is that it is the structure index. What is a structure index? Do you mean the fragment of number index that is obtained if a Molecule is fragmented into its disconnected components? If so, you should say so.





Also, if I use getStructure(), will the atom indices of the product structure be the same as those of the starting structure? If so, there would have to be an exception for tautomeric forms in which the migrating H is explicit. Or can explicit H atoms not be moved to generate tautomeric forms?
Hi Bob,





Please use ResonancePlugin and TautomerizationPlugin classes instead of MultiformPlugin class. They are subclasses of the MultiformPlugin class, and using them is "the official way" to access tautomer and resonance structure calculations.





The getStructure() method does nothing more, then returns the calculated resonance/tautomer structures one by one. You can obtain the same results with
Code:
Molecule structure = plugin.getStructure(0);
and


Code:
Molecule[] structures = plugin.getStructures();


Molecule structure = structures[0];






Using multiple fragments is not supported by these plugins; they calculate the resonance/tautomer structures of each fragment separately. We will improve the apidoc to make it clear.
bobgr wrote:
Also, what if I want to generate a resonance structure but not a tautomer? For example, suppose I have CH3C(=OH+)CH2 and I want to generate its lower-energy resonance structure. getStructure() may tautomerize it to acetone. Can I stop it from doing so?
I have attached images of what resonance and tautomer calculation returns on your structure using Marvin GUI. If the calculation is used from API, the result is the same.





Best regards,


Zsolt

User 870ab5b546

14-08-2006 12:58:03

Great! I didn't see that you could calculate resonance structures and tautomers separately.





I notice that your resonance structure calculator does not include diradical resonance forms, e.g., (CH3)2C•(O•). It ought to do. After all, (CH3)2C•(O•) is a much more important structure than (CH3)2C(O+).





Ah, now I see what you mean by index. Yes, you should improve the apidoc to make it clear that getStructure(int n) returns the nth calculated structure. You may also want to make it clear that the order of calculated structures may or may not reflect their relative energies.





So, I assume that if I generate resonance structures, the atom indices of the calculated structures will be the same as the original structure?





And you did not answer this question: How acidic does an atom have to be before its H can migrate to generate a tautomer? For example, allylbenzene is a tautomer of beta-methylstyrene, but I think most people would not want beta-methylstyrene to be returned from allylbenzene.getStructure().

User 870ab5b546

14-08-2006 18:10:59

One other question: in the Marvin 4.1 API, there is a method ResonancePlugin.setTakeCanonicalForm(). When this method is set to true, do I need to use ResonancePlugin.getStructure(0) to return the canconical form, or do I just need to use ResonancePlugin.getStructure()?

ChemAxon e08c317633

15-08-2006 10:24:30

bobgr wrote:
One other question: in the Marvin 4.1 API, there is a method ResonancePlugin.setTakeCanonicalForm(). When this method is set to true, do I need to use ResonancePlugin.getStructure(0) to return the canconical form, or do I just need to use ResonancePlugin.getStructure()?
Yes, you have to use ResonancePlugin.getStructure(0) . This plugin does not have a
Code:
public Molecule getStructure()
method, it only has
Code:
public Molecule getStructure(int index)






We can add the getStructure() method to ResonancePlugin class in the next version of Marvin.

User 851ac690a0

16-08-2006 01:39:18

Hi,








I notice that your resonance structure calculator does not include diradical resonance forms, e.g., (CH3)2C•(O•).





It must be a bug. I will fix it.





So, I assume that if I generate resonance structures, the atom indices of the calculated structures will be the same as the original structure?





No, not always will be the same.





How acidic does an atom have to be before its H can migrate to generate a tautomer?





Try this : Tool ==> Isomers ==> Tautomers ==> Take dominant tautomers








In this tool the dominant tautomers are generated with considering pKa of the donor sites.











Jozsi