use of org.openscience.cdk.io.IChemObjectReaderErrorHandler in project ambit-mirror by ideaconsult.
the class I5ParserTest method testi5z.
@Test
public void testi5z() throws Exception {
URL url = getClass().getClassLoader().getResource("ambit2/core/data/i5z/RefSub_030913110311.i5z");
IIteratingChemObjectReader ireader = FileInputState.getReader(new File(url.getFile()));
ireader.setErrorHandler(new IChemObjectReaderErrorHandler() {
@Override
public void handleError(String message, int row, int colStart, int colEnd, Exception exception) {
}
@Override
public void handleError(String message, int row, int colStart, int colEnd) {
}
@Override
public void handleError(String message, Exception exception) {
exception.printStackTrace();
}
@Override
public void handleError(String message) {
}
});
int count = 0;
int foundCas = 0;
int foundName = 0;
RawIteratingFolderReader reader = (RawIteratingFolderReader) ireader;
while (reader.hasNext()) {
IStructureRecord record = reader.nextRecord();
/*
for (Property p : record.getProperties())
System.out.println(String.format("%s [%s] = %s",p.getName(),p.getReference().getTitle(),record.getProperty(p)));
System.out.println();
*/
count++;
for (Property p : record.getRecordProperties()) {
foundCas += record.getRecordProperty(p).equals("59-87-0") ? 1 : 0;
foundName += record.getRecordProperty(p).equals("5-nitro-2-furaldehyde semicarbazone") ? 1 : 0;
System.out.println(p.getName() + " = " + record.getRecordProperty(p));
}
// Assert.assertNotNull(record.getSmiles());
// Assert.assertNotNull(record.getInchi());
// Assert.assertNotNull(record.getProperty(Property.getI5UUIDInstance()));
}
reader.close();
Assert.assertEquals(10, count);
Assert.assertEquals(1, foundCas);
Assert.assertEquals(1, foundName);
}
use of org.openscience.cdk.io.IChemObjectReaderErrorHandler in project ambit-mirror by ideaconsult.
the class DataSet method getReader.
public static IIteratingChemObjectReader<IAtomContainer> getReader(InputStream in, String extension) throws CDKException, AmbitIOException {
FileInputState instate = new FileInputState();
IIteratingChemObjectReader<IAtomContainer> reader;
if (extension.endsWith(FileInputState._FILE_TYPE.SDF_INDEX.getExtension())) {
reader = new InteractiveIteratingMDLReader(in, SilentChemObjectBuilder.getInstance());
((InteractiveIteratingMDLReader) reader).setSkip(true);
} else
reader = instate.getReader(in, extension);
reader.setReaderMode(Mode.RELAXED);
reader.setErrorHandler(new IChemObjectReaderErrorHandler() {
@Override
public void handleError(String message, int row, int colStart, int colEnd, Exception exception) {
exception.printStackTrace();
}
@Override
public void handleError(String message, int row, int colStart, int colEnd) {
System.out.println(message);
}
@Override
public void handleError(String message, Exception exception) {
exception.printStackTrace();
}
@Override
public void handleError(String message) {
System.out.println(message);
}
});
return reader;
}
use of org.openscience.cdk.io.IChemObjectReaderErrorHandler in project ambit-mirror by ideaconsult.
the class SLNCli method getReader.
public IIteratingChemObjectReader<IAtomContainer> getReader(InputStream in, String extension) throws CDKException, AmbitIOException {
FileInputState instate = new FileInputState();
IIteratingChemObjectReader<IAtomContainer> reader;
if (extension.endsWith(FileInputState._FILE_TYPE.SDF_INDEX.getExtension())) {
reader = new InteractiveIteratingMDLReader(in, SilentChemObjectBuilder.getInstance());
((InteractiveIteratingMDLReader) reader).setSkip(true);
} else
reader = instate.getReader(in, extension);
reader.setReaderMode(Mode.RELAXED);
reader.setErrorHandler(new IChemObjectReaderErrorHandler() {
@Override
public void handleError(String message, int row, int colStart, int colEnd, Exception exception) {
exception.printStackTrace();
}
@Override
public void handleError(String message, int row, int colStart, int colEnd) {
System.out.println(message);
}
@Override
public void handleError(String message, Exception exception) {
exception.printStackTrace();
}
@Override
public void handleError(String message) {
System.out.println(message);
}
});
return reader;
}
use of org.openscience.cdk.io.IChemObjectReaderErrorHandler in project ambit-mirror by ideaconsult.
the class CallableSubstanceI5Query method getReader.
private IZReader getReader(File i5z) throws Exception {
IChemObjectReaderErrorHandler errhandler = new IChemObjectReaderErrorHandler() {
@Override
public void handleError(String message, int row, int colStart, int colEnd, Exception exception) {
localLogger.log(Level.WARNING, String.format("%s [row %d colStart %d colEnd %d] %s", message, row, colStart, colEnd, exception.getMessage()));
}
@Override
public void handleError(String message, int row, int colStart, int colEnd) {
localLogger.log(Level.WARNING, String.format("%s [row %d colStart %d colEnd %d]", message, row, colStart, colEnd));
}
@Override
public void handleError(String message, Exception exception) {
localLogger.log(Level.WARNING, exception.getMessage());
}
@Override
public void handleError(String message) {
localLogger.log(Level.WARNING, message);
}
};
IZReader reader = iuclidversion.getReader(i5z, errhandler);
reader.setErrorHandler(errhandler);
return reader;
}
use of org.openscience.cdk.io.IChemObjectReaderErrorHandler in project ambit-mirror by ideaconsult.
the class CallableSubstanceImporter method createBatch.
@Override
protected AbstractBatchProcessor createBatch(FileInputState target) throws Exception {
if (target == null)
throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST);
final BatchDBProcessor<String> batch = new BatchDBProcessor<String>() {
/**
*/
private static final long serialVersionUID = 5712170806359764006L;
@Override
public Iterator<String> getIterator(IInputState target) throws AmbitException {
try {
IRawReader<IStructureRecord> reader = null;
File file = ((FileInputState) target).getFile();
String ext = file.getName().toLowerCase();
if (ext.endsWith(FileInputState._FILE_TYPE.I5Z_INDEX.getExtension())) {
if (writer instanceof DBSubstanceWriter)
if (writer instanceof DBSubstanceWriter) {
((DBSubstanceWriter) writer).setSplitRecord(true);
((DBSubstanceWriter) writer).setI5mode(true);
}
reader = new I5ZReader(file);
((I5ZReader) reader).setQASettings(getQASettings());
} else if (ext.endsWith(FileInputState._FILE_TYPE.I6Z_INDEX.getExtension())) {
if (writer instanceof DBSubstanceWriter)
if (writer instanceof DBSubstanceWriter) {
((DBSubstanceWriter) writer).setSplitRecord(true);
((DBSubstanceWriter) writer).setI5mode(true);
}
reader = new I6ZReader(file);
((I6ZReader) reader).setQASettings(getQASettings());
} else if (ext.endsWith(FileInputState._FILE_TYPE.CSV_INDEX.getExtension())) {
if (writer instanceof DBSubstanceWriter)
((DBSubstanceWriter) writer).setSplitRecord(false);
LiteratureEntry reference = new LiteratureEntry(originalname, originalname);
reader = new CSV12SubstanceReader(new CSV12Reader(new FileReader(file), reference, "FCSV-"));
} else if (ext.endsWith(".rdf")) {
if (writer instanceof DBSubstanceWriter) {
((DBSubstanceWriter) writer).setSplitRecord(false);
((DBSubstanceWriter) writer).setImportBundles(true);
}
reader = new NanoWikiRDFReader(new InputStreamReader(new FileInputStream(file), "UTF-8"), null, "RDF/XML");
} else if (ext.endsWith(".ttl")) {
if (writer instanceof DBSubstanceWriter) {
((DBSubstanceWriter) writer).setSplitRecord(false);
((DBSubstanceWriter) writer).setImportBundles(true);
}
reader = new ENanoMapperRDFReader(new InputStreamReader(new FileInputStream(file), "UTF-8"), "ENM3");
} else if (FileInputState._FILE_TYPE.XLSX_INDEX.hasExtension(ext) || FileInputState._FILE_TYPE.XLS_INDEX.hasExtension(ext)) {
if (configFile == null)
throw new AmbitException("XLSX/XLSX file import requires a JSON configuration file");
final StructureRecordValidator validator = new StructureRecordValidator(file.getName(), true, "XLSX");
reader = new GenericExcelParser(new FileInputStream(file), configFile, FileInputState._FILE_TYPE.XLSX_INDEX.hasExtension(ext)) {
public Object next() {
Object record = super.next();
try {
if (record instanceof IStructureRecord)
record = validator.process((IStructureRecord) record);
} catch (Exception x) {
}
return record;
}
};
if (writer instanceof DBSubstanceWriter) {
((DBSubstanceWriter) writer).setSplitRecord(false);
/*
* ((DBSubstanceWriter) writer)
* .setClearComposition(false); ((DBSubstanceWriter)
* writer) .setClearMeasurements(false);
*/
}
} else if (ext.endsWith(".json")) {
if (writer instanceof DBSubstanceWriter)
((DBSubstanceWriter) writer).setSplitRecord(false);
reader = new SubstanceStudyParser(new InputStreamReader(new FileInputStream(file), "UTF-8")) {
protected EffectRecord createEffectRecord(Protocol protocol) {
try {
I5_ROOT_OBJECTS category = I5_ROOT_OBJECTS.valueOf(protocol.getCategory() + "_SECTION");
return category.createEffectRecord();
} catch (Exception x) {
return super.createEffectRecord(protocol);
}
}
};
if (writer instanceof DBSubstanceWriter) {
((DBSubstanceWriter) writer).setClearComposition(false);
((DBSubstanceWriter) writer).setClearMeasurements(false);
}
} else {
throw new AmbitException("Unsupported format " + file);
}
reader.setErrorHandler(new IChemObjectReaderErrorHandler() {
@Override
public void handleError(String message, int row, int colStart, int colEnd, Exception exception) {
}
@Override
public void handleError(String message, int row, int colStart, int colEnd) {
}
@Override
public void handleError(String message, Exception exception) {
}
@Override
public void handleError(String message) {
}
});
return reader;
} catch (AmbitException x) {
throw x;
} catch (Exception x) {
throw new AmbitException(x);
}
}
};
return batch;
}
Aggregations