private static boolean isMiddleRing(IAtomContainer ring, IAtomContainer ringA, IAtomContainer ringB) { boolean hasAtomInRingA = false; boolean hasAtomInRingB = false; for (IAtom atom : ring.atoms()) { if (!hasAtomInRingA && ringA.contains(atom)) hasAtomInRingA = true; else if (!hasAtomInRingB && ringB.contains(atom)) hasAtomInRingB = true; } return hasAtomInRingA && hasAtomInRingB; }
public boolean contains( IChemObject obj ) { if(type == Type.NONE) return false; for(IAtomContainer other: ChemModelManipulator.getAllAtomContainers( chemModel )) { if(other == obj) return true; if(obj instanceof IBond) if( other.contains( (IBond) obj)) return true; if(obj instanceof IAtom) if( other.contains( (IAtom) obj)) return true; } return false; }
public static IAtomContainer getRelevantAtomContainer(IAtomContainerSet containerSet, IBond bond) { for (IAtomContainer atomContainer : containerSet.atomContainers()) { if (atomContainer.contains(bond)) { return atomContainer; } } return null; }
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; }
public static IAtomContainer getRelevantAtomContainer(IAtomContainerSet containerSet, IAtom atom) { for (IAtomContainer atomContainer : containerSet.atomContainers()) { if (atomContainer.contains(atom)) { return atomContainer; } } return null; }
/** * * @param atom * @param molset * @return */ protected static IAtomContainer getAtomContainer(IAtom atom, IAtomContainerSet molset) { for (IAtomContainer mol : molset.atomContainers()) { if (mol.contains(atom)) { return mol; } } return null; }
@Override public void drawHighlights(IAtomContainer molecule, Graphics2D g) { Color color; for (IAtom atom : this.atomColorMap.keySet()) { if (!molecule.contains(atom)) continue; color = this.atomColorMap.get(atom); this.drawHighlight(atom, color, g); } for (IBond bond : this.bondColorMap.keySet()) { if (!molecule.contains(bond)) continue; color = this.bondColorMap.get(bond); this.drawHighlight(bond, color, g); } }
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; }
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 double getFreeValenceElectrons(IAtom a) throws CDKException { double freeValEle = 0; for (int i = 0; i < myMoleculeSet.getAtomContainerCount(); i++) { IAtomContainer mol = myMoleculeSet.getAtomContainer(i); if (mol.contains(a)) { freeValEle = ValencyCalculator.getFreeValenceElectrons(mol, a, withoutH); } } return freeValEle; }
protected static IAtomContainer makeAtomContainer(IAtom atom, List<IBond> parts, IAtom excludedAtom) { IAtomContainer partContainer = atom.getBuilder().newInstance(IAtomContainer.class); partContainer.addAtom(atom); for (IBond aBond : parts) { for (IAtom bondedAtom : aBond.atoms()) { if (!bondedAtom.equals(excludedAtom) && !partContainer.contains(bondedAtom)) partContainer.addAtom(bondedAtom); } if (!aBond.contains(excludedAtom)) partContainer.addBond(aBond); } return partContainer; }
protected static IAtomContainer makeAtomContainer(IAtom atom, List<IBond> parts, IAtom excludedAtom) { IAtomContainer partContainer = atom.getBuilder().newInstance(IAtomContainer.class); partContainer.addAtom(atom); for (IBond aBond : parts) { for (IAtom bondedAtom : aBond.atoms()) { if (!bondedAtom.equals(excludedAtom) && !partContainer.contains(bondedAtom)) partContainer.addAtom(bondedAtom); } if (!aBond.contains(excludedAtom)) partContainer.addBond(aBond); } return partContainer; }
@Test public void testFusedRingFragments() { RingSearch ringSearch = new RingSearch(fusedRings); List<IAtomContainer> fragments = ringSearch.fusedRingFragments(); assertThat(fragments.size(), is(1)); IAtomContainer fragment = fragments.get(0); for (IAtom atom : fusedRings.atoms()) { assertTrue(fragment.contains(atom)); } for (IBond bond : fusedRings.bonds()) { assertTrue(fragment.contains(bond)); } }
@Test public void testRingFragments() { RingSearch ringSearch = new RingSearch(fusedRings); IAtomContainer fragment = ringSearch.ringFragments(); for (IAtom atom : fusedRings.atoms()) { assertTrue(fragment.contains(atom)); } for (IBond bond : fusedRings.bonds()) { assertTrue(fragment.contains(bond)); } }
@Test public void pseudoAtomReplacement() throws Exception { try (MDLV3000Reader reader = new MDLV3000Reader(getClass().getResourceAsStream("pseudoAtomReplacement.mol"))) { IAtomContainer container = reader.read(new org.openscience.cdk.AtomContainer(0, 0, 0, 0)); for (IAtom atom : container.getBond(9).atoms()) { Assert.assertTrue(container.contains(atom)); } } }
@Test public void testContains_IBond() { IAtomContainer acetone = (IAtomContainer) newChemObject(); IAtom c = acetone.getBuilder().newInstance(IAtom.class, "C"); IAtom o = acetone.getBuilder().newInstance(IAtom.class, "O"); acetone.addAtom(c); acetone.addAtom(o); IBond b1 = acetone.getBuilder().newInstance(IBond.class, c, o, IBond.Order.DOUBLE); acetone.addBond(b1); IBond falseBond = acetone.getBuilder().newInstance(IBond.class); assertTrue(acetone.contains(b1)); assertFalse(acetone.contains(falseBond)); }
@Test public void testContains_ILonePair() { IAtomContainer mol = (IAtomContainer) newChemObject(); IAtom c = mol.getBuilder().newInstance(IAtom.class, "C"); IAtom c1 = mol.getBuilder().newInstance(IAtom.class, "C"); mol.addAtom(c); mol.addAtom(c1); ILonePair lp = mol.getBuilder().newInstance(ILonePair.class, c1); mol.addLonePair(lp); ILonePair lp1 = mol.getBuilder().newInstance(ILonePair.class, c); assertTrue(mol.contains(lp)); assertFalse(mol.contains(lp1)); }
@Test public void testContains_ISingleElectron() { IAtomContainer mol = (IAtomContainer) newChemObject(); IAtom c = mol.getBuilder().newInstance(IAtom.class, "C"); IAtom c1 = mol.getBuilder().newInstance(IAtom.class, "C"); mol.addAtom(c); mol.addAtom(c1); ISingleElectron se = mol.getBuilder().newInstance(ISingleElectron.class, c1); mol.addSingleElectron(se); ISingleElectron se1 = mol.getBuilder().newInstance(ISingleElectron.class, c1); assertTrue(mol.contains(se)); assertFalse(mol.contains(se1)); }