1 package search.db;
2
3 import util.ConnectionUtil;
4 import util.SearchUtil;
5 import chemaxon.jchem.db.JChemSearch;
6 import chemaxon.sss.SearchConstants;
7 import chemaxon.sss.search.JChemSearchOptions;
8 import chemaxon.util.ConnectionHandler;
9
10
15public final class SearchTypesExample {
16
17 private static final String TABLE_NAME = "demo";
18
19 private ConnectionHandler connHandler;
20
21 public static void main(String[] args) {
22 try {
23 new SearchTypesExample().run();
24 } catch (Exception e) {
25 e.printStackTrace();
26 }
27 }
28
29 private void run() throws Exception {
30 connHandler = ConnectionUtil.connectToDB();
31 try {
32 runSearches();
33 } finally {
34 ConnectionUtil.closeConnection(connHandler);
35 }
36 }
37
38 private void runSearches() throws Exception {
39 JChemSearchOptions searchOpts = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
40 JChemSearch jcs = SearchUtil.createJChemSearch(connHandler, "Brc1ccccc1", TABLE_NAME,
41 searchOpts);
42 jcs.run();
43 printResultMessage(jcs);
44
45 searchOpts = new JChemSearchOptions(SearchConstants.SIMILARITY);
46 searchOpts.setDissimilarityThreshold((float) 0.7);
47 jcs.setSearchOptions(searchOpts);
48 jcs.run();
49 printResultMessage(jcs);
50
51 searchOpts = new JChemSearchOptions(SearchConstants.SUPERSTRUCTURE);
52 jcs.setSearchOptions(searchOpts);
53 jcs.run();
54 printResultMessage(jcs);
55 }
56
57 private void printResultMessage(JChemSearch search) {
58 System.out.printf("%d hit(s) found, %d ms\n", search.getResultCount(),
59 search.getSearchTime());
60 }
61
62}
63