org.jmol.adapter.readers.xtal
Class ShelxReader

java.lang.Object
  extended by org.jmol.adapter.smarter.AtomSetCollectionReader
      extended by org.jmol.adapter.readers.xtal.ShelxReader

public class ShelxReader
extends AtomSetCollectionReader

A reader for SHELX output (RES) files. It does not read all information. The list of fields that is read: TITL, REM, END, CELL, SPGR, SFAC Atom positions and thermal ellipsoids are read.

A reader for SHELX files. It currently supports SHELXL.

The SHELX format is described on the net: http://www.msg.ucsf.edu/local/programs/shelxl/ch_07.html. modified by Bob Hanson 2006/04 to allow variant CrystalMaker .cmdf file reading -- but by 2/2010 looks like these ASCII CrystalMaker files aren't used anymore by CrystalMaker, and instead it uses a binary format. CrystalMaker2.2.3 seems to attempt to read the files, but actually cannot. At least not for the file given at http://www.ch.ic.ac.uk/chemime/


Field Summary
private  boolean isCmdf
           
private  java.lang.String[] sfacElementSymbols
           
private static java.lang.String[] supportedRecordTypes
           
(package private)  java.lang.String[] tokens
           
private static java.lang.String unsupportedRecordTypes
           
 
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addVibrations, ANGSTROMS_PER_BOHR, applySymmetryToBonds, atomSetCollection, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredVibrationNumber, doApplySymmetry, doc, doCheckUnitCell, doPackUnitCell, doProcessLines, filter, filterHetero, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, next, notionalUnitCell, os, prevline, ptLine, reader, readerName, readMolecularOrbitals, spaceGroup, stateScriptVersionInt, supercell, symmetry, templateAtomCount, useAltNames, vibrationNumber, viewer
 
Constructor Summary
ShelxReader()
           
 
Method Summary
private  void assumeAtomRecord()
           
private  void cell()
           
protected  boolean checkLine()
           
private  java.lang.String getSymbol(java.lang.String sym)
           
 void initializeReader()
           
private  void parseLattRecord()
           
private  void parseSfacCoefficients(java.lang.String[] sfacTokens)
           
private  void parseSfacElementSymbols(java.lang.String[] sfacTokens)
           
private  void parseSfacRecord()
           
private  void parseSymmRecord()
           
private  void processCmdfAtoms()
           
private  void processSupportedRecord(int recordIndex)
           
 
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, applySymmetryAndSetTrajectory, checkFilter, checkLastModel, checkLineForScript, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, fillDataBlock, fillDataBlock, fillFloatArray, fillFrequencyData, filterAtom, finalizeReader, getElementSymbol, getFortranFormatLengths, getStrings, getSymmetry, getTokens, getTokens, getTokens, getTokensFloat, initializeSymmetry, isLastModel, newAtomSet, parseFloat, parseFloat, parseFloat, parseInt, parseInt, parseInt, parseInt, parseStringInfestedFloatArray, parseToken, parseToken, parseToken, parseTokenNext, parseTrimmed, parseTrimmed, processBinaryDocument, processXml, read3Vectors, readData, readLine, readLines, set2D, setAtomCoord, setAtomCoord, setFilter, setFractionalCoordinates, setIsPDB, setMOData, setPdb, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sfacElementSymbols

private java.lang.String[] sfacElementSymbols

isCmdf

private boolean isCmdf

tokens

java.lang.String[] tokens

unsupportedRecordTypes

private static final java.lang.String unsupportedRecordTypes
See Also:
Constant Field Values

supportedRecordTypes

private static final java.lang.String[] supportedRecordTypes
Constructor Detail

ShelxReader

public ShelxReader()
Method Detail

initializeReader

public void initializeReader()
Overrides:
initializeReader in class AtomSetCollectionReader

checkLine

protected boolean checkLine()
                     throws java.lang.Exception
Overrides:
checkLine in class AtomSetCollectionReader
Returns:
true if need to read new line
Throws:
java.lang.Exception

processSupportedRecord

private void processSupportedRecord(int recordIndex)
                             throws java.lang.Exception
Throws:
java.lang.Exception

parseLattRecord

private void parseLattRecord()
                      throws java.lang.Exception
Throws:
java.lang.Exception

parseSymmRecord

private void parseSymmRecord()
                      throws java.lang.Exception
Throws:
java.lang.Exception

cell

private void cell()
           throws java.lang.Exception
Throws:
java.lang.Exception

parseSfacRecord

private void parseSfacRecord()

parseSfacElementSymbols

private void parseSfacElementSymbols(java.lang.String[] sfacTokens)

parseSfacCoefficients

private void parseSfacCoefficients(java.lang.String[] sfacTokens)

assumeAtomRecord

private void assumeAtomRecord()
                       throws java.lang.Exception
Throws:
java.lang.Exception

processCmdfAtoms

private void processCmdfAtoms()
                       throws java.lang.Exception
Throws:
java.lang.Exception

getSymbol

private java.lang.String getSymbol(java.lang.String sym)