File size: 7,706 Bytes
c0ec7e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
smartsPatts = {
    'MACCSFP0': (None, 0),
    # ignore, Bit 0 is a placeholder and should be ignored: https://github.com/rdkit/rdkit/issues/1726
    'MACCSFP1': ('?', 0),
    'MACCSFP2': ('[#104]', 0),
    'MACCSFP3': ('[#32,#33,#34,#50,#51,#52,#82,#83,#84]', 0),
    'MACCSFP4': ('[Ac,Th,Pa,U,Np,Pu,Am,Cm,Bk,Cf,Es,Fm,Md,No,Lr]', 0),
    'MACCSFP5': ('[Sc,Ti,Y,Zr,Hf]', 0),
    'MACCSFP6': ('[La,Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb,Lu]', 0),
    'MACCSFP7': ('[V,Cr,Mn,Nb,Mo,Tc,Ta,W,Re]', 0),
    'MACCSFP8': ('[!#6;!#1]1~*~*~*~1', 0),
    'MACCSFP9': ('[Fe,Co,Ni,Ru,Rh,Pd,Os,Ir,Pt]', 0),
    'MACCSFP10': ('[Be,Mg,Ca,Sr,Ba,Ra]', 0),
    'MACCSFP11': ('*1~*~*~*~1', 0),
    'MACCSFP12': ('[Cu,Zn,Ag,Cd,Au,Hg]', 0),
    'MACCSFP13': ('[#8]~[#7](~[#6])~[#6]', 0),
    'MACCSFP14': ('[#16]-[#16]', 0),
    'MACCSFP15': ('[#8]~[#6](~[#8])~[#8]', 0),
    'MACCSFP16': ('[!#6;!#1]1~*~*~1', 0),
    'MACCSFP17': ('[#6]#[#6]', 0),
    'MACCSFP18': ('[#5,#13,#31,#49,#81]', 0),
    'MACCSFP19': ('*1~*~*~*~*~*~*~1', 0),
    'MACCSFP20': ('[#14]', 0),
    'MACCSFP21': ('[#6]=[#6](~[!#6;!#1])~[!#6;!#1]', 0),
    'MACCSFP22': ('*1~*~*~1', 0),
    'MACCSFP23': ('[#7]~[#6](~[#8])~[#8]', 0),
    'MACCSFP24': ('[#7]-[#8]', 0),
    'MACCSFP25': ('[#7]~[#6](~[#7])~[#7]', 0),
    'MACCSFP26': ('[#6]=;@[#6](@*)@*', 0),
    'MACCSFP27': ('[I]', 0),
    'MACCSFP28': ('[!#6;!#1]~[CH2]~[!#6;!#1]', 0),
    'MACCSFP29': ('[#15]', 0),
    'MACCSFP30': ('[#6]~[!#6;!#1](~[#6])(~[#6])~*', 0),
    'MACCSFP31': ('[!#6;!#1]~[F,Cl,Br,I]', 0),
    'MACCSFP32': ('[#6]~[#16]~[#7]', 0),
    'MACCSFP33': ('[#7]~[#16]', 0),
    'MACCSFP34': ('[CH2]=*', 0),
    'MACCSFP35': ('[Li,Na,K,Rb,Cs,Fr]', 0),
    'MACCSFP36': ('[#16R]', 0),
    'MACCSFP37': ('[#7]~[#6](~[#8])~[#7]', 0),
    'MACCSFP38': ('[#7]~[#6](~[#6])~[#7]', 0),
    'MACCSFP39': ('[#8]~[#16](~[#8])~[#8]', 0),
    'MACCSFP40': ('[#16]-[#8]', 0),
    'MACCSFP41': ('[#6]#[#7]', 0),
    'MACCSFP42': ('F', 0),
    'MACCSFP43': ('[!#6;!#1;!H0]~*~[!#6;!#1;!H0]', 0),
    'MACCSFP44': ('?', 0),
    'MACCSFP45': ('[#6]=[#6]~[#7]', 0),
    'MACCSFP46': ('Br', 0),
    'MACCSFP47': ('[#16]~*~[#7]', 0),
    'MACCSFP48': ('[#8]~[!#6;!#1](~[#8])(~[#8])', 0),
    'MACCSFP49': ('[!+0]', 0),
    'MACCSFP50': ('[#6]=[#6](~[#6])~[#6]', 0),
    'MACCSFP51': ('[#6]~[#16]~[#8]', 0),
    'MACCSFP52': ('[#7]~[#7]', 0),
    'MACCSFP53': ('[!#6;!#1;!H0]~*~*~*~[!#6;!#1;!H0]', 0),
    'MACCSFP54': ('[!#6;!#1;!H0]~*~*~[!#6;!#1;!H0]', 0),
    'MACCSFP55': ('[#8]~[#16]~[#8]', 0),
    'MACCSFP56': ('[#8]~[#7](~[#8])~[#6]', 0),
    'MACCSFP57': ('[#8R]', 0),
    'MACCSFP58': ('[!#6;!#1]~[#16]~[!#6;!#1]', 0),
    'MACCSFP59': ('[#16]!:*:*', 0),
    'MACCSFP60': ('[#16]=[#8]', 0),
    'MACCSFP61': ('*~[#16](~*)~*', 0),
    'MACCSFP62': ('*@*!@*@*', 0),
    'MACCSFP63': ('[#7]=[#8]', 0),
    'MACCSFP64': ('*@*!@[#16]', 0),
    'MACCSFP65': ('c:n', 0),
    'MACCSFP66': ('[#6]~[#6](~[#6])(~[#6])~*', 0),
    'MACCSFP67': ('[!#6;!#1]~[#16]', 0),
    'MACCSFP68': ('[!#6;!#1;!H0]~[!#6;!#1;!H0]', 0),
    'MACCSFP69': ('[!#6;!#1]~[!#6;!#1;!H0]', 0),
    'MACCSFP70': ('[!#6;!#1]~[#7]~[!#6;!#1]', 0),
    'MACCSFP71': ('[#7]~[#8]', 0),
    'MACCSFP72': ('[#8]~*~*~[#8]', 0),
    'MACCSFP73': ('[#16]=*', 0),
    'MACCSFP74': ('[CH3]~*~[CH3]', 0),
    'MACCSFP75': ('*!@[#7]@*', 0),
    'MACCSFP76': ('[#6]=[#6](~*)~*', 0),
    'MACCSFP77': ('[#7]~*~[#7]', 0),
    'MACCSFP78': ('[#6]=[#7]', 0),
    'MACCSFP79': ('[#7]~*~*~[#7]', 0),
    'MACCSFP80': ('[#7]~*~*~*~[#7]', 0),
    'MACCSFP81': ('[#16]~*(~*)~*', 0),
    'MACCSFP82': ('*~[CH2]~[!#6;!#1;!H0]', 0),
    'MACCSFP83': ('[!#6;!#1]1~*~*~*~*~1', 0),
    'MACCSFP84': ('[NH2]', 0),
    'MACCSFP85': ('[#6]~[#7](~[#6])~[#6]', 0),
    'MACCSFP86': ('[C;H2,H3][!#6;!#1][C;H2,H3]', 0),
    'MACCSFP87': ('[F,Cl,Br,I]!@*@*', 0),
    'MACCSFP88': ('[#16]', 0),
    'MACCSFP89': ('[#8]~*~*~*~[#8]', 0),
    'MACCSFP90': (
    '[$([!#6;!#1;!H0]~*~*~[CH2]~*),$([!#6;!#1;!H0;R]1@[R]@[R]@[CH2;R]1),$([!#6;!#1;!H0]~[R]1@[R]@[CH2;R]1)]',
    0),
    'MACCSFP91': (
    '[$([!#6;!#1;!H0]~*~*~*~[CH2]~*),$([!#6;!#1;!H0;R]1@[R]@[R]@[R]@[CH2;R]1),$([!#6;!#1;!H0]~[R]1@[R]@[R]@[CH2;R]1),$([!#6;!#1;!H0]~*~[R]1@[R]@[CH2;R]1)]',
    0),
    'MACCSFP92': ('[#8]~[#6](~[#7])~[#6]', 0),
    'MACCSFP93': ('[!#6;!#1]~[CH3]', 0),
    'MACCSFP94': ('[!#6;!#1]~[#7]', 0),
    'MACCSFP95': ('[#7]~*~*~[#8]', 0),
    'MACCSFP96': ('*1~*~*~*~*~1', 0),
    'MACCSFP97': ('[#7]~*~*~*~[#8]', 0),
    'MACCSFP98': ('[!#6;!#1]1~*~*~*~*~*~1', 0),
    'MACCSFP99': ('[#6]=[#6]', 0),
    'MACCSFP100': ('*~[CH2]~[#7]', 0),
    'MACCSFP101': (
    '[$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]1),$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]1),$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]1),$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]1),$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]1),$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]1),$([R]@1@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]@[R]1)]',
    0),
    'MACCSFP102': ('[!#6;!#1]~[#8]', 0),
    'MACCSFP103': ('Cl', 0),
    'MACCSFP104': ('[!#6;!#1;!H0]~*~[CH2]~*', 0),
    'MACCSFP105': ('*@*(@*)@*', 0),
    'MACCSFP106': ('[!#6;!#1]~*(~[!#6;!#1])~[!#6;!#1]', 0),
    'MACCSFP107': ('[F,Cl,Br,I]~*(~*)~*', 0),
    'MACCSFP108': ('[CH3]~*~*~*~[CH2]~*', 0),
    'MACCSFP109': ('*~[CH2]~[#8]', 0),
    'MACCSFP110': ('[#7]~[#6]~[#8]', 0),
    'MACCSFP111': ('[#7]~*~[CH2]~*', 0),
    'MACCSFP112': ('*~*(~*)(~*)~*', 0),
    'MACCSFP113': ('[#8]!:*:*', 0),
    'MACCSFP114': ('[CH3]~[CH2]~*', 0),
    'MACCSFP115': ('[CH3]~*~[CH2]~*', 0),
    'MACCSFP116': ('[$([CH3]~*~*~[CH2]~*),$([CH3]~*1~*~[CH2]1)]', 0),
    'MACCSFP117': ('[#7]~*~[#8]', 0),
    'MACCSFP118': ('[$(*~[CH2]~[CH2]~*),$(*1~[CH2]~[CH2]1)]', 1),
    'MACCSFP119': ('[#7]=*', 0),
    'MACCSFP120': ('[!#6;R]', 1),
    'MACCSFP121': ('[#7;R]', 0),
    'MACCSFP122': ('*~[#7](~*)~*', 0),
    'MACCSFP123': ('[#8]~[#6]~[#8]', 0),
    'MACCSFP124': ('[!#6;!#1]~[!#6;!#1]', 0),
    'MACCSFP125': ('?', 0),
    'MACCSFP126': ('*!@[#8]!@*', 0),
    'MACCSFP127': ('*@*!@[#8]', 1),
    'MACCSFP128': (
    '[$(*~[CH2]~*~*~*~[CH2]~*),$([R]1@[CH2;R]@[R]@[R]@[R]@[CH2;R]1),$(*~[CH2]~[R]1@[R]@[R]@[CH2;R]1),$(*~[CH2]~*~[R]1@[R]@[CH2;R]1)]',
    0),
    'MACCSFP129': ('[$(*~[CH2]~*~*~[CH2]~*),$([R]1@[CH2]@[R]@[R]@[CH2;R]1),$(*~[CH2]~[R]1@[R]@[CH2;R]1)]',
                   0),
    'MACCSFP130': ('[!#6;!#1]~[!#6;!#1]', 1),
    'MACCSFP131': ('[!#6;!#1;!H0]', 1),
    'MACCSFP132': ('[#8]~*~[CH2]~*', 0),
    'MACCSFP133': ('*@*!@[#7]', 0),
    'MACCSFP134': ('[F,Cl,Br,I]', 0),
    'MACCSFP135': ('[#7]!:*:*', 0),
    'MACCSFP136': ('[#8]=*', 1),
    'MACCSFP137': ('[!C;!c;R]', 0),
    'MACCSFP138': ('[!#6;!#1]~[CH2]~*', 1),
    'MACCSFP139': ('[O;!H0]', 0),
    'MACCSFP140': ('[#8]', 3),
    'MACCSFP141': ('[CH3]', 2),
    'MACCSFP142': ('[#7]', 1),
    'MACCSFP143': ('*@*!@[#8]', 0),
    'MACCSFP144': ('*!:*:*!:*', 0),
    'MACCSFP145': ('*1~*~*~*~*~*~1', 1),
    'MACCSFP146': ('[#8]', 2),
    'MACCSFP147': ('[$(*~[CH2]~[CH2]~*),$([R]1@[CH2;R]@[CH2;R]1)]', 0),
    'MACCSFP148': ('*~[!#6;!#1](~*)~*', 0),
    'MACCSFP149': ('[C;H3,H4]', 1),
    'MACCSFP150': ('*!@*@*!@*', 0),
    'MACCSFP151': ('[#7;!H0]', 0),
    'MACCSFP152': ('[#8]~[#6](~[#6])~[#6]', 0),
    'MACCSFP153': ('[!#6;!#1]~[CH2]~*', 0),
    'MACCSFP154': ('[#6]=[#8]', 0),
    'MACCSFP155': ('*!@[CH2]!@*', 0),
    'MACCSFP156': ('[#7]~*(~*)~*', 0),
    'MACCSFP157': ('[#6]-[#8]', 0),
    'MACCSFP158': ('[#6]-[#7]', 0),
    'MACCSFP159': ('[#8]', 1),
    'MACCSFP160': ('[C;H3,H4]', 0),
    'MACCSFP161': ('[#7]', 0),
    'MACCSFP162': ('a', 0),
    'MACCSFP163': ('*1~*~*~*~*~*~1', 0),
    'MACCSFP164': ('[#8]', 0),
    'MACCSFP165': ('[R]', 0),
    'MACCSFP166': ('?', 0)}