Hi all,

we used the attached java code utilizing CDK 1.5. to create a canonical
chiral smiles from the input which was the attached Esomeprazol.sdf. The
result is:
Cc1cnc(C[S@@](=O)c2[nH]c3ccc(cc3n2)OC)c(C)c1OC
To determine an explicit chirality from the smiles you need the four
different substituents of the sulfur atom. Therefore, we miss the
explicit representation of the free electron pair of sulfur. I have no
representation of electron pairs in smiles in mind. Is there a rule
where the free electron pair implicitly is placed? Such as for example:
The free electron pair is always implicitly placed as first or last
substituent of the chiral atom?

Best regards,

Lina


-- 
Dipl.-Pharm.
Lina Humbeck

TU Dortmund University
Faculty of Chemistry and Chemical Biology
Otto-Hahn-Str. 6
D-44227 Dortmund

Phone: +49 231-755 47 13
lina.humb...@tu-dortmund.de
www.ccb.tu-dortmund.de
package example;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.openscience.cdk.aromaticity.Aromaticity;
import org.openscience.cdk.aromaticity.ElectronDonation;
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.Cycles;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.io.iterator.IteratingSDFReader;
import org.openscience.cdk.silent.SilentChemObjectBuilder;
import org.openscience.cdk.smiles.SmilesGenerator;
import org.openscience.cdk.tools.CDKHydrogenAdder;
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;

public class Main {
	public static void main(String[] args) {
		// initialize
		IteratingSDFReader reader = null;
		IAtomContainer mol = null;
		String sdfFile = "./resources/Esomeprazole.sdf";
		String smiles = "";
		
		// read first (and only) atom from file
        try {
            reader = new IteratingSDFReader(new FileInputStream(sdfFile), SilentChemObjectBuilder.getInstance());
            if (reader.hasNext())
            	mol = reader.next();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            try {
            	reader.close();
            } catch(IOException ex){}
        }
        
        // prepare atom types
        try {
            AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
        } catch (CDKException e) {
        	e.printStackTrace();
        }
        
        // add implicit hydrogens
        try {
            CDKHydrogenAdder.getInstance(mol.getBuilder()).addImplicitHydrogens(mol);
        } catch (CDKException e) {
        	e.printStackTrace();
        }
        
        // create SMILES
        SmilesGenerator smilesGen = SmilesGenerator.absolute().aromatic();
        Aromaticity aromaticity = new Aromaticity(ElectronDonation.cdk(), Cycles.cdkAromaticSet());
        try {
            aromaticity.apply(mol);
        } catch (CDKException e) {
            e.printStackTrace();
        }
        try {
        	smiles = smilesGen.create(mol);
        } catch (Exception e) {
        	e.printStackTrace();
        }
        
        // print result
        System.out.println("SMILES: "+smiles);
	}
}

Attachment: Esomeprazole.sdf
Description: application/extension-sdf

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to