/** * Resets the bond orders of all atoms to 1.0. */ public void unsaturate(IAtomContainer atomContainer) { for (IBond bond : atomContainer.bonds()) bond.setOrder(Order.SINGLE); }
private static void InvalidateBonds(IAtomContainer ring) { for (IBond bond : ring.bonds()) { bond.setOrder(IBond.Order.QUADRUPLE); } }
/** * Resets the bond orders of all atoms to 1.0. */ public void unsaturate(IAtomContainer atomContainer) { for (IBond bond : atomContainer.bonds()) bond.setOrder(Order.SINGLE); }
/** * Resets the bond order of the Bond to 1.0. */ public void unsaturateBonds(IAtomContainer container) { for (IBond bond : container.bonds()) bond.setOrder(Order.SINGLE); }
private void writeBonds(IAtomContainer molecule) throws Exception { Iterator<IBond> bonds = molecule.bonds().iterator(); while (bonds.hasNext()) { IBond bond = (IBond) bonds.next(); writeBond(bond); writer.write(" mol.addBond(" + bond.getID() + ");"); writer.write('\n'); } }
private void writeBonds(IAtomContainer molecule) throws Exception { Iterator<IBond> bonds = molecule.bonds().iterator(); while (bonds.hasNext()) { IBond bond = (IBond) bonds.next(); writeBond(bond); writer.write(" mol.addBond(" + bond.getID() + ");"); writer.write('\n'); } }
private double caclModelScale(Collection<IAtomContainer> mols) { List<IBond> bonds = new ArrayList<>(); for (IAtomContainer mol : mols) { for (IBond bond : mol.bonds()) { bonds.add(bond); } } return calcModelScaleForBondLength(medianBondLength(bonds)); }
private double caclModelScale(Collection<IAtomContainer> mols) { List<IBond> bonds = new ArrayList<>(); for (IAtomContainer mol : mols) { for (IBond bond : mol.bonds()) { bonds.add(bond); } } return calcModelScaleForBondLength(medianBondLength(bonds)); }
private boolean isConnected(IAtomContainer atomContainer, IAtom atom1, IAtom atom2) { for (IBond bond : atomContainer.bonds()) { if (bond.contains(atom1) && bond.contains(atom2)) return true; } return false; } }
private boolean isConnected(IAtomContainer atomContainer, IAtom atom1, IAtom atom2) { for (IBond bond : atomContainer.bonds()) { if (bond.contains(atom1) && bond.contains(atom2)) return true; } return false; } }
private List<List<Integer>> order1(IAtomContainer atomContainer) throws CDKException { List<List<Integer>> fragments = new ArrayList<List<Integer>>(); for (IBond bond : atomContainer.bonds()) { if (bond.getAtomCount() != 2) throw new CDKException("We only consider 2 center bonds"); List<Integer> tmp = new ArrayList<Integer>(); tmp.add(atomContainer.indexOf(bond.getBegin())); tmp.add(atomContainer.indexOf(bond.getEnd())); fragments.add(tmp); } return fragments; }
/** * Clear all transient properties assigned by this class. Assigned charges * and atom type names remain set. * * @param mol molecule */ public void clearProps(IAtomContainer mol) { mol.removeProperty(MMFF_EDGEMAP_CACHE); mol.removeProperty(MMFF_ADJLIST_CACHE); for (IBond bond : mol.bonds()) bond.removeProperty(MMFF_AROM); }
/** * Clear all transient properties assigned by this class. Assigned charges * and atom type names remain set. * * @param mol molecule */ public void clearProps(IAtomContainer mol) { mol.removeProperty(MMFF_EDGEMAP_CACHE); mol.removeProperty(MMFF_ADJLIST_CACHE); for (IBond bond : mol.bonds()) bond.removeProperty(MMFF_AROM); }
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); } }
@Test public void skeleton() throws Exception { IAtomContainer adenine = TestMoleculeFactory.makeAdenine(); IAtomContainer skeleton = AtomContainerManipulator.skeleton(adenine); assertThat(skeleton, is(not(sameInstance(adenine)))); for (IBond bond : skeleton.bonds()) assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); for (int i = 0; i < skeleton.getAtomCount(); i++) { assertThat(skeleton.getAtom(i).getSymbol(), is(adenine.getAtom(i).getSymbol())); } }
@Test public void mailCase5a() throws CDKException { IAtomContainer mol = sp.parseSmiles("c5cc2ccc1ccccc1c2c6c4c3ccccc3ccc4ccc56"); atasc.decideBondOrder(mol, true); int doubleBondCount = 0; for (IBond bond : mol.bonds()) { if (bond.getOrder() == IBond.Order.DOUBLE) doubleBondCount++; } Assert.assertEquals(13, doubleBondCount); }
@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 testIndoles2() throws CDKException { IAtomContainer mol = sp .parseSmiles("Cl.Cl.Oc1ccc2CC3[C@](Cc4c(-c5ccccc5)c(C)[nH0](Cc5ccccc5)c4[C@@H]([C@](CCN3CC3CC3)(c2c1O1)2)1)2(O)"); atasc.decideBondOrder(mol, true); int doubleBondCount = 0; for (IBond bond : mol.bonds()) { if (bond.getOrder() == IBond.Order.DOUBLE) doubleBondCount++; } Assert.assertEquals(11, doubleBondCount); }
@Test public void testLargeRingSystem2() throws Exception { // Should have 8 double bonds String smiles = "Oc1ccc(cc1)c1coc2c(c1=O)c(O)cc(c2)O"; IAtomContainer mol = sp.parseSmiles(smiles); atasc.decideBondOrder(mol, true); int doubleBondCount = 0; for (IBond bond : mol.bonds()) { if (bond.getOrder().equals(Order.DOUBLE)) doubleBondCount++; } Assert.assertEquals(8, doubleBondCount); }
@Test public void testAnOtherDoubleRing() throws CDKException { IAtomContainer mol = sp.parseSmiles("c1cccc2cccc2c1"); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); atasc.decideBondOrder(mol, true); Assert.assertEquals(mol.getAtom(1).getHybridization(), IAtomType.Hybridization.SP2); int doubleBondCount = 0; for (IBond bond : mol.bonds()) { if (bond.getOrder() == IBond.Order.DOUBLE) doubleBondCount++; } Assert.assertEquals(5, doubleBondCount); }