observation on charge()

User 870ab5b546

27-09-2006 20:20:19

In your Baeyer-Villiger example, you use the selectivity rule,





charge(ratom(2), "sigma")





"meaning that the oxygen goes between the carbonyl carbon and its neighbour with the biggest sigma charge." The function really selects for the atom with the arithmetically smallest sigma charge. The charges are negative, so the group with the most negative charge is selected.





In the case of a pi bond, one atom might be partially negative, the other partially positive, and in that case, the distinction makes a real difference.

ChemAxon d76e6e95eb

28-09-2006 08:53:44

Thanks for pointing this out. We need to explain the rules more precisely and improve its English as well. Sometimes the partial charge is positive indeed. For example, in case of "CC(=O)C1CCCCC1", the calculated partial charge value of the ring carbon is 0.006, the methyl carbon is -0.017. The selectivity rule selects the ring carbon.





Can you advise a correct explanation sentence?

User 870ab5b546

28-09-2006 10:51:24

The behavior appears to be consistent with this rule:





"If the charges have the same sign, the group with the larger absolute value is selected. If the charges have different signs, the group with the positive charge is selected."





But this behavior doesn't make much sense chemically. Let's take the Baeyer-Villiger example. You say the Ph group is chosen over the Me group, even though the Ph group has a more positive partial charge. It is true that the Ph group has a greater migratory aptitude than the Me group, but it is not because of the sigma charge; it is because its pi electrons assist in delocalizing the positive charge in the transition state for migration. So even though your algorithm gives the right answer, it does so for the wrong reason. Really, your selectivity rule should read something like:





if (filter(match(ratom(2), "[c:1]", 1)) != null) // if any migrating atoms are aromatic


-charge(filter(match(ratom(2), "[c:1]", 1)), "pi"); // choose the aromatic with the most negative pi charge


else -charge(ratom(2), "sigma"); // else choose the C with the most negative sigma charge





Or perhaps,





-charge(ratom(2), (match(ratom(2), "[c:1]", 1) ? "pi" : "sigma")) // calculate the pi charge if the migrating atom is aromatic, else calculate the sigma charge, then choose the most negative charge





In either case, the charge rule should do a simple arithmetic comparison of the charges.

ChemAxon d76e6e95eb

28-09-2006 15:00:48

Conditional expressions are not yet supported by Chemical Terms at the moment, however this enhancement is among our plans. The reaction library is under revision, so any proposals, ideas, examples or counterexamples are appretiated.