####################################################################################################################
# SMARTS evaluation definitions:
# SMARTSpattern    SMARTSdescription    moleculeList
#
# where moleculeList can be of type:
# mol1 mol2 mol3       which means that this SMARTSpattern should NOT occure in these molecules
# mol1#1#5#22          which means that this SMARTSpattern should occure at atoms 1,5 and 22 of this molecule
# mol1#1 mol2#8        which means that this SMARTSpattern should occure at molecule1/atom 1 and molecule2/atom 8
# mol1#1 mol2          which means that this SMARTSpattern should occure at molecule1/atom 1 and NOT in molecule2
# mol1#-1 mol2#-1      which means that this SMARTSpattern should occure at molecule1 and in molecule2, in both with undefined atom positions
# mol1#-1 mol2         which means that this SMARTSpattern should occure at molecule1 and NOT in molecule2
#
####################################################################################################################
###############################
## cis/trans detection
###############################
CC=CC                          a_carbon_in_abcd_with_trans                     butene#1#4 trans-butene#1#4 cis-butene#1#4
C\C=C/C                        a_carbon_in_abcd_with_trans                     butene trans-butene
C/C=C\C                        a_carbon_in_abcd_with_trans                     butene trans-butene
C/C=C/C                        a_carbon_in_abcd_with_trans                     butene trans-butene#1#4
C/?C=C/?C                      a_carbon_in_abcd_with_trans                     butene#1#4 trans-butene#1#4
C\C=C\C                        a_carbon_in_abcd_with_cis                       butene cis-butene
C/C=C/C                        a_carbon_in_abcd_with_cis                       butene cis-butene
C/C=C\C                        a_carbon_in_abcd_with_cis                       butene cis-butene#1
C\C=C/C                        a_carbon_in_abcd_with_cis                       butene cis-butene#4
C/?C=C\?C                      a_carbon_in_abcd_with_cis                       butene#1#4 cis-butene#1
C\?C=C/?C                      a_carbon_in_abcd_with_cis                       butene#1#4 cis-butene#4
# this can not be found for MDL SDF import, because JOELib's auto-assign method assign C/C=C/C !!!
C\C=C\C                        a_carbon_in_abcd_with_trans                     butene trans-butene
###############################
## misc
###############################
[#8][#1]                       hydroxy_group_explicit_h                        8-amino-3H-phenoxazin-3-ol#17
[#8;H1]                        hydroxy_group                                   8-amino-3H-phenoxazin-3-ol#17 6-iminocyclohexa-1,4-diene-1,3-diol#4#9 5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#1
[*;!#6;r3]                     heteroatoms_in_3-ring                           5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#10
[*;r3]                         3_ring                                          5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#8#9#10
[*;r4]                         4_ring                                          5-cyclobutyl-2-cycloheptylphosphinane#1#2#3#4
[*;r7]                         7_ring                                          5-cyclobutyl-2-cycloheptylphosphinane#11#12#13#14#15#16#17
[*;!#6;r6]                     hetero_in_6-ring                                5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#17#18
[#7;!#6;r6]                    N_in_6-ring                                     5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#18
[#15;!#6;r6]                   P_in_6-ring                                     5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#17
[*;!#6;H1]                     het_atoms_with_H                                5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#1#10#18#17
[#7][#1]                       N_explicit_h                                    8-amino-3H-phenoxazin-3-ol#11 8-amino-3H-phenoxazin-3-one#11
[#7]:c                         N_in_aromatic_bonds_with_C                      pyridine#6 8-amino-3H-phenoxazin-3-one#3
[n]                            aromatic_N                                      pyridine#6
[a]                            aromatic                                        pyridine#1#2#3#4#5#6 8-amino-3H-phenoxazin-3-one#1#2#3#4#5#6#7#8#9#10#13#14#15#16
[a]                            aromatic                                        pyridine#-1 8-amino-3H-phenoxazin-3-one#-1 phenol#-1
*@*!@*@*                       ring_nbr_of_non-ring_bonds_that_connect_rings   5-cyclobutyl-2-cycloheptylphosphinane#1#4#6#7#8#9#12#13
[*;r]!@[*;r]                   non-ring_bonds_that_connect_rings               5-cyclobutyl-2-cycloheptylphosphinane#3#5#10#11
O!:a:a                         O_in_non-aromatic_bonds_to_an_a                 phenol#7 8-amino-3H-phenoxazin-3-one#17
[*;!#6;!#1]~[*;!#6;!#1]        het-het_bonds                                   5-[1-cyclobutyl-2-[(hydroxythio)oxy]-1-(3-methylaziridin-2-yl)propyl]-1,3-azaphosphinane#1#2#3 8-amino-3H-phenoxazin-3-ol
[*;!#6;!#1]~[*;!#6;!#1]        het-het_bonds                                   {(Z)-1-(1-hydrazinopropyl)-2-[(hydroxythio)oxy]-2-sulfinovinyl}(oxo)sulfonium#2#3#4#5#6#7#12#13#14#15
[O]-[O]	                                                                peroxide_NoKey                                  peroxide#1#2
[OH1]-[OH1]	                                                        hydroperoxide_NoKey                             peroxide#1#2
[*;r4]	                                                                atoms_in_4_ring_Key11                           {[[hydroxy(oxetan-3-yl)amino](oxaziridin-3-yl)methyl]dithio}methanetriol#1#2#3#4 
[#7](~[#8])(~[#6])~[#6]	                                                N_connected_to_1_O_and_2_C_Key13                {[[hydroxy(oxetan-3-yl)amino](oxaziridin-3-yl)methyl]dithio}methanetriol#5
[#16]-[#16]	                                                        S_atoms_in_S-S_groups_Key14                     {[[hydroxy(oxetan-3-yl)amino](oxaziridin-3-yl)methyl]dithio}methanetriol#8#9
[#6](~[#8])(~[#8])~[#8]	                                                C_connected_to_3_O_Key15                        {[[hydroxy(oxetan-3-yl)amino](oxaziridin-3-yl)methyl]dithio}methanetriol#10
[*;!#6;!#1;r3]	                                                        heteroatoms_in_3-membered_rings_Key16           {[[hydroxy(oxetan-3-yl)amino](oxaziridin-3-yl)methyl]dithio}methanetriol#15#16
###############################
## ALTANA Pharma, Germany Tests
###############################
[#6][NH][OH,O-]                                                         hydroxylamin            hydroxylamin#1 TEST_1#10
[#6][NH][OH,O-]                                                         hydroxylamin            hydroxylamin_H#1 TEST_1_H#10
[*;!#1;!#5;!#6;!#14;!#7;!#15;!#8;!#16;!#9;!#17;!#35;!#53]               metal                   hydroxylamin phenol pyridine 5-cyclobutyl-2-cycloheptylphosphinane 8-amino-3H-phenoxazin-3-ol
[#1]                                                                    explicit_hydrogen       water#2#3
[OH2]                                                                   water                   water#1
[*;!#1]                                                                 all_except_hydrogen     water#1 8-amino-3H-phenoxazin-3-ol#1#2#3#4#5#6#7#8#9#10#11#13#14#15#16#17
O=[$(C);$(C-[*!r!N!O])]-[$(C);$(C-[*!r!N!O!S])]=[$(C);$(C-[*!r!N!O!S])] ab_unsat_carbonyl        ab_unsat_carbonyl_h#4
O=[$(C);$(C-[*!r!N!O])]-[$(C);$(C-[*!r!N!O!S])]=[$(C);$(C-[*!r!N!O!S])] ab_unsat_carbonyl        ab_unsat_carbonyl#4
[#6]1(~[*!r!G7])~[#6]([*!r!G7])~[#6](~[G7])~[#7]~[#6](~[#7]1)[*!r!G7]   pyrimidin_derivat_with_nonHalogen_at_2_5_6_and_halogen_at_4_explicit_nbr   pyrimidin_derivat#2
C[$([CH1]),$(CC)]([G7])([G7])                                           di_halogen_ethyl_connected_to_H_or_C                             di_halogen_ethyl#1#5#13
[$([#6]);$(*~[*!r!G7]),$([*!H0])]1~[$([#6]);$(*~[*!r!G7]),$([*!H0])]~[#6](~[G7])~[#7]~[$([#6]);$(*~[*!r!G7]),$([*!H0])]~[#7]1   pyrimidin_derivat_with_nonHalogen_at_2_5_6_and_halogen_at_4_h_allowed   pyrimidin_derivat#2 4-chlorpyrimidin#2
[$(c);$(*~[*!r!G7]),$([*!H0])]1~[$(c);$(*~[*!r!G7]),$([*!H0])]~c(~[G7])~n~[$([c]);$(*~[*!r!G7]),$([*!H0])]~n1   pyrimidin_with_nonHalogen_at_2_5_6_and_halogen_at_4_h_allowed   pyrimidin_derivat#2 4-chlorpyrimidin#2
[*!r!G7,#1]                                                             notHalogenOrH           4-chlorpyrimidin 4-chlorpyrimidin_h#8#9#10
[$(C);!$(C~[*;R,N,O])]                                                  Knock65CNonRNO          knockout65#1
###############################
#### recognize explicite hydrogens flag : FALSE ####
# joelib.smarts.ParseSmart.ParseSmart.anyRecognizesExpliciteHydrogens=false
*                                                                       all_atoms               hydroxylamin_H#1#2#3#4
#### recognize explicite hydrogens flag :TRUE ####
# joelib.smarts.ParseSmart.ParseSmart.anyRecognizesExpliciteHydrogens=true
#*                                                                       all_atoms               hydroxylamin_H#1#2#3#4#5#6#7#8#9#10#11
###############################
###############################
## Stephen Jelfs
###############################
[CH3Q1]                        terminal_methyl                                 ethan#1#2
[CH3Q1]                        terminal_methyl                                 propan#1#3
[CH3Q1]                        terminal_methyl                                 butan#1#4
[CH3]C                         terminal_ethyl                                  ethan#1#2
[CH3]C                         terminal_ethyl                                  propan#1#3
[CH3]C                         terminal_ethyl                                  butan#1#4
###############################
###############################
## aromaticity model
###############################
### inner ring problem
[a]                            aromatic                                        pyrene-4,5-diol#2#3#5#6#7#8#9#10#11#12#13#14#15#16#17#18
[a]                            aromatic                                        9,10-dihydroxyphenanthrene#2#3#5#6#7#8#9#10#11#12#13#14#15#16
###misc
c1ccc2c(c1)C=CC(=O)O2          2H-chromen-2-one                                TEST_3
*!@*                           2H-chromen-2-one                                TEST_3#1#2#3#6
[#6rQ3]=!@[!#6]                2H-chromen-2-one                                TEST_3#2
c1ccc2c(c1)C=CC(=O)O2          2H-chromen-2-one                                TEST_2
c1ccc2c(c1)C=CC(=O)O2          2H-chromen-2-one                                2H-chromen-2-one
c1ccc2ocnc2c1                  c1ccc2ocnc2c1                                   2-phenylnaphtho[1,2-d][1,3]oxazole#13
###############################
## RECAP-SMARTS pattern
###############################
[$([NX3]~*);!$([NX3]C=[G6]);!$([NX3]S(=O)=O)]~*         amine-bond             recap#1#7
[$([OD2;H0](C)C);!$([OD2](*)C=O)]                       etherO-bond            recap#8
[NX4]~*                                                 quatN-bond             recap#11
n-C                                                     nC-bond                recap#19
c-c                                                     biphenyl-bond          recap#25#26
[$([NX3]C=[G6]);!$([NX3]C(=O)[NX3])]C=O                 amideN-bond            recap#35#56
[OD2]C=O                                                esterO-bond            recap#42
[NX3]C(=O)[NX3]                                         ureaC-bond             recap#47#49
C=C                                                     olefin-bond            recap#52#53
[N;r6]([C;r6]=O)C                                       lactamN-bond           recap#56
[NX3]S(=O)=O                                            sulphonamide-bond      recap#65
###############################
## groups
###############################
[#89,#90,#91,#92,#93,#94,#95,#96,#97,#98,#99,#100,#101,#102,#103]	Actinides_Key4                                  actinides#2#3#4#5#6#7#8#9#10#11#12#13#14#15#16
[#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#68,#69,#70,#71]	        Lanthanides_Key6                                lanthanides#1#2#3#4#5#6#7#8#9#10#11#12#13#14#15 lanthanides2#1#2#3#4#5#6#7#8#9#10#11#12#13#14#15
[#4,#12,#20,#38,#56,#88]	                                        alkaline_earth_elements_Key10                   earth_alkanline#1#2#3#4#5#6
[#5,#13,#31,#49,#81]	                                                group_IIIA_elements_Key18                       boron_group#1#2#3#4#5
[#3,#11,#19,#37,#55,#87]	                                        alkali_(group_IA)_elements_Key35                alkali_elements#1#2#3#4#5#6
[#2,#10,#18,#36,#54,#85,#86]	                                        other_elements_(He,Ne,Ar,Kr,Xe,Rn,At)_Key44     he_group#1#2#3#4#5#6
