unexpected R/S change on atom move

User 870ab5b546

08-09-2014 16:40:46

Consider the two structures below. It is not clear to me why the configurations of the stereocenters on the left change from (S,R) to (R,S) when the vertical coordinate of the stereocenter on the upper right is changed ever so slightly.


<?xml version="1.0" encoding="MacRoman"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/help/formats/schema/mrvSchema_6_2_0.xsd" version="ChemAxon file format v6.2, generated by v6.3.1">
<MDocument>
<MChemicalStruct>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50" elementType="C C C C C C C C C C C C C C C C C O C O O H H H H C C C C C C C C C C C C C C C C C O C O O H H H H" x2="6.512001037597656 5.178331696549398 5.178331696549398 6.512001037597656 7.845670378645915 7.845670378645915 9.179339719694173 9.179339719694173 10.51300906074243 10.51300906074243 11.846707743484469 13.180406426226508 13.180406426226508 11.846707743484469 14.912865782096329 14.8028670790934 16.782865705802383 17.552865705802382 16.3428670790934 16.782865705802383 17.431811522120682 14.0328670790934 14.472865705802384 8.475340200346029 8.34333927718929 23.121024861987966 21.787355520939705 21.787355520939705 23.121024861987966 24.454694203036222 24.454694203036222 25.78836354408448 25.78836354408448 27.122032885132736 27.122032885132736 28.455731567874775 29.789430250616814 29.789430250616814 28.455731567874775 31.521889606486635 31.411890903483705 33.391889530192685 34.161889530192695 32.9518909034837 33.391889530192685 34.04083534651099 30.64189090348371 31.081889530192694 25.084364024736335 24.952363101579596" y2="6.017033640792153 5.247016700233113 3.706982819115032 2.9369658785559913 3.706982819115032 5.247016700233113 6.017033640792153 2.9369658785559913 3.706982819115032 5.247016700233113 2.936948937624246 3.70691505613346 5.24691505613346 6.016948937624246 5.3046151476334575 2.3623845500517833 6.459614880604649 5.125935758776614 2.3623845500517833 7.99961488060465 1.2734401070245003 1.0287054282237476 7.793294002432685 7.4250336713097305 1.484965937683799 5.753924966622989 4.983908026063949 3.443874144945868 2.6738572043868274 3.443874144945868 4.983908026063949 5.753924966622989 2.6738572043868274 3.443874144945868 4.983908026063949 2.673840263455082 3.443806381964297 4.983806381964296 5.753840263455082 4.931506161135955 2.0992758758826193 6.196506206435485 4.862827084607449 2.0992758758826193 7.736506206435486 1.0103314328553363 0.7655967540545836 7.530185328263521 7.1619249971405665 1.221857263514635"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a2 a3" order="2"/>
<bond id="b3" atomRefs2="a3 a4" order="1"/>
<bond id="b4" atomRefs2="a4 a5" order="2"/>
<bond id="b5" atomRefs2="a5 a6" order="1"/>
<bond id="b6" atomRefs2="a1 a6" order="2"/>
<bond id="b7" atomRefs2="a8 a9" order="1"/>
<bond id="b8" atomRefs2="a9 a10" order="2"/>
<bond id="b9" atomRefs2="a7 a10" order="1"/>
<bond id="b10" atomRefs2="a5 a8" order="1"/>
<bond id="b11" atomRefs2="a7 a6" order="1"/>
<bond id="b12" atomRefs2="a11 a12" order="2"/>
<bond id="b13" atomRefs2="a12 a13" order="1"/>
<bond id="b14" atomRefs2="a13 a14" order="2"/>
<bond id="b15" atomRefs2="a9 a11" order="1"/>
<bond id="b16" atomRefs2="a10 a14" order="1"/>
<bond id="b17" atomRefs2="a7 a15" order="1"/>
<bond id="b18" atomRefs2="a8 a16" order="1"/>
<bond id="b19" atomRefs2="a15 a17" order="1"/>
<bond id="b20" atomRefs2="a17 a18" order="1"/>
<bond id="b21" atomRefs2="a16 a19" order="1"/>
<bond id="b22" atomRefs2="a19 a18" order="1"/>
<bond id="b23" atomRefs2="a17 a20" order="2"/>
<bond id="b24" atomRefs2="a19 a21" order="2"/>
<bond id="b25" atomRefs2="a15 a16" order="1"/>
<bond id="b26" atomRefs2="a16 a22" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond id="b27" atomRefs2="a15 a23" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond id="b28" atomRefs2="a7 a24" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond id="b29" atomRefs2="a8 a25" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond id="b30" atomRefs2="a26 a27" order="1"/>
<bond id="b31" atomRefs2="a27 a28" order="2"/>
<bond id="b32" atomRefs2="a28 a29" order="1"/>
<bond id="b33" atomRefs2="a29 a30" order="2"/>
<bond id="b34" atomRefs2="a30 a31" order="1"/>
<bond id="b35" atomRefs2="a26 a31" order="2"/>
<bond id="b36" atomRefs2="a33 a34" order="1"/>
<bond id="b37" atomRefs2="a34 a35" order="2"/>
<bond id="b38" atomRefs2="a32 a35" order="1"/>
<bond id="b39" atomRefs2="a30 a33" order="1"/>
<bond id="b40" atomRefs2="a32 a31" order="1"/>
<bond id="b41" atomRefs2="a36 a37" order="2"/>
<bond id="b42" atomRefs2="a37 a38" order="1"/>
<bond id="b43" atomRefs2="a38 a39" order="2"/>
<bond id="b44" atomRefs2="a34 a36" order="1"/>
<bond id="b45" atomRefs2="a35 a39" order="1"/>
<bond id="b46" atomRefs2="a32 a40" order="1"/>
<bond id="b47" atomRefs2="a33 a41" order="1"/>
<bond id="b48" atomRefs2="a40 a42" order="1"/>
<bond id="b49" atomRefs2="a42 a43" order="1"/>
<bond id="b50" atomRefs2="a41 a44" order="1"/>
<bond id="b51" atomRefs2="a44 a43" order="1"/>
<bond id="b52" atomRefs2="a42 a45" order="2"/>
<bond id="b53" atomRefs2="a44 a46" order="2"/>
<bond id="b54" atomRefs2="a40 a41" order="1"/>
<bond id="b55" atomRefs2="a41 a47" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond id="b56" atomRefs2="a40 a48" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond id="b57" atomRefs2="a32 a49" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond id="b58" atomRefs2="a33 a50" order="1">
<bondStereo>W</bondStereo>
</bond>
</bondArray>
</molecule>
</MChemicalStruct>
</MDocument>
</cml>

