From f58ad271909e39f9d839fde58dab7ac4f7ab6143 Mon Sep 17 00:00:00 2001 From: Fabian <132886103+FabianKruger@users.noreply.github.com> Date: Tue, 4 Aug 2026 11:57:30 +0200 Subject: [PATCH] fixed stereochemistry of mitsunobu and added tests --- CHANGELOG.md | 4 + src/smartreact/data/templates.txt | 120 +++++++++++++++--------------- tests/conftest.py | 4 + tests/test_enumerator.py | 22 ++++++ 4 files changed, 90 insertions(+), 60 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 199b116..a7137a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ This follows the guideline on [keep a changelog](https://keepachangelog.com/en/1 ## [Unreleased] +### Fixed + +- Mitsunobu products now have the correct configuration at the carbinol carbon. The reaction proceeds by backside attack, so that centre inverts, but the templates left it unmarked and RDKit's default is to carry the reactant's configuration through unchanged — every stereodefined Mitsunobu product was the wrong enantiomer. All 60 mitsunobu templates now mark the centre as inverted relative to the input, so both input enantiomers are handled by the same template and an undefined centre stays undefined. No products are gained or lost; only their stereochemistry changes + ### Changed - Reaction templates updated with the inert `;!$([a3])` qualifier removed (11,848 occurrences across 2,368 templates). `[a3]` means "aromatic *and* isotope 3", which no realistic molecule satisfies diff --git a/src/smartreact/data/templates.txt b/src/smartreact/data/templates.txt index bb5805d..84e4044 100644 --- a/src/smartreact/data/templates.txt +++ b/src/smartreact/data/templates.txt @@ -7040,66 +7040,66 @@ cross_electrophile_coupling 7038 CCc1c(Br)ccc2ccncc12.Brc1ccc2ccncc2c1CCc1c(Br)n cross_electrophile_coupling 7039 CCc1c(Br)ccc2ccncc12.Brc1ccc2ccncc2c1CCc1c(Br)ncc2ccccc12>>CCc1c2cnccc2ccc1c1ncc2ccccc2c1CCc1c(Br)ccc2ccncc12 [Br;$([Br][*;$([#6]);!$(*=*)]);$([$(*[$(c1cc2c(aaaa2)cc1)]),$(*[$(c(ccc2)c1c2aaaa1)]);!$([$(*[$(c1cc2c(cccc2)cc1)]),$(*[$(c(ccc2)c1c2cccc1)])])]):1][*:2].[Br;$([Br][*;$([#6]);!$(*=*)]);$([$(*[$(a1ac2c(cccc2)aa1)]),$(*[$(a(aaa2)c1c2cccc1)]);!$([$(*[$(c1cc2c(cccc2)cc1)]),$(*[$(c(ccc2)c1c2cccc1)]),$(*[$(c1cc2c(aaaa2)cc1)]),$(*[$(c(ccc2)c1c2aaaa1)])])]):3][a:4]>>[a:2][a:4] X-Bromide_PheHet6.X-Bromide_Het6Phe cross_electrophile_coupling 7040 CCc1c(Br)ccc2ccncc12.Brc1cc2cocc2cc1CCc1c(Br)ccc2ccncc12>>CCc1c2cnccc2ccc1c1cc2cocc2cc1CCc1c(Br)ccc2ccncc12 [Br;$([Br][*;$([#6]);!$(*=*)]);$([$(*[$(c1cc2c(aaaa2)cc1)]),$(*[$(c(ccc2)c1c2aaaa1)]);!$([$(*[$(c1cc2c(cccc2)cc1)]),$(*[$(c(ccc2)c1c2cccc1)])])]):1][*:2].[Br;$([Br][*;$([#6]);!$(*=*)]);$([$(*[c;$(c1c2c(aaa2)ccc1)]),$(*[c;$(c1ccc2c(aaa2)c1)])]):3][a:4]>>[a:2][a:4] X-Bromide_PheHet6.X-Bromide_PheHet5 cross_electrophile_coupling 7041 CCc1c(Br)ccc2ccncc12.Brc1ccc2ccncc2c1CCCc1c(Br)ccc2ccncc12>>CCc1c2cnccc2ccc1c1ccc2ccncc2c1CCCc1c(Br)ccc2ccncc12 [Br;$([Br][*;$([#6]);!$(*=*)]);$([$(*[$(c1cc2c(aaaa2)cc1)]),$(*[$(c(ccc2)c1c2aaaa1)]);!$([$(*[$(c1cc2c(cccc2)cc1)]),$(*[$(c(ccc2)c1c2cccc1)])])]):1][*:2].[Br;$([Br][*;$([#6]);!$(*=*)]);$([$(*[$(c1cc2c(aaaa2)cc1)]),$(*[$(c(ccc2)c1c2aaaa1)]);!$([$(*[$(c1cc2c(cccc2)cc1)]),$(*[$(c(ccc2)c1c2cccc1)])])]):3][*:4]>>[a:2][a:4] X-Bromide_PheHet6.X-Bromide_PheHet6 -mitsunobu 7042 CCc1ccccc1O.OCCCCCCc1ccccc1O>>CCc1ccccc1OCCCCCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6:4]>>[#6:2]O[#6:4] Phenol.PrimaryAlcoholAliphatic -mitsunobu 7043 CCc1ccccc1O.OCc1ccccc1CCCc1ccccc1O>>CCc1ccccc1OCc1ccccc1CCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6:4]>>[#6:2]O[#6:4] Phenol.PrimaryAlcoholAromatic -mitsunobu 7044 CCc1ccccc1O.CCC(O)CCCCCc1ccccc1O>>CCc1ccccc1OC(CC)CCCCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6:4]>>[#6:2]O[#6:4] Phenol.SecondaryAlcoholAliphaticAcyclic -mitsunobu 7045 CCc1ccccc1O.Oc1ccccc1CCC1CCC2C(C1)C(O)C1CCCCC12>>CCc1ccccc1OC1C2CCCCC2C2CCC(CCc3ccccc3O)CC21 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6:4]>>[#6:2]O[#6:4] Phenol.SecondaryAlcoholAliphaticCyclic -mitsunobu 7046 CCc1ccccc1O.Oc1ccccc1CCCc1ccccc1C(O)c1ccccc1>>CCc1ccccc1OC(c1ccccc1)c1ccccc1CCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6:4]>>[#6:2]O[#6:4] Phenol.SecondaryAlcoholAromaticAcyclic -mitsunobu 7047 CCc1ccccc1O.Oc1ccccc1CCc1ccc2c(c1)C(O)c1ccccc1-2>>CCc1ccccc1OC1c2ccccc2c2ccc(CCc3ccccc3O)cc21 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6:4]>>[#6:2]O[#6:4] Phenol.SecondaryAlcoholAromaticCyclic -mitsunobu 7048 CCc1ccccc1O.CCCC(O)c1ccccc1CCCc1ccccc1O>>CCCC(Oc1ccccc1CC)c1ccccc1CCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6:4]>>[#6:2]O[#6:4] Phenol.SecondaryAlcoholMixAcyclic -mitsunobu 7049 CCc1ccccc1O.Oc1ccccc1CCc1ccc2c(c1)C(O)C1CCCCC21>>CCc1ccccc1OC1c2cc(CCc3ccccc3O)ccc2C2CCCCC21 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6:4]>>[#6:2]O[#6:4] Phenol.SecondaryAlcoholMixCyclic -mitsunobu 7050 CCc1ccccc1O.CC(CCc1ccccc1O)CC(C)(C)O>>CCc1ccccc1OC(C)(C)CC(C)CCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]O[#6:4] Phenol.TertiaryAlcoholAcyclic -mitsunobu 7051 CCc1ccccc1O.CC1(O)CCCC(CCc2ccccc2O)C1>>CCc1ccccc1OC1(C)CCCC(CCc2ccccc2O)C1 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]O[#6:4] Phenol.TertiaryAlcoholCyclic -mitsunobu 7052 CCc1ccoc1O.OCCCCCCc1ccoc1O>>CCc1ccoc1OCCCCCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.PrimaryAlcoholAliphatic -mitsunobu 7053 CCc1ccoc1O.OCc1ccccc1CCCc1ccoc1O>>CCc1ccoc1OCc1ccccc1CCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.PrimaryAlcoholAromatic -mitsunobu 7054 CCc1ccoc1O.CCC(O)CCCCCc1ccoc1O>>CCc1ccoc1OC(CC)CCCCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAliphaticAcyclic -mitsunobu 7055 CCc1ccoc1O.Oc1occc1CCC1CCC2C(C1)C(O)C1CCCCC12>>CCc1ccoc1OC1C2CCCCC2C2CCC(CCc3ccoc3O)CC21 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAliphaticCyclic -mitsunobu 7056 CCc1ccoc1O.Oc1occc1CCCc1ccccc1C(O)c1ccccc1>>CCc1ccoc1OC(c1ccccc1)c1ccccc1CCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAromaticAcyclic -mitsunobu 7057 CCc1ccoc1O.Oc1occc1CCc1ccc2c(c1)C(O)c1ccccc1-2>>CCc1ccoc1OC1c2ccccc2c2ccc(CCc3ccoc3O)cc21 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAromaticCyclic -mitsunobu 7058 CCc1ccoc1O.CCCC(O)c1ccccc1CCCc1ccoc1O>>CCCC(Oc1occc1CC)c1ccccc1CCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.SecondaryAlcoholMixAcyclic -mitsunobu 7059 CCc1ccoc1O.Oc1occc1CCc1ccc2c(c1)C(O)C1CCCCC21>>CCc1ccoc1OC1c2cc(CCc3ccoc3O)ccc2C2CCCCC21 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.SecondaryAlcoholMixCyclic -mitsunobu 7060 CCc1ccoc1O.CC(CCc1ccoc1O)CC(C)(C)O>>CCc1ccoc1OC(C)(C)CC(C)CCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.TertiaryAlcoholAcyclic -mitsunobu 7061 CCc1ccoc1O.CC1(O)CCCC(CCc2ccoc2O)C1>>CCc1ccoc1OC1(C)CCCC(CCc2ccoc2O)C1 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic5membered.TertiaryAlcoholCyclic -mitsunobu 7062 CCc1cccnc1O.OCCCCCCc1cccnc1O>>CCc1cccnc1OCCCCCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.PrimaryAlcoholAliphatic -mitsunobu 7063 CCc1cccnc1O.OCc1ccccc1CCCc1cccnc1O>>CCc1cccnc1OCc1ccccc1CCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.PrimaryAlcoholAromatic -mitsunobu 7064 CCc1cccnc1O.CCC(O)CCCCCc1cccnc1O>>CCc1cccnc1OC(CC)CCCCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAliphaticAcyclic -mitsunobu 7065 CCc1cccnc1O.Oc1ncccc1CCC1CCC2C(C1)C(O)C1CCCCC12>>CCc1cccnc1OC1C2CCCCC2C2CCC(CCc3cccnc3O)CC21 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAliphaticCyclic -mitsunobu 7066 CCc1cccnc1O.Oc1ncccc1CCCc1ccccc1C(O)c1ccccc1>>CCc1cccnc1OC(c1ccccc1)c1ccccc1CCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAromaticAcyclic -mitsunobu 7067 CCc1cccnc1O.Oc1ncccc1CCc1ccc2c(c1)C(O)c1ccccc1-2>>CCc1cccnc1OC1c2ccccc2c2ccc(CCc3cccnc3O)cc21 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAromaticCyclic -mitsunobu 7068 CCc1cccnc1O.CCCC(O)c1ccccc1CCCc1cccnc1O>>CCCC(Oc1ncccc1CC)c1ccccc1CCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.SecondaryAlcoholMixAcyclic -mitsunobu 7069 CCc1cccnc1O.Oc1ncccc1CCc1ccc2c(c1)C(O)C1CCCCC21>>CCc1cccnc1OC1c2cc(CCc3cccnc3O)ccc2C2CCCCC21 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.SecondaryAlcoholMixCyclic -mitsunobu 7070 CCc1cccnc1O.CC(CCc1cccnc1O)CC(C)(C)O>>CCc1cccnc1OC(C)(C)CC(C)CCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.TertiaryAlcoholAcyclic -mitsunobu 7071 CCc1cccnc1O.CC1(O)CCCC(CCc2cccnc2O)C1>>CCc1cccnc1OC1(C)CCCC(CCc2cccnc2O)C1 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]O[#6:4] PhenolHeteroaromatic6membered.TertiaryAlcoholCyclic -mitsunobu 7072 CCc1ccccc1S.OCCCCCCc1ccccc1S>>CCc1ccccc1SCCCCCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.PrimaryAlcoholAliphatic -mitsunobu 7073 CCc1ccccc1S.OCc1ccccc1CCCc1ccccc1S>>CCc1ccccc1SCc1ccccc1CCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.PrimaryAlcoholAromatic -mitsunobu 7074 CCc1ccccc1S.CCC(O)CCCCCc1ccccc1S>>CCc1ccccc1SC(CC)CCCCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.SecondaryAlcoholAliphaticAcyclic -mitsunobu 7075 CCc1ccccc1S.OC1C2CCCCC2C2CCC(CCc3ccccc3S)CC12>>CCc1ccccc1SC1C2CCCCC2C2CCC(CCc3ccccc3S)CC21 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.SecondaryAlcoholAliphaticCyclic -mitsunobu 7076 CCc1ccccc1S.OC(c1ccccc1)c1ccccc1CCCc1ccccc1S>>CCc1ccccc1SC(c1ccccc1)c1ccccc1CCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.SecondaryAlcoholAromaticAcyclic -mitsunobu 7077 CCc1ccccc1S.OC1c2ccccc2-c2ccc(CCc3ccccc3S)cc21>>CCc1ccccc1SC1c2ccccc2c2ccc(CCc3ccccc3S)cc21 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.SecondaryAlcoholAromaticCyclic -mitsunobu 7078 CCc1ccccc1S.CCCC(O)c1ccccc1CCCc1ccccc1S>>CCCC(Sc1ccccc1CC)c1ccccc1CCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.SecondaryAlcoholMixAcyclic -mitsunobu 7079 CCc1ccccc1S.OC1c2cc(CCc3ccccc3S)ccc2C2CCCCC12>>CCc1ccccc1SC1c2cc(CCc3ccccc3S)ccc2C2CCCCC21 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.SecondaryAlcoholMixCyclic -mitsunobu 7080 CCc1ccccc1S.CC(CCc1ccccc1S)CC(C)(C)O>>CCc1ccccc1SC(C)(C)CC(C)CCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.TertiaryAlcoholAcyclic -mitsunobu 7081 CCc1ccccc1S.CC1(O)CCCC(CCc2ccccc2S)C1>>CCc1ccccc1SC1(C)CCCC(CCc2ccccc2S)C1 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]S[#6:4] Thiophenol.TertiaryAlcoholCyclic -mitsunobu 7082 CCc1ccoc1S.OCCCCCCc1ccoc1S>>CCc1ccoc1SCCCCCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.PrimaryAlcoholAliphatic -mitsunobu 7083 CCc1ccoc1S.OCc1ccccc1CCCc1ccoc1S>>CCc1ccoc1SCc1ccccc1CCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.PrimaryAlcoholAromatic -mitsunobu 7084 CCc1ccoc1S.CCC(O)CCCCCc1ccoc1S>>CCc1ccoc1SC(CC)CCCCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAliphaticAcyclic -mitsunobu 7085 CCc1ccoc1S.OC1C2CCCCC2C2CCC(CCc3ccoc3S)CC12>>CCc1ccoc1SC1C2CCCCC2C2CCC(CCc3ccoc3S)CC21 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAliphaticCyclic -mitsunobu 7086 CCc1ccoc1S.OC(c1ccccc1)c1ccccc1CCCc1ccoc1S>>CCc1ccoc1SC(c1ccccc1)c1ccccc1CCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAromaticAcyclic -mitsunobu 7087 CCc1ccoc1S.OC1c2ccccc2-c2ccc(CCc3ccoc3S)cc21>>CCc1ccoc1SC1c2ccccc2c2ccc(CCc3ccoc3S)cc21 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAromaticCyclic -mitsunobu 7088 CCc1ccoc1S.CCCC(O)c1ccccc1CCCc1ccoc1S>>CCCC(Sc1occc1CC)c1ccccc1CCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholMixAcyclic -mitsunobu 7089 CCc1ccoc1S.OC1c2cc(CCc3ccoc3S)ccc2C2CCCCC12>>CCc1ccoc1SC1c2cc(CCc3ccoc3S)ccc2C2CCCCC21 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholMixCyclic -mitsunobu 7090 CCc1ccoc1S.CC(CCc1ccoc1S)CC(C)(C)O>>CCc1ccoc1SC(C)(C)CC(C)CCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.TertiaryAlcoholAcyclic -mitsunobu 7091 CCc1ccoc1S.CC1(O)CCCC(CCc2ccoc2S)C1>>CCc1ccoc1SC1(C)CCCC(CCc2ccoc2S)C1 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic5membered.TertiaryAlcoholCyclic -mitsunobu 7092 CCc1cccnc1S.OCCCCCCc1cccnc1S>>CCc1cccnc1SCCCCCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.PrimaryAlcoholAliphatic -mitsunobu 7093 CCc1cccnc1S.OCc1ccccc1CCCc1cccnc1S>>CCc1cccnc1SCc1ccccc1CCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.PrimaryAlcoholAromatic -mitsunobu 7094 CCc1cccnc1S.CCC(O)CCCCCc1cccnc1S>>CCc1cccnc1SC(CC)CCCCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAliphaticAcyclic -mitsunobu 7095 CCc1cccnc1S.OC1C2CCCCC2C2CCC(CCc3cccnc3S)CC12>>CCc1cccnc1SC1C2CCCCC2C2CCC(CCc3cccnc3S)CC21 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAliphaticCyclic -mitsunobu 7096 CCc1cccnc1S.OC(c1ccccc1)c1ccccc1CCCc1cccnc1S>>CCc1cccnc1SC(c1ccccc1)c1ccccc1CCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAromaticAcyclic -mitsunobu 7097 CCc1cccnc1S.OC1c2ccccc2-c2ccc(CCc3cccnc3S)cc21>>CCc1cccnc1SC1c2ccccc2c2ccc(CCc3cccnc3S)cc21 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAromaticCyclic -mitsunobu 7098 CCc1cccnc1S.CCCC(O)c1ccccc1CCCc1cccnc1S>>CCCC(Sc1ncccc1CC)c1ccccc1CCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholMixAcyclic -mitsunobu 7099 CCc1cccnc1S.OC1c2cc(CCc3cccnc3S)ccc2C2CCCCC12>>CCc1cccnc1SC1c2cc(CCc3cccnc3S)ccc2C2CCCCC21 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholMixCyclic -mitsunobu 7100 CCc1cccnc1S.CC(CCc1cccnc1S)CC(C)(C)O>>CCc1cccnc1SC(C)(C)CC(C)CCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.TertiaryAlcoholAcyclic -mitsunobu 7101 CCc1cccnc1S.CC1(O)CCCC(CCc2cccnc2S)C1>>CCc1cccnc1SC1(C)CCCC(CCc2cccnc2S)C1 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6:4]>>[#6:2]S[#6:4] ThiophenolHeteroaromatic6membered.TertiaryAlcoholCyclic +mitsunobu 7042 CCc1ccccc1O.OCCCCCCc1ccccc1O>>CCc1ccccc1OCCCCCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.PrimaryAlcoholAliphatic +mitsunobu 7043 CCc1ccccc1O.OCc1ccccc1CCCc1ccccc1O>>CCc1ccccc1OCc1ccccc1CCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.PrimaryAlcoholAromatic +mitsunobu 7044 CCc1ccccc1O.CCC(O)CCCCCc1ccccc1O>>CCc1ccccc1OC(CC)CCCCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.SecondaryAlcoholAliphaticAcyclic +mitsunobu 7045 CCc1ccccc1O.Oc1ccccc1CCC1CCC2C(C1)C(O)C1CCCCC12>>CCc1ccccc1OC1C2CCCCC2C2CCC(CCc3ccccc3O)CC21 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.SecondaryAlcoholAliphaticCyclic +mitsunobu 7046 CCc1ccccc1O.Oc1ccccc1CCCc1ccccc1C(O)c1ccccc1>>CCc1ccccc1OC(c1ccccc1)c1ccccc1CCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.SecondaryAlcoholAromaticAcyclic +mitsunobu 7047 CCc1ccccc1O.Oc1ccccc1CCc1ccc2c(c1)C(O)c1ccccc1-2>>CCc1ccccc1OC1c2ccccc2c2ccc(CCc3ccccc3O)cc21 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.SecondaryAlcoholAromaticCyclic +mitsunobu 7048 CCc1ccccc1O.CCCC(O)c1ccccc1CCCc1ccccc1O>>CCCC(Oc1ccccc1CC)c1ccccc1CCCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.SecondaryAlcoholMixAcyclic +mitsunobu 7049 CCc1ccccc1O.Oc1ccccc1CCc1ccc2c(c1)C(O)C1CCCCC21>>CCc1ccccc1OC1c2cc(CCc3ccccc3O)ccc2C2CCCCC21 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.SecondaryAlcoholMixCyclic +mitsunobu 7050 CCc1ccccc1O.CC(CCc1ccccc1O)CC(C)(C)O>>CCc1ccccc1OC(C)(C)CC(C)CCc1ccccc1O [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.TertiaryAlcoholAcyclic +mitsunobu 7051 CCc1ccccc1O.CC1(O)CCCC(CCc2ccccc2O)C1>>CCc1ccccc1OC1(C)CCCC(CCc2ccccc2O)C1 [O;H1;D1;$(Oc1ccccc1),$(Oc1cccc1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]O[#6@@:4] Phenol.TertiaryAlcoholCyclic +mitsunobu 7052 CCc1ccoc1O.OCCCCCCc1ccoc1O>>CCc1ccoc1OCCCCCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.PrimaryAlcoholAliphatic +mitsunobu 7053 CCc1ccoc1O.OCc1ccccc1CCCc1ccoc1O>>CCc1ccoc1OCc1ccccc1CCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.PrimaryAlcoholAromatic +mitsunobu 7054 CCc1ccoc1O.CCC(O)CCCCCc1ccoc1O>>CCc1ccoc1OC(CC)CCCCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAliphaticAcyclic +mitsunobu 7055 CCc1ccoc1O.Oc1occc1CCC1CCC2C(C1)C(O)C1CCCCC12>>CCc1ccoc1OC1C2CCCCC2C2CCC(CCc3ccoc3O)CC21 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAliphaticCyclic +mitsunobu 7056 CCc1ccoc1O.Oc1occc1CCCc1ccccc1C(O)c1ccccc1>>CCc1ccoc1OC(c1ccccc1)c1ccccc1CCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAromaticAcyclic +mitsunobu 7057 CCc1ccoc1O.Oc1occc1CCc1ccc2c(c1)C(O)c1ccccc1-2>>CCc1ccoc1OC1c2ccccc2c2ccc(CCc3ccoc3O)cc21 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.SecondaryAlcoholAromaticCyclic +mitsunobu 7058 CCc1ccoc1O.CCCC(O)c1ccccc1CCCc1ccoc1O>>CCCC(Oc1occc1CC)c1ccccc1CCCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.SecondaryAlcoholMixAcyclic +mitsunobu 7059 CCc1ccoc1O.Oc1occc1CCc1ccc2c(c1)C(O)C1CCCCC21>>CCc1ccoc1OC1c2cc(CCc3ccoc3O)ccc2C2CCCCC21 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.SecondaryAlcoholMixCyclic +mitsunobu 7060 CCc1ccoc1O.CC(CCc1ccoc1O)CC(C)(C)O>>CCc1ccoc1OC(C)(C)CC(C)CCc1ccoc1O [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.TertiaryAlcoholAcyclic +mitsunobu 7061 CCc1ccoc1O.CC1(O)CCCC(CCc2ccoc2O)C1>>CCc1ccoc1OC1(C)CCCC(CCc2ccoc2O)C1 [O;H1;D1;!$(Oc1cccc1);$(Oc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic5membered.TertiaryAlcoholCyclic +mitsunobu 7062 CCc1cccnc1O.OCCCCCCc1cccnc1O>>CCc1cccnc1OCCCCCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.PrimaryAlcoholAliphatic +mitsunobu 7063 CCc1cccnc1O.OCc1ccccc1CCCc1cccnc1O>>CCc1cccnc1OCc1ccccc1CCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.PrimaryAlcoholAromatic +mitsunobu 7064 CCc1cccnc1O.CCC(O)CCCCCc1cccnc1O>>CCc1cccnc1OC(CC)CCCCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAliphaticAcyclic +mitsunobu 7065 CCc1cccnc1O.Oc1ncccc1CCC1CCC2C(C1)C(O)C1CCCCC12>>CCc1cccnc1OC1C2CCCCC2C2CCC(CCc3cccnc3O)CC21 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAliphaticCyclic +mitsunobu 7066 CCc1cccnc1O.Oc1ncccc1CCCc1ccccc1C(O)c1ccccc1>>CCc1cccnc1OC(c1ccccc1)c1ccccc1CCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAromaticAcyclic +mitsunobu 7067 CCc1cccnc1O.Oc1ncccc1CCc1ccc2c(c1)C(O)c1ccccc1-2>>CCc1cccnc1OC1c2ccccc2c2ccc(CCc3cccnc3O)cc21 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.SecondaryAlcoholAromaticCyclic +mitsunobu 7068 CCc1cccnc1O.CCCC(O)c1ccccc1CCCc1cccnc1O>>CCCC(Oc1ncccc1CC)c1ccccc1CCCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.SecondaryAlcoholMixAcyclic +mitsunobu 7069 CCc1cccnc1O.Oc1ncccc1CCc1ccc2c(c1)C(O)C1CCCCC21>>CCc1cccnc1OC1c2cc(CCc3cccnc3O)ccc2C2CCCCC21 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.SecondaryAlcoholMixCyclic +mitsunobu 7070 CCc1cccnc1O.CC(CCc1cccnc1O)CC(C)(C)O>>CCc1cccnc1OC(C)(C)CC(C)CCc1cccnc1O [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.TertiaryAlcoholAcyclic +mitsunobu 7071 CCc1cccnc1O.CC1(O)CCCC(CCc2cccnc2O)C1>>CCc1cccnc1OC1(C)CCCC(CCc2cccnc2O)C1 [O;H1;D1;!$(Oc1ccccc1);$(Oc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]O[#6@@:4] PhenolHeteroaromatic6membered.TertiaryAlcoholCyclic +mitsunobu 7072 CCc1ccccc1S.OCCCCCCc1ccccc1S>>CCc1ccccc1SCCCCCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.PrimaryAlcoholAliphatic +mitsunobu 7073 CCc1ccccc1S.OCc1ccccc1CCCc1ccccc1S>>CCc1ccccc1SCc1ccccc1CCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.PrimaryAlcoholAromatic +mitsunobu 7074 CCc1ccccc1S.CCC(O)CCCCCc1ccccc1S>>CCc1ccccc1SC(CC)CCCCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.SecondaryAlcoholAliphaticAcyclic +mitsunobu 7075 CCc1ccccc1S.OC1C2CCCCC2C2CCC(CCc3ccccc3S)CC12>>CCc1ccccc1SC1C2CCCCC2C2CCC(CCc3ccccc3S)CC21 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.SecondaryAlcoholAliphaticCyclic +mitsunobu 7076 CCc1ccccc1S.OC(c1ccccc1)c1ccccc1CCCc1ccccc1S>>CCc1ccccc1SC(c1ccccc1)c1ccccc1CCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.SecondaryAlcoholAromaticAcyclic +mitsunobu 7077 CCc1ccccc1S.OC1c2ccccc2-c2ccc(CCc3ccccc3S)cc21>>CCc1ccccc1SC1c2ccccc2c2ccc(CCc3ccccc3S)cc21 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.SecondaryAlcoholAromaticCyclic +mitsunobu 7078 CCc1ccccc1S.CCCC(O)c1ccccc1CCCc1ccccc1S>>CCCC(Sc1ccccc1CC)c1ccccc1CCCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.SecondaryAlcoholMixAcyclic +mitsunobu 7079 CCc1ccccc1S.OC1c2cc(CCc3ccccc3S)ccc2C2CCCCC12>>CCc1ccccc1SC1c2cc(CCc3ccccc3S)ccc2C2CCCCC21 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.SecondaryAlcoholMixCyclic +mitsunobu 7080 CCc1ccccc1S.CC(CCc1ccccc1S)CC(C)(C)O>>CCc1ccccc1SC(C)(C)CC(C)CCc1ccccc1S [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.TertiaryAlcoholAcyclic +mitsunobu 7081 CCc1ccccc1S.CC1(O)CCCC(CCc2ccccc2S)C1>>CCc1ccccc1SC1(C)CCCC(CCc2ccccc2S)C1 [S;H1;D1;$(Sc1ccccc1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]S[#6@@:4] Thiophenol.TertiaryAlcoholCyclic +mitsunobu 7082 CCc1ccoc1S.OCCCCCCc1ccoc1S>>CCc1ccoc1SCCCCCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.PrimaryAlcoholAliphatic +mitsunobu 7083 CCc1ccoc1S.OCc1ccccc1CCCc1ccoc1S>>CCc1ccoc1SCc1ccccc1CCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.PrimaryAlcoholAromatic +mitsunobu 7084 CCc1ccoc1S.CCC(O)CCCCCc1ccoc1S>>CCc1ccoc1SC(CC)CCCCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAliphaticAcyclic +mitsunobu 7085 CCc1ccoc1S.OC1C2CCCCC2C2CCC(CCc3ccoc3S)CC12>>CCc1ccoc1SC1C2CCCCC2C2CCC(CCc3ccoc3S)CC21 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAliphaticCyclic +mitsunobu 7086 CCc1ccoc1S.OC(c1ccccc1)c1ccccc1CCCc1ccoc1S>>CCc1ccoc1SC(c1ccccc1)c1ccccc1CCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAromaticAcyclic +mitsunobu 7087 CCc1ccoc1S.OC1c2ccccc2-c2ccc(CCc3ccoc3S)cc21>>CCc1ccoc1SC1c2ccccc2c2ccc(CCc3ccoc3S)cc21 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholAromaticCyclic +mitsunobu 7088 CCc1ccoc1S.CCCC(O)c1ccccc1CCCc1ccoc1S>>CCCC(Sc1occc1CC)c1ccccc1CCCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholMixAcyclic +mitsunobu 7089 CCc1ccoc1S.OC1c2cc(CCc3ccoc3S)ccc2C2CCCCC12>>CCc1ccoc1SC1c2cc(CCc3ccoc3S)ccc2C2CCCCC21 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.SecondaryAlcoholMixCyclic +mitsunobu 7090 CCc1ccoc1S.CC(CCc1ccoc1S)CC(C)(C)O>>CCc1ccoc1SC(C)(C)CC(C)CCc1ccoc1S [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.TertiaryAlcoholAcyclic +mitsunobu 7091 CCc1ccoc1S.CC1(O)CCCC(CCc2ccoc2S)C1>>CCc1ccoc1SC1(C)CCCC(CCc2ccoc2S)C1 [S;H1;D1;!$(Sc1cccc1);$(Sc1aaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic5membered.TertiaryAlcoholCyclic +mitsunobu 7092 CCc1cccnc1S.OCCCCCCc1cccnc1S>>CCc1cccnc1SCCCCCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2,D1;!$(C[a])]);!$(OC=*);!$(OC#*):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.PrimaryAlcoholAliphatic +mitsunobu 7093 CCc1cccnc1S.OCc1ccccc1CCCc1cccnc1S>>CCc1cccnc1SCc1ccccc1CCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;D2][a]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.PrimaryAlcoholAromatic +mitsunobu 7094 CCc1cccnc1S.CCC(O)CCCCCc1cccnc1S>>CCc1cccnc1SC(CC)CCCCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([A])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAliphaticAcyclic +mitsunobu 7095 CCc1cccnc1S.OC1C2CCCCC2C2CCC(CCc3cccnc3S)CC12>>CCc1cccnc1SC1C2CCCCC2C2CCC(CCc3cccnc3S)CC21 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([A])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAliphaticCyclic +mitsunobu 7096 CCc1cccnc1S.OC(c1ccccc1)c1ccccc1CCCc1cccnc1S>>CCc1cccnc1SC(c1ccccc1)c1ccccc1CCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[a]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAromaticAcyclic +mitsunobu 7097 CCc1cccnc1S.OC1c2ccccc2-c2ccc(CCc3cccnc3S)cc21>>CCc1cccnc1SC1c2ccccc2c2ccc(CCc3cccnc3S)cc21 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[a]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholAromaticCyclic +mitsunobu 7098 CCc1cccnc1S.CCCC(O)c1ccccc1CCCc1cccnc1S>>CCCC(Sc1ncccc1CC)c1ccccc1CCCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D3]([a])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholMixAcyclic +mitsunobu 7099 CCc1cccnc1S.OC1c2cc(CCc3cccnc3S)ccc2C2CCCCC12>>CCc1cccnc1SC1c2cc(CCc3cccnc3S)ccc2C2CCCCC21 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D3]([a])[A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.SecondaryAlcoholMixCyclic +mitsunobu 7100 CCc1cccnc1S.CC(CCc1cccnc1S)CC(C)(C)O>>CCc1cccnc1SC(C)(C)CC(C)CCc1cccnc1S [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;!R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.TertiaryAlcoholAcyclic +mitsunobu 7101 CCc1cccnc1S.CC1(O)CCCC(CCc2cccnc2S)C1>>CCc1cccnc1SC1(C)CCCC(CCc2cccnc2S)C1 [S;H1;D1;!$(Sc1ccccc1);$(Sc1aaaaa1):1][#6:2].[O;H1;D1;$(O[C;R;D4]([a,A])([a,A])[a,A]):3][#6@:4]>>[#6:2]S[#6@@:4] ThiophenolHeteroaromatic6membered.TertiaryAlcoholCyclic oxadiazole_condensation 7102 CCCCC(=O)O.NNC(=O)CCCCCCC(=O)O>>CCCCc1nnc(CCCCCCC(=O)O)o1 [O;D1;$(O[C;D2,D3;$(C(=O));!$(C(O)(=O)[!#6])]);$([!$(**[C]=[C]);!$(**[C]#[C]);!$(**[C]#[N]);!$(**a)]):1]C(=O)[*:2].[N;D1;$(N[N;D2]C(=[O,S])):3]NC(=O)[*:4]>>[*:2]c1:n:n:c(o:1)[*:4] Acid_SaturatedAliphatic.HydrazineTerminalCarbamoyl oxadiazole_condensation 7103 CCCCC(=O)O.NC(CCCCCCC(=O)O)=NO>>CCCCc1nnc(CCCCCCC(=O)O)o1 [O;D1;$(O[C;D2,D3;$(C(=O));!$(C(O)(=O)[!#6])]);$([!$(**[C]=[C]);!$(**[C]#[C]);!$(**[C]#[N]);!$(**a)]):1]C(=O)[*:2].[O;D1;$(ON=[C;D3][N;D1]):3]N=C(N)[#6:4]>>[*:2]c1:n:n:c(o:1)[*:4] Acid_SaturatedAliphatic.HydroxyAmidine oxadiazole_condensation 7104 CCC=CC(=O)O.NNC(=O)CCCCC=CC(=O)O>>CCC=Cc1nnc(CCCCC=CC(=O)O)o1 [O;D1;$(O[C;D2,D3;$(C(=O));!$(C(O)(=O)[!#6])]);$([$(**[C]=[C]),$(**[C]#[C]),$(**[C]#[N]);!$(**a)]):1]C(=O)[*:2].[N;D1;$(N[N;D2]C(=[O,S])):3]NC(=O)[*:4]>>[*:2]c1:n:n:c(o:1)[*:4] Acid_UnsaturatedAliphatic.HydrazineTerminalCarbamoyl diff --git a/tests/conftest.py b/tests/conftest.py index f701ad3..b68626d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -11,6 +11,10 @@ BIPHENYL = "c1ccc(-c2ccccc2)cc1" ETHANOL = "CCO" DIMETHYLAMINE = "CNC" +PHENOL = "Oc1ccccc1" +S_BUTAN_2_OL = "C[C@H](O)CC" +R_BUTAN_2_OL = "C[C@@H](O)CC" +BUTAN_2_OL = "CCC(O)C" @pytest.fixture(scope="session") diff --git a/tests/test_enumerator.py b/tests/test_enumerator.py index d1aa087..cee93a1 100644 --- a/tests/test_enumerator.py +++ b/tests/test_enumerator.py @@ -15,11 +15,15 @@ ACETIC_ACID, BIPHENYL, BROMOBENZENE, + BUTAN_2_OL, DIMETHYLAMINE, ETHANOL, ETHYLAMINE, IODOBENZENE, + PHENOL, PHENYLBORONIC_ACID, + R_BUTAN_2_OL, + S_BUTAN_2_OL, ) @@ -52,6 +56,24 @@ def test_no_reaction(self, enumerator: ReactionEnumerator): assert results == [] +class TestMitsunobuStereochemistry: + """Mitsunobu displaces the alcohol by backside attack, so the carbinol carbon inverts.""" + + def test_s_alcohol_gives_r_ether(self, enumerator: ReactionEnumerator): + products = enumerator.products_for_pair(PHENOL, S_BUTAN_2_OL) + assert products == ["CC[C@@H](C)Oc1ccccc1"] + + def test_r_alcohol_gives_s_ether(self, enumerator: ReactionEnumerator): + """The same templates must invert the opposite enantiomer too, not fix an absolute tag.""" + products = enumerator.products_for_pair(PHENOL, R_BUTAN_2_OL) + assert products == ["CC[C@H](C)Oc1ccccc1"] + + def test_undefined_centre_stays_undefined(self, enumerator: ReactionEnumerator): + """Inverting an unknown configuration is still unknown; no stereochemistry is invented.""" + products = enumerator.products_for_pair(PHENOL, BUTAN_2_OL) + assert products == ["CCC(C)Oc1ccccc1"] + + class TestProductsForPair: def test_returns_strings(self, enumerator: ReactionEnumerator): products = enumerator.products_for_pair(BROMOBENZENE, PHENYLBORONIC_ACID)