|
19 | 19 | except Exception: |
20 | 20 | Chem, rdmd, Descriptors, BRICS, Lipinski, AllChem = None, None, None, None, None, None |
21 | 21 |
|
22 | | -# --------------------------------------------------------------------------------------- |
23 | | -# Class definitions |
24 | 22 |
|
25 | | -STRICT_ROTATABLE_BOND_SMARTS = ( |
26 | | - "[!$(*#*)&!D1&!$(C(F)(F)F)&!$(C(Cl)(Cl)Cl)&!$(C(Br)(Br)Br)" |
27 | | - "&!$(C([CH3])([CH3])[CH3])&!$([CD3](=[N,O,S])-!@[#7,O,S!D1])" |
28 | | - "&!$([#7,O,S!D1]-!@[CD3]=[N,O,S])&!$([CD3](=[N+])-!@[#7!D1])" |
29 | | - "&!$([#7!D1]-!@[CD3]=[N+])]-,:;!@[!$(*#*)&!D1&!$(C(F)(F)F)" |
30 | | - "&!$(C(Cl)(Cl)Cl)&!$(C(Br)(Br)Br)&!$(C([CH3])([CH3])[CH3])]" |
31 | | -) |
32 | | -STRICT_ROTATABLE_BOND_PATTERN = Chem.MolFromSmarts( |
33 | | - STRICT_ROTATABLE_BOND_SMARTS |
34 | | -) |
| 23 | +class SymbolicSolver: |
| 24 | + |
| 25 | + STRICT_ROTATABLE_BOND_SMARTS = ( |
| 26 | + "[!$(*#*)&!D1&!$(C(F)(F)F)&!$(C(Cl)(Cl)Cl)&!$(C(Br)(Br)Br)" |
| 27 | + "&!$(C([CH3])([CH3])[CH3])&!$([CD3](=[N,O,S])-!@[#7,O,S!D1])" |
| 28 | + "&!$([#7,O,S!D1]-!@[CD3]=[N,O,S])&!$([CD3](=[N+])-!@[#7!D1])" |
| 29 | + "&!$([#7!D1]-!@[CD3]=[N+])]-,:;!@[!$(*#*)&!D1&!$(C(F)(F)F)" |
| 30 | + "&!$(C(Cl)(Cl)Cl)&!$(C(Br)(Br)Br)&!$(C([CH3])([CH3])[CH3])]" |
| 31 | + ) |
35 | 32 |
|
| 33 | + STRICT_ROTATABLE_BOND_PATTERN = Chem.MolFromSmarts( |
| 34 | + STRICT_ROTATABLE_BOND_SMARTS |
| 35 | + ) |
36 | 36 |
|
37 | | -class SymbolicSolver: |
38 | 37 | def __init__(self): |
39 | 38 | self.functional_group_solver = FunctionalGroupSolver() |
40 | 39 | self.reaction_solver = TemplateBasedReactionSolver() |
|
0 commit comments