CONSURF FG3.7: For a ConSurf PDB file, chainList is not populated in the initial display. Only after you click "Go to the FirstGlance Control Panel" it gets populated. FG3.8: chainList is populated for ConSurf, and also Clist, Ctot, consurf_identical_chains. *consurf_chain* in Javascript is the chain processed by ConSurf. consurf_identical_chains has been broken from Tel Aviv for a long time, but in FG3.8, it is populated from the pdbHeader using determineChains() called in processPDBHeader() in msgcall.js. CHAIN CHECKBOXES execute reset_to_mode(false) in main_cs.js reset_consurf(false) in main_cs.js make_reset_consurf_spt(false) -> do_spt() in main_cs.js make_consurf_color_spt() make_consurf_color_spt() + add'l commands. in main_cs.js make_for_spt(make_chain_select_cmd()) in main_cs.js & cs_key.js chooses ISD or NoISD *make_chain_select_cmd()* in consurf/cs_key.js generates "select selected and (:A,:B, ...)" according to the checkboxes in the ConSurf view. The state of identical-chain checkboxes is kept in consurf_chain_checkbox[], which is updated by make_select_checked() when a checkbox is clicked. In the FG control panel, when the "ConSurf Colors" checkbox is clicked, ALL chains identical to the primary chain processed by consurf are colored. This occurs by calling *make_select_all_id_chains()* (in make_chain_select_cmd() in cs_key.js) when currentView = "renderCrosslinks" etc. The first time a View Link is clicked, if useConsurfColors, doViewLink() in jcontrol.js adds makeConsurfColorsSpt() in main_cs.js make_isd_color_spt() in main_cs.js ---->>>> make_chain_select_cmd() in cs_key.js <<<---- which selects all ConSurf sequence-identical chains according to currentView: - thin backbones (makeAllModelsSpt()) and many others. The "ConSurf Colors" checkbox (help_cs.js makeConsurfHelpPrefix() -> toggleConsurfColors()) appears in the middle left for - protein crosslinks - contacts and non-covalent interactions -------------------------------------- chainList (array) is populated (in moltab.js) from header COMPND in getChains() COMPND obtained with var rawCompnd = jgetfi("compnd") jgetfi uses jmolGetPropertyAsString("fileInfo", "compnd") COMPND lists sequence-identical chains in the same line. See "chain names" in moltab.js. For 1d66, chainList is D,E,AB useLowerCaseChains is set in moltab.js moltab.js also sets chainCount and distinctChainCount -------- EndsChain (array) has one chain per element. For 1d66: D,E,A,B. It is set from chainList in getChainEnds() in modeldat.js NOTE debugEnds! in modeldat.js When there is no COMPND, chainList and EndsChain have length 0. Then, getChainEnds (modeldat.js) populates EndsChain with jmolScriptEcho("show chains"); show chain messages a list of one chain name per line. --------- chain type: moltab.js chainTypeFromName(chainName) chainLengths[] are obtained from SEQRES in moltab.js (format "D 66"). If there are no SEQRES, chainLengths.length == 0. In this case, "show chains" is used to get a list of chains in getChainEnds().