Structure Search/Import what option to use in JChemSearch

User dfeb81947d

02-09-2005 16:05:58

Dear Support,





I have to apologize to ask about these basis, and ask those simple and basic questions.





I'm using API to import structures in CSMOL and make structure search...


but recently I'm asking question about the options to use.





I'm importing structure with :
Quote:
table.USER.TABLE_CSMOL.absoluteStereo=true
and making research with:


Code:
searcher.setAbsoluteStereo(JChemSearch.ABS_STEREO_ALWAYS_ON);






but actually if someone draw a molecule containing stereochemistry but no chiral flag (mistake) and is imported afterward, the structure is not found by substructure search whose cd_smiles contains the |r| as explained here.





AM I right with the Stereo search options?





Whatever, I don't really understand the difference between:





ABS_STEREO_TABLE_OPTION


ABS_STEREO_CHIRAL_FLAG


ABS_STEREO_ALWAYS_ON





An other question is:





if a molecule doesn't contain a Chiral Flag but possess Chiral Centers.


with table.USER.TABLE_CSMOL.absoluteStereo=true, the Chiral Flag is not added to the molecule but there is a "|r|" in smiles.


During search if one would want the molecule he has to make a query with a chiral flag (as if the molecule got a virtual chiral flag)?


Am I Right?





So if there are Chiral structures in the database and people don't flag the molecule with Chiral Flag (on purpose or by mistake) and make Structure Search with a query without Chiral Flag but the same stereochemistry,


I should put the option as so:


Code:
table.USER.TABLE_CSMOL.absoluteStereo=false


searcher.setAbsoluteStereo(JChemSearch.ABS_STEREO_TABLE_OPTION)






How Can I do Relative Stereo? I just need to remove the line searcher.setAbsoluteStereo ?





Thank you for your help and your precious informations.


Warmest Regards





Jacques

ChemAxon 9c0afc9aaf

03-09-2005 15:30:36

Jacques,
Quote:
but actually if someone draw a molecule containing stereochemistry but no chiral flag (mistake) and is imported afterward, the structure is not found by substructure search whose cd_smiles contains the |r| as explained here.
I will quote from the mentioned support topic:





http://www.chemaxon.com/forum/ftopic144.html





"The 'Assume absolute stereo flag' option means, that all query and target structures are treated as absolute stereo during search."





and also





"If the "Absolute stereo flag" is checked, the "|r|" will be ignored by the search, the structure will be treated as absolute stereo."





This means, that it doesn't matter if the chiral flag is present in the query or in the target, BOTH will be treated as absolute stereo during the search.








ABS_STEREO_TABLE_OPTION: the absoluteStereo setting in the property table will determine, if absolute or relative search is performed


ABS_STEREO_CHIRAL_FLAG: treat query and target structures as they are, regardless of table setting


ABS_STEREO_ALWAYS_ON : treat query and target structures always as absolute stereo, regardless of table setting





Quote:
with table.USER.TABLE_CSMOL.absoluteStereo=true, the Chiral Flag is not added to the molecule but there is a "|r|" in smiles.


"|r|" means that there is NO chiral flag.
Quote:



During search if one would want the molecule he has to make a query with a chiral flag (as if the molecule got a virtual chiral flag)?
If you use absolute stereo setting, all molecules will be treated as chiral, so it doesn't matter.


If relative stereo search is applied, the query should _not_ be chiral either.


Please see our Query Guide for detailed explanation:


http://www.chemaxon.com/jchem/doc/user/Query.html#chiralflag





Quote:
table.USER.TABLE_CSMOL.absoluteStereo=false


searcher.setAbsoluteStereo(JChemSearch.ABS_STEREO_TABLE_OPTION)


This code will perform relative stereo search.





The |r| flag in targets is only interesting during a relative stereo search.








Best regards,





Szilard

User dfeb81947d

05-09-2005 08:48:57

Thank you so far for your answer.





I regenerated the tables with stereo option to false.


And what can be the structure drawn, All the molecules of the database are found as a result.
Quote:
Mon Sep 05 10:29:33 CEST 2005


Search mode: SUBSTRUCTURE


Structure table: USER.TABLE_CSMOL


Screened: 232965


Hits: 232965


Total time: 46 ms Screening: 0 ms


Processing threads: 2


Current / peak / maximum searches per minute: 2 / 2 / Unlimited
I try to set the option of JChemSearch to ABS_STEREO_TABLE_OPTION or ABS_STEREO_ALWAYS_ON but it doesn't change the result. Each time a substructure search is made, all the molecules are returned.





my setting for JChemSearch are:





Code:
private void setSearch() throws Exception {


      int searchType = Integer.parseInt(mode);


      ConnectionHandler ch = new ConnectionHandler();


      ch.setConnection(contact);


      searcher.setAbsoluteStereo(JChemSearch.ABS_STEREO_TABLE_OPTION);


      searcher.setDoubleBondStereoMatchingMode(StereoConstants.DBS_ALL);


      searcher.setConnectionHandler(ch);


      searcher.setStructureTable(table);


      searcher.setResultTableMode(JChemSearch.NO_RESULT_TABLE);


      searcher.setMaxResultCount(0);


      searcher.setSearchType(Integer.parseInt(mode));


      if (searchType==JChemSearch.SIMILARITY) {


         searcher.setDissimilarityThreshold(Float.parseFloat(treshold));


      }


      searcher.setExactChargeMatching(true);


      searcher.setExactQueryAtomMatching(true);


      searcher.setExactStereoMatching(true);


      searcher.setInfoToStdError(true);


      searcher.setWaitingForResult(true);


      searcher.setStructureCaching(true);


      searcher.setExactIsotopeMatching(false);


      searcher.setExactRadicalMatching(false);


      searcher.setStereoSearch(true);


   }






Did I do something wrong?





Thank you for your help.


Best Regards,


Jacques

ChemAxon 9c0afc9aaf

05-09-2005 09:00:53

Hi,





If you do not specify a query structure, all structures are returned.





Please specify a query with JChemSearch.setQueryStructure() .





Best regards,





Szilard

User dfeb81947d

05-09-2005 09:09:36

I'm sorry,





I have to apologize, I made a big mistake.


In fact, JChemSearch.setQueryStructure() was use but not in the method to set the properties...


But it contained a null parameter.


And I thought that JChemSearch.setQueryStructure(null) would throw an Exception or a warning.





It was my own fault that the Molecule object wasn't initialized.





I'm sorry again.


Warm regards


Jacques.