/** * remove the aromaticity flags. * * @param ac The IAtomContainer to remove flags * @return The IAtomContainer with the flags removed */ private IAtomContainer removingFlagsAromaticity(IAtomContainer ac) { Iterator<IAtom> atoms = ac.atoms().iterator(); while (atoms.hasNext()) atoms.next().setFlag(CDKConstants.ISAROMATIC, false); Iterator<IBond> bonds = ac.bonds().iterator(); while (bonds.hasNext()) bonds.next().setFlag(CDKConstants.ISAROMATIC, false); return ac; }
private static void traverseRings(IAtomContainer mol, IAtom atom, IBond prev) { atom.setFlag(CDKConstants.VISITED, true); prev.setFlag(CDKConstants.VISITED, true); for (IBond bond : mol.getConnectedBondsList(atom)) { IAtom nbr = bond.getOther(atom); if (!nbr.getFlag(CDKConstants.VISITED)) traverseRings(mol, nbr, bond); else bond.setFlag(CDKConstants.VISITED, true); } }
private static void traverseRings(IAtomContainer mol, IAtom atom, IBond prev) { atom.setFlag(CDKConstants.VISITED, true); prev.setFlag(CDKConstants.VISITED, true); for (IBond bond : mol.getConnectedBondsList(atom)) { IAtom nbr = bond.getOther(atom); if (!nbr.getFlag(CDKConstants.VISITED)) traverseRings(mol, nbr, bond); else bond.setFlag(CDKConstants.VISITED, true); } }
private static void markRingAtomsAndBondsAromatic(IAtomContainer container) { for (IAtom atom : container.atoms()) atom.setFlag(CDKConstants.ISAROMATIC, true); for (IBond bond : container.bonds()) bond.setFlag(CDKConstants.ISAROMATIC, true); } }
private static void markRingAtomsAndBondsAromatic(IAtomContainer container) { for (IAtom atom : container.atoms()) atom.setFlag(CDKConstants.ISAROMATIC, true); for (IBond bond : container.bonds()) bond.setFlag(CDKConstants.ISAROMATIC, true); } }
private static void RemoveAromaticFlag(IAtomContainer ring) { for (IAtom atom : ring.atoms()) { atom.setFlag(CDKConstants.ISAROMATIC, false); } for (IBond bond : ring.bonds()) { bond.setFlag(CDKConstants.ISAROMATIC, false); } }
/** * clean the flags CDKConstants.REACTIVE_CENTER from the molecule. * * @param ac */ private void cleanFlagReactiveCenter(IAtomContainer ac) { for (int j = 0; j < ac.getAtomCount(); j++) ac.getAtom(j).setFlag(CDKConstants.REACTIVE_CENTER, false); for (int j = 0; j < ac.getBondCount(); j++) ac.getBond(j).setFlag(CDKConstants.REACTIVE_CENTER, false); } }
protected static void resetFlags(IAtomContainer atomContainer) { for (int f = 0; f < atomContainer.getAtomCount(); f++) { atomContainer.getAtom(f).setFlag(CDKConstants.VISITED, false); } for (int f = 0; f < atomContainer.getBondCount(); f++) { atomContainer.getBond(f).setFlag(CDKConstants.VISITED, false); } }
private static void resetFlags(IAtomContainer atomContainer) { for (int f = 0; f < atomContainer.getAtomCount(); f++) { atomContainer.getAtom(f).setFlag(CDKConstants.VISITED, false); } for (int f = 0; f < atomContainer.getBondCount(); f++) { atomContainer.getBond(f).setFlag(CDKConstants.VISITED, false); } }
/** * clean the flags CDKConstants.REACTIVE_CENTER from the molecule. * * @param ac */ private void cleanFlagReactiveCenter(IAtomContainer ac) { for (int j = 0; j < ac.getAtomCount(); j++) ac.getAtom(j).setFlag(CDKConstants.REACTIVE_CENTER, false); for (int j = 0; j < ac.getBondCount(); j++) ac.getBond(j).setFlag(CDKConstants.REACTIVE_CENTER, false); } }
protected static void resetFlags(IAtomContainer atomContainer) { for (int f = 0; f < atomContainer.getAtomCount(); f++) { atomContainer.getAtom(f).setFlag(CDKConstants.VISITED, false); } for (int f = 0; f < atomContainer.getBondCount(); f++) { atomContainer.getBond(f).setFlag(CDKConstants.VISITED, false); } }
private static synchronized void resetFlags(IAtomContainer atomContainer) { for (int f = 0; f < atomContainer.getAtomCount(); f++) { atomContainer.getAtom(f).setFlag(VISITED, false); } for (int f = 0; f < atomContainer.getBondCount(); f++) { atomContainer.getBond(f).setFlag(VISITED, false); } }
@SuppressWarnings("unchecked") @Test public void aromaticBond() throws Exception { IAtom u = mock(IAtom.class); IAtom v = mock(IAtom.class); IBond b = new Bond(u, v); b.setFlag(CDKConstants.ISAROMATIC, true); Map<IAtom, Integer> mock = mock(Map.class); when(mock.get(u)).thenReturn(0); when(mock.get(v)).thenReturn(1); when(u.isAromatic()).thenReturn(true); when(v.isAromatic()).thenReturn(true); CDKToBeam c2g = new CDKToBeam(); assertThat(c2g.toBeamEdge(b, mock), is(uk.ac.ebi.beam.Bond.AROMATIC.edge(0, 1))); }
@Test public void testViaFlags() throws Exception { IAtomContainer molecule = TestMoleculeFactory.makeBenzene(); for (Iterator bonds = molecule.bonds().iterator(); bonds.hasNext();) { ((IBond) bonds.next()).setFlag(CDKConstants.ISAROMATIC, true); } Assert.assertEquals(6, ((IntegerResult) descriptor.calculate(molecule).getValue()).intValue()); }
static IBond bond(IAtomContainer m, int v, int w, IBond.Order ord, boolean arom) { IBond b = new Bond(m.getAtom(v), m.getAtom(w)); b.setOrder(ord); b.setFlag(CDKConstants.ISAROMATIC, arom); return b; } }
@Test public void testPyridine_SingleOrDouble() throws Exception { String[] expectedTypes = {"C.sp2", "N.sp2", "C.sp2", "C.sp2", "C.sp2", "C.sp2"}; IAtomContainer molecule = TestMoleculeFactory.makePyridine(); for (IBond bond : molecule.bonds()) { bond.setOrder(IBond.Order.UNSET); bond.setFlag(CDKConstants.SINGLE_OR_DOUBLE, true); } assertAtomTypes(testedAtomTypes, expectedTypes, molecule); }
@Test public void testPyrrole_SingleOrDouble() throws Exception { String[] expectedTypes = {"C.sp2", "N.planar3", "C.sp2", "C.sp2", "C.sp2"}; IAtomContainer molecule = TestMoleculeFactory.makePyrrole(); for (IBond bond : molecule.bonds()) { bond.setOrder(IBond.Order.UNSET); bond.setFlag(CDKConstants.SINGLE_OR_DOUBLE, true); } for (IAtom atom : molecule.atoms()) { atom.setImplicitHydrogenCount(1); } assertAtomTypes(testedAtomTypes, expectedTypes, molecule); }
@Test public void testBenzene() throws Exception { String[] expectedTypes = {"C.sp2", "C.sp2", "C.sp2", "C.sp2", "C.sp2", "C.sp2"}; IAtomContainer molecule = new AtomContainer(); molecule.add(new Ring(6, "C")); for (IBond bond : molecule.bonds()) { bond.setFlag(CDKConstants.ISAROMATIC, true); } for (IAtom atom : molecule.atoms()) { atom.setImplicitHydrogenCount(1); } assertAtomTypes(testedAtomTypes, expectedTypes, molecule); }
@Test public void testBenzene_SingleOrDouble() throws Exception { String[] expectedTypes = {"C.sp2", "C.sp2", "C.sp2", "C.sp2", "C.sp2", "C.sp2"}; IAtomContainer molecule = new AtomContainer(); molecule.add(new Ring(6, "C")); for (IBond bond : molecule.bonds()) { bond.setOrder(IBond.Order.UNSET); bond.setFlag(CDKConstants.SINGLE_OR_DOUBLE, true); } for (IAtom atom : molecule.atoms()) { atom.setImplicitHydrogenCount(1); } assertAtomTypes(testedAtomTypes, expectedTypes, molecule); }
@Test public void testCalculateMissingHydrogens_Aromatic() throws Exception { IAtomContainer pyrrole = TestMoleculeFactory.makePyrrole(); IAtom n = pyrrole.getAtom(1); IRingSet rs = Cycles.sssr(pyrrole).toRingSet(); IRing ring = (IRing) rs.getAtomContainer(0); for (int j = 0; j < ring.getBondCount(); j++) { ring.getBond(j).setFlag(CDKConstants.ISAROMATIC, true); } Assert.assertEquals(5, ring.getBondCount()); Assert.assertEquals(1, satcheck.calculateNumberOfImplicitHydrogens(n, pyrrole)); }