/** * {@inheritDoc} */ @Override public void setStereo(Stereo stereo) { bond.setStereo(stereo); }
/** * {@inheritDoc} */ @Override public void setStereo(Stereo stereo) { bond.setStereo(stereo); }
public void undo() { Set<IAtom> keys = atomCoordsMap.keySet(); Iterator<IAtom> it = keys.iterator(); while (it.hasNext()) { IAtom atom = (IAtom) it.next(); Point2d[] coords = atomCoordsMap.get(atom); atom.setPoint2d(coords[1]); } for (Map.Entry<IBond, IBond.Stereo> e : bondStereo.entrySet()) { IBond.Stereo prev = e.getKey().getStereo(); e.getKey().setStereo(e.getValue()); e.setValue(prev); } }
/** * Sets a wedge bond, because wedges are relative we may need to flip * the storage order on the bond. * * @param bond the bond * @param end the expected end atom (fat end of wedge) * @param style the wedge style */ private void setWedge(IBond bond, IAtom end, IBond.Stereo style) { if (!bond.getEnd().equals(end)) bond.setAtoms(new IAtom[]{bond.getEnd(), bond.getBegin()}); bond.setStereo(style); }
/** * Sets a wedge bond, because wedges are relative we may need to flip * the storage order on the bond. * * @param bond the bond * @param end the expected end atom (fat end of wedge) * @param style the wedge style */ private void setWedge(IBond bond, IAtom end, IBond.Stereo style) { if (!bond.getEnd().equals(end)) bond.setAtoms(new IAtom[]{bond.getEnd(), bond.getBegin()}); bond.setStereo(style); }
void reset() { final int numAtoms = mol.getAtomCount(); final int numBonds = mol.getBondCount(); for (int i = 0; i < numAtoms; i++) mol.getAtom(i).setPoint2d(coords[i]); for (int i = 0; i < numBonds; i++) mol.getBond(i).setStereo(btypes[i]); } }
void reset() { final int numAtoms = mol.getAtomCount(); final int numBonds = mol.getBondCount(); for (int i = 0; i < numAtoms; i++) mol.getAtom(i).setPoint2d(coords[i]); for (int i = 0; i < numBonds; i++) mol.getBond(i).setStereo(btypes[i]); } }
@Test public void testUndefinedStereo() throws Exception { IAtomContainer mol = TestMoleculeFactory.makeAlphaPinene(); mol.getBond(0).setStereo(IBond.Stereo.UP_OR_DOWN); mol.getBond(1).setStereo(IBond.Stereo.E_OR_Z); StringWriter writer = new StringWriter(); MDLV2000Writer mdlWriter = new MDLV2000Writer(writer); mdlWriter.write(mol); mdlWriter.close(); String output = writer.toString(); Assert.assertTrue(output.indexOf("1 2 2 4 0 0 0") > -1); Assert.assertTrue(output.indexOf("2 3 1 3 0 0 0") > -1); }
/** * {@inheritDoc} */ @Override public void addBond(int beg, int end, Order order, Stereo stereo) { IBond bond = getBuilder().newBond(); bond.setAtoms(new IAtom[]{getAtom(beg), getAtom(end)}); bond.setOrder(order); bond.setStereo(stereo); addBond(bond); }
/** * {@inheritDoc} */ @Override public void addBond(int beg, int end, Order order, Stereo stereo) { IBond bond = getBuilder().newBond(); bond.setAtoms(new IAtom[]{getAtom(beg), getAtom(end)}); bond.setOrder(order); bond.setStereo(stereo); addBond(bond); }
/** * {@inheritDoc} */ @Override public void addBond(int beg, int end, Order order, Stereo stereo) { IBond bond = getBuilder().newBond(); bond.setAtoms(new IAtom[]{getAtom(beg), getAtom(end)}); bond.setOrder(order); bond.setStereo(stereo); addBond(bond); }
/** * {@inheritDoc} */ @Override public void addBond(int beg, int end, Order order, Stereo stereo) { IBond bond = getBuilder().newBond(); bond.setAtoms(new IAtom[]{getAtom(beg), getAtom(end)}); bond.setOrder(order); bond.setStereo(stereo); addBond(bond); }
@Test public void testCdkBondToCMLBond_Wedge() throws IOException { IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); IBond bond = builder.newInstance(IBond.class); bond.setOrder(IBond.Order.SINGLE); bond.setStereo(IBond.Stereo.UP); Convertor convertor = new Convertor(true, null); CMLBond cmlBond = convertor.cdkBondToCMLBond(bond); ByteArrayOutputStream out = new ByteArrayOutputStream(); Serializer serializer = new Serializer(out, "UTF-8"); serializer.write(new Document(cmlBond)); out.close(); String expected = "<bondStereo dictRef=\"cml:W\">W</bondStereo>"; String actual = new String(out.toByteArray()); Assert.assertTrue(actual.contains(expected)); }
@Test public void testCdkBondToCMLBond_Hatch() throws IOException { IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); IBond bond = builder.newInstance(IBond.class); bond.setOrder(IBond.Order.SINGLE); bond.setStereo(IBond.Stereo.DOWN); Convertor convertor = new Convertor(true, null); CMLBond cmlBond = convertor.cdkBondToCMLBond(bond); ByteArrayOutputStream out = new ByteArrayOutputStream(); Serializer serializer = new Serializer(out, "UTF-8"); serializer.write(new Document(cmlBond)); out.close(); String expected = "<bondStereo dictRef=\"cml:H\">H</bondStereo>"; String actual = new String(out.toByteArray()); Assert.assertTrue(actual.contains(expected)); }
@Test public void testSetStereo_IBond_Stereo() { IBond b = (IBond) newChemObject(); IAtom c = b.getBuilder().newInstance(IAtom.class, "C"); IAtom o = b.getBuilder().newInstance(IAtom.class, "O"); b.setAtom(c, 0); b.setAtom(o, 1); b.setOrder(Order.DOUBLE); b.setStereo(IBond.Stereo.DOWN); Assert.assertEquals(IBond.Stereo.DOWN, b.getStereo()); b.setStereo(IBond.Stereo.UP); Assert.assertEquals(IBond.Stereo.UP, b.getStereo()); }
@Test public void testRemoveNonChiralHydrogens_StereoBond() throws Exception { IAtomContainer molecule = getChiralMolTemplate(); molecule.getBond(2).setStereo(IBond.Stereo.UP); Assert.assertEquals(8, molecule.getAtomCount()); IAtomContainer ac = AtomContainerManipulator.removeNonChiralHydrogens(molecule); Assert.assertEquals(6, ac.getAtomCount()); }
@Test public void testRemoveNonChiralHydrogens_StereoBondHeteroAtom() throws Exception { IAtomContainer molecule = getChiralMolTemplate(); molecule.getBond(3).setStereo(IBond.Stereo.UP); Assert.assertEquals(8, molecule.getAtomCount()); IAtomContainer ac = AtomContainerManipulator.removeNonChiralHydrogens(molecule); Assert.assertEquals(6, ac.getAtomCount()); }
@Test public void testClone_Stereo() 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.Order.SINGLE, IBond.Stereo.UP); IBond clone = (IBond) bond.clone(); // test cloning of bond order bond.setStereo(IBond.Stereo.UP_INVERTED); Assert.assertEquals(IBond.Stereo.UP, clone.getStereo()); }