/** {@inheritDoc} */ @Override public void setMoleculeSet(IAtomContainerSet setOfMolecules) { logger.debug("Setting setOfMolecules: ", setOfMolecules); super.setMoleculeSet(setOfMolecules); }
@Override public void endElement(String uri, String local, String raw) { logger.debug("end element: ", raw); if ("identifier".equals(local)) { if (tautomer != null) { // ok, add tautomer setOfMolecules.addAtomContainer(tautomer); chemModel.setMoleculeSet(setOfMolecules); chemSequence.addChemModel(chemModel); } } else if ("formula".equals(local)) { if (tautomer != null) { logger.info("Parsing <formula> chars: ", currentChars); tautomer = new AtomContainer(inchiTool.processFormula( setOfMolecules.getBuilder().newInstance(IAtomContainer.class), currentChars)); } else { logger.warn("Cannot set atom info for empty tautomer"); } } else if ("connections".equals(local)) { if (tautomer != null) { logger.info("Parsing <connections> chars: ", currentChars); inchiTool.processConnections(currentChars, tautomer, -1); } else { logger.warn("Cannot set dbond info for empty tautomer"); } } else { // skip all other elements } }
IAtomContainerSet som = (AtomContainerSet) cor.read(new AtomContainerSet()); chemModel = new ChemModel(); chemModel.setMoleculeSet(som); } catch (Exception exception) { error = "Error while reading file: " + exception.getMessage(); newSet.addAtomContainer(mol); chemModel = new ChemModel(); chemModel.setMoleculeSet(newSet); } catch (Exception exception) { error = "Error while reading file: " + exception.getMessage(); RGroupHandler rgHandler = new RGroupHandler(rgroupQuery, panel); panel.get2DHub().setRGroupHandler(rgHandler); chemModel.setMoleculeSet(rgHandler.getMoleculeSet(chemModel)); rgHandler.layoutRgroup();
/** * @cdk.bug 1455346 */ @Test public void testChemModel() throws Exception { ChemModel model = new ChemModel(); IAtomContainerSet moleculeSet = new AtomContainerSet(); IAtomContainer mol = new AtomContainer(); PseudoAtom atom = new PseudoAtom("N"); mol.addAtom(atom); moleculeSet.addAtomContainer(mol); model.setMoleculeSet(moleculeSet); IChemModel roundTrippedModel = CMLRoundTripTool.roundTripChemModel(convertor, model); IAtomContainerSet roundTrippedMolSet = roundTrippedModel.getMoleculeSet(); Assert.assertNotNull(roundTrippedMolSet); Assert.assertEquals(1, roundTrippedMolSet.getAtomContainerCount()); IAtomContainer roundTrippedMolecule = roundTrippedMolSet.getAtomContainer(0); Assert.assertNotNull(roundTrippedMolecule); Assert.assertEquals(1, roundTrippedMolecule.getAtomCount()); }
@Test public void testPropagation() { ChemFile cf = new ChemFile(); ChemSequence cs = new ChemSequence(); ChemModel cm = new ChemModel(); IAtomContainerSet som = new AtomContainerSet(); IAtomContainer mol = new AtomContainer(); Atom a1 = new Atom("C"); Atom a2 = new Atom("C"); Bond b1 = new Bond(a1, a2); mol.addAtom(a1); mol.addAtom(a2); mol.addBond(b1); som.addAtomContainer(mol); cm.setMoleculeSet(som); cs.addChemModel(cm); cf.addChemSequence(cs); TestListener ts = new TestListener(); cf.addListener(ts); a2.setSymbol("N"); Assert.assertTrue(ts.changedObject instanceof Atom); Assert.assertEquals("N", ((Atom) ts.changedObject).getSymbol()); }