From: <dr...@us...> - 2008-02-12 16:01:16
|
Revision: 10070 http://cdk.svn.sourceforge.net/cdk/?rev=10070&view=rev Author: drzz Date: 2008-02-12 08:00:06 -0800 (Tue, 12 Feb 2008) Log Message: ----------- added a cmlMoleculetocdkAtomContainer method Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java Modified: trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java 2008-02-12 15:16:09 UTC (rev 10069) +++ trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java 2008-02-12 16:00:06 UTC (rev 10070) @@ -25,6 +25,7 @@ package org.openscience.cdk.libio.cml; import java.io.BufferedReader; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OptionalDataException; @@ -54,6 +55,7 @@ import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; +import org.openscience.cdk.io.CMLReader; import org.openscience.cdk.protein.data.PDBPolymer; import org.openscience.cdk.tools.IDCreator; import org.openscience.cdk.tools.LoggingTool; @@ -77,7 +79,6 @@ import org.xmlcml.cml.element.CMLScalar; import org.xmlcml.cml.element.CMLSubstance; import org.xmlcml.cml.element.CMLSubstanceList; - /** * @cdk.module libiocml * @cdk.svnrev $Revision$ @@ -385,7 +386,23 @@ } return cmlMolecule; } + public IMolecule cmlMoleculeTocdkAtomContainer(CMLMolecule mol) throws Exception { + String cmlString = "<!-- failed -->"; + cmlString = mol.toXML(); + + IMolecule roundTrippedMol = null; + logger.debug("CML string: ", cmlString); + CMLReader reader = new CMLReader(new ByteArrayInputStream(cmlString.getBytes())); + IChemFile file = (IChemFile)reader.read(new org.openscience.cdk.ChemFile()); + IChemSequence sequence = file.getChemSequence(0); + IChemModel chemModel = sequence.getChemModel(0); + IMoleculeSet moleculeSet = chemModel.getMoleculeSet(); + roundTrippedMol = moleculeSet.getMolecule(0); + + return roundTrippedMol; + } + public CMLMolecule cdkMoleculeToCMLMolecule(IMolecule structure) { return cdkMoleculeToCMLMolecule(structure, true); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |