Why cd_smiles value differs from jc_molconvert('SMILES')?

User a7faa21887

23-03-2012 17:01:57

Hi all,


Please, clarify why value of column CD_SMILES in _JCX table differs from result of jc_molconvert(<same structure>, 'SMILES')?:


 


SELECT j.cd_smiles, jc_molconvert(jchem_service.cleanup(structure), 'SMILES') as smiles
FROM chem_structs t, chem_structs_i_jchem_jcx j
WHERE t.rowid = j.rid and t.unit_id = 1702;


CD_SMILES                                                                                                 SMILES                                           
--------------------------------------------------------------------------------------- --------------------------------------------------------------
C[N+](C)(C)CCOP(O)(=O)OCC(CO)OC(
  • )=O |$;;;;;;;;;;;;;;;;;_R0;$|    C[N+](C)(C)CCOP(O)(=O)OCC(CO)OC(
  • )=O

 


 


I think it must be equal, isn't it?


Pavel


P.S. JChem 5.9.0

ChemAxon aa7c50abf8

23-03-2012 17:24:14

Hi Pavel,


The CD_SMILES column contains "helper" values for structure search. They basically are a standardized form of the original structure. "standardized form" means here that the Standardization rules are applied to the original structures which were specified through the std_config and std_config:sql index parameters. In the absence of such index parameters, a default standardization rule set is applied which currently consists of aromatization and explicit hydrogene removal.


In addition to Standardization as a difference, the CD_SMILES column containx CxSMILES (ChemAxon extended SMILES), whereas the format you request from molconvert is plain SMILES.


Peter

User a7faa21887

24-03-2012 10:02:44

Thanks a lot, Peter.


Your answer is very useful and clear, as usual.


I just thought that I can use cd_smiles value instead if calculate SMILES on-fly for application. I'll change (restore) the logic in according your explanation.


Thanks.


Pavel.

ChemAxon 9c0afc9aaf

24-03-2012 16:29:25

A general comment:


the cd_smiles field is intended for internal use only by the ChemAxon search process.


It can also be NULL sometimes (that is normal, we can handle that).


Users generally should not deal with this column at all - and probably that's true for the _JCX index tables as well.