User 24ceacde10
02-08-2011 19:44:52
My company maintains a Markush database consisting of 500,000 Markush structures. This database is currently installed on a server running Oracle 11g with JChem Cartridge v5.5. The database was created as a Markush database using the default settings. I have written a demo application to perform a substructure search against the Markush database. The basic code is as shown below. When a search is run, the search progress messages reported are: Collecting fingerprints, and Loading cache. The status stays at the Loading cache state for hours and never seems to get past this step. Is there something I need to do to the Markush database to make searching more efficient?
search = new JChemSearch();
search.setStructureTable("MARKUSH_STRUCTS");
search.setQueryStructure(query);
search.setConnectionHandler(connectionHandler);
search.setRunMode(JChemSearch.RUN_MODE_ASYNCH_COMPLETE);
search.setSearchOptions(searchOptions);
try
{
search.run();
String currMessage, prevMessage = "";
while (search.isRunning()) {
Thread.sleep(1000);
currMessage = search.getProgressMessage();
if (!currMessage.equalsIgnoreCase(prevMessage)){
System.out.println("Search status: "+search.getProgressMessage());
}
prevMessage = currMessage;
}
System.out.println("Search resulted in "+search.getResultCount()+" hits.");
}
catch (Exception e) {e.printStackTrace();}