diff --git a/src/main/java/com/labsynch/cmpdreg/chemclasses/indigo/ChemStructureServiceIndigoImpl.java b/src/main/java/com/labsynch/cmpdreg/chemclasses/indigo/ChemStructureServiceIndigoImpl.java index 08d3571..f064042 100644 --- a/src/main/java/com/labsynch/cmpdreg/chemclasses/indigo/ChemStructureServiceIndigoImpl.java +++ b/src/main/java/com/labsynch/cmpdreg/chemclasses/indigo/ChemStructureServiceIndigoImpl.java @@ -206,6 +206,11 @@ public int[] searchMolStructures(String molfile, String structureTable, String p logger.debug("Search type is " + searchType); logger.debug("Max number of results is " + maxResults); + logger.debug("Dissimilarity similarity is " + simlarityPercent); + + float indSimilarity = 1.0f - simlarityPercent; + logger.debug("Indigo search similarity is " + indSimilarity); + if (searchType.equalsIgnoreCase("EXACT")){ searchType = exactSearchDef; @@ -257,8 +262,8 @@ public int[] searchMolStructures(String molfile, String structureTable, String p if (searchType.equalsIgnoreCase("SUBSTRUCTURE")) { query.setParameter("parameters", ""); }else if (searchType.equalsIgnoreCase("SIMILARITY")) { - query.setParameter("minSimilarity", simlarityPercent); - query.setParameter("maxSimilarity", null); + query.setParameter("minSimilarity", indSimilarity); + query.setParameter("maxSimilarity", 1.0); query.setParameter("metric", "Tanimoto"); }else { String parameters = null; @@ -440,8 +445,8 @@ public CmpdRegMolecule[] searchMols(String molfile, String structureTable, int[] query.setParameter("queryMol", mol.molfile()); query.setMaxResults(maxResults); - if (inputCdIdHitList != null && inputCdIdHitList.length > 0) query.setParameter("filterCdIds", Arrays.asList(inputCdIdHitList)); - + if (inputCdIdHitList != null && inputCdIdHitList.length > 0) query.setParameter("filterCdIds", Arrays.asList(ArrayUtils.toObject(inputCdIdHitList))); + //May need additional research / decisions around which options to use //Basic Indigo search types corresponding to JChem search types //CReg: "DUPLICATE" or "DUPLICATE_NO_TAUTOMER" :: JChem: "DUPLICATE", "TAUTOMER_SEARCH_OFF" :: Bingo.Exact, "ALL"