User f05f6b8c05
25-02-2013 11:08:19
Hi,
The below Java code finds match between succinate and fumarate when tautomer search option used (so.setTautomerSearch(SearchConstants.TAUTOMER_SEARCH_ON);); however, succinate and fumarate are not tautomer. This match is not found when I use TAUTOMER_SEARCH_OFF.
Can you please clarify why match is found?
Thank you. We are using jchem 5.11.2.
Best regards,
Andrew
MolSearch s = new MolSearch();
MolSearchOptions so = new MolSearchOptions(SearchConstants.DUPLICATE);
so.setQueryAbsoluteStereo(true);
so.setChargeMatching(SearchConstants.CHARGE_MATCHING_EXACT);
so.setDoubleBondStereoMatchingMode(StereoConstants.DBS_ALL);
so.setExactBondMatching(true);
so.setImplicitHMatching(SearchConstants.IMPLICIT_H_MATCHING_ENABLED);
so.setStereoSearchType(SearchConstants.STEREO_EXACT);
//so.setTautomerSearch(SearchConstants.TAUTOMER_SEARCH_OFF);
so.setTautomerSearch(SearchConstants.TAUTOMER_SEARCH_ON);
s.setSearchOptions(so);
Standardizer standardizer = new Standardizer("neutralize");
MolHandler mhl = new MolHandler("OC(=O)\\C=C\\C(O)=O", false);
Molecule mm = mhl.getMolecule();
s.setQuery(mm);
MolHandler mhl2 = new MolHandler("OC(=O)CCC(O)=O", false);
Molecule tarm = mhl2.getMolecule();
standardizer.standardize(tarm);
s.setTarget(tarm);
int[][] hits = s.findAll();
if (hits!=null) {
System.out.println("found it");
}