From: <eg...@us...> - 2009-04-25 18:03:08
|
Revision: 14569 http://cdk.svn.sourceforge.net/cdk/?rev=14569&view=rev Author: egonw Date: 2009-04-25 18:03:04 +0000 (Sat, 25 Apr 2009) Log Message: ----------- Take into hydrogens too Modified Paths: -------------- cdk-xws/trunk/xws-cdk-services/src/org/openscience/cdk/xws/services/SomeCDKFunctionOne.java Modified: cdk-xws/trunk/xws-cdk-services/src/org/openscience/cdk/xws/services/SomeCDKFunctionOne.java =================================================================== --- cdk-xws/trunk/xws-cdk-services/src/org/openscience/cdk/xws/services/SomeCDKFunctionOne.java 2009-04-25 18:02:25 UTC (rev 14568) +++ cdk-xws/trunk/xws-cdk-services/src/org/openscience/cdk/xws/services/SomeCDKFunctionOne.java 2009-04-25 18:03:04 UTC (rev 14569) @@ -29,9 +29,12 @@ import net.bioclipse.xws.component.adhoc.function.IFunction; import net.bioclipse.xws.component.xmpp.process.IProcessStatus; +import org.openscience.cdk.atomtype.CDKAtomTypeMatcher; +import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IMolecule; import org.openscience.cdk.nonotify.NoNotificationChemObjectBuilder; import org.openscience.cdk.smiles.SmilesParser; +import org.openscience.cdk.tools.CDKHydrogenAdder; import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; import org.openscience.cdk.xws.ResourceAsStringTool; import org.w3c.dom.Element; @@ -48,6 +51,14 @@ ResourceAsStringTool.getAsString("org/openscience/cdk/xws/schema/mass.xml"); private final static SmilesParser parser = new SmilesParser(NoNotificationChemObjectBuilder.getInstance()); + private static CDKAtomTypeMatcher atMatcher = + CDKAtomTypeMatcher.getInstance( + NoNotificationChemObjectBuilder.getInstance() + ); + private static CDKHydrogenAdder hAdder = + CDKHydrogenAdder.getInstance( + NoNotificationChemObjectBuilder.getInstance() + ); public FunctionInformation getFunctionInformation() { @@ -72,6 +83,14 @@ try { IMolecule mol = parser.parseSmiles(SMILES); System.out.println("Molecule: " + mol); + IAtomType[] types = atMatcher.findMatchingAtomType(mol); + for (int i=0; i<mol.getAtomCount(); i++) { + if (types[i] != null) { + mol.getAtom(i).setAtomTypeName(types[i].getAtomTypeName()); + hAdder.addImplicitHydrogens(mol, mol.getAtom(i)); + } + } + AtomContainerManipulator.convertImplicitToExplicitHydrogens(mol); double mass = AtomContainerManipulator.getNaturalExactMass(mol); System.out.println(" mass: " + mass); output = JavaDOMTools.createElement("mass"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |