org.jmol.adapter.smarter
Class AtomSetCollectionReader

java.lang.Object
  extended by org.jmol.adapter.smarter.AtomSetCollectionReader
Direct Known Subclasses:
AdfReader, AimsReader, AlchemyReader, CastepReader, CifReader, CubeReader, FFReader, FoldingXyzReader, GaussianWfnReader, GhemicalMMReader, GromacsReader, HinReader, JmeReader, MdCrdReader, MolReader, MopacDataReader, MopacReader, MOReader, OdysseyXMLReader, PdbReader, ShelxReader, SpartanInputReader, SpartanReader, V3000Reader, Wien2kReader, XmlReader, XyzReader

public abstract class AtomSetCollectionReader
extends java.lang.Object


Field Summary
static float ANGSTROMS_PER_BOHR
           
protected  boolean applySymmetryToBonds
           
protected  AtomSetCollection atomSetCollection
           
protected  java.util.BitSet bsFilter
           
protected  java.util.BitSet bsModels
           
 java.lang.String calculationType
           
private  int desiredModelNumber
           
private  int desiredSpaceGroupIndex
           
protected  boolean doApplySymmetry
           
private  boolean doConvertToFractional
           
private  boolean doPackUnitCell
           
private  boolean fileCoordinatesAreFractional
           
protected  java.lang.String filter
           
private  int[] firstLastStep
           
protected  boolean getHeader
           
protected  boolean haveAtomFilter
           
private  boolean haveModel
           
protected  boolean havePartialChargeFilter
           
 java.util.Hashtable htParams
           
private  boolean ignoreFileSpaceGroupName
           
protected  boolean ignoreFileSymmetryOperators
           
protected  boolean ignoreFileUnitCell
           
private  boolean iHaveFractionalCoordinates
           
 boolean iHaveSymmetryOperators
           
 boolean iHaveUnitCell
           
protected  boolean isTrajectory
           
private  int lastModelNumber
           
 int[] latticeCells
           
 java.lang.String line
           
private  javax.vecmath.Matrix3f matrixRotate
           
protected  int modelNumber
           
protected  boolean needToApplySymmetry
           
protected  int[] next
           
private  int nMatrixElements
           
private  float[] notionalUnitCell
           
private  java.lang.String previousScript
           
 java.lang.String prevline
           
private  long ptLine
           
protected  java.io.BufferedReader reader
           
protected  java.lang.String readerName
           
protected  java.lang.String spaceGroup
           
private  SymmetryInterface symmetry
           
private  float symmetryRange
           
protected  int templateAtomCount
           
 
Constructor Summary
AtomSetCollectionReader()
           
 
Method Summary
protected  void addJmolScript(java.lang.String script)
           
 void addPrimitiveLatticeVector(int i, float[] xyz)
           
protected  void addSites(java.util.Hashtable htSites)
           
 void applySymmetryAndSetTrajectory()
           
 void checkLineForScript()
           
protected  void checkLineForScript(java.lang.String line)
           
private  boolean checkUnitCell(int n)
           
 void clearLatticeParameters()
           
protected static java.lang.String deducePdbElementSymbol(boolean isHetero, java.lang.String XX, java.lang.String group3)
           
protected  void discardLines(int nLines)
           
protected  void discardLinesUntilBlank()
           
protected  java.lang.String discardLinesUntilContains(java.lang.String containsMatch)
           
protected  java.lang.String discardLinesUntilNonBlank()
           
protected  java.lang.String discardLinesUntilStartsWith(java.lang.String startsWith)
           
protected  boolean doGetModel(int modelNumber)
           
protected  void fillDataBlock(java.lang.String[][] data)
           
protected  boolean filterAtom(Atom atom)
           
protected  boolean filterAtom(Atom atom, int iAtom)
          filter can contain [XXX] or ![XXX], .XXX; or !.XXX;, :X, !:X
private  java.lang.Object finalize(java.util.Hashtable htParams, java.lang.String filename)
           
static java.lang.String getElementSymbol(int elementNumber)
           
protected static java.lang.String[] getStrings(java.lang.String sinfo, int nFields, int width)
           
protected  java.lang.String[] getTokens()
           
static java.lang.String[] getTokens(java.lang.String s)
           
protected static java.lang.String[] getTokens(java.lang.String s, int iStart)
           
protected static void getTokensFloat(java.lang.String s, float[] f, int n)
           
(package private)  void initialize(java.util.Hashtable htParams)
           
private  void initializeCartesianToFractional()
           
private  void initializeSymmetry()
           
protected  boolean isLastModel(int modelNumber)
           
protected  void newAtomSet(java.lang.String name)
           
private  SymmetryInterface newSymmetry()
           
protected  float parseFloat()
           
 float parseFloat(java.lang.String s)
           
protected  float parseFloat(java.lang.String s, int iStart, int iEnd)
           
protected  int parseInt()
           
 int parseInt(java.lang.String s)
           
protected  int parseInt(java.lang.String s, int iStart)
           
