User 870ab5b546
25-04-2009 03:34:45
Hi,
I'm trying to design a stereoselective conversion of epoxides to alkenes.
For cis or trans disubstituted epoxides, the reaction definitions work great. For example, with the following definition and the substrate C[C@@H]1O[C@H]1C, Reactor properly gives C\C=C/C as the first product set, and gives no second product set. (I use another definition for the enantiomer and another for the cis epoxide.)
<?xml version="1.0" ?>
<MDocument>
<MChemicalStruct>
<reaction x1="-1.0106250047683716" y1="2.6468749046325684" x2="0.8181250095367432" y2="2.6468749046325684">
<propertyList>
<property dictRef="NAME" title="NAME">
<scalar><![CDATA[trans disubstituted epoxide to alkene]]></scalar>
</property>
</propertyList>
<reactantList>
<molecule molID="m1">
<atomArray>
<atom id="a1" elementType="C" mrvMap="1"
x2="-6.212614211852734" y2="2.560591423544322" />
<atom id="a2" elementType="C" mrvMap="2"
x2="-4.672614211852734" y2="2.560591423544322" />
<atom id="a3" elementType="O"
x2="-5.442614211852733" y2="3.8942705453723576" />
<atom id="a4" elementType="H"
x2="-3.1507358751991417" y2="2.29500540217653" />
<atom id="a5" elementType="C" mrvMap="3"
x2="-7.618241804557157" y2="1.9314562467913696" />
<atom id="a6" elementType="H"
x2="-6.792234970338681" y2="1.1338329379090777" />
<atom id="a7" elementType="C" mrvMap="4"
x2="-3.7625885442717433" y2="1.151385208527358" />
</atomArray>
<bondArray>
<bond atomRefs2="a1 a6" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a1 a5" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond atomRefs2="a1 a3" order="1" />
<bond atomRefs2="a1 a2" order="1" />
<bond atomRefs2="a2 a7" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a2 a4" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond atomRefs2="a2 a3" order="1" />
</bondArray>
</molecule>
</reactantList>
<productList>
<molecule molID="m2">
<atomArray
atomID="a1 a2 a3 a4 a5 a6"
elementType="C C C C H H"
mrvMap="1 2 4 3 0 0"
x2="3.8071125223086426 5.347112522308643 6.261586763623176 2.8948472358472266 3.0740560150749765 6.248264524665041"
y2="2.5652036719766453 2.5652036719766453 3.905792945456781 3.805918001352054 1.2108668759017631 1.2563227975445912"
/>
<bondArray>
<bond atomRefs2="a1 a5" order="1" />
<bond atomRefs2="a1 a4" order="1" />
<bond atomRefs2="a1 a2" order="2" />
<bond atomRefs2="a2 a6" order="1" />
<bond atomRefs2="a2 a3" order="1" />
</bondArray>
</molecule>
</productList>
</reaction>
</MChemicalStruct>
</MDocument>
However, with a similar definition for a trisubstituted epoxide (below) and the substrate CC[C@]1(C)O[C@@H]1C, Reactor gives CC\C(C)=C\C as the first product set and CC\C(C)=C/C as the second product set. Why?
<?xml version="1.0" ?>
<MDocument>
<MChemicalStruct>
<reaction x1="-1.0106250047683716" y1="2.6468749046325684" x2="0.8181250095367432" y2="2.6468749046325684">
<propertyList>
<property dictRef="NAME" title="NAME">
<scalar><![CDATA[trisubstituted epoxide to alkene]]></scalar>
</property>
</propertyList>
<reactantList>
<molecule molID="m1">
<atomArray>
<atom id="a1" elementType="C" mrvMap="1"
x2="-6.212614211852734" y2="2.560591423544322" />
<atom id="a2" elementType="C" mrvMap="2"
x2="-4.672614211852734" y2="2.560591423544322" />
<atom id="a3" elementType="O"
x2="-5.442614211852733" y2="3.8942705453723576" />
<atom id="a4" elementType="H"
x2="-3.1507358751991417" y2="2.29500540217653" />
<atom id="a5" elementType="C" mrvMap="3"
x2="-7.618241804557157" y2="1.9314562467913696" />
<atom id="a6" elementType="C" mrvMap="5"
x2="-6.792234970338681" y2="1.1338329379090777" />
<atom id="a7" elementType="C" mrvMap="4"
x2="-3.7625885442717433" y2="1.151385208527358" />
</atomArray>
<bondArray>
<bond atomRefs2="a1 a6" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond atomRefs2="a1 a5" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a1 a3" order="1" />
<bond atomRefs2="a1 a2" order="1" />
<bond atomRefs2="a2 a7" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond atomRefs2="a2 a4" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a2 a3" order="1" />
</bondArray>
</molecule>
</reactantList>
<productList>
<molecule molID="m2">
<atomArray
atomID="a1 a2 a3 a4 a5 a6"
elementType="C C C C C H"
mrvMap="1 2 4 3 5 0"
x2="3.8071125223086426 5.347112522308643 6.261586763623176 2.8948472358472266 3.0740560150749765 6.248264524665041"
y2="2.5652036719766453 2.5652036719766453 3.905792945456781 3.805918001352054 1.210866875901763 1.2563227975445912"
/>
<bondArray>
<bond atomRefs2="a1 a5" order="1" />
<bond atomRefs2="a1 a4" order="1" />
<bond atomRefs2="a1 a2" order="2" />
<bond atomRefs2="a2 a6" order="1" />
<bond atomRefs2="a2 a3" order="1" />
</bondArray>
</molecule>
</productList>
</reaction>
</MChemicalStruct>
</MDocument>
Finally, for the cis epoxide -> trans alkene reaction definition, it works great for monocyclic cis epoxides, but for bicyclic ones like [H][C@@]12CCCC[C@]1([H])O2, it gives the cis cyclic alkene. It shouldn't; it should give the trans alkene, even though it is geometrically unreasonable. I should then be able to use a steric energy test on the product to exclude bicyclic epoxides from reacting. (I can write an awkward reactivity rule to accomplish the same purpose -- !match(ratom(1), "*~1~[#6][C:1]2OC2[#6]~1", 1) && !match(ratom(1), "*~1~*~[#6][C:1]2OC2[#6]~1", 1) && !match(ratom(1), "*~1~*~*~[#6][C:1]2OC2[#6]~1", 1) -- but I'd rather do it the other way because it involves one calculation, not three matches.)
<?xml version="1.0" ?>
<MDocument>
<MChemicalStruct>
<reaction x1="-1.0106250047683716" y1="2.6468749046325684" x2="0.8181250095367432" y2="2.6468749046325684">
<propertyList>
<property dictRef="NAME" title="NAME">
<scalar><![CDATA[cis disubstituted epoxide to alkene]]></scalar>
</property>
</propertyList>
<reactantList>
<molecule molID="m1">
<atomArray>
<atom id="a1" elementType="C" mrvMap="1"
x2="-6.212614211852734" y2="2.560591423544322" />
<atom id="a2" elementType="C" mrvMap="2"
x2="-4.672614211852734" y2="2.560591423544322" />
<atom id="a3" elementType="O"
x2="-5.442614211852733" y2="3.8942705453723576" />
<atom id="a4" elementType="H"
x2="-4.209485789368453" y2="1.0918804021765303" />
<atom id="a5" elementType="C" mrvMap="3"
x2="-7.618241804557157" y2="1.9314562467913696" />
<atom id="a6" elementType="H"
x2="-6.792234970338681" y2="1.1338329379090777" />
<atom id="a7" elementType="C" mrvMap="4"
x2="-3.1850884393675685" y2="2.16201009408644" />
</atomArray>
<bondArray>
<bond atomRefs2="a1 a6" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a1 a5" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond atomRefs2="a1 a3" order="1" />
<bond atomRefs2="a1 a2" order="1" />
<bond atomRefs2="a2 a7" order="1">
<bondStereo>H</bondStereo>
</bond>
<bond atomRefs2="a2 a4" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a2 a3" order="1" />
</bondArray>
</molecule>
</reactantList>
<productList>
<molecule molID="m2">
<atomArray
atomID="a1 a2 a3 a4 a5 a6"
elementType="C C C C H H"
mrvMap="1 2 4 3 0 0"
x2="3.8071125223086426 5.347112522308643 6.357836820843635 2.8948472358472266 3.0740560150749765 6.200139257636232"
y2="2.5652036719766453 2.5652036719766453 1.4032930074456114 3.805918001352054 1.2108668759017631 3.9994479680138753"
/>
<bondArray>
<bond atomRefs2="a1 a5" order="1" />
<bond atomRefs2="a1 a4" order="1" />
<bond atomRefs2="a1 a2" order="2" />
<bond atomRefs2="a2 a6" order="1" />
<bond atomRefs2="a2 a3" order="1" />
</bondArray>
</molecule>
</productList>
</reaction>
</MChemicalStruct>
</MDocument>
Comments?
-- Bob