<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,100 +1,23 @@
-CC1C2CC(C2(C)C)CC1NC(=O)C3C(C(ON3Cc4cccc(c4)CN(Cc5ccccc5C(=O)O)C(CC(C)C)CN(C)C)CO)C(C)O 25007168
-CC1C(OC(=O)N1C(=O)CC(C)C)c2ccccc2 11436915
-CC=CCC(CCCO[Si](c1ccccc1)(c2ccccc2)C(C)(C)C)O 11440475
-CC(C)(C)OC(=O)C(CC=C)NC(=O)C(C)(CCC=C)N(Cc1ccccc1)C(=O)CNC(=O)c2ccccc2 11444185
-CCC1C(N(N=C1c2ccc(cc2)OC)c3ccccc3)c4ccccc4 11439705
-CC(c1ccccc1)NC(=O)C=C 11480756
-CC(=O)N(CCCCCOCc1ccccc1)c2cc3c(cn2)CC(C(=O)N3)c4cc(cc(c4)OC)OC 11443759
-CC(C)CC(=NOC1CC2C(=O)NC3(CC3C=CCCCCCC(C(=O)N2C1)NC(=O)OC4CCC4)C(=O)NS(=O)(=O)C5CC5)c6ccccc6 25010500
-COCC1C(C(C(C(O1)CCNC(=O)C(CNC(=O)OCc2ccccc2)NC(=O)OCc3ccccc3)OC)OS(=O)(=O)O)OC4C(C(C(C(O4)C(=O)O)OC5C(C(C(C(O5)COS(=O)(=O)O)OC6C(C(C(C(O6)C(=O)O)OC7C(C(C(C(O7)COS(=O)(=O)O)O)O)NS(=O)(=O)O)O)O)OS(=O)(=O)O)NS(=O)(=O)O)O)OS(=O)(=O)O 11768481
-C=CC1CCCN1Cc2ccccc2 11480905
-CCCC(C(=O)NC(C(C)CC)C(=O)NC(CCCN=C(N)N)C(=O)N1CCCC1C(=O)CC(=O)N)NC(=O)C(C(C)O)NC(=O)C(C(C)CC)NC(=O)C(C(C)C)NC(=O)CNC(=O)CN(C)C(=O)C 24821384
-CC(c1ccco1)NC(=O)C 11469175
-c1ccc(cc1)CN2CCCCC2C3CCCCOC3=O 11437678
-CN1CC23c4c5c6c7c8c9c%10c%11c%12c%13c%14c%10c%10c8c6c6c4c4c8c6c%10c%14c6c8c8c%10c6c%13c6c%12c%12c%13c%11c9c9c7c7c5c2c2c5c7c9c%13c7c%12c9c6c%10c6c9c(c75)c2c2c6c8c4C32C1c1ccc(cc1)I 24895527
-CCCCCCCC(CC(=O)NC1C(C(C(OC1OCC=C)COC2C(C(C(C(O2)COCc3ccccc3)OP4(=O)OCc5ccccc5CO4)OC(=O)CC(CCCCCCC)OCc6ccccc6)NC(=O)OCC(Cl)(Cl)Cl)O)OC(=O)CC(CCCCCCC)OCc7ccccc7)OCc8ccccc8 11457628
-CCOc1ccccc1CN(Cc2cccc(c2)CN3C(C(C(O3)CO)C(C)O)C(=O)NC4CC5CC(C4C)C5(C)C)C(CC(C)C)CN(C)C 25004628
-CC1CCC2C(C(CC3(O2)CCC(C4(O3)CC(C(O4)CC=CCC=CCC(C(=O)OC)O)OC(=O)CC5CCCC(O5)CC(CC(CC6C(C=CC7(O6)CCC(C(O7)C(C1O)O)OC)C)O)O)C)OC)Cl 24866564
-CC(C)(C)C(=O)N1C(OC(=N1)c2ccccc2F)(CN)c3ccccc3 11439676
-CC(C)N(C(C)C)P(OCCC#N)OC1C2C(CO[Si](O[Si](O2)(C(C)C)C(C)C)(C(C)C)C(C)C)OC1n3cnc4c3c(ncn4)NCCOCCOCCNC(=O)CCCCC5C6C(CS5)NC(=O)N6 24808836
-CC(=O)OCC1C(C(C(C(O1)OC2C(OC(C(C2OC3C(C(C(C(O3)C(COC(=O)C)OC(=O)C)OC(=O)C)OC(=O)C)OC(=O)C)OC(=O)C)OC)CO[Si](c4ccccc4)(c5ccccc5)C(C)(C)C)OC(=O)C)OC(=O)C)OC6C(C(C(C(O6)COC(=O)C)OC(=O)C)OC(=O)C)OC(=O)C 11480372
-CC(=O)C=CC(=O)OC1C(C(C(O1)COCc2ccccc2)OCc3ccccc3)OCc4ccccc4 11443736
-CC1C(C2C(C(O1)OC3C4C(C(OC(O4)c5ccccc5)COCc6ccccc6)OC(C3OCc7ccccc7)OC8C(C(OC(C8OCc9ccccc9)OC1C(OC(C3C1OC(O3)(C)C)OC)C)CCOCc1ccccc1)OC(=O)Cc1ccccc1C#N)OC(O2)(C)C)OCc1ccccc1 11622301
-c1ccc(cc1)Sc2c(nccn2)Br 11482531
-[B].CC(C(=O)O)P(c1ccccc1)c2ccccc2 11437198
-CC(C(=O)NC(c1ccccc1)C(=O)O)NC(=O)Cc2cc(cc(c2)F)F 11440276
-C=CCC(CO)C=Cc1ccccc1 11469532
-CC(C)C(CC(=O)c1ccco1)O 11480835
-COCOCC(CO)NC(=O)OCc1ccccc1 11437122
-COC(c1ccccc1)C(=O)N2Cc3c([nH]nc3NC(=O)c4ccc(cc4)N5CCN(CC5)C6CC6)C2 11443428
-COc1cc2c(cc1OC)C(N(CC2)C(c3ccccc3)C(=O)N)CCc4ccc(c(c4)C(F)(F)F)F 11443734
-CC(=O)OCC1C(C(C(C(O1)OC)OC(=O)OCc2ccccc2)OCc3ccccc3)OC(=O)C 11443451
-CC(C)c1cc(c(c(c1)C(C)C)c2cc3ccccc3c-4c2OP(=O)(Oc5c4c6ccccc6cc5c7c(cc(cc7C(C)C)C(C)C)C(C)C)O)C(C)C.c1ccc(cc1)C(C(c2ccccc2)N)N 24878763
-C1CCC(CC1)(CS(=O)(=O)O)N 16724650
-COc1cc2c(c(c1)OC)C(N(CC2)C(=O)c3ccc(cc3)C(F)(F)F)c4ccc(cc4)c5ccccc5 11443754
-CC(C(=O)N1CCN(CC1)c2nc(nc(n2)N3CCN(CC3)C(=O)Cn4cc(nn4)CCCCN)Nc5ccc(c(c5)C(=O)O)c6c7ccc(cc7oc-8cc(=O)ccc68)O)n9cc(nn9)CCC(=O)O 24796268
-CCOC(=O)c1cc(n(c1C)CC(=O)NC2C3N(C2=O)C(=C(CS3)COC(=O)C)C(=O)O)c4ccccc4 11444099
-CC(=O)OCC1=C(N2C(C(C2=O)N3C(=O)CCCC3=O)SC1)C(=O)OC(c4ccccc4)c5ccccc5 11444012
-CC(C(=O)O)P(c1ccccc1)c2ccccc2 11437199
-Cc1cn(c(=O)[nH]c1=O)C2C(C(C(O2)COP(N(C(C)C)C(C)C)OCCC#N)OP(=O)(O)OCC3C(CC(O3)n4ccc(nc4=O)NCc5ccccc5)OP(=O)(O)OCC6C(CC(O6)n7ccc(nc7=O)NCc8ccccc8)OP(=O)(O)OCC9C(CC(O9)n1ccc(nc1=O)NCc1ccccc1)OC(=O)CCC(=O)C)O 11615145
-CC(Cn1cccc1)C=O 11469113
-CCC=CC1C(O1)C2=C(C(=O)C3(O2)C(C(NC3=O)(C(c4ccccc4)O)O)O[Si](CC)(CC)CC)C 11443723
-CC(C)C(c1ccccc1)NC(=O)c2ccc3c(c2)c(=C(C#N)C#N)c4ccccc4c3=C(C#N)C#N 11442997
-CC(C)(C)OC(=O)NC(CCC(=O)OCc1ccccc1)C(=O)Nc2cc3c(cc2CC=C)OCO3 11443346
 c1ccc(cc1)S(=O)(=O)CCS 447093
-CC(c1ccccc1)N2C(C(C2=O)C=Cc3ccccc3)c4ccccc4 11439611
-[Si][As]([Si])[Si] 6327292
-CC(C)Cc1ccc(cc1)C(C)C(=O)OCCCNC(=O)c2cccnc2 11440058
-Cc1c2c(cccc2n(c1c3ccccc3)Cc4ccccc4)c5ccc(cc5)OCc6n[nH]nn6 11442814
-CCOC(=O)C(C(C1C(O1)c2ccccc2)O)O 11436671
-CCC(C)C(C(=O)NC(CC(=O)O)C(=O)NC(CC(C)C)C(=O)NC(C(C)C)C(=O)O)NC(=O)C1CCCN1C(=O)C(Cc2ccc(cc2)O)N 25002969
-CC(C)C(C(=O)NC(CCCCN)C(=O)NC(CCCCN)C(=O)NCC(=O)NCC(=O)NC(Cc1ccccc1)C(=O)NC(Cc2c[nH]c3c2cccc3)C(=O)NC(CS)C(=O)O)NC(=O)C(CS)N 24900670
-CC1CC(OC1=O)(C)c2ccccc2 11458174
-CCC(C)C(C(=O)NC(CC(C)C)C(=O)NCC(=O)NC(CCCCN)C(=O)NC(C(C)CC)C(=O)NC(Cc1c[nH]c2c1cccc2)C(=O)NC(CCCCN)C(=O)NC(C(C)CC)C(=O)NC(CCCCN)C(=O)NC(CCCCN)C(=O)NC(CC(C)C)C(=O)NC(Cc3ccccc3)C(=O)N)N 11446251
-CC1C(C(CC(O1)OC2CC(Cc3c2c(c4c(c3O)C(=O)c5cccc(c5C4=O)OC)O)(C(=O)CO)O)N=C(C)N6CCc7c6cccc7)O.Cl 25004098
-CC(C(=O)NC(CCC(=O)NC(CCCCNC(=O)OCC[Si](C)(C)C)C(=O)NC(C)C(=O)NC(C)C(=O)OCC[Si](C)(C)C)C(=O)OCC[Si](C)(C)C)NC(=O)C(C)OC1C(C(OC(C1OC2C(C(C(C(O2)COC(=O)C)OC(=O)C)OC(=O)C)NC(=O)C)COC(=O)C)OP(=O)(OCc3ccccc3)OCc4ccccc4)NC(=O)C 11491891
-CCC=CC1C(O1)C2=C(C(=O)C3(O2)C(C(NC3=O)(C(c4ccccc4)O)O)O[Si](CC)(CC)CC)C 11443723
-c1ccc(cc1)COC(=O)C(C#N)c2cccs2 11436798
-CS(=O)(=O)N1CCc2c(c(nn2CC(CN3CCC(CC3)N4CCCC4=O)O)c5ccc(c(c5)CNC(=O)C=Cc6ccccc6)C(F)(F)F)C1 25003062
-Cc1ccnc(c1)NCCCC(=O)NCC(=O)NC(CC(=O)O)c2ccc(cc2)c3cccc(c3)CCCOCCOCCOCCCNC(=O)CCCC(=O)Nc4ccc(cc4)CCC(=O)CC(=O)C 24803779
-CS(=O)(=O)NC(CCc1ccccc1)C(=O)N2CC(CC2C(=O)NC(CCCCN)C(=O)C(=O)NCc3ccccc3)OCc4ccc(cc4)Cl 25006265
-CCCC(CC=C)N(CC=C)C(C)c1ccccc1 11436807
-c1ccc(cc1)n2cccc2C#N 11506526
-CCC(C(=O)NC(CC=Cc1ccccc1)C#N)N 11436803
-CN1CCN(CC1)Cc2ccc(cc2)C(=O)N(C3CCCCC3)Nc4c5c(nc(n4)C#N)n(cn5)C(=O)N6CCN(CC6)C.C(=O)(C(F)(F)F)O 25007644
-CCC1C(C=C(C=CC(=O)C(CC2CCOCC(=NOCc3ccc(nc3)c4cnccn4)COC(CC(=O)O1)C(C2OC5C(C(C(C(O5)C)O)N(C)C)O)C)C)C)COC6CCC(C(C6OC)OC)O 25003997
-CC(C)(C)C(C(=O)N1CC(CC1C(=O)NC2(CC2C=C)C(=O)NS(=O)(=O)C3CC3)(c4ccc(cc4)c5ccccc5)OC)NC(=O)OCCCF 25003040
-CC(C(=O)N(C)c1ccccc1)I 11471779
-COC(=O)C(CC=C)NS(=O)(=O)c1ccccc1 11437131
-CC1(OC(C(O1)C(CO)OCc2ccccc2)C=C)C 11437398
-CCC1C(C=C(C=CC(=O)C(CC2CCOCC(=NOCc3ccc(nc3)c4nnc(s4)N)COC(CC(=O)O1)C(C2OC5C(C(C(C(O5)C)O)N(C)C)O)C)C)C)COC6CCC(C(C6OC)OC)O 25005356
-CCC1C(C(C(C(=NNC(c2ccccc2)(c3ccccc3)c4ccccc4)C(CC(C(C(C(C(C(=O)O1)C)OC5CC(C(C(O5)C)O)(C)OC)C)OC6C(C(CC(O6)C)N(C)C)O)(C)O)C)C)O)(C)O 24879714
-c1ccc(cc1)CCC(C2CCC2)N=C(N)N=C(N)N 11437260
-CCCCCCCCCCCCCCCCC(C)C=C(C)C(=O)OC1C(C(OC(C1OC(=O)CCCCCCCCCCCCCCC)OC2C(C(C(C(O2)CO)O)OS(=O)(=O)O)OS(=O)(=O)O)CO)O 24996172
-Cc1cc(on1)CC(n2cccc2)O 11492083
+C=CC(CO)c1ccccc1 11446423
+C=CCCCC(c1ccco1)O 11446541
+CC1C(OC(=O)C1=C)c2ccccc2 11446798
+c1ccc(cc1)C23CCCC2CCO3 11446800
+CC(=O)NCCC=Cc1ccccc1 11446815
+C=CCC(=O)C(=Cc1ccccc1)F 11446820
+CC(C)(Cc1ccccc1)C(=O)C=O 11446821
+CC(=CCC(=O)Sc1ccccc1)C 11447122
+c1ccc(cc1)C2C(C2(Cl)Cl)C(=O)O 11447577
+COC(=O)CCC=CCOCc1ccccc1 11436250
 CCOC1(CC1Cc2ccccc2)OC(=O)C 11436251
-CC1C(C(C(C(O1)OC2C(C(C(OC2OC(=O)C34CCC5(C(=CCC6C5(CCC7C6(CCC(C7(C)C)OC8C(C(C(C(O8)COC9C(C(C(CO9)O)O)OC1C(C(C(CO1)O)O)O)O)O)OC1C(C(C(C(O1)CO)O)O)O)C)C)C3CC(C(C4)OC(=O)C=Cc1ccccc1)(C)C)C)CO)O)O)O)OC1C(C(C(C(O1)CO)O)O)O)O 11457633
-CC(C(c1ccccc1)O)NCCCC2=CCC=CC2 11437193
-C[Si](C)(C)OC(CCOCc1ccccc1)CC=O 11437464
-COCC(=NOC1CC2C(=O)NC3(CC3C=CCCCCCC(C(=O)N2C1)NC(=O)OC4CCCC4)C(=O)NS(=O)(=O)C5CC5)c6ccccc6 25009415
-CC(c1ccccc1)C(=O)N2Cc3c([nH]nc3NC(=O)c4ccc(cc4)N5CCN(CC5)C(C)(C)C)C2 11443429
-CC(C)(C)c1c(c2cc(ccc2c(n1)OCCOC)OC)c3ccccc3 11439967
-CC(C)[Si](C(C)C)(C(C)C)OC1CC(N(C1CO[Si](C)(C)C(C)(C)C)C(=O)OCc2ccccc2)O 11444054
-CS(=O)(=O)N1CCc2c(c(nn2CC(CN3CCC(CC3)N4CCCC4=O)O)c5ccc(c(c5)CNC(=O)c6ccc(cc6O)F)C(F)(F)F)C1 25003061
-c1ccc(cc1)Cn2cnc3ccc(cc3c2=O)c4cn(nn4)c5ccccc5 11440363
-c1ccc(cc1)C2=C3CCOC(C3OC2=O)C4CC4 11436780
-CC(C)(C)OC(=O)NC(CC(=O)NC(c1ccccc1)(c2ccccc2)c3ccccc3)C(=O)N4CCCC4 11443912
-CC(=O)C(C(c1ccccc1)Nc2ccc(cc2)OC)O 11437611
-CC1COC(CS1=O)c2ccccc2 11481241
-Cc1c2c([n+]3n1C(=O)C(=C3O)c4ccccc4)CCCC2 11437445
-CC(C)CC(C(=O)NC(CC(C)C)C(=O)NC(C)C(=O)NC(CCSC)C(=O)NC(CCC(=O)N)C(=O)NC(C)C(=O)NC(Cc1cnc[nH]1)C(=O)NC(CC(C)C)C(=O)O)NC(=O)C(CCCCN)N 24986617
-CC1=C2C(C(=O)C3(C(CC4C(C3C(C(C2(C)C)(CC1OC(=O)C(C(c5ccccc5)NC(=O)c6ccccc6)O)O)OC(=O)c7ccccc7)(CO4)OC(=O)C)O)C)OC(=O)Nc8ccc(cc8)[N+](=O)[O-] 24866901
-CC1=CC(C2=C(N1)c3ccccc3C2=O)c4ccccc4 11437249
-CC(C)(C)OC(=O)NC(CCC(=O)OCc1ccccc1)C(=O)Nc2cc3c(cc2CC=C)OCO3 11443346
-CC1C2CC(C2(C)C)CC1NC(=O)C3C(C(ON3Cc4cccc(c4)CN(Cc5c(cccc5Cl)F)C(CC(C)(C)C)CN(C)C)CO)C(C)O 25003952
-CCC(C1C=CC2C(N1N(Cc3ccccc3)C[Si](C)(C)C)C(=O)N(S2=O)C(C)c4ccccc4)O 11443882
-CCC=C(c1ccccc1)C2C(CN2C(C)(C)C3CCC(CC3=O)C)(c4ccccc4)OCc5ccccc5 11443822
-C=CCC(=C1c2ccccc2N(C1=O)Cc3ccccc3)c4ccccc4 11439545
-c1ccc(cc1)CSC2C(C(C(CO2)OC3C(C(C(CO3)OC4C(C(C(CO4)OC5C(C(C(CO5)OC6C(C(C(CO6)OC7C(C(C(CO7)OC8C(C(C(CO8)OC9C(C(C(CO9)OC1C(C(C(CO1)OC1C(C(C(CO1)OC1C(C(C(CO1)OC1C(C(C(CO1)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O)O 11629577
-Cc1cccc(c1)NC(=O)N2CCC3(CC2)C(N(C3=O)c4ccc(cc4)C(F)(F)F)c5ccc(cc5)OCC(=O)NC(C)C(=O)NC(C)C(=O)O 25003637
-CC(C)[Si](C(C)C)(C(C)C)OC1C=COC2C1OC(OC2)c3ccccc3 11440706
+CC(CC(CC=C)O)COCc1ccccc1 11436255
+c1ccc(cc1)CC(=O)NCCCCCCN 11436256
+CC(C)(C=C)NC(=S)NCc1ccccc1 11436257
+c1cc(c-2c(c1)C(=O)c3n2ccc3)c4ccco4 11436269
+CC1=C(C(=O)N(C1Cl)Cc2ccccc2)C 11436281
+C=CC(CCCC=NCc1ccccc1)Cl 11436282
+Cn1c2c(cc(n(c2=O)O)c3ccccc3)cn1 11436428
+Cc1c2nc(nn2c(=S)[nH]n1)c3ccccc3 11436468
+C=C(CNc1ccccc1)c2ccc(cc2)Cl 11436473
+CC(=O)NNC=C1C(=O)OC(=N1)c2ccccc2 11436502
+C=C1CCCN(C1=O)C(=O)OCc2ccccc2 11436506
\ No newline at end of file</diff>
      <filename>data/fingerprint.txt</filename>
    </modified>
    <modified>
      <diff>@@ -4,8 +4,8 @@
 
     &lt;param name=&quot;japex.classPath&quot; value=&quot;build/classes&quot;/&gt;
     &lt;param name=&quot;japex.resultUnit&quot; value=&quot;ms&quot;/&gt;
-    &lt;param name=&quot;japex.warmupIterations&quot; value=&quot;10&quot;/&gt;
-    &lt;param name=&quot;japex.runIterations&quot; value=&quot;50&quot;/&gt;
+    &lt;param name=&quot;japex.warmupIterations&quot; value=&quot;5&quot;/&gt;
+    &lt;param name=&quot;japex.runIterations&quot; value=&quot;25&quot;/&gt;
     &lt;param name=&quot;japex.reportsDirectory&quot; value=&quot;build/reports&quot;/&gt;
 
 
@@ -13,16 +13,52 @@
         &lt;driver name=&quot;CDK-1.2.x&quot;&gt;
             &lt;param name=&quot;japex.driverClass&quot; value=&quot;net.openmolecules.benchmark.driver.FingerprintCDKBench&quot;/&gt;
             &lt;param name=&quot;japex.classPath&quot; value=&quot;${basedir}/lib/cdk-1.2.x-20090116.jar&quot;/&gt;
-            &lt;param name=&quot;description&quot; value=&quot;Benchmark of path based hashed fingperints&quot;/&gt;
+            &lt;param name=&quot;description&quot; value=&quot;Benchmark of path based hashed fingperints based on 22 molecules.
+	Before fingerprints, atom typing and aromatcity perception is performed.&quot;/&gt;
         &lt;/driver&gt;
         &lt;driver name=&quot;CDK-trunk-13858&quot;&gt;
             &lt;param name=&quot;japex.driverClass&quot; value=&quot;net.openmolecules.benchmark.driver.FingerprintCDKBench&quot;/&gt;
             &lt;param name=&quot;japex.classPath&quot; value=&quot;${basedir}/lib/cdk-trunk-13858.jar&quot;/&gt;
-            &lt;param name=&quot;description&quot; value=&quot;Benchmark of path based hashed fingperints&quot;/&gt;
+            &lt;param name=&quot;description&quot; value=&quot;Benchmark of path based hashed fingperints based on 22 molecules
+	Before fingerprints, atom typing and aromaticity perception is performed&quot;/&gt;
         &lt;/driver&gt;        
     &lt;/driverGroup&gt;
 
     &lt;testCase name=&quot;test1&quot;&gt;
         &lt;param name=&quot;japex.inputFile&quot; value=&quot;data/fingerprint.txt&quot; /&gt;
-    &lt;/testCase&gt;    
-&lt;/testSuite&gt;
\ No newline at end of file
+        &lt;param name=&quot;fplength&quot; value=&quot;1024&quot; /&gt;
+        &lt;param name=&quot;fpdepth&quot; value=&quot;4&quot; /&gt;
+        &lt;param name=&quot;type&quot; value=&quot;standard&quot; /&gt;
+    &lt;/testCase&gt;
+    &lt;testCase name=&quot;test2&quot;&gt;
+        &lt;param name=&quot;japex.inputFile&quot; value=&quot;data/fingerprint.txt&quot; /&gt;
+        &lt;param name=&quot;fplength&quot; value=&quot;1024&quot; /&gt;
+        &lt;param name=&quot;fpdepth&quot; value=&quot;6&quot; /&gt;
+        &lt;param name=&quot;type&quot; value=&quot;standard&quot; /&gt;
+    &lt;/testCase&gt;
+    &lt;testCase name=&quot;test3&quot;&gt;
+        &lt;param name=&quot;japex.inputFile&quot; value=&quot;data/fingerprint.txt&quot; /&gt;
+        &lt;param name=&quot;fplength&quot; value=&quot;1024&quot; /&gt;
+        &lt;param name=&quot;fpdepth&quot; value=&quot;8&quot; /&gt;
+        &lt;param name=&quot;type&quot; value=&quot;standard&quot; /&gt;
+    &lt;/testCase&gt;
+
+     &lt;testCase name=&quot;test4&quot;&gt;
+        &lt;param name=&quot;japex.inputFile&quot; value=&quot;data/fingerprint.txt&quot; /&gt;
+        &lt;param name=&quot;fplength&quot; value=&quot;1024&quot; /&gt;
+        &lt;param name=&quot;fpdepth&quot; value=&quot;4&quot; /&gt;
+        &lt;param name=&quot;type&quot; value=&quot;extended&quot; /&gt;
+    &lt;/testCase&gt;
+    &lt;testCase name=&quot;test5&quot;&gt;
+        &lt;param name=&quot;japex.inputFile&quot; value=&quot;data/fingerprint.txt&quot; /&gt;
+        &lt;param name=&quot;fplength&quot; value=&quot;1024&quot; /&gt;
+        &lt;param name=&quot;fpdepth&quot; value=&quot;6&quot; /&gt;
+        &lt;param name=&quot;type&quot; value=&quot;extended&quot; /&gt;
+    &lt;/testCase&gt;
+    &lt;testCase name=&quot;test6&quot;&gt;
+        &lt;param name=&quot;japex.inputFile&quot; value=&quot;data/fingerprint.txt&quot; /&gt;
+        &lt;param name=&quot;fplength&quot; value=&quot;1024&quot; /&gt;
+        &lt;param name=&quot;fpdepth&quot; value=&quot;8&quot; /&gt;
+        &lt;param name=&quot;type&quot; value=&quot;extended&quot; /&gt;
+    &lt;/testCase&gt;
+&lt;/testSuite&gt;</diff>
      <filename>fingerprint-config.xml</filename>
    </modified>
    <modified>
      <diff>@@ -26,12 +26,14 @@ package net.openmolecules.benchmark.driver;
 
 import com.sun.japex.JapexDriverBase;
 import com.sun.japex.TestCase;
-import org.openscience.cdk.DefaultChemObjectBuilder;
+import org.openscience.cdk.aromaticity.CDKHueckelAromaticityDetector;
 import org.openscience.cdk.exception.CDKException;
+import org.openscience.cdk.fingerprint.ExtendedFingerprinter;
 import org.openscience.cdk.fingerprint.Fingerprinter;
+import org.openscience.cdk.fingerprint.IFingerprinter;
 import org.openscience.cdk.interfaces.IAtomContainer;
 import org.openscience.cdk.io.iterator.IteratingSMILESReader;
-import org.openscience.cdk.smiles.SmilesParser;
+import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;
 
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -49,31 +51,37 @@ import java.util.List;
  */
 public class FingerprintCDKBench extends JapexDriverBase {
     private List&lt;IAtomContainer&gt; mols;
-    private SmilesParser smilesParser;
-    private Fingerprinter fingerprinter;
-
-    private int length = 6;
-    private int depth = 1024;
+    private IFingerprinter fingerprinter;
 
     public void initializeDriver() {
     }
 
     public void prepare(TestCase testCase) {
-        fingerprinter = new Fingerprinter(length, depth);
-        smilesParser = new SmilesParser(DefaultChemObjectBuilder.getInstance());
         String fileName = testCase.getParam(&quot;japex.inputFile&quot;);
+        int length = Integer.parseInt(testCase.getParam(&quot;fplength&quot;));
+        int depth = Integer.parseInt(testCase.getParam(&quot;fpdepth&quot;));
+        String type = testCase.getParam(&quot;type&quot;);
+        if (type.equals(&quot;standard&quot;)) fingerprinter = new Fingerprinter(length, depth);
+        else if (type.equals(&quot;extended&quot;)) fingerprinter = new ExtendedFingerprinter(length, depth);
+
         mols = new ArrayList&lt;IAtomContainer&gt;();
         try {
             IteratingSMILESReader reader = new IteratingSMILESReader(new FileInputStream(fileName));
-            while (reader.hasNext()) mols.add((IAtomContainer) reader.next());
+            while (reader.hasNext()) {
+                IAtomContainer tmp = (IAtomContainer) reader.next();
+                AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(tmp);
+                CDKHueckelAromaticityDetector.detectAromaticity(tmp);
+                mols.add(tmp);
+            }
         } catch (FileNotFoundException e) {
+        } catch (CDKException e) {            
         }
     }
 
     public void run(TestCase testCase) {
         for (IAtomContainer atomContainer : mols) {
             try {
-                fingerprinter.getFingerprint(atomContainer);
+                fingerprinter.getFingerprint(atomContainer);                
             } catch (CDKException e) {
             }
         }</diff>
      <filename>src/net/openmolecules/benchmark/driver/FingerprintCDKBench.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>31e4ef035e651e1d62605df327c2461b7c583ce1</id>
    </parent>
  </parents>
  <author>
    <name>Rajarshi  Guha</name>
    <email>rajarshi.guha@gmail.com</email>
  </author>
  <url>http://github.com/rapodaca/cheminfbenchmark/commit/599050723be31a4267fef216c96668234058a123</url>
  <id>599050723be31a4267fef216c96668234058a123</id>
  <committed-date>2009-01-17T18:58:03-08:00</committed-date>
  <authored-date>2009-01-17T18:58:03-08:00</authored-date>
  <message>version of fp benchmark that runs in reasonable time. Also updated to take fp params via the config file, so we can test multiple fingerprints and parameters</message>
  <tree>ffcae5b7cdd4ad6c1f30cbf88663a675b3a0798d</tree>
  <committer>
    <name>Rajarshi  Guha</name>
    <email>rajarshi.guha@gmail.com</email>
  </committer>
</commit>
