rdworks 0.25.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rdworks/__init__.py +35 -0
- rdworks/autograph/__init__.py +4 -0
- rdworks/autograph/autograph.py +184 -0
- rdworks/autograph/centroid.py +90 -0
- rdworks/autograph/dynamictreecut.py +135 -0
- rdworks/autograph/nmrclust.py +123 -0
- rdworks/autograph/rckmeans.py +74 -0
- rdworks/bitqt/__init__.py +1 -0
- rdworks/bitqt/bitqt.py +355 -0
- rdworks/conf.py +374 -0
- rdworks/descriptor.py +36 -0
- rdworks/display.py +206 -0
- rdworks/ionized.py +170 -0
- rdworks/matchedseries.py +260 -0
- rdworks/mol.py +1522 -0
- rdworks/mollibr.py +887 -0
- rdworks/pka.py +38 -0
- rdworks/predefined/Asinex_fragment.xml +20 -0
- rdworks/predefined/Astex_RO3.xml +16 -0
- rdworks/predefined/Baell2010_PAINS/Baell2010A.xml +52 -0
- rdworks/predefined/Baell2010_PAINS/Baell2010B.xml +169 -0
- rdworks/predefined/Baell2010_PAINS/Baell2010C.xml +1231 -0
- rdworks/predefined/Baell2010_PAINS/PAINS-less-than-015-hits.xml +2048 -0
- rdworks/predefined/Baell2010_PAINS/PAINS-less-than-150-hits.xml +278 -0
- rdworks/predefined/Baell2010_PAINS/PAINS-more-than-150-hits.xml +83 -0
- rdworks/predefined/Baell2010_PAINS/makexml.py +70 -0
- rdworks/predefined/Brenk2008_Dundee/makexml.py +21 -0
- rdworks/predefined/CNS.xml +18 -0
- rdworks/predefined/ChEMBL_Walters/BMS.xml +543 -0
- rdworks/predefined/ChEMBL_Walters/Dundee.xml +318 -0
- rdworks/predefined/ChEMBL_Walters/Glaxo.xml +168 -0
- rdworks/predefined/ChEMBL_Walters/Inpharmatica.xml +276 -0
- rdworks/predefined/ChEMBL_Walters/LINT.xml +174 -0
- rdworks/predefined/ChEMBL_Walters/MLSMR.xml +351 -0
- rdworks/predefined/ChEMBL_Walters/PAINS.xml +1446 -0
- rdworks/predefined/ChEMBL_Walters/SureChEMBL.xml +501 -0
- rdworks/predefined/ChEMBL_Walters/makexml.py +40 -0
- rdworks/predefined/Hann1999_Glaxo/Hann1999.xml +168 -0
- rdworks/predefined/Hann1999_Glaxo/Hann1999Acid.xml +102 -0
- rdworks/predefined/Hann1999_Glaxo/Hann1999Base.xml +6 -0
- rdworks/predefined/Hann1999_Glaxo/Hann1999ElPh.xml +6 -0
- rdworks/predefined/Hann1999_Glaxo/Hann1999NuPh.xml +6 -0
- rdworks/predefined/Hann1999_Glaxo/makexml.py +83 -0
- rdworks/predefined/Kazius2005/Kazius2005.xml +114 -0
- rdworks/predefined/Kazius2005/makexml.py +66 -0
- rdworks/predefined/ZINC_druglike.xml +24 -0
- rdworks/predefined/ZINC_fragment.xml +14 -0
- rdworks/predefined/ZINC_leadlike.xml +15 -0
- rdworks/predefined/fragment.xml +7 -0
- rdworks/predefined/ionized/simple_smarts_pattern.csv +57 -0
- rdworks/predefined/ionized/smarts_pattern.csv +107 -0
- rdworks/predefined/misc/makexml.py +119 -0
- rdworks/predefined/misc/reactive-part-2.xml +104 -0
- rdworks/predefined/misc/reactive-part-3.xml +74 -0
- rdworks/predefined/misc/reactive.xml +321 -0
- rdworks/readin.py +312 -0
- rdworks/rgroup.py +2173 -0
- rdworks/scaffold.py +520 -0
- rdworks/std.py +143 -0
- rdworks/stereoisomers.py +127 -0
- rdworks/tautomers.py +20 -0
- rdworks/units.py +63 -0
- rdworks/utils.py +495 -0
- rdworks/xml.py +260 -0
- rdworks-0.25.7.dist-info/METADATA +37 -0
- rdworks-0.25.7.dist-info/RECORD +69 -0
- rdworks-0.25.7.dist-info/WHEEL +5 -0
- rdworks-0.25.7.dist-info/licenses/LICENSE +21 -0
- rdworks-0.25.7.dist-info/top_level.txt +1 -0
rdworks/pka.py
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
"""This module is an implementation in progress of the decision tree method for pKa prediction.
|
2
|
+
|
3
|
+
Crippen, J. Chem. Inf. Model., Vol. 48, No. 10, 2008, 2042-2053.
|
4
|
+
|
5
|
+
The SMARTS patterns and pKa values were taken from the supporting information of the paper.
|
6
|
+
These "MOE SMARTS" were converted to generic SMARTS which relied on use of some recursive SMARTS patterns.
|
7
|
+
The first data row then describes nodes 1, and then the tree expands out based on decisions of SMARTS-matching:
|
8
|
+
if node 2 is yes to pattern [#8,#16,#34,#52,#84;H]C(=O) - giving pKa 3.68 and range 5.96
|
9
|
+
node 3 is no to the same pattern - giving pKa 7.21 and range 17.32
|
10
|
+
Then nodes 4,5 are under 2 and 6,7 are under 3, etc, etc until the leaf nodes are reached
|
11
|
+
"""
|
12
|
+
|
13
|
+
|
14
|
+
import importlib.resources
|
15
|
+
from collections import namedtuple
|
16
|
+
from typing import Union
|
17
|
+
|
18
|
+
from rdkit import Chem
|
19
|
+
from rdkit.Chem import AllChem
|
20
|
+
|
21
|
+
datadir = importlib.resources.files('rdworks.predefined')
|
22
|
+
DecisionTreeNode = namedtuple('DecisionTree', ('node', 'parent', 'child', 'FP', 'SMARTS', 'YN', 'pKa', 'pKa_range'))
|
23
|
+
decision_tree = []
|
24
|
+
with open(datadir / "pKa_decision_tree.ext", "r") as f:
|
25
|
+
for line in f:
|
26
|
+
if (not line) or line.startswith('#'):
|
27
|
+
continue
|
28
|
+
decision_tree.append(DecisionTreeNode(line.strip().split()))
|
29
|
+
|
30
|
+
|
31
|
+
def decision_tree_pKa(rdmol:Chem.Mol) -> Union[float, None]:
|
32
|
+
pKa = None
|
33
|
+
for _ in decision_tree:
|
34
|
+
patt = Chem.MolFromSmarts(_.SMARTS) # make an RDKit query molecule
|
35
|
+
match = rdmol.HasSubstructMatch(patt) # check if we have a match for our test molecule
|
36
|
+
# pKa = float(values[6])
|
37
|
+
# pKa_range = float(values[7])
|
38
|
+
return pKa
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<Asinext_Fragment combine='AND'>
|
3
|
+
<descriptor name="MolWt">
|
4
|
+
<min>120</min>
|
5
|
+
<max>250</max>
|
6
|
+
</descriptor>
|
7
|
+
<descriptor name="LogP">
|
8
|
+
<max>2.5</max>
|
9
|
+
</descriptor>
|
10
|
+
<descriptor name="HAC">
|
11
|
+
<min>9</min>
|
12
|
+
<max>18</max>
|
13
|
+
</descriptor>
|
14
|
+
<descriptor name="HBA">
|
15
|
+
<max>7</max>
|
16
|
+
</descriptor>
|
17
|
+
<descriptor name="HBD">
|
18
|
+
<max>4</max>
|
19
|
+
</descriptor>
|
20
|
+
</Asinext_Fragment>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<Astext_RO3 combine='AND'>
|
3
|
+
<!--Astex Rule of 3 -->
|
4
|
+
<descriptor name="MolWt">
|
5
|
+
<max>300</max>
|
6
|
+
</descriptor>
|
7
|
+
<descriptor name="LogP">
|
8
|
+
<max>3.0</max>
|
9
|
+
</descriptor>
|
10
|
+
<descriptor name="HBD">
|
11
|
+
<max>3</max>
|
12
|
+
</descriptor>
|
13
|
+
<descriptor name="HBA">
|
14
|
+
<max>3</max>
|
15
|
+
</descriptor>
|
16
|
+
</Astext_RO3>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<PAINS combine='OR'>
|
3
|
+
<!--Filter Family A p.S23-->
|
4
|
+
<substructure name="(1) ene_six_het_A(483)">
|
5
|
+
<SMARTS>[#6]-1(-[#6](~[!#6&!#1]~[#6]-[!#6&!#1]-[#6]-1=[!#6&!#1])~[!#6&!#1])=[#6;!R]-[#1]</SMARTS>
|
6
|
+
</substructure>
|
7
|
+
<substructure name="(2) hzone_phenol_A(479)">
|
8
|
+
<SMARTS>c:1:c:c(:c(:c:c:1)-[#6]=[#7]-[#7])-[#8]-[#1]</SMARTS>
|
9
|
+
</substructure>
|
10
|
+
<substructure name="(3) anil_di_alk_A(478)">
|
11
|
+
<SMARTS>[#6](-[#1])(-[#1])-[#7](-[#6](-[#1])-[#1])-c:1:c:c(:c(:c(:c:1)-[$([#1]),$([#6](-[#1])-[#1]),$([#8]-[#6](-[#1])(-[#1])-[#6](-[#1])-[#1])])-[#7])-[#1]</SMARTS>
|
12
|
+
</substructure>
|
13
|
+
<substructure name="(4) indol_3yl_alk(461)">
|
14
|
+
<SMARTS>n:1(c(c(c:2:c:1:c:c:c:c:2-[#1])-[#6;X4]-[#1])-[$([#6](-[#1])-[#1]),$([#6]=,:[!#6&!#1]),$([#6](-[#1])-[#7]),$([#6](-[#1])(-[#6](-[#1])-[#1])-[#6](-[#1])(-[#1])-[#7](-[#1])-[#6](-[#1])-[#1])])-[$([#1]),$([#6](-[#1])-[#1])]</SMARTS>
|
15
|
+
</substructure>
|
16
|
+
<substructure name="(5) quinone_A(370)">
|
17
|
+
<SMARTS>[!#6&!#1]=[#6]-1-[#6]=,:[#6]-[#6](=[!#6&!#1])-[#6]=,:[#6]-1</SMARTS>
|
18
|
+
</substructure>
|
19
|
+
<substructure name="(6) azo_A(324)">
|
20
|
+
<SMARTS>[#7;!R]=[#7]</SMARTS>
|
21
|
+
</substructure>
|
22
|
+
<substructure name="(7) imine_one_A(321)">
|
23
|
+
<SMARTS>[#6]-[#6](=[!#6&!#1;!R])-[#6](=[!#6&!#1;!R])-[$([#6]),$([#16](=[#8])=[#8])]</SMARTS>
|
24
|
+
</substructure>
|
25
|
+
<substructure name="(8) mannich_A(296)">
|
26
|
+
<SMARTS>[#7]-[#6;X4]-c:1:c:c:c:c:c:1-[#8]-[#1]</SMARTS>
|
27
|
+
</substructure>
|
28
|
+
<substructure name="(9) anil_di_alk_B(251)">
|
29
|
+
<SMARTS>c:1:c:c(:c:c:c:1-[#7](-[#6;X4])-[#6;X4])-[#6]=[#6]</SMARTS>
|
30
|
+
</substructure>
|
31
|
+
<substructure name="(10) anil_di_alk_C(246)">
|
32
|
+
<SMARTS>c:1:c:c(:c:c:c:1-[#8]-[#6;X4])-[#7](-[#6;X4])-[$([#1]),$([#6;X4])]</SMARTS>
|
33
|
+
</substructure>
|
34
|
+
<substructure name="(11) ene_rhod_A(235)">
|
35
|
+
<SMARTS>[#7]-1-[#6](=[#16])-[#16]-[#6](=[#6])-[#6]-1=[#8]</SMARTS>
|
36
|
+
</substructure>
|
37
|
+
<substructure name="(12) hzone_phenol_B(215)">
|
38
|
+
<SMARTS>c:1(:c:c:c(:c:c:1)-[#6]=[#7]-[#7])-[#8]-[#1]</SMARTS>
|
39
|
+
</substructure>
|
40
|
+
<substructure name="(13) ene_five_het_A(201)">
|
41
|
+
<SMARTS>[#6]-1(=[#6])-[#6]=[#7]-[!#6&!#1]-[#6]-1=[#8]</SMARTS>
|
42
|
+
</substructure>
|
43
|
+
<substructure name="(14) anil_di_alk_D(198)">
|
44
|
+
<SMARTS>c:1:c:c(:c:c:c:1-[#7](-[#6;X4])-[#6;X4])-[#6;X4]-[$([#8]-[#1]),$([#6]=[#6]-[#1]),$([#7]-[#6;X4])]</SMARTS>
|
45
|
+
</substructure>
|
46
|
+
<substructure name="(15) imine_one_isatin(189)">
|
47
|
+
<SMARTS>[#8]=[#6]-2-[#6](=!@[#7]-[#7])-c:1:c:c:c:c:c:1-[#7]-2</SMARTS>
|
48
|
+
</substructure>
|
49
|
+
<substructure name="(16) anil_di_alk_E(186)">
|
50
|
+
<SMARTS>[#6](-[#1])-[#7](-[#6](-[#1])-[#1])-c:1:c(:c(:c(:c(:c:1-[#1])-[$([#1]),$([#6](-[#1])-[#1])])-[#6](-[#1])-[$([#1]),$([#6]-[#1])])-[#1])-[#1]</SMARTS>
|
51
|
+
</substructure>
|
52
|
+
</PAINS>
|
@@ -0,0 +1,169 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<PAINSb>
|
3
|
+
<!--Filter Family B S23-S25-->
|
4
|
+
<substructure name="(1) thiaz_ene_A(128)">
|
5
|
+
<SMARTS>[#6]-1(=[#6](-[$([#1]),$([#6](-[#1])-[#1]),$([#6]=[#8])])-[#16]-[#6](-[#7]-1-[$([#1]),$([#6]-[#1]),$([#6]:[#6])])=[#7;!R])-[$([#6](-[#1])-[#1]),$([#6]:[#6])]</SMARTS>
|
6
|
+
</substructure>
|
7
|
+
<substructure name="(2) pyrrole_A(118)">
|
8
|
+
<SMARTS>n2(-[#6]:1:[!#1]:[#6]:[#6]:[#6]:[#6]:1)c(cc(c2-[#6;X4])-[#1])-[#6;X4]</SMARTS>
|
9
|
+
</substructure>
|
10
|
+
<substructure name="(3) catechol_A(92)">
|
11
|
+
<SMARTS>c:1:c:c(:c(:c:c:1)-[#8]-[#1])-[#8]-[#1]</SMARTS>
|
12
|
+
</substructure>
|
13
|
+
<substructure name="(4) ene_five_het_B(90)">
|
14
|
+
<SMARTS>[#6]-1(=[#6])-[#6](-[#7]=[#6]-[#16]-1)=[#8]</SMARTS>
|
15
|
+
</substructure>
|
16
|
+
<substructure name="(5) imine_one_fives(89)">
|
17
|
+
<SMARTS>[#6]-1=[!#1]-[!#6&!#1]-[#6](-[#6]-1=[!#6&!#1;!R])=[#8]</SMARTS>
|
18
|
+
</substructure>
|
19
|
+
<substructure name="(6) ene_five_het_C(85)">
|
20
|
+
<SMARTS>[#6]-1(-[#6](-[#6]=[#6]-[!#6&!#1]-1)=[#6])=[!#6&!#1]</SMARTS>
|
21
|
+
</substructure>
|
22
|
+
<substructure name="(7) hzone_pipzn(79)">
|
23
|
+
<SMARTS>[#6]-[#7]-1-[#6](-[#1])(-[#1])-[#6](-[#1])(-[#1])-[#7](-[#6](-[#1])(-[#1])-[#6]-1(-[#1])-[#1])-[#7]=[#6](-[#1])-[#6]:[!#1]</SMARTS>
|
24
|
+
</substructure>
|
25
|
+
<substructure name="(8) keto_keto_beta_A(68)">
|
26
|
+
<SMARTS>c:1-2:c(:c:c:c:c:1)-[#6](=[#8])-[#6;X4]-[#6]-2=[#8]</SMARTS>
|
27
|
+
</substructure>
|
28
|
+
<substructure name="(9) hzone_pyrrol(64)">
|
29
|
+
<SMARTS>n1(-[#6])c(c(-[#1])c(c1-[#6]=[#7]-[#7])-[#1])-[#1]</SMARTS>
|
30
|
+
</substructure>
|
31
|
+
<substructure name="(10) ene_one_ene_A(57)">
|
32
|
+
<SMARTS>[#6]=!@[#6](-[!#1])-@[#6](=!@[!#6&!#1])-@[#6](=!@[#6])-[!#1]</SMARTS>
|
33
|
+
</substructure>
|
34
|
+
<substructure name="(11) cyano_ene_amine_A(56)">
|
35
|
+
<SMARTS>[#6](-[#6]#[#7])(-[#6]#[#7])-[#6](-[#7](-[#1])-[#1])=[#6]-[#6]#[#7]</SMARTS>
|
36
|
+
</substructure>
|
37
|
+
<substructure name="(12) ene_five_one_A(55)">
|
38
|
+
<SMARTS>c:1-2:c(:c:c:c:c:1)-[#6](=[#8])-[#6](=[#6])-[#6]-2=[#8]</SMARTS>
|
39
|
+
</substructure>
|
40
|
+
<substructure name="(13) cyano_pyridone_A(54)">
|
41
|
+
<SMARTS>[#6]-1(=[!#1]-[!#1]=[!#1]-[#7](-[#6]-1=[#16])-[#1])-[#6]#[#7]</SMARTS>
|
42
|
+
</substructure>
|
43
|
+
<substructure name="(14) anil_alk_ene(51)">
|
44
|
+
<SMARTS>c:1:c:c-2:c(:c:c:1)-[#6]-3-[#6](-[#6]-[#7]-2)-[#6]-[#6]=[#6]-3</SMARTS>
|
45
|
+
</substructure>
|
46
|
+
<substructure name="(15) amino_acridine_A(46)">
|
47
|
+
<SMARTS>c:1:c:2:c(:c:c:c:1):n:c:3:c(:c:2-[#7]):c:c:c:c:3</SMARTS>
|
48
|
+
</substructure>
|
49
|
+
<substructure name="(16) ene_five_het_D(46)">
|
50
|
+
<SMARTS>[#6]-1(=[#6])-[#6](=[#8])-[#7]-[#7]-[#6]-1=[#8]</SMARTS>
|
51
|
+
</substructure>
|
52
|
+
<substructure name="(17) thiophene_amino_Aa(45)">
|
53
|
+
<SMARTS>[#7](-[#1])(-[#1])-c:1:c(:c(:c(:s:1)-[!#1])-[!#1])-[#6]=[#8]</SMARTS>
|
54
|
+
</substructure>
|
55
|
+
<substructure name="(18) ene_five_het_E(44)">
|
56
|
+
<SMARTS>[#7]-[#6]=!@[#6]-2-[#6](=[#8])-c:1:c:c:c:c:c:1-[!#6&!#1]-2</SMARTS>
|
57
|
+
</substructure>
|
58
|
+
<substructure name="(19) sulfonamide_A(43)">
|
59
|
+
<SMARTS>c:1(:c(:c(:c(:c(:c:1-[#8]-[#1])-[F,Cl,Br,I])-[#1])-[F,Cl,Br,I])-[#1])-[#16](=[#8])(=[#8])-[#7]</SMARTS>
|
60
|
+
</substructure>
|
61
|
+
<substructure name="(20) thio_ketone(43)">
|
62
|
+
<SMARTS>[#6]-[#6](=[#16])-[#6]</SMARTS>
|
63
|
+
</substructure>
|
64
|
+
<substructure name="(21) sulfonamide_B(41)">
|
65
|
+
<SMARTS>c:1:c:c(:c:c:c:1-[#8]-[#1])-[#7](-[#1])-[#16](=[#8])=[#8]</SMARTS>
|
66
|
+
</substructure>
|
67
|
+
<substructure name="(22) anil_no_alk(40)">
|
68
|
+
<SMARTS>c:1(:c(:c(:c(:c(:c:1-[#1])-[#1])-[$([#8]),$([#7]),$([#6](-[#1])-[#1])])-[#1])-[#1])-[#7](-[#1])-[#1]</SMARTS>
|
69
|
+
</substructure>
|
70
|
+
<substructure name="(23) thiophene_amino_Ab(40)">
|
71
|
+
<SMARTS>[$([#1]),$([#6](-[#1])-[#1]),$([#6]:[#6])]-c:1:c(:c(:c(:s:1)-[#7](-[#1])-[#6](=[#8])-[#6])-[#6](=[#8])-[#8])-[$([#6]:1:[#6]:[#6]:[#6]:[#6]:[#6]:1),$([#6]:1:[#16]:[#6]:[#6]:[#6]:1)]</SMARTS>
|
72
|
+
</substructure>
|
73
|
+
<substructure name="(24) het_pyridiniums_A(39)">
|
74
|
+
<SMARTS>[#7+]:1(:[#6]:[#6]:[!#1]:c:2:c:1:c(:c(-[$([#1]),$([#7])]):c:c:2)-[#1])-[$([#6](-[#1])(-[#1])-[#1]),$([#8;X1]),$([#6](-[#1])(-[#1])-[#6](-[#1])=[#6](-[#1])-[#1]),$([#6](-[#1])(-[#1])-[#6](-[#1])(-[#1])-[#8]-[#1]),$([#6](-[#1])(-[#1])-[#6](=[#8])-[#6]),$([#6](-[#1])(-[#1])-[#6](=[#8])-[#7](-[#1])-[#6]:[#6]),$([#6](-[#1])(-[#1])-[#6](-[#1])(-[#1])-[#1])]</SMARTS>
|
75
|
+
</substructure>
|
76
|
+
<substructure name="(25) anthranil_one_A(38)">
|
77
|
+
<SMARTS>c:1:c:c:c:c(:c:1-[#7](-[#1])-[!$([#6]=[#8])])-[#6](-[#6]:[#6])=[#8]</SMARTS>
|
78
|
+
</substructure>
|
79
|
+
<substructure name="(26) cyano_imine_A(37)">
|
80
|
+
<SMARTS>[#7](-[#1])-[#7]=[#6](-[#6]#[#7])-[#6]=[!#6&!#1;!R]</SMARTS>
|
81
|
+
</substructure>
|
82
|
+
<substructure name="(27) diazox_sulfon_A(36)">
|
83
|
+
<SMARTS>[#7](-c:1:c:c:c:c:c:1)-[#16](=[#8])(=[#8])-[#6]:2:[#6]:[#6]:[#6]:[#6]:3:[#7]:[$([#8]),$([#16])]:[#7]:[#6]:2:3</SMARTS>
|
84
|
+
</substructure>
|
85
|
+
<substructure name="(28) hzone_anil_di_alk(35)">
|
86
|
+
<SMARTS>[#6](-[#1])(-[#1])-[#7](-[#6](-[#1])-[#1])-c:1:c(:c(:c(:c(:c:1-[#1])-[#1])-[#6](-[#1])=[#7]-[#7]-[$([#6](=[#8])-[#6](-[#1])(-[#1])-[#16]-[#6]:[#7]),$([#6](=[#8])-[#6](-[#1])(-[#1])-[!#1]:[!#1]:[#7]),$([#6](=[#8])-[#6]:[#6]-[#8]-[#1]),$([#6]:[#7]),$([#6](-[#1])(-[#1])-[#6](-[#1])-[#8]-[#1])])-[#1])-[#1]</SMARTS>
|
87
|
+
</substructure>
|
88
|
+
<substructure name="(29) rhod_sat_A(33)">
|
89
|
+
<SMARTS>[#7]-1-[#6](=[#16])-[#16]-[#6;X4]-[#6]-1=[#8]</SMARTS>
|
90
|
+
</substructure>
|
91
|
+
<substructure name="(30) hzone_enamin(30)">
|
92
|
+
<SMARTS>[#7](-[#1])-[#7]=[#6]-[#6](-[$([#1]),$([#6])])=[#6](-[#6])-!@[$([#7]),$([#8]-[#1])]</SMARTS>
|
93
|
+
</substructure>
|
94
|
+
<substructure name="(31) pyrrole_B(29)">
|
95
|
+
<SMARTS>n2(-[#6]:1:[!#1]:[#6]:[#6]:[#6]:[#6]:1)c(cc(c2-[#6]:[#6])-[#1])-[#6;X4]</SMARTS>
|
96
|
+
</substructure>
|
97
|
+
<substructure name="(32) thiophene_hydroxy(28)">
|
98
|
+
<SMARTS>s1ccc(c1)-[#8]-[#1]</SMARTS>
|
99
|
+
</substructure>
|
100
|
+
<substructure name="(33) cyano_pyridone_B(27)">
|
101
|
+
<SMARTS>[#6]-1(=[#6](-[#6](=[#8])-[#7]-[#6](=[#7]-1)-[!#6&!#1])-[#6]#[#7])-[#6]</SMARTS>
|
102
|
+
</substructure>
|
103
|
+
<substructure name="(34) imine_one_sixes(27)">
|
104
|
+
<SMARTS>[#6]-1(-[#6](=[#8])-[#7]-[#6](=[#8])-[#7]-[#6]-1=[#8])=[#7]</SMARTS>
|
105
|
+
</substructure>
|
106
|
+
<substructure name="(35) dyes5A(27)">
|
107
|
+
<SMARTS>[#6](-[#1])(-[#1])-[#7]([#6]:[#6])~[#6][#6]=,:[#6]-[#6]~[#6][#7]</SMARTS>
|
108
|
+
</substructure>
|
109
|
+
<substructure name="(36) naphth_amino_A(25)">
|
110
|
+
<SMARTS>c:2:c:1:c:c:c:c-3:c:1:c(:c:c:2)-[#7]-[#6]=[#7]-3</SMARTS>
|
111
|
+
</substructure>
|
112
|
+
<substructure name="(37) naphth_amino_B(25)">
|
113
|
+
<SMARTS>c:2:c:1:c:c:c:c-3:c:1:c(:c:c:2)-[#7](-[#6;X4]-[#7]-3-[#1])-[#1]</SMARTS>
|
114
|
+
</substructure>
|
115
|
+
<substructure name="(38) ene_one_ester(24)">
|
116
|
+
<SMARTS>[#6]-[#6](=[#8])-[#6](-[#1])=[#6](-[#7](-[#1])-[#6])-[#6](=[#8])-[#8]-[#6]</SMARTS>
|
117
|
+
</substructure>
|
118
|
+
<substructure name="(39) thio_dibenzo(23)">
|
119
|
+
<SMARTS>[#16]=[#6]-1-[#6]=,:[#6]-[!#6&!#1]-[#6]=,:[#6]-1</SMARTS>
|
120
|
+
</substructure>
|
121
|
+
<substructure name="(40) cyano_cyano_A(23)">
|
122
|
+
<SMARTS>[#6](-[#6]#[#7])(-[#6]#[#7])-[#6](-[$([#6]#[#7]),$([#6]=[#7])])-[#6]#[#7]</SMARTS>
|
123
|
+
</substructure>
|
124
|
+
<substructure name="(41) hzone_acyl_naphthol(22)">
|
125
|
+
<SMARTS>c:1:2:c(:c(:c(:c(:c:1:c(:c(:c(:c:2-[#1])-[#8]-[#1])-[#6](=[#8])-[#7](-[#1])-[#7]=[#6])-[#1])-[#1])-[#1])-[#1])-[#1]</SMARTS>
|
126
|
+
</substructure>
|
127
|
+
<substructure name="(42) het_65_A(21)">
|
128
|
+
<SMARTS>[#8]=[#6]-c2c1nc(-[#6](-[#1])-[#1])cc(-[#8]-[#1])n1nc2</SMARTS>
|
129
|
+
</substructure>
|
130
|
+
<substructure name="(43) imidazole_A(19)">
|
131
|
+
<SMARTS>n:1:c(:n(:c(:c:1-c:2:c:c:c:c:c:2)-c:3:c:c:c:c:c:3)-[#1])-[#6]:[!#1]</SMARTS>
|
132
|
+
</substructure>
|
133
|
+
<substructure name="(44) ene_cyano_A(19)">
|
134
|
+
<SMARTS>[#6](-[#6]#[#7])(-[#6]#[#7])=[#6]-c:1:c:c:c:c:c:1</SMARTS>
|
135
|
+
</substructure>
|
136
|
+
<substructure name="(45) anthranil_acid_A(19)">
|
137
|
+
<SMARTS>c:1(:c:c:c:c:c:1-[#7](-[#1])-[#7]=[#6])-[#6](=[#8])-[#8]-[#1]</SMARTS>
|
138
|
+
</substructure>
|
139
|
+
<substructure name="(46) dyes3A(19)">
|
140
|
+
<SMARTS>[#7+]([#6]:[#6])=,:[#6]-[#6](-[#1])=[#6]-[#7](-[#6;X4])-[#6]</SMARTS>
|
141
|
+
</substructure>
|
142
|
+
<substructure name="(47) dhp_bis_amino_CN(19)">
|
143
|
+
<SMARTS>[#7](-[#1])(-[#1])-[#6]-1=[#6](-[#6]#[#7])-[#6](-[#1])(-[#6]:[#6])-[#6](=[#6](-[#7](-[#1])-[#1])-[#16]-1)-[#6]#[#7]</SMARTS>
|
144
|
+
</substructure>
|
145
|
+
<substructure name="(48) het_6_tetrazine(18)">
|
146
|
+
<SMARTS>[#7]~[#6]:1:[#7]:[#7]:[#6](:[$([#7]),$([#6]-[#1]),$([#6]-[#7]-[#1])]:[$([#7]),$([#6]-[#7])]:1)-[$([#7]-[#1]),$([#8]-[#6](-[#1])-[#1])]</SMARTS>
|
147
|
+
</substructure>
|
148
|
+
<substructure name="(49) ene_one_hal(17)">
|
149
|
+
<SMARTS>[#6]-[#6]=[#6](-[F,Cl,Br,I])-[#6](=[#8])-[#6]</SMARTS>
|
150
|
+
</substructure>
|
151
|
+
<substructure name="(50) cyano_imine_B(17)">
|
152
|
+
<SMARTS>[#6](-[#6]#[#7])(-[#6]#[#7])=[#7]-[#7](-[#1])-c:1:c:c:c:c:c:1</SMARTS>
|
153
|
+
</substructure>
|
154
|
+
<substructure name="(51) thiaz_ene_B(17)">
|
155
|
+
<SMARTS>[#6]-1(=[#6](-!@[#6](=[#8])-[#7]-[#6](-[#1])-[#1])-[#16]-[#6](-[#7]-1-[$([#6](-[#1])(-[#1])-[#6](-[#1])=[#6](-[#1])-[#1]),$([#6]:[#6])])=[#16])-[$([#7]-[#6](=[#8])-[#6]:[#6]),$([#7](-[#1])-[#1])]</SMARTS>
|
156
|
+
</substructure>
|
157
|
+
<substructure name="(52) ene_rhod_B(16)">
|
158
|
+
<SMARTS>[#16]-1-[#6](=[#8])-[#7]-[#6](=[#8])-[#6]-1=[#6](-[#1])-[$([#6]-[#35]),$([#6]:[#6](-[#1]):[#6](-[F,Cl,Br,I]):[#6]:[#6]-[F,Cl,Br,I]),$([#6]:[#6](-[#1]):[#6](-[#1]):[#6]-[#16]-[#6](-[#1])-[#1]),$([#6]:[#6]:[#6]:[#6]:[#6]:[#6]:[#6]:[#6]:[#6]:[#6]-[#8]-[#6](-[#1])-[#1]),$([#6]:1:[#6](-[#6](-[#1])-[#1]):[#7](-[#6](-[#1])-[#1]):[#6](-[#6](-[#1])-[#1]):[#6]:1)]</SMARTS>
|
159
|
+
</substructure>
|
160
|
+
<substructure name="(53) thio_carbonate_A(15)">
|
161
|
+
<SMARTS>[#8]-1-[#6](-[#16]-c:2:c-1:c:c:c(:c:2)-[$([#7]),$([#8])])=[$([#8]),$([#16])]</SMARTS>
|
162
|
+
</substructure>
|
163
|
+
<substructure name="(54) anil_di_alk_furan_A(15)">
|
164
|
+
<SMARTS>[#7](-[#6](-[#1])-[#1])(-[#6](-[#1])-[#1])-c:1:c(:c(:c(:o:1)-[#6]=[#7]-[#7](-[#1])-[#6]=[!#6&!#1])-[#1])-[#1]</SMARTS>
|
165
|
+
</substructure>
|
166
|
+
<substructure name="(55) ene_five_het_F(15)">
|
167
|
+
<SMARTS>c:1(:c:c:c:c:c:1)-[#6](-[#1])=!@[#6]-3-[#6](=[#8])-c:2:c:c:c:c:c:2-[#16]-3</SMARTS>
|
168
|
+
</substructure>
|
169
|
+
</PAINSb>
|