public class PyMOLReader extends PdbReader implements PymolAtomReader
Modifier and Type | Field and Description |
---|---|
private int |
ac |
private int |
ac0 |
private boolean |
allowSurface |
private boolean |
allStates |
private int[] |
atomMap |
private Atom[] |
atoms |
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 javajs.util.Lst<javajs.util.Lst<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 javajs.util.Lst<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 javajs.util.P3[] |
trajectoryStep |
private java.util.Hashtable<java.lang.Integer,javajs.util.Lst<java.lang.Object>> |
uniqueSettings |
private java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> |
volumeData |
private javajs.util.P3 |
xyzMax |
private javajs.util.P3 |
xyzMin |
biomtChainAtomCounts, fileAtomIndex, isPQR
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, fileName, fileOffset, filePath, fileScaling, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, notionalUnitCell, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, trajectorySteps, useAltNames, validation, vibrationNumber, vibsFractional, vwr
Constructor and Description |
---|
PyMOLReader() |
Modifier and Type | Method and Description |
---|---|
private javajs.util.P3 |
addAtom(javajs.util.Lst<java.lang.Object> pymolAtoms,
int apt,
int icoord,
javajs.util.Lst<java.lang.Object> coords,
javajs.util.Lst<java.lang.Object> labelPositions,
BS bsState,
int iState) |
private void |
addBonds(javajs.util.Lst<Bond> bonds) |
private void |
addColors(javajs.util.Lst<java.lang.Object> colors,
boolean isClamped)
Add new colors from the main "colors" map object.
|
private void |
addMolSS(java.lang.String ssType,
STR type)
Secondary structure definition.
|
private void |
addMolStructures() |
private boolean |
checkObject(javajs.util.Lst<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.
|
private void |
finalizeSceneData()
Make sure atom uniqueID (vectorX) and cartoonType (vectorY) are made
permanent
|
protected void |
finalizeSubclassReader()
optional reader-specific method run first.
|
private static javajs.util.Lst<java.lang.Object> |
fixMovieCommands(javajs.util.Lst<java.lang.Object> cmds)
Could possibly implement something here that interprets PyMOL script commands.
|
private static javajs.util.Lst<java.lang.Object> |
fixMovieViews(javajs.util.Lst<java.lang.Object> views)
Could implement something here that creates a Jmol view.
|
private javajs.util.Lst<java.lang.Object> |
fixSettings(javajs.util.Lst<java.lang.Object> settings)
Recent PyMOL files may not have all settings.
|
private float |
floatAt(javajs.util.Lst<java.lang.Object> a,
int i) |
private void |
getAtomAndStateCount(javajs.util.Lst<java.lang.Object> names)
Look through all named objects for molecules, counting
atoms and also states; see if trajectories are compatible (experimental).
|
private javajs.util.Lst<Bond> |
getBondList(javajs.util.Lst<java.lang.Object> bonds)
Create the bond set.
|
private static BS |
getBsReps(javajs.util.Lst<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 javajs.util.Lst<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(javajs.util.Lst<java.lang.Object> list,
int i) |
private javajs.util.Lst<java.lang.Object> |
listAt(javajs.util.Lst<java.lang.Object> list,
int i) |
private void |
process(java.util.Map<java.lang.String,java.lang.Object> map)
The main processor.
|
void |
processBinaryDocument() |
private void |
processCGO(javajs.util.Lst<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(javajs.util.Lst<java.lang.Object> pymolObject)
Only process _e_pot objects -- which we need for color settings
|
private void |
processMap(javajs.util.Lst<java.lang.Object> pymolObject,
boolean isObject,
boolean isGadget)
Create mapObjects and volumeData; create an ISOSURFACE JmolObject.
|
private void |
processMeasure(javajs.util.Lst<java.lang.Object> pymolObject)
Create a MEASURE JmolObject.
|
private void |
processMeshes()
Create mesh or mep JmolObjects.
|
private void |
processMolCryst(javajs.util.Lst<java.lang.Object> cryst)
Pick up the crystal data.
|
private BS |
processMolecule(javajs.util.Lst<java.lang.Object> pymolObject,
int iState)
Create everything necessary to generate a molecule in Jmol.
|
private void |
processMovie(javajs.util.Lst<java.lang.Object> mov,
int frameCount)
Create a JmolObject that will represent the movie.
|
private void |
processObject(javajs.util.Lst<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(javajs.util.Lst<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(javajs.util.Lst<java.lang.Object> list,
int i) |
checkLine, deduceElementSymbol, filterPDBAtom, finalizeReaderPDB, fixRadius, model, processAtom, processAtom2
addAtomXYZSymName, addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, doPreSymmetry, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, getElementSymbol, getFilter, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processDOM, processDSSR, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, 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 ac0
private int ac
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 javajs.util.P3 xyzMin
private javajs.util.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 javajs.util.P3[] trajectoryStep
private int trajectoryPtr
private java.lang.String objectName
private java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> volumeData
private javajs.util.Lst<javajs.util.Lst<java.lang.Object>> mapObjects
private boolean haveMeasurements
private int[] frames
private java.util.Hashtable<java.lang.Integer,javajs.util.Lst<java.lang.Object>> uniqueSettings
private Atom[] atoms
private boolean haveScenes
private int baseModelIndex
private javajs.util.Lst<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() throws java.lang.Exception
processBinaryDocument
in class AtomSetCollectionReader
java.lang.Exception
protected void setAdditionalAtomParameters(Atom atom)
PdbReader
setAdditionalAtomParameters
in class PdbReader
protected void finalizeSubclassReader() throws java.lang.Exception
AtomSetCollectionReader
finalizeSubclassReader
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 javajs.util.Lst<java.lang.Object> fixSettings(javajs.util.Lst<java.lang.Object> settings)
settings
- private boolean getFrameScenes(java.util.Map<java.lang.String,java.lang.Object> map)
map
- private int setUniqueSettings(javajs.util.Lst<java.lang.Object> list)
list
- private void addColors(javajs.util.Lst<java.lang.Object> colors, boolean isClamped)
colors
- isClamped
- private void getAtomAndStateCount(javajs.util.Lst<java.lang.Object> names)
names
- private boolean checkObject(javajs.util.Lst<java.lang.Object> execObject)
private void processMovie(javajs.util.Lst<java.lang.Object> mov, int frameCount)
mov
- frameCount
- private static javajs.util.Lst<java.lang.Object> fixMovieViews(javajs.util.Lst<java.lang.Object> views)
views
- private static javajs.util.Lst<java.lang.Object> fixMovieCommands(javajs.util.Lst<java.lang.Object> cmds)
cmds
- private void processObject(javajs.util.Lst<java.lang.Object> execObject, boolean moleculeOnly, int iState)
execObject
- moleculeOnly
- iState
- private void processCGO(javajs.util.Lst<java.lang.Object> pymolObject)
pymolObject
- private void processGadget(javajs.util.Lst<java.lang.Object> pymolObject)
pymolObject
- private void processMap(javajs.util.Lst<java.lang.Object> pymolObject, boolean isObject, boolean isGadget)
pymolObject
- isObject
- isGadget
- private void processMeasure(javajs.util.Lst<java.lang.Object> pymolObject)
pymolObject
- private BS processMolecule(javajs.util.Lst<java.lang.Object> pymolObject, int iState)
pymolObject
- iState
- private void processMolCryst(javajs.util.Lst<java.lang.Object> cryst)
cryst
- private javajs.util.Lst<Bond> getBondList(javajs.util.Lst<java.lang.Object> bonds)
bonds
- private javajs.util.P3 addAtom(javajs.util.Lst<java.lang.Object> pymolAtoms, int apt, int icoord, javajs.util.Lst<java.lang.Object> coords, javajs.util.Lst<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 addBonds(javajs.util.Lst<Bond> bonds)
private void addMolStructures()
private void addMolSS(java.lang.String ssType, STR 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(javajs.util.Lst<java.lang.Object> list, int i)
private static java.lang.String stringAt(javajs.util.Lst<java.lang.Object> list, int i)
private static javajs.util.Lst<java.lang.Object> getMapList(java.util.Map<java.lang.String,java.lang.Object> map, java.lang.String key)
private static BS getBsReps(javajs.util.Lst<java.lang.Object> list)
private float floatAt(javajs.util.Lst<java.lang.Object> a, int i)
private javajs.util.Lst<java.lang.Object> listAt(javajs.util.Lst<java.lang.Object> list, 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