SEE CHAINS.TXT FOR FG4 CONSURF MODS. SIMPLIFICATION: ConSurf PDB files are treated as a special case of dotPDB files: unlike other dotPDB files, simplification will be optional/automatic. FG Startup w/ ConSurf: makeConsurfViewSpt() (in scriptsc.js) is the initial ConSurf view. At this point, Jmol atom properties consurf1-consurf9 are ALREADY DEFINED! setPropertyConsurf() in scriptsc.js was called in msgcall.js (using unchangedSptToJmol()) Generating its spt using the historic pipe method. So there is no need to use the slow script generated by the pipe method. Instead: makeShortConsurfColorsSpt() in scriptsc.js is much faster. It does coloring only, not spacefill. For 4.0, I tried to auto color all seqid consurf chains initially, but it got very complicated so I gave up. See @conall. Used red blinking arrow instead. See blink. ---------------------------------------------------- SIMPLIFICATION PLAN consurfFilename is true before PDB file is loaded, and api atoms (size) and residues avail. If nonH <= 35K (simpCutoffConsurfOptionNonH), load all nonH atoms. If nonH > 35K && <= 150K (simpCutoffConsurfOptionMaxNonH), OPTION to simplify. if nonH > 150K (~18K BB) - if nonH > 150K && BB <= 150K (simpCutoffConsurfBBMax) -> simpBBOnly - else if BB > 150K && BB <= 250K (simpCutoffConsurfUnconditionalBB) OPTION AU vs. BU1 (latter ~5 min, manipulation extremely sluggish) - else if BB > 250K, ALERT sorry but AU. ---------------------------------------------------- For handling of CHAINS with ConSurf, see CHAINS.TXT CHAINS.TXT includes how all chains sequence-identical to the ConSurf chain are colored. ---------------------------------------------------- Places where the checkbox ConSurf Colors is available. All checked √ for color keys. chainCount is total chains. Ctot is Consurf seq-id chain count. See makeColorKeys(keyother) in help.js For color key testing: - 4enl (gallery, color blind) single chain. - 2vaa (gallery, either) chain A: single ConSurf chain + 2 other chains. - 1n73 (versions, historic) chain C: 2 ConSurf chains + 8 other chains. - 7cap (versions, historic) chain A: 3 consurf chains + 0 other chains. For crosslink testing: - 1n73 (versions, historic) chain C: 2 ConSurf chains + 8 other chains. - 7cap (versions, historic) chain A: 3 consurf chains + 0 other chains. DONE in 3.8 (these are controlled in consurf/help_cs.js makeConsurfHelpPrefix(helpname). Views: - Vines/Sticks √ +/- sequence numbers/slab √ - Thin Backbone √ +/- sequence numbers/slab √ Tools: - Disulfides/S/Se √ - Salt Bridges/Cation-Pi √ - Contacts √ - Crosslinks √ Modifiers: NOT slab, zoom, hide, isolate. - FIND ONLY with vines/thinBB but NO color key. - Sequence numbers/names ONLY with vines/thinBB but NO color key. ---------------------------------------------------- msgcall.js processPDBHeader() NEW in FG3.8: // To work around absence of consurf_identical_chains in PiPE block. determineChains(); // populates chainList[], e.g. A, B, CD, EFG, H // chainCount, distinctChainCount getChains4Consurf(); // populates Ctot, Clist == consurf_identical_chains // and consurf_identical_chains_commas, consurf_identical_chains_toselect setPropertyConsurf(); // Assigns property_consurf 0-9 to each atom in all ID chains. // Atoms not processed by consurf get -1, used in pickcall. init_chain_checkboxes(); // requires consurf_identical_chains FG3.7: getPIPEBlock() called in msgcall.js then a series of functions that set up - consurf control panel - consurf view - consurf help ---------------------------------------------------- STARTUP COLORING setPropertyConsurf() in consurf/scriptsc.js DEFINES BITSETS consurf0-9 WITH ISD and sets property_consurf 0-9 for hover/click to id. getConsurfNoISD() DEFINES consurfNoISD1-9 (consurfNoISD0 = none). It is called only if needed. consurfNoISDGotten = boolean. NEW CODE / NEW COLORING FUNCTION makeShortConsurfColorChainsSpt(clist) in scriptsc.js makes the efficient coloring script using consurf0-9, or if (consurf_isd_mode != "isd"), consurfNoISD1-9. CHAINS options for clist: consurf_identical_chains_toselect "(:C,:F)" made in getChains4Consurf() in consurf/help_cs.js consurf_identical_chains_commas "C,F" for reports. Made in getChains4Consurf() in help_cs.js Ctot = number of identical chains Clist = consurf_identical_chains = "ABC" make getChains4Consurf() is called in msgcall.js as part of startup. BUTTONS CARTOON ETC. Buttons Backbone, Cartoon, Spacefill in CS Control Panel (writeConsurfButtons() in help_cs.js) call consurfView(mode) with mode = "none", "cartoon", "all" (in consurf.js) sf(mode) in cs_key.js do_spt(make_sf(mode)) do_spt:main_cs.js expands, fixes, -> doMolViewSpt() make_sf(mode) in cs_key.js 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 Button "Reset View" in CS Control Panel Clicking additional sequence-identical chains: see CHAINS.TXT Clicking Grades in CS View: ends up calling cs_key(n) where n is the grade number (in cs_key.js) Clicking thumbnail images calls changeISDMode(x) where x is "isd", "dotssf", "dots", "sf" in consurf.js reset_consurf() in main_cs.js -> do_spt() make_reset_consurf_spt(real_reset) in main_cs.js make_consurf_color_spt() in main_cs.js SHORTENED OR reset_isd_hidden() in main_cs.js -> do_spt make_reset_isd_hidden_spt(real_reset) in main_cs.js make_isd_color_spt() in main_cs.js ConSurf Colors checkbox in FG: makeConsurfColorsSpt() see details below. ---------------------------------------------------- After loading a ConSurf PDB file, telAvivMode is on. currentView is consurfview. telAvivMode and consurfMode are true. useConsurfColors consurf_grade_freqs_isd[0] 1-9 + total residues in 10. only_isd_data consurf_isd_mode is "isd", "dots", "sf", etc. consurf_identical_chains_toselect is e.g. "(:C,:F)" Ctot is Consurf seq-id chain count. chainCount is total chain count. helpPanel == "consurf" msgcall.js: makeConsurfViewSpt() in scriptsc.js generates script v01 using fixSpt() CHECKBOX FOR CONSURF COLORS The checkbox "ConSurf Colors" calls toggleConsurfColors() in consurf.js using useConsurfColors boolean reDisplay() in jcontrol.js makeConsurfColorsSpt() main_cs.js calls verify_expand_spts(make_isd_color_spt()) in scriptsc.js make_isd_color_spt()) in main_cs.js make_chain_select_cmd() in cs_key.js when appropriate, make_select_all_id_chains() in main_cs.js then generates spt from pipe block and doMolViewSpt() in scripts.js scriptToJmol() in top.js CONSURF COLORS CHECKBOX AVAILABILITY: Checkbox: makeConsurfHelpPrefix() in help_cs.js For helpname seqnumresnam, checkbox is allowed only for consurfview, allmodels(=thinbackbone), etc. Find: avail only for vines, thin backbone. Tools: Disulfides SaltBrCatPi Contacts Crosslinks Checking/unchecking that and e.g. checking sequence numbers or residue names (or unchecking) is handled by reDisplay() in jcontrol.js makeConsurfColorsSpt() in consurf/main_cs.js see further details above When seqNumResNamUnchecked (all 3 checkboxes unchecked) and introhelp, checkbox for consurf colors is allowed. COLORKEY ConSurf color key is a string variable cskey made once by make_cskey() in consurf.js. DEBUGGING SPACEFILL AFTER DISPLAY 2-4: In sf() cs_key.js #12b UNDEFINED make_sf(mode) returns UNDEFINED. mode is "all". cs_key.js YESYES consurf_isd_mode != "isd", so returns reset_isd_hidden(false) main_cs.js #11 -> do_spt() make_reset_isd_hidden_spt(real_reset) main_cs.js #5a