ExtAtomContainerManipulator extends AtomContainerManipulator { public static void percieveAtomTypesAndConfigureAtoms(IAtomContainer container) throws CDKException { CDKAtomTypeMatcher matcher = CDKAtomTypeMatcher.getInstance(container.getBuilder()); for (IAtom atom : container.atoms()) { if (!(atom instanceof IPseudoAtom)) { IAtomType matched = matcher.findMatchingAtomType(container, atom); if (matched != null) { AtomTypeManipulator.configure(atom, matched); } } } }  static IAtomContainer makeDeepCopy(IAtomContainer container); static void aromatizeMolecule(IAtomContainer mol); static int getExplicitHydrogenCount(IAtomContainer atomContainer, IAtom atom); static int getImplicitHydrogenCount(IAtom atom); static int getHydrogenCount(IAtomContainer atomContainer, IAtom atom); static IAtomContainer removeHydrogensExceptSingleAndPreserveAtomID(IAtomContainer atomContainer); static IAtomContainer convertExplicitToImplicitHydrogens(IAtomContainer atomContainer); static void percieveAtomTypesAndConfigureAtoms(IAtomContainer container);  }
@Test public void testPercieveAtomTypesAndConfigureAtoms() throws Exception { String rawMolSmiles = "[H]POOSC(Br)C(Cl)C(F)I"; SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer atomContainer = sp.parseSmiles(rawMolSmiles); ExtAtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(atomContainer); assertNotNull(atomContainer); }