ChemAxon 044c6721bc

09-09-2014 10:14:07

Hi Bob,


Thanks for the report, we just working on a new stereo calculator, I think it will solve this problem too.



János

User 870ab5b546

09-09-2014 17:53:35

OK, but please fix it soon. Here's an even more egregious example, where the structure changes from R,S (correct) to R,R (incorrect) with a slight coordinate change.


<?xml version="1.0" encoding="UTF-8"?>
<cml xmlns="http://www.chemaxon.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.chemaxon.com/marvin/help/formats/schema/mrvSchema_14_8_4.xsd" version="ChemAxon file format v14.8.4, generated by v14.8.25.0">
<MDocument>
<MChemicalStruct>
<molecule molID="m1">
<atomArray atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24" elementType="C C C C C C C C R R H H C C C C C C C C R R H H" sgroupRef="0 0 0 0 0 0 0 0 sg1 sg2 0 0 0 0 0 0 0 0 0 0 sg3 sg4 0 0" x2="-12.133333333333335 -13.46706666666667 -13.46706666666667 -12.133333333333335 -10.799600000000002 -10.799600000000002 -8.294471649309052 -8.261527915815462 -7.480583560526215 -7.007416641652743 -12.133333333333335 -12.133333333333335 -2.821444426642522 -4.155177759975857 -4.155177759975857 -2.821444426642522 -1.4877110933091906 -1.4877110933091906 1.0174172573817586 1.0503609908753475 1.8313053461645978 2.3044722650380685 -2.821444426642522 -2.821444426642522" y2="10.173333333333336 9.403333333333334 7.863333333333335 7.093333333333334 7.863333333333335 9.403333333333334 8.076194326897411 10.221139002621229 11.310083445648509 6.987250360707286 11.713333333333335 5.553333333333334 10.520222610367671 9.750222610367668 8.21022261036767 7.440222610367668 8.21022261036767 9.750222610367668 8.115083993030868 10.568028279655561 11.656972722682841 7.33413963774162 12.06022261036767 5.900222610367667"/>
<bondArray>
<bond id="b1" atomRefs2="a1 a2" order="1"/>
<bond id="b2" atomRefs2="a1 a6" order="1"/>
<bond id="b3" atomRefs2="a2 a3" order="2"/>
<bond id="b4" atomRefs2="a3 a4" order="1"/>
<bond id="b5" atomRefs2="a4 a5" order="1"/>
<bond id="b6" atomRefs2="a5 a6" order="1"/>
<bond id="b7" atomRefs2="a8 a7" order="2"/>
<bond id="b8" atomRefs2="a8 a9" order="1"/>
<bond id="b9" atomRefs2="a7 a10" order="1"/>
<bond id="b10" atomRefs2="a1 a8" order="1"/>
<bond id="b11" atomRefs2="a4 a7" order="1"/>
<bond id="b12" atomRefs2="a1 a11" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond id="b13" atomRefs2="a4 a12" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond id="b14" atomRefs2="a13 a14" order="1"/>
<bond id="b15" atomRefs2="a13 a18" order="1"/>
<bond id="b16" atomRefs2="a14 a15" order="2"/>
<bond id="b17" atomRefs2="a15 a16" order="1"/>
<bond id="b18" atomRefs2="a16 a17" order="1"/>
<bond id="b19" atomRefs2="a17 a18" order="1"/>
<bond id="b20" atomRefs2="a20 a19" order="2"/>
<bond id="b21" atomRefs2="a20 a21" order="1"/>
<bond id="b22" atomRefs2="a19 a22" order="1"/>
<bond id="b23" atomRefs2="a13 a20" order="1"/>
<bond id="b24" atomRefs2="a16 a19" order="1"/>
<bond id="b25" atomRefs2="a13 a23" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond id="b26" atomRefs2="a16 a24" order="1">
<bondStereo>W</bondStereo>
</bond>
</bondArray>
<molecule id="sg1" role="SuperatomSgroup" title="CO2Me" leftName="MeO2C" molID="m2">
<atomArray atomID="a25 a26 a27 a28" elementType="C O C O" attachmentPoint="1 0 0 0" sgroupAttachmentPoint="1 0 0 0" x2="-1.84742111741854 -2.2460024468764246 -1.1570580038491434 -2.9363655604458243" y2="20.333822634805856 18.846296862320685 17.757352419293397 21.422767077833136"/>
<bondArray>
<bond id="b27" atomRefs2="a27 a26" order="1"/>
<bond id="b28" atomRefs2="a26 a25" order="1"/>
<bond id="b29" atomRefs2="a25 a28" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a25" order="1" bond="b8"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg2" role="SuperatomSgroup" title="CO2Me" leftName="MeO2C" molID="m3">
<atomArray atomID="a29 a30 a31 a32" elementType="C O C O" attachmentPoint="1 0 0 0" sgroupAttachmentPoint="1 0 0 0" x2="-5.253619316309426 -5.6522006457673095 -4.5632562027400265 -6.3425637593367075" y2="12.81221443925249 11.324688666767319 10.23574422374004 13.901158882279773"/>
<bondArray>
<bond id="b30" atomRefs2="a31 a30" order="1"/>
<bond id="b31" atomRefs2="a30 a29" order="1"/>
<bond id="b32" atomRefs2="a29 a32" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a29" order="1" bond="b9"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg3" role="SuperatomSgroup" title="CO2Me" leftName="MeO2C" molID="m4">
<atomArray atomID="a33 a34 a35 a36" elementType="C O C O" attachmentPoint="1 0 0 0" sgroupAttachmentPoint="1 0 0 0" x2="7.4644677892722715 7.0658864598143865 8.154830902841667 6.375523346244986" y2="20.680711911840188 19.193186139355017 18.10424169632773 21.769656354867468"/>
<bondArray>
<bond id="b33" atomRefs2="a35 a34" order="1"/>
<bond id="b34" atomRefs2="a34 a33" order="1"/>
<bond id="b35" atomRefs2="a33 a36" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a33" order="1" bond="b21"/>
</AttachmentPointArray>
</molecule>
<molecule id="sg4" role="SuperatomSgroup" title="CO2Me" leftName="MeO2C" molID="m5">
<atomArray atomID="a37 a38 a39 a40" elementType="C O C O" attachmentPoint="1 0 0 0" sgroupAttachmentPoint="1 0 0 0" x2="4.058269590381386 3.6596882609235024 4.7486327039507845 2.9693251473541054" y2="13.159103716286825 11.671577943801655 10.582633500774374 14.248048159314106"/>
<bondArray>
<bond id="b36" atomRefs2="a39 a38" order="1"/>
<bond id="b37" atomRefs2="a38 a37" order="1"/>
<bond id="b38" atomRefs2="a37 a40" order="2"/>
</bondArray>
<AttachmentPointArray>
<attachmentPoint atom="a37" order="1" bond="b22"/>
</AttachmentPointArray>
</molecule>
</molecule>
</MChemicalStruct>
</MDocument>
</cml>

