Package org.jmol.adapter.readers.pymol
Class PickleReader
java.lang.Object
org.jmol.adapter.readers.pymol.PickleReader
generic Python Pickle file reader
only utilizing records needed for PyMOL.
It appears we must read integers littleEndian and doubles bigEndian.
2013.04.06 -- added memo functions. PyMOL pickling is using LONG_BINPUT way too often.
This results in a huge unnecessary memory overhead. My only solution is to only
cache Strings in memo, and then only selectively -- not parts of movie; not when
markCount > 5 (residues). This seems to work, but it is still way overkill, since each
atom generates several items.
see http://www.picklingtools.com/
- Author:
- Bob Hanson hansonr@stolaf.edu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final byte
private static final byte
(package private) byte[]
private javajs.api.GenericBinaryDocument
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private javajs.util.Lst
<Object> private static final byte
private static final byte
private static final byte
private static final byte
private int
private int
private static final byte
private int
private boolean
private boolean
private static final byte
private int
private int
private boolean
private static final byte
private static final byte
private static final byte
private static final byte
private int
private javajs.util.Lst
<Integer> private static final byte
private static final byte
private static final byte
private int
private static final byte
private static final byte
private static final byte
private javajs.util.Lst
<Object> private static final byte
private String
private Object
private static final byte
private Viewer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate String
getMap
(boolean logging) private int
getMark()
private Object
getMemo
(int i) private javajs.util.Lst
<Object> getObjects
(int mark) private void
private Object
peek()
private Object
pop()
private void
private void
putMark
(int i) private void
putMemo
(int i, boolean doCheck) private byte[]
-
Field Details
-
vwr
-
binaryDoc
private javajs.api.GenericBinaryDocument binaryDoc -
stack
-
marks
-
build
-
memo
-
logging
private boolean logging -
id
private int id -
markCount
private int markCount -
filePt
private int filePt -
emptyListPt
private int emptyListPt -
thisSection
-
inMovie
private boolean inMovie -
inNames
private boolean inNames -
thisName
-
lastMark
private int lastMark -
retrieveCount
private int retrieveCount -
APPEND
private static final byte APPEND- See Also:
-
APPENDS
private static final byte APPENDS- See Also:
-
BINFLOAT
private static final byte BINFLOAT- See Also:
-
BININT
private static final byte BININT- See Also:
-
BININT1
private static final byte BININT1- See Also:
-
BININT2
private static final byte BININT2- See Also:
-
BINPUT
private static final byte BINPUT- See Also:
-
BINSTRING
private static final byte BINSTRING- See Also:
-
BINUNICODE
private static final byte BINUNICODE- See Also:
-
BUILD
private static final byte BUILD- See Also:
-
EMPTY_DICT
private static final byte EMPTY_DICT- See Also:
-
EMPTY_LIST
private static final byte EMPTY_LIST- See Also:
-
GLOBAL
private static final byte GLOBAL- See Also:
-
LONG_BINPUT
private static final byte LONG_BINPUT- See Also:
-
MARK
private static final byte MARK- See Also:
-
NONE
private static final byte NONE- See Also:
-
OBJ
private static final byte OBJ- See Also:
-
SETITEM
private static final byte SETITEM- See Also:
-
SETITEMS
private static final byte SETITEMS- See Also:
-
SHORT_BINSTRING
private static final byte SHORT_BINSTRING- See Also:
-
STOP
private static final byte STOP- See Also:
-
BINGET
private static final byte BINGET- See Also:
-
LONG_BINGET
private static final byte LONG_BINGET- See Also:
-
TUPLE
private static final byte TUPLE- See Also:
-
INT
private static final byte INT- See Also:
-
EMPTY_TUPLE
private static final byte EMPTY_TUPLE- See Also:
-
LONG
private static final byte LONG- See Also:
-
REDUCE
private static final byte REDUCE- See Also:
-
ipt
private int ipt -
aTemp
byte[] aTemp
-
-
Constructor Details
-
PickleReader
PickleReader(javajs.api.GenericBinaryDocument doc, Viewer vwr)
-
-
Method Details