diff CADDSuite-1.6/data/OpenBabel/MACCS.txt @ 8:dbb480e39d95 draft

Uploaded
author marcel
date Sat, 15 Dec 2012 13:15:46 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CADDSuite-1.6/data/OpenBabel/MACCS.txt	Sat Dec 15 13:15:46 2012 -0500
@@ -0,0 +1,199 @@
+#Comments after SMARTS
+# Extracted from RDKit r1553 Nov 2010 rdkit/Chem/MACCSKeys.py
+#
+# Copyright (C) 2001-2008 greg Landrum and Rational Discovery LLC
+#
+#   @@ All Rights Reserved @@
+#  This file is part of the RDKit.
+#  The contents are covered by the terms of the BSD license
+#  which is included in the file license.txt, found at the root
+#  of the RDKit source tree.
+#
+# SMARTS definitions for the publically available MACCS keys
+
+# I compared the MACCS fingerprints generated here with those from two
+# other packages (not MDL, unfortunately). Of course there are
+# disagreements between the various fingerprints still, but I think
+# these definitions work pretty well. Some notes:
+
+# 1) most of the differences have to do with aromaticity
+# 2) there's a discrepancy sometimes because the current RDKit
+# definitions do not require multiple matches to be distinct. e.g. the
+# SMILES C(=O)CC(=O) can match the (hypothetical) key O=CC twice in my
+# definition. It's not clear to me what the correct behavior is.
+# 3) Some keys are not fully defined in the MDL documentation
+# 4) Two keys, 125 and 166, have to be done outside of SMARTS.
+# 5) Key 1 (ISOTOPE) isn't defined
+
+# these are SMARTS patterns corresponding to the MDL MACCS keys
+  1:('?',0), # ISOTOPE
+  #2:('[#103,#104,#105,#106,#107,#106,#109,#110,#111,#112]',0),  # ISOTOPE Not complete
+  2:('[#103,#104]',0),  # ISOTOPE Not complete
+  3:('[Ge,As,Se,Sn,Sb,Te,Tl,Pb,Bi]',0), # Group IVa,Va,VIa Periods 4-6 (Ge...)  *NOTE* spec wrong
+  4:('[Ac,Th,Pa,U,Np,Pu,Am,Cm,Bk,Cf,Es,Fm,Md,No,Lr]',0), # actinide
+  5:('[Sc,Ti,Y,Zr,Hf]',0), # Group IIIB,IVB (Sc...)  *NOTE* spec wrong
+  6:('[La,Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb,Lu]',0), # Lanthanide
+  7:('[V,Cr,Mn,Nb,Mo,Tc,Ta,W,Re]',0), # Group VB,VIB,VIIB (V...) *NOTE* spec wrong
+  8:('[!#6;!#1]1~*~*~*~1',0), # QAAA@1
+  9:('[Fe,Co,Ni,Ru,Rh,Pd,Os,Ir,Pt]',0), # Group VIII (Fe...)
+  10:('[Be,Mg,Ca,Sr,Ba,Ra]',0), # Group IIa (Alkaline earth)
+  11:('*1~*~*~*~1',0), # 4M Ring
+  12:('[Cu,Zn,Ag,Cd,Au,Hg]',0), # Group IB,IIB (Cu..)
+  13:('[#8]~[#7](~[#6])~[#6]',0), # ON(C)C
+  14:('[#16]-[#16]',0), # S-S
+  15:('[#8]~[#6](~[#8])~[#8]',0), # OC(O)O
+  16:('[!#6;!#1]1~*~*~1',0), # QAA@1
+  17:('[#6]#[#6]',0), #CTC
+  18:('[B,Al,Ga,In,Tl]',0), # Group IIIA (B...) *NOTE* spec wrong
+  19:('*1~*~*~*~*~*~*~1',0), # 7M Ring
+  20:('[Si]',0), #Si
+  21:('[#6]=[#6](~[!#6;!#1])~[!#6;!#1]',0), # C=C(Q)Q
+  22:('*1~*~*~1',0), # 3M Ring
+  23:('[#7]~[#6](~[#8])~[#8]',0), # NC(O)O
+  24:('[#7]-[#8]',0), # N-O
+  25:('[#7]~[#6](~[#7])~[#7]',0), # NC(N)N
+  26:('[#6]=;@[#6](@*)@*',0), # C$=C($A)$A
+  27:('[I]',0), # I
+  28:('[!#6;!#1]~[CH2]~[!#6;!#1]',0), # QCH2Q
+  29:('[#15]',0),# P
+  30:('[#6]~[!#6;!#1](~[#6])(~[#6])~*',0), # CQ(C)(C)A
+  31:('[!#6;!#1]~[F,Cl,Br,I]',0), # QX
+  32:('[#6]~[#16]~[#7]',0), # CSN
+  33:('[#7]~[#16]',0), # NS
+  34:('[CH2]=*',0), # CH2=A
+  35:('[Li,Na,K,Rb,Cs,Fr]',0), # Group IA (Alkali Metal)
+  36:('[#16R]',0), # S Heterocycle
+  37:('[#7]~[#6](~[#8])~[#7]',0), # NC(O)N
+  38:('[#7]~[#6](~[#6])~[#7]',0), # NC(C)N
+  39:('[#8]~[#16](~[#8])~[#8]',0), # OS(O)O
+  40:('[#16]-[#8]',0), # S-O
+  41:('[#6]#[#7]',0), # CTN
+  42:('F',0), # F
+  43:('[!C;!c;!#1;!H0]~*~[!C;!c;!#1;!H0]',0), # QHAQH
+  44:('?',0), # OTHER
+  45:('[#6]=[#6]~[#7]',0), # C=CN
+  46:('Br',0), # BR
+  47:('[#16]~*~[#7]',0), # SAN
+  48:('[#8]~[!#6;!#1](~[#8])(~[#8])',0), # OQ(O)O
+  49:('[!+0]',0), # CHARGE  
+  50:('[#6]=[#6](~[#6])~[#6]',0), # C=C(C)C
+  51:('[#6]~[#16]~[#8]',0), # CSO
+  52:('[#7]~[#7]',0), # NN
+  53:('[!#6;!#1;!H0]~*~*~*~[!#6;!#1;!H0]',0), # QHAAAQH
+  54:('[!#6;!#1;!H0]~*~*~[!#6;!#1;!H0]',0), # QHAAQH
+  55:('[#8]~[#16]~[#8]',0), #OSO
+  56:('[#8]~[#7](~[#8])~[#6]',0), # ON(O)C
+  57:('[#8R]',0), # O Heterocycle
+  58:('[!#6;!#1]~[#16]~[!#6;!#1]',0), # QSQ
+  59:('[#16]!:*:*',0), # Snot%A%A
+  60:('[#16]=[#8]',0), # S=O
+  61:('*~[#16](~*)~*',0), # AS(A)A
+  62:('*@*!@*@*',0), # A$!A$A
+  63:('[#7]=[#8]',0), # N=O
+  64:('*@*!@[#16]',0), # A$A!S
+  65:('c:n',0), # C%N
+  66:('[#6]~[#6](~[#6])(~[#6])~*',0), # CC(C)(C)A
+  67:('[!#6;!#1]~[#16]',0), # QS
+  68:('[!#6;!#1;!H0]~[!#6;!#1;!H0]',0), # QHQH (&...) FIX: incomplete definition
+  69:('[!#6;!#1]~[!#6;!#1;!H0]',0), # QQH
+  70:('[!#6;!#1]~[#7]~[!#6;!#1]',0), # QNQ
+  71:('[#7]~[#8]',0), # NO
+  72:('[#8]~*~*~[#8]',0), # OAAO
+  73:('[#16]=*',0), # S=A
+  74:('[CH3]~*~[CH3]',0), # CH3ACH3
+  75:('*!@[#7]@*',0), # A!N$A
+  76:('[#6]=[#6](~*)~*',0), # C=C(A)A
+  77:('[#7]~*~[#7]',0), # NAN
+  78:('[#6]=[#7]',0), # C=N
+  79:('[#7]~*~*~[#7]',0), # NAAN
+  80:('[#7]~*~*~*~[#7]',0), # NAAAN
+  81:('[#16]~*(~*)~*',0), # SA(A)A
+  82:('*~[CH2]~[!#6;!#1;!H0]',0), # ACH2QH
+  83:('[!#6;!#1]1~*~*~*~*~1',0), # QAAAA@1
+  84:('[NH2]',0), #NH2
+  85:('[#6]~[#7](~[#6])~[#6]',0), # CN(C)C
+  86:('[C;H2,H3][!#6;!#1][C;H2,H3]',0), # CH2QCH2
+  87:('[F,Cl,Br,I]!@*@*',0), # X!A$A
+  88:('[#16]',0), # S
+  89:('[#8]~*~*~*~[#8]',0), # OAAAO
+  90:('[$([!#6;!#1;!H0]~*~*~[CH2]~*),$([!#6;!#1;!H0;R]1@[R]@[R]@[CH2;R]1),$([!#6;!#1;!H0]~[R]1@[R]@[CH2;R]1)]',0), # QHAACH2A
+  91:('[$([!#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), # QHAAACH2A
+  92:('[#8]~[#6](~[#7])~[#6]',0), # OC(N)C
+  93:('[!#6;!#1]~[CH3]',0), # QCH3
+  94:('[!#6;!#1]~[#7]',0), # QN
+  95:('[#7]~*~*~[#8]',0), # NAAO
+  96:('*1~*~*~*~*~1',0), # 5 M ring
+  97:('[#7]~*~*~*~[#8]',0), # NAAAO
+  98:('[!#6;!#1]1~*~*~*~*~*~1',0), # QAAAAA@1
+  99:('[#6]=[#6]',0), # C=C
+  100:('*~[CH2]~[#7]',0), # ACH2N
+  101:('[$([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), # 8M Ring or larger. This only handles up to ring sizes of 14
+  102:('[!#6;!#1]~[#8]',0), # QO
+  103:('Cl',0), # CL
+  104:('[!#6;!#1;!H0]~*~[CH2]~*',0), # QHACH2A
+  105:('*@*(@*)@*',0), # A$A($A)$A
+  106:('[!#6;!#1]~*(~[!#6;!#1])~[!#6;!#1]',0), # QA(Q)Q
+  107:('[F,Cl,Br,I]~*(~*)~*',0), # XA(A)A
+  108:('[CH3]~*~*~*~[CH2]~*',0), # CH3AAACH2A
+  109:('*~[CH2]~[#8]',0), # ACH2O
+  110:('[#7]~[#6]~[#8]',0), # NCO
+  111:('[#7]~*~[CH2]~*',0), # NACH2A
+  112:('*~*(~*)(~*)~*',0), # AA(A)(A)A
+  113:('[#8]!:*:*',0), # Onot%A%A
+  114:('[CH3]~[CH2]~*',0), # CH3CH2A
+  115:('[CH3]~*~[CH2]~*',0), # CH3ACH2A
+  116:('[$([CH3]~*~*~[CH2]~*),$([CH3]~*1~*~[CH2]1)]',0), # CH3AACH2A
+  117:('[#7]~*~[#8]',0), # NAO
+  118:('[$(*~[CH2]~[CH2]~*),$(*1~[CH2]~[CH2]1)]',1), # ACH2CH2A > 1
+  119:('[#7]=*',0), # N=A
+  120:('[!#6;R]',1), # Heterocyclic atom > 1 (&...) FIX: incomplete definition
+  121:('[#7;R]',0), # N Heterocycle
+  122:('*~[#7](~*)~*',0), # AN(A)A
+  123:('[#8]~[#6]~[#8]',0), # OCO
+  124:('[!#6;!#1]~[!#6;!#1]',0), # QQ
+  125:('?',0), # Aromatic Ring > 1
+  126:('*!@[#8]!@*',0), # A!O!A
+  127:('*@*!@[#8]',1), # A$A!O > 1 (&...) FIX: incomplete definition
+  128:('[$(*~[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), # ACH2AAACH2A
+  129:('[$(*~[CH2]~*~*~[CH2]~*),$([R]1@[CH2]@[R]@[R]@[CH2;R]1),$(*~[CH2]~[R]1@[R]@[CH2;R]1)]',0), # ACH2AACH2A
+  130:('[!#6;!#1]~[!#6;!#1]',1), # QQ > 1 (&...)  FIX: incomplete definition
+  131:('[!#6;!#1;!H0]',1), # QH > 1
+  132:('[#8]~*~[CH2]~*',0), # OACH2A
+  133:('*@*!@[#7]',0), # A$A!N
+  134:('[F,Cl,Br,I]',0), # X (HALOGEN)
+  135:('[#7]!:*:*',0), # Nnot%A%A
+  136:('[#8]=*',1), # O=A>1 
+  137:('[!C;!c;R]',0), # Heterocycle
+  138:('[!#6;!#1]~[CH2]~*',1), # QCH2A>1 (&...) FIX: incomplete definition
+  139:('[O;!H0]',0), # OH
+  140:('[#8]',3), # O > 3 (&...) FIX: incomplete definition
+  141:('[CH3]',2), # CH3 > 2  (&...) FIX: incomplete definition
+  142:('[#7]',1), # N > 1
+  143:('*@*!@[#8]',0), # A$A!O
+  144:('*!:*:*!:*',0), # Anot%A%Anot%A
+  145:('*1~*~*~*~*~*~1',1), # 6M ring > 1
+  146:('[#8]',2), # O > 2
+  147:('[$(*~[CH2]~[CH2]~*),$([R]1@[CH2;R]@[CH2;R]1)]',0), # ACH2CH2A
+  148:('*~[!#6;!#1](~*)~*',0), # AQ(A)A
+  149:('[C;H3,H4]',1), # CH3 > 1
+  150:('*!@*@*!@*',0), # A!A$A!A
+  151:('[#7;!H0]',0), # NH
+  152:('[#8]~[#6](~[#6])~[#6]',0), # OC(C)C
+  153:('[!#6;!#1]~[CH2]~*',0), # QCH2A
+  154:('[#6]=[#8]',0), # C=O
+  155:('*!@[CH2]!@*',0), # A!CH2!A
+  156:('[#7]~*(~*)~*',0), # NA(A)A
+  157:('[#6]-[#8]',0), # C-O
+  158:('[#6]-[#7]',0), # C-N
+  159:('[#8]',1), # O>1
+  160:('[C;H3,H4]',0), #CH3
+  161:('[#7]',0), # N
+  162:('a',0), # Aromatic
+  163:('*1~*~*~*~*~*~1',0), # 6M Ring
+  164:('[#8]',0), # O
+  165:('[R]',0), # Ring
+  166:('?',0), # Fragments  FIX: this can't be done in SMARTS
+
+# obabel -:"CNO" -oftp -xs
+# 24: N-O	68: QHQH (&...) 	69: QQH	71: NO	93: QCH3	94: QN	102: QO
+# 124: QQ	131: QH > 1	*2  139: OH	151: NH	158: C-N	160: CH3	161: N	164: O