1 package search.hitdisplay;
2
3 import util.DisplayUtil;
4 import chemaxon.formats.MolImporter;
5 import chemaxon.sss.SearchConstants;
6 import chemaxon.sss.search.MolSearchOptions;
7 import chemaxon.struc.Molecule;
8 import chemaxon.util.HitColoringAndAlignmentOptions;
9 import chemaxon.util.HitDisplayTool;
10
11
16public final class HitColoringExample {
17
18 private static final String QUERY = "N1C=NC2=C1C(=O)N(C)C(=O)N2CCC";
19 private static final String TARGET = "CN1C=NC2=C1C(=O)N(C)C(=O)N2OC";
20
21 public static void main(String[] args) {
22 try {
23 new HitColoringExample().run();
24 } catch (Exception e) {
25 e.printStackTrace();
26 }
27 }
28
29 private void run() throws Exception {
30 Molecule query = MolImporter.importMol(QUERY);
31 Molecule target = MolImporter.importMol(TARGET);
32 Molecule display = getDisplayMol(query, target, getDisplayOptions());
33
34 DisplayUtil.showMolecule(query, 0, "Query");
35 DisplayUtil.showMolecule(target, 1, "Target");
36 DisplayUtil.showMolecule(display, 2, "Colored target");
37 }
38
39 private HitColoringAndAlignmentOptions getDisplayOptions() {
40 HitColoringAndAlignmentOptions displayOpts = DisplayUtil.createColoringOptions();
41 displayOpts.setAlignmentMode(HitColoringAndAlignmentOptions.ALIGNMENT_OFF);
42 return displayOpts;
45 }
46
47 private Molecule getDisplayMol(Molecule query, Molecule target,
48 HitColoringAndAlignmentOptions displayOpts) throws Exception {
49
50 MolSearchOptions searchOpts = new MolSearchOptions(SearchConstants.SIMILARITY);
51 HitDisplayTool hdt = new HitDisplayTool(displayOpts, searchOpts, query);
52
53 return hdt.getHit(target);
54 }
55
56}
57