Hi,

we would like to store compounds in our database as InChIs. Problem is 
that the round-trip to inchi and back changes the compound structure 
(IAtomContainer) for about 40 percent of our structures, i.e.  mol != 
mol.fromInchi(mol.toInchi)

As an example: CC(=O)N becomes CC(=N)O (See code below). Even adding 
explicit Hs does not change anything in this example (i.e., use 
CC(=O)N([H])[H] as input).

How come the bond information is not stored? Can I circumvent that?

Kind regards,
Martin


         String smi = "CC(=O)N";
         IAtomContainer mol = new 
SmilesParser(SilentChemObjectBuilder.getInstance()).parseSmiles(smi);
         System.out.println(new SmilesGenerator().create(mol));
         String inchi = 
InChIGeneratorFactory.getInstance().getInChIGenerator(mol).getInchi();
         System.out.println(inchi);
         mol = 
InChIGeneratorFactory.getInstance().getInChIToStructure(inchi, 
SilentChemObjectBuilder.getInstance())
                 .getAtomContainer();
         System.out.println(new SmilesGenerator().create(mol));

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to