| 1 |
tim |
760 |
############################################################################## |
| 2 |
|
|
# # |
| 3 |
|
|
# Open Babel file: bondtyp.txt # |
| 4 |
|
|
# # |
| 5 |
|
|
# Copyright (c) 2002-2005 by Geoffrey R Hutchison # |
| 6 |
|
|
# Part of the Open Babel package, under the GNU General Public License (GPL)# |
| 7 |
|
|
# # |
| 8 |
|
|
# Used by bondtyper.cpp::OBBondTyper (and thus OBMol::PerceiveBondOrders() # |
| 9 |
|
|
# # |
| 10 |
|
|
# List of functional groups with double, triple (etc.) bond orders # |
| 11 |
|
|
# Pattern Atom1 Atom2 Bond Order (repeat as needed) # |
| 12 |
|
|
# * = Any atom (for setting non-multiple bonds) # |
| 13 |
|
|
# # |
| 14 |
|
|
# NOTE: These are applied in order, first to last. # |
| 15 |
|
|
# So it's generally better to have a long (specifc) SMARTS first. # |
| 16 |
|
|
# (all bonds must be single bonds to match) |
| 17 |
|
|
# # |
| 18 |
|
|
############################################################################## |
| 19 |
|
|
|
| 20 |
|
|
# Porphyrin / phthalocyanine (3 patterns for three separate bonding motifs) |
| 21 |
|
|
# this one has explicit bonds to all four nitrogens (e.g., metal bond or hydrogens) |
| 22 |
|
|
#0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
| 23 |
|
|
*1[#6]([#7D3]2)[#6][#6][#6]2*[#6]([#7D3]3)[#6][#6][#6]3*[#6]([#7D3]4)[#6][#6][#6]4*[#6]([#7D3]5)[#6][#6][#6]51 0 1 2 1 2 1 1 3 1 3 4 2 4 5 1 5 2 1 5 6 2 6 7 1 7 8 2 7 9 1 9 10 2 10 11 1 11 8 1 11 12 2 12 13 1 13 14 1 13 15 2 15 16 1 16 17 2 17 14 1 17 18 1 18 19 2 19 20 1 19 21 1 21 22 2 22 23 1 23 20 2 |
| 24 |
|
|
|
| 25 |
|
|
# this one has explicit bonds to two nitrogens (12 and 14) |
| 26 |
|
|
#0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
| 27 |
|
|
*1[#6]([#7D3]2)[#6][#6][#6]2*[#6]([#7]3)[#6][#6][#6]3*[#6]([#7D3]4)[#6][#6][#6]4*[#6]([#7]5)[#6][#6][#6]51 0 1 2 1 2 1 1 3 1 3 4 2 4 5 1 5 2 1 5 6 2 6 7 1 7 8 2 7 9 1 9 10 2 10 11 1 11 8 1 11 12 2 12 13 1 13 14 1 13 15 2 15 16 1 16 17 2 17 14 1 17 18 1 18 19 2 19 20 1 19 21 1 21 22 2 22 23 1 23 20 2 |
| 28 |
|
|
|
| 29 |
|
|
# and this one doesn't have any explicit bonds to the nitrogens |
| 30 |
|
|
#0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
| 31 |
|
|
*1[#6]([#7]2)[#6][#6][#6]2*[#6]([#7]3)[#6][#6][#6]3*[#6]([#7]4)[#6][#6][#6]4*[#6]([#7]5)[#6][#6][#6]51 0 1 2 1 2 1 1 3 1 3 4 2 4 5 1 5 2 1 5 6 2 6 7 1 7 8 2 7 9 1 9 10 2 10 11 1 11 8 1 11 12 2 12 13 1 13 14 1 13 15 2 15 16 1 16 17 2 17 14 1 17 18 1 18 19 2 19 20 1 19 21 1 21 22 2 22 23 1 23 20 2 |
| 32 |
|
|
|
| 33 |
|
|
# Azide |
| 34 |
|
|
[#7D2][#7D2^1][#7D1] 0 1 2 1 2 2 |
| 35 |
|
|
# Nitro |
| 36 |
|
|
[#8D1][#7D3^2]([#8D1])* 0 1 2 1 2 1 1 3 1 |
| 37 |
|
|
# Sulphone |
| 38 |
|
|
[#16D4]([#8D1])([#8D1])(*)(*) 0 1 2 0 2 2 0 3 1 0 4 1 |
| 39 |
|
|
# Phosphone |
| 40 |
|
|
[#15D4]([#8D1])(*)(*)(*) 0 1 2 0 2 1 0 3 1 0 4 1 |
| 41 |
|
|
|
| 42 |
|
|
# Carboxylic Acid, ester, etc. |
| 43 |
|
|
[#6D3^2]([#8D1])([#8])* 0 1 2 0 2 1 0 3 1 |
| 44 |
|
|
# Carbon dioxide |
| 45 |
|
|
[#8D1][#6D2^1][#8D1] 0 1 2 1 2 2 |
| 46 |
|
|
# Amide C(=O)N |
| 47 |
|
|
[#6D3^2]([#8D1])([#7])* 0 1 2 0 2 1 0 3 1 |
| 48 |
|
|
# Seleninic acid Se(=O)OH |
| 49 |
|
|
[#34D3^2]([#8D1])([#8])* 0 1 2 0 2 1 0 3 1 |
| 50 |
|
|
# Thioacid / Thioester C(=O)S |
| 51 |
|
|
[#6D3^2]([#8D1])([#16])* 0 1 2 0 2 1 0 3 1 |
| 52 |
|
|
# dithioacid / dithioester C(=S)S |
| 53 |
|
|
[#6D3^2]([#16D1])([#16])* 0 1 2 0 2 1 0 3 1 |
| 54 |
|
|
# thioamide C(=S)N |
| 55 |
|
|
[#6D3^2]([#16D1])([#7])* 0 1 2 0 2 1 0 3 1 |
| 56 |
|
|
|
| 57 |
|
|
# allene C=C=C |
| 58 |
|
|
# (this is problematic -- need to make sure the center carbon is sp) |
| 59 |
|
|
[#6^2][#6D2^1][#6^2] 0 1 2 1 2 2 |
| 60 |
|
|
|
| 61 |
|
|
# guanidinium and amidine -C(=NH)NH2 without hydrogens |
| 62 |
|
|
[#6D3^2;!R]([#7D1H0;!R])([#7;!R])* 0 1 2 0 2 1 0 3 1 |
| 63 |
|
|
# and also with hydrogens |
| 64 |
|
|
# (this can normally be figured out, but is needed to avoid matching the next SMARTS) |
| 65 |
|
|
[#6D3^2;!R]([#7D2H1;!R])([#7;!R])* 0 1 2 0 2 1 0 3 1 |
| 66 |
|
|
# and also with more hydrogens than normal (protonated) |
| 67 |
|
|
[#6D3^2;!R]([#7D3H2;!R])([#7;!R])* 0 1 2 0 2 1 0 3 1 |
| 68 |
|
|
|
| 69 |
|
|
# Schiff base, protonated |
| 70 |
|
|
[#6D3^2;!R]([#1,#6])([#1,#6])[#7D3^2;!R]([#1])[#6] 0 1 1 0 2 1 0 3 2 3 4 1 3 5 1 |
| 71 |
|
|
|
| 72 |
|
|
### other potential functional groups that may (or may not) be useful to add |
| 73 |
|
|
# imidines ( N=C/N\C=N |
| 74 |
|
|
# sulfoxides |
| 75 |
|
|
# heme / porphyrin |
| 76 |
|
|
# phthalocyanine |