public class IteratingMDLReader extends DefaultIteratingChemObjectReader<IAtomContainer> implements IChemObjectIOListener
MDLV2000Reader
or
MDLV3000Reader
reader; it does not work
for SDF files with MDL formats prior to the V2000 format.
Example use:
File sdfFile = new File("../zinc-structures/ZINC_subset3_3D_charged_wH_maxmin1000.sdf"); IteratingMDLReader reader = new IteratingMDLReader( new FileInputStream(sdfFile), DefaultChemObjectBuilder.getInstance() ); while (reader.hasNext()) { IMolecule molecule = (IMolecule)reader.next(); }
MDLV2000Reader
,
MDLV3000Reader
IChemObjectReader.Mode
Constructor and Description |
---|
IteratingMDLReader(InputStream in,
IChemObjectBuilder builder)
Constructs a new IteratingMDLReader that can read Molecule from a given InputStream.
|
IteratingMDLReader(InputStream in,
IChemObjectBuilder builder,
boolean skip)
Constructs a new IteratingMDLReader that can read Molecule from a given a
InputStream.
|
IteratingMDLReader(Reader in,
IChemObjectBuilder builder)
Constructs a new IteratingMDLReader that can read Molecule from a given Reader.
|
IteratingMDLReader(Reader in,
IChemObjectBuilder builder,
boolean skip)
Constructs a new IteratingMDLReader that can read Molecule from a given a
Reader.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this IChemObjectIO's resources.
|
void |
customizeJob() |
IResourceFormat |
getFormat()
Returns the
IResourceFormat class for this IO class. |
IOSetting[] |
getIOSettings()
Returns an array of
IOSetting s defined by this IChemObjectIO class. |
boolean |
hasNext()
Returns true if another IMolecule can be read.
|
IAtomContainer |
next()
Returns the next IMolecule.
|
void |
processIOSettingQuestion(IOSetting setting)
Prompted when the IO filter needs information to process the
file.
|
void |
remove()
File IO generally does not support removing of entries.
|
void |
setReader(InputStream reader)
Sets the InputStream from which this ChemObjectReader should read
the contents.
|
void |
setReader(Reader reader)
Sets the Reader from which this ChemObjectReader should read
the contents.
|
void |
setSkip(boolean skip)
Indicate whether the reader should skip over SDF records
that cause problems.
|
accepts, addChemObjectIOListener, handleError, handleError, handleError, handleError, removeChemObjectIOListener, setErrorHandler, setReaderMode
public IteratingMDLReader(Reader in, IChemObjectBuilder builder)
in
- The Reader to read frombuilder
- The builderpublic IteratingMDLReader(InputStream in, IChemObjectBuilder builder)
in
- The InputStream to read frombuilder
- The builderpublic IteratingMDLReader(InputStream in, IChemObjectBuilder builder, boolean skip)
in
- the InputStream
to read frombuilder
- builder to useskip
- whether to skip null moleculespublic IteratingMDLReader(Reader in, IChemObjectBuilder builder, boolean skip)
in
- the Reader
to read frombuilder
- builder to useskip
- whether to skip null molecules@TestMethod(value="testGetFormat") public IResourceFormat getFormat()
IChemObjectIO
IResourceFormat
class for this IO class.getFormat
in interface IChemObjectIO
public boolean hasNext()
hasNext
in interface Iterator<IAtomContainer>
public void setSkip(boolean skip)
skip
- ignore error molecules continue readingpublic IAtomContainer next()
next
in interface Iterator<IAtomContainer>
@TestMethod(value="testClose") public void close() throws IOException
IChemObjectIO
close
in interface IChemObjectIO
IOException
public void remove()
DefaultIteratingChemObjectReader
remove
in interface Iterator<IAtomContainer>
remove
in class DefaultIteratingChemObjectReader<IAtomContainer>
@TestMethod(value="testSetReader_Reader") public void setReader(Reader reader)
IChemObjectReader
setReader
in interface IChemObjectReader
@TestMethod(value="testSetReader_InputStream") public void setReader(InputStream reader)
IChemObjectReader
setReader
in interface IChemObjectReader
public void customizeJob()
public IOSetting[] getIOSettings()
IChemObjectIO
IOSetting
s defined by this IChemObjectIO class.getIOSettings
in interface IChemObjectIO
getIOSettings
in class DefaultIteratingChemObjectReader<IAtomContainer>
IOSetting
s for this class.public void processIOSettingQuestion(IOSetting setting)
IChemObjectIOListener
processIOSettingQuestion
in interface IChemObjectIOListener