ChemAxon 25dcd765a3

15-09-2014 08:52:33

Hi Bob,


The issue is related how we calculate the stereochemistry from the coordinates of the ligands. The calculated value changes to the opposite value if one non-wedged ligand crosses the line defined by the two other non-wedged ligands. I have attached an example for clarification.


What would be your expected behaviour?

User 870ab5b546

15-09-2014 15:49:33

I would not expect the length of a bond to affect the configuration at all. I would expect the configuration to be determined only by the angles of the various bonds around the stereocenter. What is your reason for considering the bond length? 

ChemAxon 25dcd765a3

16-09-2014 12:34:04

We consider the position of the ligand relative to the stereocenter. Which means the angle and the length of the bond together. Do you think if we used the bond angles alone, we would not miss some arrangement?


Let us change the algorithm to handle only bond angles and see what is the change in the detected stereocenters.

User 870ab5b546

16-09-2014 13:29:16










volfi wrote:

We consider the position of the ligand relative to the stereocenter. Which means the angle and the length of the bond together. Do you think if we used the bond angles alone, we would not miss some arrangement?



I could be wrong, but I don't think you would misassign a configuration if you considered bond angles alone. 

ChemAxon 25dcd765a3

17-09-2014 06:56:42

I have just checked some cases.


The major question what configuration assign to some unusual arrangement (if any).


