User 8cbba88c0e
21-07-2010 11:48:37
Hi,
During the process of loading compounds into our database from sdf files we convert the standardized molecules to smiles format. We have noticed a problem occurs before we standardize though when the molecules have stereocenters where the stereo bonds have been drawn incorrectly. This issue can be flagged in Marvin and the Structure Checker correctly recognizes that the wedge bonds are invalid and corrects them properly. However when we use molecule.toFormat("cxsmiles:-leu"), the invalid stereo bonds are removed and we obtain a smiles with no stereo centers and importing into Marvin gives us a flat molecule. If we use molecule.toFormat("mol") and import the result into Marvin, the invalid stereo centers are preserved and can be corrected. I have attached an sdf file with some example compounds where we have this issue.
There is no warning given that stereo chemical information is being lost during the molecule to smiles conversion. Is there are way to get notified that this is occurring so that we could trap the errors rather than loading the incorrect smiles strings and then having to track these molecules down for correction?
final MolImporter molImporter = new MolImporter(new FileInputStream(getSdFile()));
Molecule molecule;
while ((molecule = molImporter.read()) != null) {
LOGGER.debug("After reading " + molecule.toFormat("mol")); //stereochem kept
LOGGER.debug("After reading " + molecule.toFormat(ChemUtils.SMILES_FORMAT)); //stereochem lost
Thanks
Cheers
Bob