Questions for Bob:

$ load =1d66.cif
TITLE: DNA recognition by GAL4: structure of a protein-DNA complex.
CD = CADMIUM ION
HOH = WATER
1D66
found biomolecule 1: A,B,C,D,E,F,G,H,I,J,K,L
Invalid or missing space group operations!

$ zap
$ load =1d66
TRANSCRIPTION/DNA                       06-MAR-92   1D66
DNA RECOGNITION BY GAL4: STRUCTURE OF A PROTEIN/DNA COMPLEX
found biomolecule 1: D, E, A, B
CD = CADMIUM ION
1D66

----------------------------------------------------------------
PRESENT DESIGN OF FIRSTGLANCE

jmolApplet("99%", makeJmolScript()); // moldoc.js

Jmol.Info includes:

	loadStructCallback. This is used to detect failure to load a structure file.
	See jmolLoadStructCallback() in consurf/msgcall.js

	readyFunction -> jmolReady() used only for reportElapsed (time).

	messageCallback -> jmolMessageCallback() in consurf/msgcall.js
	This is the workhorse in this implementation.

HEADER

messageMarkEndFirstView = "mark_end_firstview"; consurf/msgcall.js
  This message triggers beginFetchPDBHeader()
		It turns on collectMessages and sends makeGetPDBFileHeaderSpt() to Jmol, which includes
			show pdbheader bracketed by messageMarkBeginHeader / messageMarkEndHeader

messageMarkEndHeader triggers processPDBHeader() which
	turns off collectMessages
	getPIPEBlock() extracts pipeBlock and pdbHeader from messageStream

It appears that pdbHeader is used ONLY FOR LISTING THE HEADER when requested (ConSurf).
show_pipe_block() is invoked by a link for a ConSurf PDB file "Show PDB file header".
See pipeBlock and pdbHeader

Commenting out pdbHeader = rawheader in consurf/msgcall.js causes no apparent problems.

Most header info is gotten by jgetfi() in moltab.js which in turn uses
jmolGetPropertyAsString("fileInfo", key) where key is
	•	author
	•	compnd
	•	dbref
	•	expdta
	•	header
	•	hetnam
	•	mdltyp
	•	nummdl
	•	remark1
	•	remark2
	•	remark3
	•	remark210
	•	remark350
	•	remark465
	•	revdat
	•	seqres
	•	source
	•	title
	•	jrnl

Model info is obtained with jmolAtomCount(), jmolAtomCountAllConfigs(), jmolAtomCountAllModels().
These in turn use jmolEvaluate("{atom expression}.count")
which is also used directly quite often in modeldat.js and also with
_height, _width, .temperature, .occupancy, .atomindex...., .altloc
.element.pivot, .resno, .group, .groupindex, .identify

----------------------------------------------------------------
EXISTING mmCIF controls in FG 2.9

options.js/htm has requestCIF but this occurs only in options.js (not in fg.htm)  and index.htm
not used elsewhere. Rather, QP &cif=1 is used to set usingCIF.

rcsbURLSignedTailCIF & rcsbPathTailCIF are defined in config.js

usingCIF:
  top.js uses the above tail variables.
	scripts.js adds ".cif" to PDB code for echo.

----------------------------------------------------------------
Places needing conversion

Allow 2-char chain names.