The left example is quite clear, one could imagine that the Hydrogen and the Carbon ligand is above an imaginary plane and the Iodine and Chlorine ligand is behind of that plane. (The stereocenter Carbon atom is lying on the imaginary plane.)


The right one is more tricky (currently identified as S configuration) it could be identified as the left example (R configuration) following the arguments there, or just leave undefined. For me the undefined result is more acceptable, but in this case the question arises: what is the threshold where the defined stereocenter changes to undefined?


The second situation usually appears at strained ring systems, which may not allow us to return undefined value.

User 870ab5b546

17-09-2014 13:44:55

I would say that the one of the right should either be the same as the one on the left or undefined. The configuration shouldn't change based on a slight change in the position of an atom, when the relative bond angles don't change. Look at the picture I posted below. Do you really think that the configurations should be different in these two cases?


Can you give me a pair of cases where it is clear that a slight change in atom position should give a change in configuration?

ChemAxon 25dcd765a3

18-09-2014 08:49:04










bobgr wrote:

Can you give me a pair of cases where it is clear that a slight change in atom position should give a change in configuration?



No, I cannot think of any, right now.


So, do we agree that even some ambiguous cases gets assigned stereodescriptor?


I'm following your example and what I'm thinking about to assign R configuration all cases when the middle ligand is moved anywhere between the other, side ring ligands. Do you think it is acceptable?

User 870ab5b546

18-09-2014 13:45:52










volfi wrote:

So, do we agree that even some ambiguous cases gets assigned stereodescriptor?



I guess it would depend on the case. In general, I think if the intention of the user is not clear, then no configuration should be assigned. Can you give me an example of an ambiguous case where you think the configuration should be assigned? 











volfi wrote:

I'm following your example and what I'm thinking about to assign R configuration all cases when the middle ligand is moved anywhere between the other, side ring ligands. Do you think it is acceptable?



Yes, I think that is acceptable, if "between" is defined by the vectors that start at the stereocenter and extend infinitely along the bonds.