/** * {@inheritDoc} */ @Override public IAtom getEnd() { return bond.getEnd(); }
private int numFixedMoved(final int[] xs, final int len) { int cnt = 0; Set<IAtom> amoved = new HashSet<>(); for (int i = 0; i < len; i++) { amoved.add(mol.getAtom(xs[i])); } for (IBond bond : bfix) { if (amoved.contains(bond.getBegin()) && amoved.contains(bond.getEnd())) cnt++; } return cnt; }
private static double angle(IBond bond) { Point2d end = bond.getBegin().getPoint2d(); Point2d beg = bond.getEnd().getPoint2d(); return Math.atan2(end.y - beg.y, end.x - beg.x); }
public IAtomContainer removeLoopBonds(IAtomContainer molecule, int position) { for (int i = 0; i < molecule.getBondCount(); i++) { IBond bond = molecule.getBond(i); if (bond.getBegin().equals(bond.getEnd())) { System.out.println("Loop found! Molecule:" + position); molecule.removeBond(bond); } } return molecule; }
private void loadEdges(IAtomContainer molecule) { for (int i = 0; i < molecule.getBondCount(); i++) { IBond bond = molecule.getBond(i); edges.add(new PathEdge(Arrays.asList(bond.getBegin(), bond.getEnd()))); } }
private int getPositionalRingBondPref(IBond bond, IAtomContainer mol) { int begRingBonds = numRingBonds(mol, bond.getBegin()); int endRingBonds = numRingBonds(mol, bond.getEnd()); if (begRingBonds == 2 && endRingBonds == 2) return 0; if ((begRingBonds > 2 && endRingBonds == 2) || (begRingBonds == 2 && endRingBonds > 2)) return 1; return 2; }
private void writeBond(IBond bond) throws Exception { writer.write(" IBond " + bond.getID() + " = builder.newInstance(IBond.class," + bond.getBegin().getID() + ", " + bond.getEnd().getID() + ", IBond.Order." + bond.getOrder() + ");"); writer.write('\n'); }
private int getPositionalRingBondPref(IBond bond, IAtomContainer mol) { int begRingBonds = numRingBonds(mol, bond.getBegin()); int endRingBonds = numRingBonds(mol, bond.getEnd()); if (begRingBonds == 2 && endRingBonds == 2) return 0; if ((begRingBonds > 2 && endRingBonds == 2) || (begRingBonds == 2 && endRingBonds > 2)) return 1; return 2; }
private BaseBondRef newBondRef(IBond bond) { BaseAtomRef beg = bond.getBegin() == null ? null : getAtomRef(bond.getBegin()); BaseAtomRef end = bond.getEnd() == null ? null : getAtomRef(bond.getEnd()); if (bond.getClass() == Bond.class) return new BaseBondRef(this, bond, beg, end); bond = unbox(bond); if (bond instanceof IQueryBond) return new QueryBondRef(this, (IQueryBond) bond, beg, end); return new BaseBondRef(this, bond, beg, end); }
private BaseBondRef newBondRef(IBond bond) { BaseAtomRef beg = bond.getBegin() == null ? null : getAtomRef(bond.getBegin()); BaseAtomRef end = bond.getEnd() == null ? null : getAtomRef(bond.getEnd()); if (bond.getClass() == Bond.class) return new BaseBondRef(this, bond, beg, end); bond = unbox(bond); if (bond instanceof IQueryBond) return new QueryBondRef(this, (IQueryBond) bond, beg, end); return new BaseBondRef(this, bond, beg, end); }
/** * Reflect the point {@code p} over the {@code bond}. * * @param p the point to reflect * @param bond bond * @return the reflected point */ private Point2d reflect(Point2d p, IBond bond) { IAtom a = bond.getBegin(); IAtom b = bond.getEnd(); return reflect(p, a.getPoint2d().x, a.getPoint2d().y, b.getPoint2d().x, b.getPoint2d().y); }
@Test public void shortLineWithPadding() throws Exception { String input = " 1 3 1 0 "; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void shortLineNoStereo() throws Exception { String input = " 1 3 1"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); } }
private IRing getRing(IAtomContainer spt, IBond bond) { IRing ring = spt.getBuilder().newInstance(IRing.class); PathTools.resetFlags(spt); ring.addAtom(bond.getBegin()); PathTools.depthFirstTargetSearch(spt, bond.getBegin(), bond.getEnd(), ring); ring.addBond(bond); return ring; }
@Test public void testBond() { IBond bond = new Bond(); Assert.assertEquals(0, bond.getAtomCount()); Assert.assertNull(bond.getBegin()); Assert.assertNull(bond.getEnd()); Assert.assertNull(bond.getOrder()); Assert.assertEquals(IBond.Stereo.NONE, bond.getStereo()); }
@Test public void testSetAtoms_arrayIAtom() { IBond b = (IBond) newChemObject(); IAtom[] atomsToAdd = new IAtom[2]; atomsToAdd[0] = b.getBuilder().newInstance(IAtom.class, "C"); atomsToAdd[1] = b.getBuilder().newInstance(IAtom.class, "O"); b.setAtoms(atomsToAdd); Assert.assertEquals(2, b.getAtomCount()); Assert.assertEquals(atomsToAdd[0], b.getBegin()); Assert.assertEquals(atomsToAdd[1], b.getEnd()); }
@Test public void testClone_IAtom() throws Exception { IChemObject object = newChemObject(); IAtom atom1 = object.getBuilder().newInstance(IAtom.class, "C"); IAtom atom2 = object.getBuilder().newInstance(IAtom.class, "O"); IBond bond = object.getBuilder().newInstance(IBond.class, atom1, atom2); IBond clone = (IBond) bond.clone(); // test cloning of atoms Assert.assertNotSame(atom1, clone.getBegin()); Assert.assertNotSame(atom2, clone.getEnd()); }
@Test public void testBond_IAtom_IAtom() { IChemObject object = newChemObject(); IAtom c = object.getBuilder().newInstance(IAtom.class, "C"); IAtom o = object.getBuilder().newInstance(IAtom.class, "O"); IBond bond = new Bond(c, o); Assert.assertEquals(2, bond.getAtomCount()); Assert.assertEquals(c, bond.getBegin()); Assert.assertEquals(o, bond.getEnd()); Assert.assertEquals(IBond.Order.SINGLE, bond.getOrder()); Assert.assertEquals(IBond.Stereo.NONE, bond.getStereo()); }
@Test public void testBond_IAtom_IAtom_IBond_Order() { IChemObject object = newChemObject(); IAtom c = object.getBuilder().newInstance(IAtom.class, "C"); IAtom o = object.getBuilder().newInstance(IAtom.class, "O"); IBond bond = new Bond(c, o, IBond.Order.DOUBLE); Assert.assertEquals(2, bond.getAtomCount()); Assert.assertEquals(c, bond.getBegin()); Assert.assertEquals(o, bond.getEnd()); Assert.assertTrue(bond.getOrder() == IBond.Order.DOUBLE); Assert.assertEquals(IBond.Stereo.NONE, bond.getStereo()); }
@Test public void testBond_IAtom_IAtom() { IChemObject object = newChemObject(); IAtom c = object.getBuilder().newInstance(IAtom.class, "C"); IAtom o = object.getBuilder().newInstance(IAtom.class, "O"); IBond bond = new Bond(c, o); Assert.assertEquals(2, bond.getAtomCount()); Assert.assertEquals(c, bond.getBegin()); Assert.assertEquals(o, bond.getEnd()); Assert.assertEquals(IBond.Order.SINGLE, bond.getOrder()); Assert.assertEquals(IBond.Stereo.NONE, bond.getStereo()); }