@Override public void endDocument() { chemFile.addChemSequence(chemSequence); }
@Override public void endElement(CMLStack xpath, String uri, String local, String raw) { String name = local; if (current == ENERGY) { // cdo.setObjectProperty("Frame", "energy", frame_energy); // + " " + units); // FIXME: does not have a ChemFileCDO equivalent current = UNKNOWN; frame_energy = ""; } else if (name.equals("list")) { super.endElement(xpath, uri, local, raw); // cdo.endObject("Animation"); currentChemFile.addChemSequence(currentChemSequence); } else if (name.equals("molecule")) { super.endElement(xpath, uri, local, raw); // cdo.endObject("Frame"); // nothing done in the CD upon this event } else { super.endElement(xpath, uri, local, raw); } }
@Override public void endElement(CMLStack xpath, String uri, String local, String raw) { String name = local; if (current == ENERGY) { // cdo.setObjectProperty("Frame", "energy", frame_energy); // + " " + units); // FIXME: does not have a ChemFileCDO equivalent current = UNKNOWN; frame_energy = ""; } else if (name.equals("list")) { super.endElement(xpath, uri, local, raw); // cdo.endObject("Animation"); currentChemFile.addChemSequence(currentChemSequence); } else if (name.equals("molecule")) { super.endElement(xpath, uri, local, raw); // cdo.endObject("Frame"); // nothing done in the CD upon this event } else { super.endElement(xpath, uri, local, raw); } }
private IChemFile readChemFile(IChemFile chemFile) throws CDKException { IChemSequence sequence = readChemSequence(chemFile.getBuilder().newInstance(IChemSequence.class)); chemFile.addChemSequence(sequence); return chemFile; }
private IChemFile readChemFile(IChemFile file) throws CDKException, IOException { IChemSequence seq = readChemSequence(file.getBuilder().newInstance(IChemSequence.class)); file.addChemSequence(seq); return file; }
private IChemFile readChemFile(IChemFile chemFile) throws CDKException { IChemSequence sequence = readChemSequence(chemFile.getBuilder().newInstance(IChemSequence.class)); chemFile.addChemSequence(sequence); return chemFile; }
private IChemFile readChemFile(IChemFile file) throws Exception { IChemSequence chemSequence = file.getBuilder().newInstance(IChemSequence.class); IChemModel chemModel = file.getBuilder().newInstance(IChemModel.class); IAtomContainerSet moleculeSet = file.getBuilder().newInstance(IAtomContainerSet.class); molecule = file.getBuilder().newInstance(IAtomContainer.class); atomIDs = new HashMap<String, IAtom>(); String line = input.readLine(); while (input.ready() && line != null) { if (line.indexOf('{') != -1) { processBlock(line); } else { logger.warn("Skipping non-block: " + line); } line = input.readLine(); } moleculeSet.addAtomContainer(molecule); chemModel.setMoleculeSet(moleculeSet); chemSequence.addChemModel(chemModel); file.addChemSequence(chemSequence); return file; }
/** * Read a ChemFile from a file in MDL RDF format. * * @param chemFile The IChemFile * @return The IChemFile that was read from the RDF file. */ private IChemFile readChemFile(IChemFile chemFile) throws CDKException { IChemSequence chemSequence = chemFile.getBuilder().newInstance(IChemSequence.class); IChemModel chemModel = chemFile.getBuilder().newInstance(IChemModel.class); chemSequence.addChemModel(readChemModel(chemModel)); chemFile.addChemSequence(chemSequence); return chemFile; }
@Test public void testGrowChemSequenceArray() { IChemFile cs = (IChemFile) newChemObject(); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); Assert.assertEquals(3, cs.getChemSequenceCount()); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); // this one should enfore array grow Assert.assertEquals(6, cs.getChemSequenceCount()); }
@Test public void testAddChemSequence_IChemSequence() { IChemFile cs = (IChemFile) newChemObject(); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); Assert.assertEquals(3, cs.getChemSequenceCount()); }
@Test public void testGetChemSequenceCount() { IChemFile cs = (IChemFile) newChemObject(); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); Assert.assertEquals(3, cs.getChemSequenceCount()); }
@Test public void testGetChemSequence_int() { IChemFile cs = (IChemFile) newChemObject(); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); IChemSequence second = cs.getBuilder().newInstance(IChemSequence.class); cs.addChemSequence(second); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); Assert.assertEquals(second, cs.getChemSequence(1)); }
@Override public <T extends IChemObject> T read(T object) throws CDKException { if (object instanceof IChemModel) { return (T) readChemModel((IChemModel) object); } else if (object instanceof IChemFile) { IChemSequence sequence = object.getBuilder().newInstance(IChemSequence.class); sequence.addChemModel((IChemModel) this.readChemModel(object.getBuilder().newInstance(IChemModel.class))); ((IChemFile) object).addChemSequence(sequence); return object; } else { throw new CDKException("Only supported is ChemModel."); } }
@Override public <T extends IChemObject> T read(T object) throws CDKException { if (object instanceof IChemModel) { return (T) readChemModel((IChemModel) object); } else if (object instanceof IChemFile) { IChemSequence sequence = object.getBuilder().newInstance(IChemSequence.class); sequence.addChemModel((IChemModel) this.readChemModel(object.getBuilder().newInstance(IChemModel.class))); ((IChemFile) object).addChemSequence(sequence); return object; } else { throw new CDKException("Only supported is ChemModel."); } }
@Test public void testChemSequences() { IChemFile cs = (IChemFile) newChemObject(); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); Assert.assertNotNull(cs.chemSequences()); Assert.assertEquals(3, cs.getChemSequenceCount()); }
@Test public void testRemoveChemSequence_int() { IChemFile cs = (IChemFile) newChemObject(); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); cs.addChemSequence(cs.getBuilder().newInstance(IChemSequence.class)); Assert.assertEquals(3, cs.getChemSequenceCount()); cs.removeChemSequence(1); Assert.assertEquals(2, cs.getChemSequenceCount()); }
/** * Read the ShelX from input. Each ShelX document is expected to contain * one crystal structure. * * @return a ChemFile with the coordinates, charges, vectors, etc. */ private IChemFile readChemFile(IChemFile file) throws IOException { IChemSequence seq = file.getBuilder().newInstance(IChemSequence.class); IChemModel model = file.getBuilder().newInstance(IChemModel.class); ICrystal crystal = readCrystal(file.getBuilder().newInstance(ICrystal.class)); model.setCrystal(crystal); seq.addChemModel(model); file.addChemSequence(seq); return file; }
/** * Read the ShelX from input. Each ShelX document is expected to contain * one crystal structure. * * @return a ChemFile with the coordinates, charges, vectors, etc. */ private IChemFile readChemFile(IChemFile file) throws IOException { IChemSequence seq = file.getBuilder().newInstance(IChemSequence.class); IChemModel model = file.getBuilder().newInstance(IChemModel.class); ICrystal crystal = readCrystal(file.getBuilder().newInstance(ICrystal.class)); model.setCrystal(crystal); seq.addChemModel(model); file.addChemSequence(seq); return file; }
@Test @Override public void testStateChanged_IChemObjectChangeEvent() { ChemObjectListenerImpl listener = new ChemObjectListenerImpl(); IChemFile chemObject = (IChemFile) newChemObject(); chemObject.addListener(listener); chemObject.addChemSequence(chemObject.getBuilder().newInstance(IChemSequence.class)); Assert.assertTrue(listener.changed); }
@Test public void testClone_ChemSequence() throws Exception { IChemFile file = (IChemFile) newChemObject(); file.addChemSequence(file.getBuilder().newInstance(IChemSequence.class)); // 1 file.addChemSequence(file.getBuilder().newInstance(IChemSequence.class)); // 2 file.addChemSequence(file.getBuilder().newInstance(IChemSequence.class)); // 3 file.addChemSequence(file.getBuilder().newInstance(IChemSequence.class)); // 4 IChemFile clone = (IChemFile) file.clone(); Assert.assertEquals(file.getChemSequenceCount(), clone.getChemSequenceCount()); for (int f = 0; f < file.getChemSequenceCount(); f++) { for (int g = 0; g < clone.getChemSequenceCount(); g++) { Assert.assertNotNull(file.getChemSequence(f)); Assert.assertNotNull(clone.getChemSequence(g)); Assert.assertNotSame(file.getChemSequence(f), clone.getChemSequence(g)); } } } }