From 7074cf51318a3bef44a0845ee27c3ec740d664c2 Mon Sep 17 00:00:00 2001 From: mark_rynbeek Date: Wed, 28 Oct 2009 14:27:49 +0000 Subject: [PATCH] CDKHydrogenAdder should not attempt addImplicitHydrogen for pseudo atoms in an atom container Signed-off-by: Egon Willighagen --- .../cdk/tools/CDKHydrogenAdder.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/org/openscience/cdk/tools/CDKHydrogenAdder.java b/src/main/org/openscience/cdk/tools/CDKHydrogenAdder.java index e21ab1de195..4a8b319a014 100644 --- a/src/main/org/openscience/cdk/tools/CDKHydrogenAdder.java +++ b/src/main/org/openscience/cdk/tools/CDKHydrogenAdder.java @@ -1,6 +1,5 @@ -/* $Revision$ $Author$ $Date$ - * - * Copyright (C) 2007 Egon Willighagen +/* Copyright (C) 2007 Egon Willighagen + * 2009 Mark Rijnbeek * * Contact: cdk-devel@lists.sourceforge.net * @@ -24,6 +23,9 @@ */ package org.openscience.cdk.tools; +import java.util.Hashtable; +import java.util.Map; + import org.openscience.cdk.CDKConstants; import org.openscience.cdk.annotations.TestClass; import org.openscience.cdk.annotations.TestMethod; @@ -33,9 +35,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IChemObjectBuilder; - -import java.util.Hashtable; -import java.util.Map; +import org.openscience.cdk.interfaces.IPseudoAtom; /** * Adds implicit hydrogens based on atom type definitions. The class assumes @@ -107,9 +107,11 @@ public static CDKHydrogenAdder getInstance(IChemObjectBuilder builder) { @TestMethod("testMethane,testFormaldehyde,testHCN") public void addImplicitHydrogens(IAtomContainer container) throws CDKException { for (IAtom atom : container.atoms()) { - addImplicitHydrogens(container, atom); + if ( !(atom instanceof IPseudoAtom) ){ + addImplicitHydrogens(container, atom); + } } - } + } /** * Sets the implicit hydrogen count for the indicated IAtom in the given IAtomContainer.