Package org.openscience.cdk.io
Class MDLV2000Reader
- java.lang.Object
-
- org.openscience.cdk.io.ChemObjectIO
-
- org.openscience.cdk.io.DefaultChemObjectReader
-
- org.openscience.cdk.io.MDLV2000Reader
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,IChemObjectIO
,IChemObjectReader
,ISimpleChemObjectReader
public class MDLV2000Reader extends DefaultChemObjectReader
Reads content from MDL molfiles and SD files. It can read aIAtomContainer
orIChemModel
from an MDL molfile, and aIChemFile
from a SD file, with aIChemSequence
ofIChemModel
's, where each IChemModel will contain oneIAtomContainer
.From the Atom block it reads atomic coordinates, element types and formal charges. From the Bond block it reads the bonds and the orders. Additionally, it reads 'M CHG', 'G ', 'M RAD' and 'M ISO' lines from the property block.
If all z coordinates are 0.0, then the xy coordinates are taken as 2D, otherwise the coordinates are read as 3D.
The title of the MOL file is read and can be retrieved with:
molecule.getProperty(CDKConstants.TITLE);
RGroups which are saved in the MDL molfile as R#, are renamed according to their appearance, e.g. the first R# is named R1. With PseudAtom.getLabel() "R1" is returned (instead of R#). This is introduced due to the SAR table generation procedure of Scitegics PipelinePilot.
- Author:
- steinbeck, Egon Willighagen
- This class is affected by these bug(s):
- 1587283
- Source code:
- main
- IO options:
Name Question Default AddStereo0d Allow stereo created from parity value when no coordinates true AddStereoElements Detect and create IStereoElements for the input. true InterpretHydrogenIsotopes Should D and T be interpreted as hydrogen isotopes? true ForceReadAs3DCoordinates Should coordinates always be read as 3D? false - Belongs to CDK module:
- io
- Keywords:
- file format, MDL molfile, file format, SDF
- Created on:
- 2000-10-02
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.openscience.cdk.io.IChemObjectReader
IChemObjectReader.Mode
-
-
Field Summary
-
Fields inherited from class org.openscience.cdk.io.DefaultChemObjectReader
errorHandler, mode
-
-
Constructor Summary
Constructors Constructor Description MDLV2000Reader()
MDLV2000Reader(InputStream in)
Constructs a new MDLReader that can read Molecule from a given InputStream.MDLV2000Reader(InputStream in, IChemObjectReader.Mode mode)
MDLV2000Reader(Reader in)
Constructs a new MDLReader that can read Molecule from a given Reader.MDLV2000Reader(Reader in, IChemObjectReader.Mode mode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accepts(Class<? extends IChemObject> classObject)
Returns whether the givenIChemObject
can be read or written.void
close()
Closes this IChemObjectIO's resources.void
customizeJob()
IResourceFormat
getFormat()
Returns theIResourceFormat
class for this IO class.<T extends IChemObject>
Tread(T object)
Takes an object which subclasses IChemObject, e.g.void
setReader(InputStream input)
Sets the InputStream from which this ChemObjectReader should read the contents.void
setReader(Reader input)
Sets the Reader from which this ChemObjectReader should read the contents.-
Methods inherited from class org.openscience.cdk.io.DefaultChemObjectReader
fireFrameRead, handleError, handleError, handleError, handleError, setErrorHandler, setReaderMode
-
Methods inherited from class org.openscience.cdk.io.ChemObjectIO
addChemObjectIOListener, addSetting, addSettings, fireIOSettingQuestion, getIOSettings, getListeners, getSetting, getSetting, getSettings, hasSetting, removeChemObjectIOListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openscience.cdk.io.IChemObjectIO
addChemObjectIOListener, addSetting, addSettings, getIOSettings, getListeners, getSetting, getSetting, getSettings, hasSetting, removeChemObjectIOListener
-
-
-
-
Constructor Detail
-
MDLV2000Reader
public MDLV2000Reader()
-
MDLV2000Reader
public MDLV2000Reader(InputStream in)
Constructs a new MDLReader that can read Molecule from a given InputStream.- Parameters:
in
- The InputStream to read from
-
MDLV2000Reader
public MDLV2000Reader(InputStream in, IChemObjectReader.Mode mode)
-
MDLV2000Reader
public MDLV2000Reader(Reader in)
Constructs a new MDLReader that can read Molecule from a given Reader.- Parameters:
in
- The Reader to read from
-
MDLV2000Reader
public MDLV2000Reader(Reader in, IChemObjectReader.Mode mode)
-
-
Method Detail
-
getFormat
public IResourceFormat getFormat()
Description copied from interface:IChemObjectIO
Returns theIResourceFormat
class for this IO class.
-
setReader
public void setReader(Reader input) throws CDKException
Description copied from interface:IChemObjectReader
Sets the Reader from which this ChemObjectReader should read the contents.- Throws:
CDKException
-
setReader
public void setReader(InputStream input) throws CDKException
Description copied from interface:IChemObjectReader
Sets the InputStream from which this ChemObjectReader should read the contents.- Throws:
CDKException
-
accepts
public boolean accepts(Class<? extends IChemObject> classObject)
Description copied from interface:IChemObjectIO
Returns whether the givenIChemObject
can be read or written.- Parameters:
classObject
-IChemObject
of which is tested if it can be handled.- Returns:
- true, if the
IChemObject
can be handled.
-
read
public <T extends IChemObject> T read(T object) throws CDKException
Takes an object which subclasses IChemObject, e.g. Molecule, and will read this (from file, database, internet etc). If the specific implementation does not support a specific IChemObject it will throw an Exception.- Parameters:
object
- The object that subclasses IChemObject- Returns:
- The IChemObject read
- Throws:
CDKException
-
close
public void close() throws IOException
Description copied from interface:IChemObjectIO
Closes this IChemObjectIO's resources.- Throws:
IOException
- when the wrapper IO class cannot be closed.
-
customizeJob
public void customizeJob()
-
-