private List<String> getSmilesFromAtomContainers(Collection<IAtomContainer> mols) { List<String> smis = new ArrayList<String>(); for (IAtomContainer mol : mols) { try { AtomContainerManipulator.clearAtomConfigurations(mol); for (IAtom atom : mol.atoms()) atom.setImplicitHydrogenCount(null); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); CDKHydrogenAdder.getInstance(mol.getBuilder()).addImplicitHydrogens(mol); Aromaticity.cdkLegacy().apply(mol); smis.add(smigen.create(mol)); } catch (CDKException e) { LoggingToolFactory.createLoggingTool(getClass()).error(e); } } return smis; }
private List<String> getSmilesFromAtomContainers(Collection<IAtomContainer> mols) { List<String> smis = new ArrayList<String>(); for (IAtomContainer mol : mols) { try { AtomContainerManipulator.clearAtomConfigurations(mol); for (IAtom atom : mol.atoms()) atom.setImplicitHydrogenCount(null); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); CDKHydrogenAdder.getInstance(mol.getBuilder()).addImplicitHydrogens(mol); Aromaticity.cdkLegacy().apply(mol); smis.add(smigen.create(mol)); } catch (CDKException e) { LoggingToolFactory.createLoggingTool(getClass()).error(e); } } return smis; }
AtomContainerManipulator.clearAtomConfigurations(partContainer); for (IAtom atom : partContainer.atoms()) atom.setImplicitHydrogenCount(null); AtomContainerManipulator.clearAtomConfigurations(frag); for (IAtom atom : frag.atoms()) atom.setImplicitHydrogenCount(null);
AtomContainerManipulator.clearAtomConfigurations(partContainer); for (IAtom atom : partContainer.atoms()) atom.setImplicitHydrogenCount(null); AtomContainerManipulator.clearAtomConfigurations(frag); for (IAtom atom : frag.atoms()) atom.setImplicitHydrogenCount(null);
/** * @cdk.bug 3088164 */ @Test public void testPirenperone_Bug3088164() throws Exception { SmilesGenerator sg = SmilesGenerator.unique().aromatic(); IAtomContainer mol = smilesParser.parseSmiles("Fc1ccc(cc1)C(=O)C4CCN(CCC\\3=C(\\N=C2\\C=C/C=C\\N2C/3=O)C)CC4"); AtomContainerManipulator.clearAtomConfigurations(mol); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Aromaticity.cdkLegacy().apply(mol); MurckoFragmenter fragmenter = new MurckoFragmenter(true, 6); fragmenter.generateFragments(mol); String[] f = fragmenter.getFrameworks(); IAtomContainer[] fc = fragmenter.getFrameworksAsContainers(); Assert.assertEquals(1, f.length); Assert.assertEquals(f.length, fc.length); AtomContainerManipulator.clearAtomConfigurations(mol); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); CDKHydrogenAdder.getInstance(mol.getBuilder()).addImplicitHydrogens(mol); Aromaticity.cdkLegacy().apply(mol); Assert.assertEquals("N=1C=C(CN2C=CC=CC12)CCN3CCC(Cc4ccccc4)CC3", f[0]); for (int i = 0; i < f.length; i++) { String newsmiles = sg.create(fc[i]); Assert.assertTrue(f[i] + " did not match the container, " + newsmiles, f[i].equals(newsmiles)); } }
@Test public void atomicNumberIsNotCleared() throws Exception { IAtomContainer container = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); IAtom atom1 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "C"); IAtom atom2 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "O"); IAtom atom3 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "C"); container.addAtom(atom1); container.addAtom(atom2); container.addAtom(atom3); container.addBond(new Bond(atom1, atom2, IBond.Order.SINGLE)); container.addBond(new Bond(atom2, atom3, IBond.Order.SINGLE)); AtomContainerManipulator.clearAtomConfigurations(container); for (IAtom atom : container.atoms()) { Assert.assertNotNull(atom.getAtomicNumber()); } }
@Test public void testClearConfig() throws Exception { IAtomContainer container = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); IAtom atom1 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "C"); IAtom atom2 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "O"); IAtom atom3 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "C"); container.addAtom(atom1); container.addAtom(atom2); container.addAtom(atom3); container.addBond(new Bond(atom1, atom2, IBond.Order.SINGLE)); container.addBond(new Bond(atom2, atom3, IBond.Order.SINGLE)); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(container); for (IAtom atom : container.atoms()) { Assert.assertTrue(atom.getAtomTypeName() != CDKConstants.UNSET); Assert.assertTrue(atom.getHybridization() != CDKConstants.UNSET); } AtomContainerManipulator.clearAtomConfigurations(container); for (IAtom atom : container.atoms()) { Assert.assertTrue(atom.getAtomTypeName() == CDKConstants.UNSET); Assert.assertTrue(atom.getHybridization() == CDKConstants.UNSET); } }