Chain details are gotten only once at the outset, by determineChains() and stored in chainDetails, making chainsDetermined true when finished. or getNoHeaderChains() moltab.js makeChainDetails() in moltab.js forks based on pdbNoHeader header: makeChainDetails2() moltab.js calls reportCHOChains("au") and sayBUDups("AU") no header: makeChainDetailsNoHeader() moltab.js calls reportCHOChains("au") showChainDetails() moltab.js getChainDetails() moltab.js simply returns chainDetails. FOR BIOLOGICAL ASSEMBLIES "NNN Chains" link calls showBMChainsHelp() moltab.js calls makeBMChainsHelp() help3.js