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 |
(package private) byte[] |
aTemp |
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 |
haveBinaryArrays |
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<Object>> |
mapObjects |
private static int |
MIN_RESNO |
private int |
nModels |
private static String |
nucleic |
private String |
objectName |
private javajs.util.P3 |
ptTemp |
private int |
pymolFrame |
private PyMOLScene |
pymolScene |
private int |
pymolVersion |
private BS[] |
reps |
private javajs.util.Lst<Object> |
sceneOrder |
private boolean |
sourcePNGJ |
private Map<String,BS> |
ssMapSeq |
private int |
stateCount |
private int |
structureCount |
private int |
totalAtomCount |
private int |
trajectoryPtr |
private javajs.util.P3[] |
trajectoryStep |
private Hashtable<Integer,javajs.util.Lst<Object>> |
uniqueSettings |
private Map<String,javajs.util.Lst<Object>> |
volumeData |
private javajs.util.P3 |
xyzMax |
private javajs.util.P3 |
xyzMin |
biomtChainAtomCounts, fileAtomIndex, gromacsWideFormat
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isSequential, isTrajectory, latticeCells, latticeScaling, line, lstNCS, matUnitCellOrientation, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, ptLine, ptSupercell, reader, readerName, reverseModels, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
Constructor and Description |
---|
PyMOLReader() |
Modifier and Type | Method and Description |
---|---|
private javajs.util.P3 |
addAtom(javajs.util.Lst<Object> pymolAtoms,
int apt,
byte[] atomArray,
int[] vArray,
String[] lexStr,
int icoord,
javajs.util.Lst<Object> coords,
float[] coordArray,
javajs.util.Lst<Object> labelPositions,
float[] labelArray,
BS bsState,
int iState) |
private void |
addBonds(javajs.util.Lst<Bond> bonds) |
private void |
addColors(javajs.util.Lst<Object> colors,
boolean isClamped)
Add new colors from the main "colors" map object.
|
private void |
addMolSS(String ssType,
STR type)
Secondary structure definition.
|
private void |
addMolStructures() |
private boolean |
atomBool(byte[] atomArray,
int pt,
int offset,
int mask) |
private float |
atomFloat(byte[] atomArray,
int pt,
int offset) |
private int |
atomInt(byte[] atomArray,
int pt,
int offset) |
private String |
atomStr(byte[] atomArray,
int pt,
int offset,
String[] lexStr) |
(package private) static String |
bytesToString(Object object) |
private boolean |
checkObject(javajs.util.Lst<Object> execObject) |
(package private) static int |
colorSettingClamped(javajs.util.Lst<Object> c,
javajs.util.P3 ptTemp) |
boolean |
compareAtoms(int iPrev,
int i) |
private void |
createShapeObjects()
Create JmolObjects for all the molecular shapes; not executed for a state
script.
|
private void |
fillFloatArrayFromBytes(byte[] b,
float[] array) |
private void |
fillIntArrayFromBytes(byte[] b,
int[] array) |
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<Object> |
fixMovieCommands(javajs.util.Lst<Object> cmds)
Could possibly implement something here that interprets PyMOL script commands.
|
private static javajs.util.Lst<Object> |
fixMovieViews(javajs.util.Lst<Object> views)
Could implement something here that creates a Jmol view.
|
private javajs.util.Lst<Object> |
fixSettings(javajs.util.Lst<Object> settings)
Recent PyMOL files may not have all settings.
|
(package private) static float |
floatAt(javajs.util.Lst<Object> list,
int i) |
(package private) static float[] |
floatsAt(javajs.util.Lst<Object> a,
int pt,
float[] data,
int len) |
private void |
getAtomAndStateCount(javajs.util.Lst<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<Object> bonds)
Create the bond set.
|
private static BS |
getBsReps(javajs.util.Lst<Object> list) |
int |
getCartoonType(int iAtom) |
(package private) static int |
getColorPt(Object o,
javajs.util.P3 ptTemp) |
private String |
getCStr(byte[] lex,
int pt) |
private boolean |
getFrameScenes(Map<String,Object> map)
remove all scenes that do not define a frame.
|
private String[] |
getLexStr(byte[] lex) |
private static javajs.util.Lst<Object> |
getMapList(Map<String,Object> map,
String key) |
int |
getSequenceNumber(int iAtom) |
int |
getUniqueID(int iAtom) |
float |
getVDW(int iAtom) |
protected void |
initializeReader() |
(package private) static int |
intAt(javajs.util.Lst<Object> list,
int i) |
(package private) static javajs.util.Lst<Object> |
listAt(javajs.util.Lst<Object> list,
int i) |
(package private) static Map<String,javajs.util.Lst<Object>> |
listToMap(javajs.util.Lst<Object> list)
return a map of lists of the type: [ [name1,...], [name2,...], ...]
|
(package private) static javajs.util.P3 |
pointAt(javajs.util.Lst<Object> list,
int i,
javajs.util.P3 pt) |
private void |
process(Map<String,Object> map)
The main processor.
|
void |
processBinaryDocument() |
private void |
processCGO(javajs.util.Lst<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<Object> pymolObject)
Only process _e_pot objects -- which we need for color settings
|
private void |
processMap(javajs.util.Lst<Object> pymolObject,
boolean isObject,
boolean isGadget)
Create mapObjects and volumeData; create an ISOSURFACE JmolObject.
|
private void |
processMeasure(javajs.util.Lst<Object> pymolObject)
Create a MEASURE JmolObject.
|
private void |
processMeshes()
Create mesh or mep JmolObjects.
|
private void |
processMolCryst(javajs.util.Lst<Object> cryst)
Pick up the crystal data.
|
private BS |
processMolecule(javajs.util.Lst<Object> pymolObject,
int iState)
Create everything necessary to generate a molecule in Jmol.
|
private void |
processMovie(javajs.util.Lst<Object> mov,
int frameCount)
Create a JmolObject that will represent the movie.
|
private void |
processObject(javajs.util.Lst<Object> execObject,
boolean moleculeOnly,
int iState)
The main object processor.
|
private void |
processSelectionsAndScenes(Map<String,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<Object> list)
Create uniqueSettings from the "unique_settings" map item.
|
protected void |
setup(String fullPath,
Map<String,Object> htParams,
Object reader) |
(package private) static String |
stringAt(javajs.util.Lst<Object> list,
int i) |
static javajs.util.Lst<Object> |
sublistAt(javajs.util.Lst<Object> mesh,
int... pt) |
checkLine, checkRemark, 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, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, 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, 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 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 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 String objectName
private javajs.util.Lst<javajs.util.Lst<Object>> mapObjects
private boolean haveMeasurements
private int[] frames
private Atom[] atoms
private boolean haveScenes
private int baseModelIndex
private javajs.util.Lst<Object> sceneOrder
private int bondCount
private boolean haveBinaryArrays
private final javajs.util.P3 ptTemp
byte[] aTemp
protected void setup(String fullPath, Map<String,Object> htParams, Object reader)
setup
in class AtomSetCollectionReader
protected void initializeReader() throws Exception
initializeReader
in class PdbReader
Exception
public void processBinaryDocument() throws Exception
processBinaryDocument
in class AtomSetCollectionReader
Exception
protected void setAdditionalAtomParameters(Atom atom)
PdbReader
setAdditionalAtomParameters
in class PdbReader
protected void finalizeSubclassReader() throws Exception
AtomSetCollectionReader
finalizeSubclassReader
in class PdbReader
Exception
public void finalizeModelSet()
finalizeModelSet
in class AtomSetCollectionReader
private javajs.util.Lst<Object> fixSettings(javajs.util.Lst<Object> settings)
settings
- private boolean getFrameScenes(Map<String,Object> map)
map
- private int setUniqueSettings(javajs.util.Lst<Object> list)
list
- private void addColors(javajs.util.Lst<Object> colors, boolean isClamped)
colors
- isClamped
- private void getAtomAndStateCount(javajs.util.Lst<Object> names)
names
- private boolean checkObject(javajs.util.Lst<Object> execObject)
private void processMovie(javajs.util.Lst<Object> mov, int frameCount)
mov
- frameCount
- private static javajs.util.Lst<Object> fixMovieViews(javajs.util.Lst<Object> views)
views
- private static javajs.util.Lst<Object> fixMovieCommands(javajs.util.Lst<Object> cmds)
cmds
- private void processObject(javajs.util.Lst<Object> execObject, boolean moleculeOnly, int iState)
execObject
- moleculeOnly
- iState
- private void processCGO(javajs.util.Lst<Object> pymolObject)
pymolObject
- private void processGadget(javajs.util.Lst<Object> pymolObject)
pymolObject
- private void processMap(javajs.util.Lst<Object> pymolObject, boolean isObject, boolean isGadget)
pymolObject
- isObject
- isGadget
- private void processMeasure(javajs.util.Lst<Object> pymolObject)
pymolObject
- private BS processMolecule(javajs.util.Lst<Object> pymolObject, int iState)
pymolObject
- iState
- private String[] getLexStr(byte[] lex)
private String getCStr(byte[] lex, int pt)
private void processMolCryst(javajs.util.Lst<Object> cryst)
cryst
- private javajs.util.Lst<Bond> getBondList(javajs.util.Lst<Object> bonds)
bonds
- private void fillIntArrayFromBytes(byte[] b, int[] array)
private void fillFloatArrayFromBytes(byte[] b, float[] array)
private javajs.util.P3 addAtom(javajs.util.Lst<Object> pymolAtoms, int apt, byte[] atomArray, int[] vArray, String[] lexStr, int icoord, javajs.util.Lst<Object> coords, float[] coordArray, javajs.util.Lst<Object> labelPositions, float[] labelArray, BS bsState, int iState)
pymolAtoms
- list of atom detailsapt
- array pointer into pymolAtomsatomArray
- vArray
- lexStr
- icoord
- array pointer into coords (/3)coords
- coordinates arraycoordArray
- labelPositions
- labelArray
- bsState
- this state -- Jmol atomIndexiState
- private boolean atomBool(byte[] atomArray, int pt, int offset, int mask)
private float atomFloat(byte[] atomArray, int pt, int offset)
private int atomInt(byte[] atomArray, int pt, int offset)
private void addBonds(javajs.util.Lst<Bond> bonds)
private void addMolStructures()
private void addMolSS(String ssType, STR type)
ssType
- type
- private void createShapeObjects()
private void processMeshes()
private void processDefinitions()
private void processSelectionsAndScenes(Map<String,Object> map)
map
- private void finalizeSceneData()
static int intAt(javajs.util.Lst<Object> list, int i)
static javajs.util.P3 pointAt(javajs.util.Lst<Object> list, int i, javajs.util.P3 pt)
static float[] floatsAt(javajs.util.Lst<Object> a, int pt, float[] data, int len)
static float floatAt(javajs.util.Lst<Object> list, int i)
static Map<String,javajs.util.Lst<Object>> listToMap(javajs.util.Lst<Object> list)
list
- static int colorSettingClamped(javajs.util.Lst<Object> c, javajs.util.P3 ptTemp)
static int getColorPt(Object o, javajs.util.P3 ptTemp)
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