1 package search.db;
2
3 import util.ConnectionUtil;
4 import util.SearchUtil;
5 import util.TableOperations;
6 import chemaxon.jchem.db.JChemSearch;
7 import chemaxon.sss.SearchConstants;
8 import chemaxon.sss.search.JChemSearchOptions;
9 import chemaxon.util.ConnectionHandler;
10
11
16public final class ChemicalTermsFilteringExample {
17
18 private static final String TABLE_NAME = "demo";
19
20 private ConnectionHandler connHandler;
21
22 public static void main(String[] args) {
23 try {
24 new ChemicalTermsFilteringExample().run();
25 } catch (Exception e) {
26 e.printStackTrace();
27 }
28 }
29
30 private void run() throws Exception {
31 connHandler = ConnectionUtil.connectToDB();
32 try {
33 TableOperations.setupMoleculeTable(connHandler, TABLE_NAME);
34 search();
35 } finally {
36 ConnectionUtil.closeConnection(connHandler);
37 }
38
39 }
40
41 private void search() throws Exception {
42
43 JChemSearchOptions searchOpts =
44 new JChemSearchOptions(SearchConstants.DEFAULT_SEARCHTYPE);
45 searchOpts.setChemTermsFilter("pka(h(0))> 2");
46
47 JChemSearch jcs =
48 SearchUtil.createJChemSearch(connHandler, "OC=O", TABLE_NAME, searchOpts);
49
50 jcs.run();
51 System.out.println("Search has found " + jcs.getResultCount()
52 + " hits in which O has pka value greater than 2");
53
54 searchOpts.setChemTermsFilter("pka(h(0))> 3.5");
55 jcs.setSearchOptions(searchOpts);
56 jcs.run();
57 System.out.println("Search has found " + jcs.getResultCount()
58 + " hits in which O has pka value greater than 3.5");
59 }
60}
61