public class PyMOLReader extends PdbReader implements PymolAtomReader
Modifier and Type | Field and Description |
---|---|
private boolean |
allowSurface |
private boolean |
allStates |
private int |
atomCount |
private int |
atomCount0 |
private int[] |
atomMap |
private Atom[] |
atoms |
private int |
baseAtomIndex |
private int |
baseModelIndex |
private int |
bondCount |
private BS |
bsBytesExcluded |
private BS |
bsStructureDefined |
private boolean |
doCache |
private boolean |
doResize |
private int[] |
frames |
private boolean |
haveMeasurements |
private boolean |
haveScenes |
private boolean |
isHidden |
private boolean |
isMovie |
private boolean |
isStateScript |
private boolean |
logging |
private JmolList<JmolList<java.lang.Object>> |
mapObjects |
private static int |
MIN_RESNO |
private int |
nModels |
private static java.lang.String |
nucleic |
private java.lang.String |
objectName |
private int |
pymolFrame |
private PyMOLScene |
pymolScene |
private int |
pymolVersion |
private BS[] |
reps |
private JmolList<java.lang.Object> |
sceneOrder |
private boolean |
sourcePNGJ |
private java.util.Map<java.lang.String,BS> |
ssMapSeq |
private int |
stateCount |
private int |
structureCount |
private int |
totalAtomCount |
private int |
trajectoryPtr |
private P3[] |
trajectoryStep |
private java.util.Hashtable<java.lang.Integer,JmolList<java.lang.Object>> |
uniqueSettings |
private java.util.Map<java.lang.String,JmolList<java.lang.Object>> |
volumeData |
private P3 |
xyzMax |
private P3 |
xyzMin |
chainAtomCounts, fileAtomIndex, isPQR
addVibrations, ANGSTROMS_PER_BOHR, applySymmetryToBonds, atomSetCollection, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredVibrationNumber, doApplySymmetry, doc, doCentralize, doCheckUnitCell, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, fileName, fileOffset, filePath, fileScaling, filter, filterAtomTypeStr, filterHetero, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, mustFinalizeModelSet, next, notionalUnitCell, os, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, spaceGroup, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, trajectorySteps, useAltNames, vibrationNumber, viewer
Constructor and Description |
---|
PyMOLReader() |
Modifier and Type | Method and Description |
---|---|
private P3 |
addAtom(JmolList<java.lang.Object> pymolAtoms,
int apt,
int icoord,
JmolList<java.lang.Object> coords,
JmolList<java.lang.Object> labelPositions,
BS bsState,
int iState) |
private void |
addBonds(JmolList<Bond> bonds) |
private void |
addColors(JmolList<java.lang.Object> colors,
boolean isClamped)
Add new colors from the main "colors" map object.
|
private void |
addMolSS(java.lang.String ssType,
EnumStructure type)
Secondary structure definition.
|
private void |
addMolStructures() |
private boolean |
checkObject(JmolList<java.lang.Object> execObject) |
boolean |
compareAtoms(int iPrev,
int i) |
private void |
createShapeObjects()
Create JmolObjects for all the molecular shapes; not executed for a state
script.
|
void |
finalizeModelSet()
At the end of the day, we need to finalize all the JmolObjects, set the
trajectories, and, if filtered with DOCACHE, cache a streamlined binary
file for inclusion in the PNGJ file.
|
protected void |
finalizeReader()
optional reader-specific method run first.
|
private void |
finalizeSceneData()
Make sure atom uniqueID (vectorX) and cartoonType (vectorY) are made
permanent
|
private static JmolList<java.lang.Object> |
fixMovieCommands(JmolList<java.lang.Object> cmds)
Could possibly implement something here that interprets PyMOL script commands.
|
private static JmolList<java.lang.Object> |
fixMovieViews(JmolList<java.lang.Object> views)
Could implement something here that creates a Jmol view.
|
private float |
floatAt(JmolList<java.lang.Object> a,
int i) |
private void |
getAtomAndStateCount(JmolList<java.lang.Object> names)
Look through all named objects for molecules, counting
atoms and also states; see if trajectories are compatible (experimental).
|
private JmolList<Bond> |
getBondList(JmolList<java.lang.Object> bonds)
Create the bond set.
|
private static BS |
getBsReps(JmolList<java.lang.Object> list) |
int |
getCartoonType(int iAtom) |
private boolean |
getFrameScenes(java.util.Map<java.lang.String,java.lang.Object> map)
remove all scenes that do not define a frame.
|
private static JmolList<java.lang.Object> |
getMapList(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String key) |
int |
getSequenceNumber(int iAtom) |
int |
getUniqueID(int iAtom) |
float |
getVDW(int iAtom) |
protected void |
initializeReader() |
private static int |
intAt(JmolList<java.lang.Object> list,
int i) |
private JmolList<java.lang.Object> |
listAt(JmolList<java.lang.Object> list,
int i) |
private void |
process(java.util.Map<java.lang.String,java.lang.Object> map)
The main processor.
|
void |
processBinaryDocument(JmolDocument doc) |
private void |
processCGO(JmolList<java.lang.Object> pymolObject)
Create a CGO JmolObject, just passing on key information.
|
private void |
processDefinitions()
Create a JmolObject that will define atom sets based on PyMOL objects
|
private void |
processGadget(JmolList<java.lang.Object> pymolObject)
Only process _e_pot objects -- which we need for color settings
|
private void |
processMap(JmolList<java.lang.Object> pymolObject,
boolean isObject,
boolean isGadget)
Create mapObjects and volumeData; create an ISOSURFACE JmolObject.
|
private void |
processMeasure(JmolList<java.lang.Object> pymolObject)
Create a MEASURE JmolObject.
|
private void |
processMeshes()
Create mesh or mep JmolObjects.
|
private void |
processMolCryst(JmolList<java.lang.Object> cryst)
Pick up the crystal data.
|
private BS |
processMolecule(JmolList<java.lang.Object> pymolObject,
int iState)
Create everything necessary to generate a molecule in Jmol.
|
private void |
processMovie(JmolList<java.lang.Object> mov,
int frameCount)
Create a JmolObject that will represent the movie.
|
private void |
processObject(JmolList<java.lang.Object> execObject,
boolean moleculeOnly,
int iState)
The main object processor.
|
private void |
processSelectionsAndScenes(java.util.Map<java.lang.String,java.lang.Object> map)
A PyMOL scene consists of one or more of: view frame visibilities, by
object colors, by color reps, by type currently just extracts viewpoint
|
protected void |
setAdditionalAtomParameters(Atom atom)
adaptable via subclassing
|
private int |
setUniqueSettings(JmolList<java.lang.Object> list)
Create uniqueSettings from the "unique_settings" map item.
|
protected void |
setup(java.lang.String fullPath,
java.util.Map<java.lang.String,java.lang.Object> htParams,
java.lang.Object reader) |
private static java.lang.String |
stringAt(JmolList<java.lang.Object> list,
int i) |
checkLine, deduceElementSymbol, filterPDBAtom, finalizeReaderPDB, fixRadius, model, processAtom, processAtom2
addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeReaderASCR, getElementSymbol, getFortranFormatLengths, getStrings, getSymmetry, getTokens, getTokensAt, getTokensFloat, getTokensStr, initializeSymmetry, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseStringInfestedFloatArray, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, parseTrimmedAt, parseTrimmedRange, processDOM, read3Vectors, readDataObject, readLine, readLines, RL, set2D, setAtomCoord, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFractionalCoordinates, setIsPDB, setLoadNote, setPdb, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setupASCR
private static final int MIN_RESNO
private static java.lang.String nucleic
private boolean allowSurface
private boolean doResize
private boolean doCache
private boolean isStateScript
private boolean sourcePNGJ
private int atomCount0
private int atomCount
private int stateCount
private int structureCount
private boolean isHidden
private BS bsStructureDefined
private BS bsBytesExcluded
private int[] atomMap
private java.util.Map<java.lang.String,BS> ssMapSeq
private PyMOLScene pymolScene
private P3 xyzMin
private P3 xyzMax
private int nModels
private boolean logging
private BS[] reps
private boolean isMovie
private int pymolFrame
private boolean allStates
private int totalAtomCount
private int pymolVersion
private P3[] trajectoryStep
private int trajectoryPtr
private java.lang.String objectName
private java.util.Map<java.lang.String,JmolList<java.lang.Object>> volumeData
private boolean haveMeasurements
private int[] frames
private java.util.Hashtable<java.lang.Integer,JmolList<java.lang.Object>> uniqueSettings
private Atom[] atoms
private boolean haveScenes
private int baseAtomIndex
private int baseModelIndex
private JmolList<java.lang.Object> sceneOrder
private int bondCount
protected void setup(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object reader)
setup
in class AtomSetCollectionReader
protected void initializeReader() throws java.lang.Exception
initializeReader
in class PdbReader
java.lang.Exception
public void processBinaryDocument(JmolDocument doc) throws java.lang.Exception
processBinaryDocument
in class AtomSetCollectionReader
java.lang.Exception
protected void setAdditionalAtomParameters(Atom atom)
PdbReader
setAdditionalAtomParameters
in class PdbReader
protected void finalizeReader() throws java.lang.Exception
AtomSetCollectionReader
finalizeReader
in class PdbReader
java.lang.Exception
public void finalizeModelSet()
finalizeModelSet
in class AtomSetCollectionReader
private void process(java.util.Map<java.lang.String,java.lang.Object> map)
map
- private boolean getFrameScenes(java.util.Map<java.lang.String,java.lang.Object> map)
map
- private int setUniqueSettings(JmolList<java.lang.Object> list)
list
- private void addColors(JmolList<java.lang.Object> colors, boolean isClamped)
colors
- isClamped
- private void getAtomAndStateCount(JmolList<java.lang.Object> names)
names
- private boolean checkObject(JmolList<java.lang.Object> execObject)
private void processMovie(JmolList<java.lang.Object> mov, int frameCount)
mov
- frameCount
- private static JmolList<java.lang.Object> fixMovieViews(JmolList<java.lang.Object> views)
views
- private static JmolList<java.lang.Object> fixMovieCommands(JmolList<java.lang.Object> cmds)
cmds
- private void processObject(JmolList<java.lang.Object> execObject, boolean moleculeOnly, int iState)
execObject
- moleculeOnly
- iState
- private void processCGO(JmolList<java.lang.Object> pymolObject)
pymolObject
- private void processGadget(JmolList<java.lang.Object> pymolObject)
pymolObject
- private void processMap(JmolList<java.lang.Object> pymolObject, boolean isObject, boolean isGadget)
pymolObject
- isObject
- isGadget
- private void processMeasure(JmolList<java.lang.Object> pymolObject)
pymolObject
- private BS processMolecule(JmolList<java.lang.Object> pymolObject, int iState)
pymolObject
- iState
- private void processMolCryst(JmolList<java.lang.Object> cryst)
cryst
- private JmolList<Bond> getBondList(JmolList<java.lang.Object> bonds)
bonds
- private P3 addAtom(JmolList<java.lang.Object> pymolAtoms, int apt, int icoord, JmolList<java.lang.Object> coords, JmolList<java.lang.Object> labelPositions, BS bsState, int iState)
pymolAtoms
- list of atom detailsapt
- array pointer into pymolAtomsicoord
- array pointer into coords (/3)coords
- coordinates arraylabelPositions
- bsState
- this state -- Jmol atomIndexiState
- private void addMolStructures()
private void addMolSS(java.lang.String ssType, EnumStructure type)
ssType
- type
- private void createShapeObjects()
private void processMeshes()
private void processDefinitions()
private void processSelectionsAndScenes(java.util.Map<java.lang.String,java.lang.Object> map)
map
- private void finalizeSceneData()
private static int intAt(JmolList<java.lang.Object> list, int i)
private static java.lang.String stringAt(JmolList<java.lang.Object> list, int i)
private static JmolList<java.lang.Object> getMapList(java.util.Map<java.lang.String,java.lang.Object> map, java.lang.String key)
private float floatAt(JmolList<java.lang.Object> a, int i)
public int getUniqueID(int iAtom)
getUniqueID
in interface PymolAtomReader
public int getCartoonType(int iAtom)
getCartoonType
in interface PymolAtomReader
public float getVDW(int iAtom)
getVDW
in interface PymolAtomReader
public int getSequenceNumber(int iAtom)
getSequenceNumber
in interface PymolAtomReader
public boolean compareAtoms(int iPrev, int i)
compareAtoms
in interface PymolAtomReader