protected  int parseInt(java.lang.String s, int iStart, int iEnd)
           
protected  java.lang.String parseToken()
           
protected  java.lang.String parseToken(java.lang.String s)
           
protected  java.lang.String parseToken(java.lang.String s, int iStart, int iEnd)
           
protected  java.lang.String parseTokenNext(java.lang.String s)
           
protected static java.lang.String parseTrimmed(java.lang.String s, int iStart)
           
protected static java.lang.String parseTrimmed(java.lang.String s, int iStart, int iEnd)
           
abstract  void readAtomSetCollection(java.io.BufferedReader reader)
           
 void readAtomSetCollectionFromDOM(java.lang.Object DOMNode)
           
 java.lang.Object readData(java.lang.String filename, java.util.Hashtable htParams, java.io.BufferedReader reader)
           
protected  java.lang.Object readData(java.lang.String filename, java.util.Hashtable htParams, java.lang.Object DOMNode)
           
 java.lang.String readLine()
           
protected  java.lang.String readLineTrimmed()
           
 void setAtomCoord(Atom atom)
           
 void setAtomCoord(Atom atom, float x, float y, float z)
           
protected  void setError(java.lang.Exception e)
           
 void setFractionalCoordinates(boolean TF)
           
 void setMOData(java.util.Hashtable moData)
           
 void setSpaceGroupName(java.lang.String name)
           
 void setSymmetryOperator(java.lang.String xyz)
           
 void setTransform(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3)
           
protected  void setUnitCell(float a, float b, float c, float alpha, float beta, float gamma)
           
 void setUnitCellItem(int i, float x)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANGSTROMS_PER_BOHR

public static final float ANGSTROMS_PER_BOHR
See Also:
Constant Field Values

atomSetCollection

protected AtomSetCollection atomSetCollection

reader

protected java.io.BufferedReader reader

readerName

protected java.lang.String readerName

htParams

public java.util.Hashtable htParams

line

public java.lang.String line

prevline

public java.lang.String prevline

next

protected int[] next

ptLine

private long ptLine

latticeCells

public int[] latticeCells

iHaveUnitCell

public boolean iHaveUnitCell

iHaveSymmetryOperators

public boolean iHaveSymmetryOperators

doApplySymmetry

protected boolean doApplySymmetry

ignoreFileSymmetryOperators

protected boolean ignoreFileSymmetryOperators

isTrajectory

protected boolean isTrajectory

applySymmetryToBonds

protected boolean applySymmetryToBonds

needToApplySymmetry

protected boolean needToApplySymmetry

getHeader

protected boolean getHeader

templateAtomCount

protected int templateAtomCount

modelNumber

protected int modelNumber

bsModels

protected java.util.BitSet bsModels

bsFilter

protected java.util.BitSet bsFilter

filter

protected java.lang.String filter

haveAtomFilter

protected boolean haveAtomFilter

spaceGroup

protected java.lang.String spaceGroup

havePartialChargeFilter

protected boolean havePartialChargeFilter

calculationType

public java.lang.String calculationType

iHaveFractionalCoordinates

private boolean iHaveFractionalCoordinates

doPackUnitCell

private boolean doPackUnitCell

doConvertToFractional

private boolean doConvertToFractional

fileCoordinatesAreFractional

private boolean fileCoordinatesAreFractional

ignoreFileUnitCell

protected boolean ignoreFileUnitCell

ignoreFileSpaceGroupName

private boolean ignoreFileSpaceGroupName

symmetryRange

private float symmetryRange

notionalUnitCell

private float[] notionalUnitCell

firstLastStep

private int[] firstLastStep

desiredModelNumber

private int desiredModelNumber

lastModelNumber

private int lastModelNumber

desiredSpaceGroupIndex

private int desiredSpaceGroupIndex

symmetry

private SymmetryInterface symmetry

haveModel

private boolean haveModel

nMatrixElements

private int nMatrixElements

matrixRotate

private javax.vecmath.Matrix3f matrixRotate

previousScript

private java.lang.String previousScript
Constructor Detail

AtomSetCollectionReader

public AtomSetCollectionReader()
Method Detail

readData

public java.lang.Object readData(java.lang.String filename,
                                 java.util.Hashtable htParams,
                                 java.io.BufferedReader reader)
                          throws java.lang.Exception
Throws:
java.lang.Exception

readData

protected java.lang.Object readData(java.lang.String filename,
                                    java.util.Hashtable htParams,
                                    java.lang.Object DOMNode)

readAtomSetCollection

public abstract void readAtomSetCollection(java.io.BufferedReader reader)

readAtomSetCollectionFromDOM

public void readAtomSetCollectionFromDOM(java.lang.Object DOMNode)

finalize

private java.lang.Object finalize(java.util.Hashtable htParams,
                                  java.lang.String filename)

setError

protected void setError(java.lang.Exception e)

initialize

void initialize(java.util.Hashtable htParams)

doGetModel

protected boolean doGetModel(int modelNumber)

