private static int numRingBonds(IAtomContainer mol, IAtom atom) { int cnt = 0; for (IBond bond : mol.getConnectedBondsList(atom)) { if (bond.isInRing()) cnt++; } return cnt; }
private int getAttachedMultipleBondCount( IAtom atom, IAtomContainer atomContainer) { int count = 0; for (IBond bond : atomContainer.getConnectedBondsList(atom)) { if (bond.getOrder() != SINGLE) { count++; } } return count; }
private int getAttachedMultipleBondCount(IAtom atom, IAtomContainer atomContainer) { int count = 0; for (IBond bond : atomContainer.getConnectedBondsList(atom)) { if (bond.getOrder() == IBond.Order.SINGLE) { continue; } ++count; } return count; }
private int getAttachedMultipleBondCount( IAtom atom, IAtomContainer atomContainer) { int count = 0; for (IBond bond : atomContainer.getConnectedBondsList(atom)) { if (bond.getOrder() != SINGLE) { count++; } } return count; }
private static IAtom getOtherAtom(IAtomContainer mol, IAtom atom, IAtom other) { List<IBond> bonds = mol.getConnectedBondsList(atom); if (bonds.size() != 2) return null; if (bonds.get(0).contains(other)) return bonds.get(1).getOrder() == IBond.Order.DOUBLE ? bonds.get(1).getOther(atom) : null; return bonds.get(0).getOrder() == IBond.Order.DOUBLE ? bonds.get(0).getOther(atom) : null; }
private boolean isThioAmide(IAtom atom, IAtomContainer atomContainer, List<IBond> connectedBonds) { if (connectedBonds.size() < 1) return false; for (IBond bond : connectedBonds) { IAtom neighbor = bond.getOther(atom); if (neighbor.getSymbol().equals("C")) { if (countAttachedDoubleBonds(atomContainer.getConnectedBondsList(neighbor), neighbor, "S") == 1) return true; } } return false; }
protected static List<IBond> traverse(IAtomContainer atomContainer, IAtom atom, List<IBond> bondList) { List<IBond> connectedBonds = atomContainer.getConnectedBondsList(atom); for (IBond aBond : connectedBonds) { if (bondList.contains(aBond)) continue; bondList.add(aBond); IAtom nextAtom = aBond.getOther(atom); if (atomContainer.getConnectedBondsCount(nextAtom) == 1) continue; traverse(atomContainer, nextAtom, bondList); } return bondList; }
private boolean isAmide(IAtom atom, IAtomContainer atomContainer, List<IBond> connectedBonds) { if (connectedBonds.size() < 1) return false; for (IBond bond : connectedBonds) { IAtom neighbor = bond.getOther(atom); if (neighbor.getSymbol().equals("C")) { if (countAttachedDoubleBonds(atomContainer.getConnectedBondsList(neighbor), neighbor, "O") == 1) return true; } } return false; }
private boolean isInSmallRing(IAtom atom, int max) { if (!atom.isInRing()) return false; for (IBond bond : container.getConnectedBondsList(atom)) { if (isInSmallRing(bond, max)) return true; } return false; }
private boolean isAmide(IAtom atom, IAtomContainer atomContainer, List<IBond> connectedBonds) { if (connectedBonds.size() < 1) return false; for (IBond bond : connectedBonds) { IAtom neighbor = bond.getOther(atom); if (neighbor.getSymbol().equals("C")) { if (countAttachedDoubleBonds(atomContainer.getConnectedBondsList(neighbor), neighbor, "O") == 1) return true; } } return false; }
protected static List<IBond> traverse(IAtomContainer atomContainer, IAtom atom, List<IBond> bondList) { List<IBond> connectedBonds = atomContainer.getConnectedBondsList(atom); for (IBond aBond : connectedBonds) { if (bondList.contains(aBond)) continue; bondList.add(aBond); IAtom nextAtom = aBond.getOther(atom); if (atomContainer.getConnectedBondsCount(nextAtom) == 1) continue; traverse(atomContainer, nextAtom, bondList); } return bondList; }
private static IAtom getOtherAtom(IAtomContainer mol, IAtom atom, IAtom other) { List<IBond> bonds = mol.getConnectedBondsList(atom); if (bonds.size() != 2) return null; if (bonds.get(0).contains(other)) return bonds.get(1).getOrder() == IBond.Order.DOUBLE ? bonds.get(1).getOther(atom) : null; return bonds.get(0).getOrder() == IBond.Order.DOUBLE ? bonds.get(0).getOther(atom) : null; }
private boolean isThioAmide(IAtom atom, IAtomContainer atomContainer, List<IBond> connectedBonds) { if (connectedBonds.size() < 1) return false; for (IBond bond : connectedBonds) { IAtom neighbor = bond.getOther(atom); if (neighbor.getSymbol().equals("C")) { if (countAttachedDoubleBonds(atomContainer.getConnectedBondsList(neighbor), neighbor, "S") == 1) return true; } } return false; }
public int calculateNumberOfImplicitHydrogens(IAtom atom, IAtomContainer container, boolean throwExceptionForUnknowAtom) throws CDKException { return this.calculateNumberOfImplicitHydrogens(atom, container.getBondOrderSum(atom), container.getConnectedSingleElectronsCount(atom), container.getConnectedBondsList(atom), throwExceptionForUnknowAtom); }
private IBond.Order getHighestBondOrder(IAtomContainer container, IAtom atom) { List<IBond> bonds = container.getConnectedBondsList(atom); IBond.Order maxOrder = IBond.Order.SINGLE; for (IBond bond : bonds) { if (BondManipulator.isHigherOrder(bond.getOrder(), maxOrder)) maxOrder = bond.getOrder(); } return maxOrder; }
private boolean isBridgeHead(int v) { if (getRingDegree(v) < 3) return false; IAtom atom = container.getAtom(v); for (IBond bond : container.getConnectedBondsList(atom)) if (isFusedBond(bond)) return false; return true; }
@Test public void testAxialEncoder_Empty() throws Exception { IAtomContainer container = mock(IAtomContainer.class); IAtom start = mock(IAtom.class); IAtom end = mock(IAtom.class); when(container.getConnectedBondsList(start)).thenReturn(Collections.<IBond> emptyList()); when(container.getConnectedBondsList(end)).thenReturn(Collections.<IBond> emptyList()); assertNull(GeometricCumulativeDoubleBondFactory.axialEncoder(container, start, end)); }
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(expected = NoSuchAtomException.class) public void testGetConnectedBondsMissingAtom() { IAtomContainer container = (IAtomContainer) newChemObject(); IChemObjectBuilder builder = container.getBuilder(); IAtom atom = builder.newAtom(); container.getConnectedBondsList(atom); }