private static boolean ringIsAromatic(IAtomContainer ring) { for (IAtom atom : ring.atoms()) { if (!atom.getFlag(CDKConstants.ISAROMATIC)) return false; } return true; }
/** * Determine if the atom is non-hydrogen and is aliphatic. * * @param atom The atom to be checked * @return True if the atom is non-hydrogen and is aliphatic */ boolean isAliphaticHeavyAtom(IAtom atom) { return atom.getFlag(CDKConstants.ISALIPHATIC) && isHeavyAtom(atom); }
/** * Determine if the atom is non-hydrogen and has been placed. * * @param atom The atom to be checked * @return True if the atom is non-hydrogen and has been placed */ boolean isPlacedHeavyAtom(IAtom atom) { return atom.getFlag(CDKConstants.ISPLACED) && isHeavyAtom(atom); }
public boolean hasUnsetNeighbour(IAtom atom, IAtomContainer ac) { List atoms = ac.getConnectedAtomsList(atom); for (int i = 0; i < atoms.size(); i++) { IAtom curAtom = (IAtom) atoms.get(i); if (!curAtom.getFlag(CDKConstants.ISPLACED)) {//&& atoms[i].getPoint3d() == null) { return true; } } return false; }
private static boolean isAllAtomsAromatic(IAtomContainer ring) { for (IAtom atom : ring.atoms()) { if (!atom.getFlag(CDKConstants.ISAROMATIC)) { return false; } } return true; }
/** * Determine if the atom is non-hydrogen and has not been placed. * * @param atom The atom to be checked * @return True if the atom is non-hydrogen and has not been placed */ boolean isUnplacedHeavyAtom(IAtom atom) { return (!atom.getFlag(CDKConstants.ISPLACED) && isHeavyAtom(atom)); }
/** * Determine if the atom is non-hydrogen and is in a ring. * Ring membership is determined from a property flag only, rather than a ring * membership test * * @param atom The atom to be checked * @return True if the atom is non-hydrogen and is in a ring */ boolean isRingHeavyAtom(IAtom atom) { return atom.getFlag(CDKConstants.ISINRING) && isHeavyAtom(atom); }
private double getBondEnergy(IBond bond, BondEnergies bondEnergy) { double energy = 0.0; if ((bond.getBegin().getFlag(CDKConstants.ISPLACED) == true && bond.getEnd().getFlag(CDKConstants.ISPLACED) == false) || (bond.getBegin().getFlag(CDKConstants.ISPLACED) == false && bond.getEnd().getFlag( CDKConstants.ISPLACED) == true)) { Integer val = bondEnergy.getEnergies(bond.getBegin(), bond.getEnd(), bond.getOrder()); if (val != null) { energy = val; } } return energy; }
private synchronized static double getBondEnergy(IBond bond, BondEnergies bondEnergy) { double energy = 0.0; if ((bond.getAtom(0).getFlag(999) == true && bond.getAtom(1).getFlag(999) == false) || (bond.getAtom(0).getFlag(999) == false && bond.getAtom(1).getFlag(999) == true)) { int val = bondEnergy.getEnergies(bond.getAtom(0), bond.getAtom(1), bond.getOrder()); energy = val; } return energy; } }
static boolean isAromaticRing(IRing ring) { for (int i = 0; i < ring.getAtomCount(); i++) if (!ring.getAtom(i).getFlag(CDKConstants.ISAROMATIC)) return (false); return (true); }
/** * Counts aromatic atoms in a molecule. * @param mol molecule for which to count aromatic atoms. */ private int countAromaticAtoms(IAtomContainer mol) { int aromCount = 0; for (IAtom atom : mol.atoms()) { if (atom.getFlag(CDKConstants.ISAROMATIC)) aromCount++; } return aromCount; }
static void atomtype(IAtomContainer container) throws Exception { Set<IAtom> aromatic = new HashSet<IAtom>(); for (IAtom atom : container.atoms()) { if (atom.getFlag(CDKConstants.ISAROMATIC)) aromatic.add(atom); } // helpfully clears aromatic flags... AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(container); for (IAtom atom : aromatic) atom.setFlag(CDKConstants.ISAROMATIC, 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 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); } }
@Test public void aromatic() { IAtom a = g2c.toCDKAtom(AtomBuilder.aromatic(Element.Carbon).build(), 0); assertTrue(a.getFlag(CDKConstants.ISAROMATIC)); }
@Test public void testMarkPlaced_IAtomContainer() { AtomPlacer3D atmplacer = new AtomPlacer3D(); IAtomContainer molecule = TestMoleculeFactory.makeAlkane(5); IAtomContainer placedMolecule = atmplacer.markPlaced(molecule); for (IAtom atom : placedMolecule.atoms()) { Assert.assertTrue(atom.getFlag(CDKConstants.ISPLACED)); } }
@Test public void testConfigure_IAtom_IAtomType() { IAtom atom = new Atom(Elements.CARBON); IAtomType atomType = new AtomType(Elements.CARBON); atomType.setFlag(CDKConstants.IS_HYDROGENBOND_ACCEPTOR, true); AtomTypeManipulator.configure(atom, atomType); Assert.assertEquals(atomType.getFlag(CDKConstants.IS_HYDROGENBOND_ACCEPTOR), atom.getFlag(CDKConstants.IS_HYDROGENBOND_ACCEPTOR)); }
@Test public void testAtomAromaticity() throws Exception { IAtomContainer molecule = TestMoleculeFactory.makeBenzene(); for (IAtom atom : molecule.atoms()) { atom.setFlag(CDKConstants.ISAROMATIC, true); } IAtomContainer roundTrippedMol = CMLRoundTripTool.roundTripMolecule(convertor, molecule); for (IAtom atom : roundTrippedMol.atoms()) { Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); } }
@Test public void clearFlags_quinone() throws Exception { IAtomContainer quinone = smiles("O=c1ccc(=O)cc1"); daylight.apply(quinone); for (IBond bond : quinone.bonds()) assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); for (IAtom atom : quinone.atoms()) assertFalse(atom.getFlag(CDKConstants.ISAROMATIC)); }
/** @cdk.bug 1535587 */ @Test(timeout = 1000) public void testBug1535587() throws Exception { String smiles = "COC(=O)c2ccc3n([H])c1ccccc1c3(c2)"; IAtomContainer mol = load(smiles); atomtype(mol); assertAtomTypesPerceived(mol); Assert.assertEquals(18, mol.getAtomCount()); assertTrue(Aromaticity.cdkLegacy().apply(mol)); Assert.assertEquals("N", mol.getAtom(8).getSymbol()); assertTrue(mol.getAtom(8).getFlag(CDKConstants.ISAROMATIC)); }