isLastModel

protected boolean isLastModel(int modelNumber)

initializeSymmetry

private void initializeSymmetry()

newAtomSet

protected void newAtomSet(java.lang.String name)

setSpaceGroupName

public void setSpaceGroupName(java.lang.String name)

setSymmetryOperator

public void setSymmetryOperator(java.lang.String xyz)

initializeCartesianToFractional

private void initializeCartesianToFractional()

clearLatticeParameters

public void clearLatticeParameters()

setUnitCellItem

public void setUnitCellItem(int i,
                            float x)

setUnitCell

protected void setUnitCell(float a,
                           float b,
                           float c,
                           float alpha,
                           float beta,
                           float gamma)

addPrimitiveLatticeVector

public void addPrimitiveLatticeVector(int i,
                                      float[] xyz)

checkUnitCell

private boolean checkUnitCell(int n)

newSymmetry

private SymmetryInterface newSymmetry()

setFractionalCoordinates

public void setFractionalCoordinates(boolean TF)

filterAtom

protected boolean filterAtom(Atom atom)

filterAtom

protected boolean filterAtom(Atom atom,
                             int iAtom)
filter can contain [XXX] or ![XXX], .XXX; or !.XXX;, :X, !:X

Parameters:
atom -
iAtom -
Returns:
true if we want this atom

setAtomCoord

public void setAtomCoord(Atom atom,
                         float x,
                         float y,
                         float z)

setAtomCoord

public void setAtomCoord(Atom atom)

addSites

protected void addSites(java.util.Hashtable htSites)

applySymmetryAndSetTrajectory

public void applySymmetryAndSetTrajectory()
                                   throws java.lang.Exception
Throws:
java.lang.Exception

setMOData

public void setMOData(java.util.Hashtable moData)

setTransform

public void setTransform(float x1,
                         float y1,
                         float z1,
                         float x2,
                         float y2,
                         float z2,
                         float x3,
                         float y3,
                         float z3)

getElementSymbol

public static java.lang.String getElementSymbol(int elementNumber)

deducePdbElementSymbol

protected static java.lang.String deducePdbElementSymbol(boolean isHetero,
                                                         java.lang.String XX,
                                                         java.lang.String group3)

fillDataBlock

protected void fillDataBlock(java.lang.String[][] data)
                      throws java.lang.Exception
Throws:
java.lang.Exception

discardLines

protected void discardLines(int nLines)
                     throws java.lang.Exception
Throws:
java.lang.Exception

discardLinesUntilStartsWith

protected java.lang.String discardLinesUntilStartsWith(java.lang.String startsWith)
                                                throws java.lang.Exception
Throws:
java.lang.Exception

discardLinesUntilContains

protected java.lang.String discardLinesUntilContains(java.lang.String containsMatch)
                                              throws java.lang.Exception
Throws:
java.lang.Exception

discardLinesUntilBlank

protected void discardLinesUntilBlank()
                               throws java.lang.Exception
Throws:
java.lang.Exception

discardLinesUntilNonBlank

protected java.lang.String discardLinesUntilNonBlank()
                                              throws java.lang.Exception
Throws:
java.lang.Exception

checkLineForScript

protected void checkLineForScript(java.lang.String line)

checkLineForScript

public void checkLineForScript()

addJmolScript

protected void addJmolScript(java.lang.String script)

readLine

public java.lang.String readLine()
                          throws java.lang.Exception
Throws:
java.lang.Exception

readLineTrimmed

protected java.lang.String readLineTrimmed()
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getStrings

protected static final java.lang.String[] getStrings(java.lang.String sinfo,
                                                     int nFields,
                                                     int width)

getTokens

protected java.lang.String[] getTokens()

getTokensFloat

protected static void getTokensFloat(java.lang.String s,
                                     float[] f,
                                     int n)

getTokens

public static java.lang.String[] getTokens(java.lang.String s)

getTokens

protected static java.lang.String[] getTokens(java.lang.String s,
                                              int iStart)

parseFloat

protected float parseFloat()

parseFloat

public float parseFloat(java.lang.String s)

parseFloat

protected float parseFloat(java.lang.String s,
                           int iStart,
                           int iEnd)

parseInt

protected int parseInt()

parseInt

public int parseInt(java.lang.String s)

parseInt

protected int parseInt(java.lang.String s,
                       int iStart)

parseInt

protected int parseInt(java.lang.String s,
                       int iStart,
                       int iEnd)

parseToken

protected java.lang.String parseToken()

parseToken

protected java.lang.String parseToken(java.lang.String s)

parseTokenNext

protected java.lang.String parseTokenNext(java.lang.String s)

parseToken

protected java.lang.String parseToken(java.lang.String s,
                                      int iStart,
                                      int iEnd)

parseTrimmed

protected static java.lang.String parseTrimmed(java.lang.String s,
                                               int iStart)

parseTrimmed

protected static java.lang.String parseTrimmed(java.lang.String s,
                                               int iStart,
                                               int iEnd)