Proteopedia:Development/2024-09
From Proteopedia
Contents |
Development August-Sept. 2024
- Update of initialview script for seeded pages.
- Combined initialview01.spt, initialview02.spt, initialview02v4.spt into a single initialview03.spt
- Hardcoded calls to initialview01.spt are kept, but initialview01.spt is now a duplicate of initialview03.spt
- Modularisation of initialview contents by creating several functions.
- Fixed the rendering of multimodel files (which had been broken at some previous stage)
- Introduced conditionalLoad function for deciding to skip simplified view, based on molecular weight of biological unit (all models added, in case of multimodel files). Cutoff set inside the function (currently
200 kDa400 kDa) - Data to detect ca_p_only, number of models and MW are retrieved from PDBe REST API and stored in a Jmol variable pdb_features (an object with properties).
- Many utility functions combined into functions.spt (including conditionalLoad)
- General review of dealing with all cases:
- Files that have only Calpha and P coordinates vs. normal all-atom models.
- Files with one or more models (not just NMR, also other exp.methods).
- Loaded as simplified or as full.
- Special cases like very few residues.
- Need to display [load full] button only in relevant cases.
- New buttons [model 1][all models] in relevant cases. All models are displayed by default.
- Review of ConSurf coloring on/off scripts to be valid for all cases considering the revision in loading and display scripts.
Pending:
- Apply similar renderings to files that do not match the data at PDBe. Right now, they get a basic rendering (shortScript) that, for example, does not offer alternative displays for multimodel files.
- Some examples: MET.pdb, 8XH1.pdb, 1crn_test.pdb, 1nns_box_251-253.pdb, UPL8H1D.pdb (10 models)
Flowchart of loading and initialview
atoms? | only Calpha & P | only Calpha & P | all atoms | all atoms | ||||||
---|---|---|---|---|---|---|---|---|---|---|
multimodel? | 1 model | N models | 1 model | N models | ||||||
MW? | small | large | small | large | small | large | small | large | ||
PDB id example (kDa/Mda) | 1ae4(36k) | 2rec(228k) | 1w2r(93k) | 1jq2(722k) | 1buu(56k) | 1flo(235k) | 2dan(133k) | 8h1d(251k) | ||
conditionalLoad() | ca_p_only | read from API | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
number_of_deposited_models | read from API | 1 | 1 | N | N | 1 | 1 | N | N | |
load | full (not filtered) | filtered | full (not filtered) | filtered | full (not filtered) | filtered | full (not filtered) | filtered | ||
numModelsLoaded | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ||
initialview03.spt | initVars() | numModelsLoaded | 1 (read iin Jmol) | N, read iin Jmol | 1 (read iin Jmol) | N, read iin Jmol | ||||
startClean() | ||||||||||
"modelnumberbuttons" span | hidden | hidden | hidden | hidden | hidden | hidden | hidden | hidden | ||
renderMultiModel() | no | no | yes | no | no | no | yes | no | ||
needsFullScript | false | false | ||||||||
renderSingleModel() | yes | yes | no | yes | yes | yes | no | yes | ||
needsFullScript | true | true | true | true | true | true | ||||
isSimplified | true | true | true | false | true | true | ||||
useFullScript | false | false | false | true | false | false | ||||
needsFullScript | false | false | false | |||||||
applyFullScript() | yes | |||||||||
isSimplified | false | |||||||||
warningSimplified() | ||||||||||
echo simplified | no | |||||||||
applyShortScript() | yes | yes | yes | yes | yes | |||||
isSimplified | false | false | true | |||||||
numModelsLoaded | 0 | 0 | 0 | 0 | 0 | |||||
warningSimplified() | ||||||||||
echo simplified | yes | yes | ||||||||
"Load Full" btn | hidden | hidden | visible | hidden | visible | visible | ||||
after click on [load full] | <== | <== | <== |
Further development Sept. 2024
New look for buttons under the JSmol panel:
- [spin], [quality], [labels] are toggles. [labels] is enabled only if there are initial labels in the model.
- [popup] is a push button that opens a medium size, resizable window with a duplicate of the model.
- [resize] are 2 push buttons that change in steps the dimensions of the JSmol panel.
- [load full] is only visible and active when a simplified model was loaded.
- In the case of multimodel files, a toggle is displayed to alternate between first model and all models, and a second toggle to activate or stop animation across the models.
Further development Oct. 2024
- Cutoff for full model loading without passing through simplified model is now 400 kDa (biological assembly weight × number of models)
- All files containing several models (NMR or otherwise) now load with the full set of models (previously, only the first model was loaded when the size exceeded the cutoff). If the structure is large (above the cutoff), only alpha carbons in proteins and backbone phosphorus in nucleic acids are loaded, to speed up the load; in this case, the 'simplified model' warning is not displayed but the [load full] button is available for the user to load all models with all atoms.
- While animation through models is active, all models display without translucency. When animation is cancelled (by going to first model or all models with the 'all models' switch), translucency is applied to all models except the first one.