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 aIAtomContainerorIChemModelfrom an MDL molfile, and aIChemFilefrom a SD file, with aIChemSequenceofIChemModel'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 booleanaccepts(Class<? extends IChemObject> classObject)Returns whether the givenIChemObjectcan be read or written.voidclose()Closes this IChemObjectIO's resources.voidcustomizeJob()IResourceFormatgetFormat()Returns theIResourceFormatclass for this IO class.<T extends IChemObject>
Tread(T object)Takes an object which subclasses IChemObject, e.g.voidsetReader(InputStream input)Sets the InputStream from which this ChemObjectReader should read the contents.voidsetReader(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:IChemObjectIOReturns theIResourceFormatclass for this IO class.
-
setReader
public void setReader(Reader input) throws CDKException
Description copied from interface:IChemObjectReaderSets the Reader from which this ChemObjectReader should read the contents.- Throws:
CDKException
-
setReader
public void setReader(InputStream input) throws CDKException
Description copied from interface:IChemObjectReaderSets the InputStream from which this ChemObjectReader should read the contents.- Throws:
CDKException
-
accepts
public boolean accepts(Class<? extends IChemObject> classObject)
Description copied from interface:IChemObjectIOReturns whether the givenIChemObjectcan be read or written.- Parameters:
classObject-IChemObjectof which is tested if it can be handled.- Returns:
- true, if the
IChemObjectcan 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 IOExceptionDescription copied from interface:IChemObjectIOCloses this IChemObjectIO's resources.- Throws:
IOException- when the wrapper IO class cannot be closed.
-
customizeJob
public void customizeJob()
-
-