java.lang.Object
PMRDocumentImpl
org.xmlcml.cmlimpl.CMLDocumentImpl
org.xmlcml.noncml.NonCMLDocumentImpl
org.xmlcml.noncml.MDLMolImpl
- All Implemented Interfaces:
- org.xmlcml.cml.CMLDocument, org.w3c.dom.Document, org.xmlcml.cml.mvc.HasController, MDLMol, org.w3c.dom.Node, NonCMLDocument
- public class MDLMolImpl
- extends NonCMLDocumentImpl
- implements MDLMol
class to read (? and write?) mdl-molfiles as described in
chemical MIME.
NOTE: I have not been able to find any public statement of the
format and am unable to guarantee the correctness of any code
which interprets Mol files.
| Fields inherited from class org.xmlcml.noncml.NonCMLDocumentImpl |
ATOM_FACTORY, atomParent, atomVector, BOND_FACTORY, bondParent, bondVector, bReader, convention, currentLine, DOCUMENT_FACTORY, inputCML, inputCMLMolecule, inputDescription2TypeTable, localDictionary, markLine, MOLECULE_FACTORY, natoms, nbonds, nextLine, nLine, nonCmlDoc, outputCML, outputCMLMolecule, outputDescription2TypeTable, parseFile, selector, SPACE40, SPACE80 |
| Fields inherited from interface org.xmlcml.noncml.NonCMLDocument |
CASTEP, CIF, CML, CMLARRAY, FORMAT, G94, GAMESS, INPUT_DESCRIPTIONS, INPUT_SUFFIXES, INPUT_TYPES, JCAMP, JME, MDLMOL, MIF, MMCIF, MOL2, MOPAC, MOPACIn, OUTPUT_DESCRIPTIONS, OUTPUT_SUFFIXES, OUTPUT_TYPES, PDB, PDBConect, SDF, SMILES, SWISS, TEST, VAMP, XML, XYZ |
| Fields inherited from interface org.w3c.dom.Node |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
| Methods inherited from class org.xmlcml.noncml.NonCMLDocumentImpl |
addDataItem, convertFile, convertList, createAndAddCMLElement, createAndAddMoleculeElement, createCMLDocument, createCMLDocument, createCMLDocument, createCMLElement, createMoleculeElement, getAndCheckVectors, getCurrentLine, getDictionary, getInputDescriptions, getInputSuffixes, getInputTypes, getMoleculeVector, getOutputDescriptions, getOutputSuffixes, getOutputTypes, getSelector, getSuffixFromType, getTypeFromFile, getTypesFromFile, makeDataItem, makeFileStem, outform, parse, peekLine, processLinks, readFortranReal, readNextLine, resetMark, setMark, setOutputCML, setOutputCMLMolecule, setParseFile, setSelector |
| Methods inherited from class org.xmlcml.cmlimpl.CMLDocumentImpl |
addTracer, arrayify, createCMLDocument, deArrayify, debug, debug, dereferenceDescendantLinks, dereferenceLinks, getController, getDictionaryFileName, getDictionaryName, getDictionaryNamespaceURI, getDictionaryPrefix, getMolecule, getMoleculeFactory, getMoleculeList, getMoleculeVector, hasLinkElements, isTrace, readXMLTest, removeTracer, setController, setMoleculeFactory, setTrace, test1, trace |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.xmlcml.cml.CMLDocument |
arrayify, deArrayify, debug, debug, dereferenceLinks, getMolecule, getMoleculeFactory, getMoleculeList, getMoleculeVector, hasLinkElements, parse, readXMLTest, setMoleculeFactory |
| Methods inherited from interface org.w3c.dom.Document |
adoptNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getInputEncoding, getStrictErrorChecking, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, normalizeDocument, renameNode, setDocumentURI, setStrictErrorChecking, setXmlStandalone, setXmlVersion |
| Methods inherited from interface org.w3c.dom.Node |
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData |
D2
public static final java.lang.String D2
- See Also:
- Constant Field Values
D3
public static final java.lang.String D3
- See Also:
- Constant Field Values
DUNK
public static final java.lang.String DUNK
- See Also:
- Constant Field Values
natomlists
int natomlists
chirflag
int chirflag
nprops
int nprops
d2d3
protected java.lang.String d2d3
parsed
boolean parsed
x
double[] x
y
double[] y
z
double[] z
bond
org.xmlcml.cml.CMLBond[] bond
bondend
int[][] bondend
serialTable
java.util.Hashtable serialTable
atomArray
org.xmlcml.cml.CMLAtom[] atomArray
MDLMolImpl
public MDLMolImpl()
MDLMolImpl
public MDLMolImpl(java.io.BufferedReader bReader,
java.lang.String id)
throws java.io.IOException,
org.xmlcml.cml.CMLException
- form a MDLMol object from a local file
MDLMolImpl
public MDLMolImpl(org.xmlcml.cml.CMLMolecule outputCMLMolecule)
- form a MDLMol object from a CML file
parse
public void parse(java.io.BufferedReader bReader)
throws java.io.IOException,
org.xmlcml.cml.CMLException
- Description copied from interface:
NonCMLDocument
- input from a Reader. If the String value is to be input, use a StringReader.
This could be used after a default constructor either immediately
or with some additional customisation and may be used in
the class constructors. Note that parse(URL) is inherited from CMLDocument
- Specified by:
parse in interface NonCMLDocument- Specified by:
parse in class NonCMLDocumentImpl
readHeader
void readHeader()
throws java.io.IOException,
org.xmlcml.cml.CMLException
parseInteger
int parseInteger(java.lang.String s,
int start,
int end)
throws org.xmlcml.cml.CMLException
guess2d3d
private void guess2d3d()
readAtoms
void readAtoms()
throws java.io.IOException,
org.xmlcml.cml.CMLException
readBonds
void readBonds()
throws java.io.IOException,
org.xmlcml.cml.CMLException
readFooter
void readFooter()
throws java.io.IOException,
org.xmlcml.cml.CMLException
readABVals
ABVal[] readABVals(java.lang.String line)
throws org.xmlcml.cml.CMLException
molBondOrder
public static int molBondOrder(java.lang.String cmlCode)
- translates "CML"-MOL codes into MDL numbers
cmlBondOrder
public static java.lang.String cmlBondOrder(int molNumber)
- translates MDL bond orders into JUMBO-MOL orders
molBondStereo
public static int molBondStereo(java.lang.String cmlCode)
- translates JUMBO-MOL codes into MDL numbers
cmlStereoBond
public static java.lang.String cmlStereoBond(int molNumber)
- translates MDL numbers into JUMBO-MOL codes
output
public java.lang.String output(java.io.Writer writer)
throws org.xmlcml.cml.CMLException,
java.io.IOException
- outputs CMLMolecule as an MDLMofile if possible. This is NOT
a faithful representation as I haven't read the spec completely
- Specified by:
output in interface NonCMLDocument- Specified by:
output in class NonCMLDocumentImpl
writeHeader
public java.lang.String writeHeader(java.io.Writer writer)
throws org.xmlcml.cml.CMLException,
java.io.IOException
writeAtoms
public java.lang.String writeAtoms(java.io.Writer writer)
throws org.xmlcml.cml.CMLException,
java.io.IOException
writeBonds
public java.lang.String writeBonds(java.io.Writer writer)
throws org.xmlcml.cml.CMLException,
java.io.IOException
writeFooter
public java.lang.String writeFooter(java.io.Writer writer)
throws org.xmlcml.cml.CMLException,
java.io.IOException
main
public static void main(java.lang.String[] args)