if (input instanceof GZIPInputStream) { format = formatFactory.guessFormat(input); reader = createReader(format); if (reader != null) { try { reader = createReader(format); if (reader != null) { try {
if (input instanceof GZIPInputStream) { format = formatFactory.guessFormat(input); reader = createReader(format); if (reader != null) { try { reader = createReader(format); if (reader != null) { try {
@Test public void testSmiles() throws Exception { InputStream is = this.getClass().getClassLoader().getResourceAsStream("data/smiles/drugs.smi"); Object reader = factory.createReader(is); Assert.assertNull(reader); }
/** * Detects the format of the Reader input, and if known, it will return * a CDK Reader to read the format. This method is not able to detect the * format of gziped files. Use createReader(InputStream) instead for such * files. * * @see #createReader(InputStream) */ public ISimpleChemObjectReader createReader(Reader input) throws IOException { if (!(input instanceof BufferedReader)) { input = new BufferedReader(input); } IChemFormat chemFormat = formatFactory.guessFormat((BufferedReader) input); ISimpleChemObjectReader coReader = createReader(chemFormat); try { coReader.setReader(input); } catch (Exception exception) { logger.error("Could not set the Reader source: ", exception.getMessage()); logger.debug(exception); } return coReader; }
/** * Detects the format of the Reader input, and if known, it will return * a CDK Reader to read the format. This method is not able to detect the * format of gziped files. Use createReader(InputStream) instead for such * files. * * @see #createReader(InputStream) */ public ISimpleChemObjectReader createReader(Reader input) throws IOException { if (!(input instanceof BufferedReader)) { input = new BufferedReader(input); } IChemFormat chemFormat = formatFactory.guessFormat((BufferedReader) input); ISimpleChemObjectReader coReader = createReader(chemFormat); try { coReader.setReader(input); } catch (Exception exception) { logger.error("Could not set the Reader source: ", exception.getMessage()); logger.debug(exception); } return coReader; }
/** * Creates from a PDB File a BioPolymer. */ private void readBioPolymer(String biopolymerFile) { try { // Read PDB file FileReader fileReader = new FileReader(biopolymerFile); ISimpleChemObjectReader reader = new ReaderFactory().createReader(fileReader); IChemFile chemFile = (IChemFile) reader.read((IChemObject) new ChemFile()); // Get molecule from ChemFile IChemSequence chemSequence = chemFile.getChemSequence(0); IChemModel chemModel = chemSequence.getChemModel(0); IAtomContainerSet setOfMolecules = chemModel.getMoleculeSet(); protein = (IBioPolymer) setOfMolecules.getAtomContainer(0); } catch (IOException | CDKException exc) { logger.error("Could not read BioPolymer from file>" + biopolymerFile + " due to: " + exc.getMessage()); logger.debug(exc); } }
.createReader(new ByteArrayInputStream(s.getBytes()));
break; default: reader = readerFactory.createReader(new FileReader(inputFile)); emptyChemFile = builder.newInstance(IChemFile.class); chemFile = reader.read(emptyChemFile);
@Test public void testReadGz() throws Exception { String filename = "data/xyz/bf3.xyz.gz"; InputStream input = new BufferedInputStream(new GZIPInputStream(this.getClass().getClassLoader() .getResourceAsStream(filename))); // ok, if format ok, try instantiating a reader ISimpleChemObjectReader reader = factory.createReader(input); Assert.assertNotNull(reader); Assert.assertEquals(((IChemFormat) XYZFormat.getInstance()).getReaderClassName(), reader.getClass().getName()); // now try reading something from it IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); IAtomContainer molecule = new AtomContainer(); for (IAtomContainer container : ChemFileManipulator.getAllAtomContainers(chemFile)) { molecule.add(container); } Assert.assertNotNull(molecule); Assert.assertEquals(4, molecule.getAtomCount()); }
@Test public void testReadGzWithGzipDetection() throws Exception { String filename = "data/xyz/bf3.xyz.gz"; InputStream input = this.getClass().getClassLoader().getResourceAsStream(filename); // ok, if format ok, try instantiating a reader ISimpleChemObjectReader reader = factory.createReader(input); Assert.assertNotNull(reader); Assert.assertEquals(((IChemFormat) XYZFormat.getInstance()).getReaderClassName(), reader.getClass().getName()); // now try reading something from it IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); IAtomContainer molecule = new AtomContainer(); for (IAtomContainer container : ChemFileManipulator.getAllAtomContainers(chemFile)) { molecule.add(container); } Assert.assertNotNull(molecule); Assert.assertEquals(4, molecule.getAtomCount()); }
/** * @cdk.bug 2153298 */ @Test public void testBug2153298() throws Exception { String filename = "data/asn/pubchem/cid1145.xml"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); Assert.assertNotNull("Cannot find file: " + filename, ins); IChemFormatMatcher realFormat = (IChemFormatMatcher) PubChemCompoundXMLFormat.getInstance(); factory.registerFormat(realFormat); // ok, if format ok, try instantiating a reader ins = this.getClass().getClassLoader().getResourceAsStream(filename); ISimpleChemObjectReader reader = factory.createReader(ins); Assert.assertNotNull(reader); Assert.assertEquals(((IChemFormat) PubChemCompoundXMLFormat.getInstance()).getReaderClassName(), reader .getClass().getName()); // now try reading something from it IAtomContainer molecule = (IAtomContainer) reader.read(new AtomContainer()); Assert.assertNotNull(molecule); Assert.assertNotSame(0, molecule.getAtomCount()); Assert.assertNotSame(0, molecule.getBondCount()); }
void expectReader(String filename, IResourceFormat expectedFormat, int expectedAtomCount, int expectedBondCount) throws Exception { InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); Assert.assertNotNull("Cannot find file: " + filename, ins); if (expectedFormat instanceof IChemFormatMatcher) { factory.registerFormat((IChemFormatMatcher) expectedFormat); } ISimpleChemObjectReader reader = factory.createReader(ins); Assert.assertNotNull(reader); Assert.assertEquals(((IChemFormat) expectedFormat).getReaderClassName(), reader.getClass().getName()); // now try reading something from it IChemObject[] objects = {new ChemFile(), new ChemModel(), new AtomContainer(), new Reaction()}; boolean read = false; for (int i = 0; (i < objects.length && !read); i++) { if (reader.accepts(objects[i].getClass())) { IChemObject chemObject = reader.read(objects[i]); Assert.assertNotNull("Reader accepted a " + objects[i].getClass().getName() + " but failed to read it", chemObject); assertAtomCount(expectedAtomCount, chemObject); assertBondCount(expectedBondCount, chemObject); read = true; } } if (read) { // ok, reseting worked } else { Assert.fail("Reading an IChemObject from the Reader did not work properly."); } }
@Test public void testCreateReader_IChemFormat() { IChemFormat format = (IChemFormat) XYZFormat.getInstance(); ISimpleChemObjectReader reader = factory.createReader(format); Assert.assertNotNull(reader); Assert.assertEquals(format.getFormatName(), reader.getFormat().getFormatName()); }
try { content = (String) transfer.getTransferData(DataFlavor.stringFlavor); reader = new ReaderFactory().createReader(new StringReader(content));