/** * Returns all the AtomContainer's in a RingSet. * @param set The collection of rings * @return A list of IAtomContainer objects corresponding to individual rings */ public static List<IAtomContainer> getAllAtomContainers(IRingSet set) { List<IAtomContainer> atomContainerList = new ArrayList<IAtomContainer>(); for (IAtomContainer atomContainer : set.atomContainers()) { atomContainerList.add(atomContainer); } return atomContainerList; }
/** * Return the total number of bonds over all the rings in the colllection. * * @param set The collection of rings * @return The total number of bonds */ public static int getBondCount(IRingSet set) { int count = 0; for (IAtomContainer atomContainer : set.atomContainers()) { count += atomContainer.getBondCount(); } return count; }
public int countAromaticRing() { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (isAromaticRing(ring)) c++; } return c; }
public int countAnyRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size) c++; } return c; }
private double getRingMatch(IRingSet rings, List<IAtom> atoms) { double score = 0.0; for (IAtom a : atoms) { for (IAtomContainer ring : rings.atomContainers()) { if (ring.contains(a)) { score += 10; } } } return score; }
private Map<IBond, IAtomContainer> fillBondRingMap(IRingSet ringSet) { HashMap<IBond, IAtomContainer> bondRingMap = new HashMap<>(); for (IAtomContainer ringAsAtomContainer : ringSet.atomContainers()) { IRing ring = (IRing) ringAsAtomContainer; for (IBond bond : ring.bonds()) { bondRingMap.put(bond, (IAtomContainer) ring); } } return bondRingMap; }
private Map<IBond, IAtomContainer> fillBondRingMap(IRingSet ringSet) { Map<IBond, IAtomContainer> bondRingMap = new HashMap<>(); for (IAtomContainer ringAsAtomContainer : ringSet.atomContainers()) { IRing ring = (IRing) ringAsAtomContainer; for (IBond bond : ring.bonds()) { bondRingMap.put(bond, ring); } } return bondRingMap; }
/** * Iterates over the rings in the ring set, and marks the ring * aromatic if all atoms and all bonds are aromatic. * * This method assumes that aromaticity perception has been done before hand. * * @param ringset The collection of rings */ public static void markAromaticRings(IRingSet ringset) { for (IAtomContainer atomContainer : ringset.atomContainers()) { RingManipulator.markAromaticRings((IRing) atomContainer); } } }
/** * Return the total number of atoms over all the rings in the colllection. * * @param set The collection of rings * @return The total number of atoms */ public static int getAtomCount(IRingSet set) { int count = 0; for (IAtomContainer atomContainer : set.atomContainers()) { count += atomContainer.getAtomCount(); } return count; }
public int countHeteroAromaticRing() { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (!isCarbonOnlyRing(ring) && isAromaticRing(ring)) c++; } return c; }
private synchronized double getRingMatch(IRingSet rings, IAtomContainer atoms) { double score = 0.0; for (IAtom a : atoms.atoms()) { for (IAtomContainer ring : rings.atomContainers()) { if (ring.contains(a)) { score += 10; } else { score -= 10; } } } return score; }
/** * Sorts the rings in the set by size. The smallest ring comes * first. * @param ringSet The collection of rings */ public static void sort(IRingSet ringSet) { List<IRing> ringList = new ArrayList<IRing>(); for (IAtomContainer atomContainer : ringSet.atomContainers()) { ringList.add((IRing) atomContainer); } Collections.sort(ringList, new RingSizeComparator(RingSizeComparator.SMALL_FIRST)); ringSet.removeAllAtomContainers(); for (IAtomContainer aRingList : ringList) ringSet.addAtomContainer(aRingList); }
private synchronized double getRingMatch(IRingSet rings, IAtomContainer atoms) { double score = 0.0; for (IAtom a : atoms.atoms()) { for (IAtomContainer ring : rings.atomContainers()) { if (ring.contains(a)) { score += 10; } else { score -= 10; } } } return score; }
private synchronized double getRingMatch(IRingSet rings, IAtomContainer atoms) { double score = 0.0; for (IAtom a : atoms.atoms()) { for (IAtomContainer ring : rings.atomContainers()) { if (ring.contains(a)) { score += 10; } else { score -= 10; } } } return score; }
public int countSaturatedOrAromaticHeteroContainingRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size && (isRingSaturated(ring) || isAromaticRing(ring)) && countHeteroInRing(ring) > 0) ++c; } return c; }
public int countUnsaturatedCarbonOnlyRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size && isRingUnsaturated(ring) && !isAromaticRing(ring) && isCarbonOnlyRing(ring)) ++c; } return c; }
public int countUnsaturatedNitrogenContainingRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size && isRingUnsaturated(ring) && !isAromaticRing(ring) && countNitrogenInRing(ring) > 0) ++c; } return c; }
public int countUnsaturatedHeteroContainingRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size && isRingUnsaturated(ring) && !isAromaticRing(ring) && countHeteroInRing(ring) > 0) ++c; } return c; } }
public int countSaturatedOrAromaticCarbonOnlyRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size && isCarbonOnlyRing(ring) && (isRingSaturated(ring) || isAromaticRing(ring))) c++; } return c; }
public int countSaturatedOrAromaticNitrogenContainingRing(int size) { int c = 0; for (IAtomContainer ring : ringSet.atomContainers()) { if (ring.getAtomCount() == size && (isRingSaturated(ring) || isAromaticRing(ring)) && countNitrogenInRing(ring) > 0) ++c; } return c; }