Proteopedia:Development
From Proteopedia
See also:
Online & at home, August-September 2024
- An update of initialview script for seeded pages: combination into a single file, modularisation, fix for rendering of multimodel files.
- Introduced conditionalLoad function for deciding to skip simplified view, based on molecular weight of the biological unit with all models.
- New functions.spt combines many utility functions (including conditionalLoad)
- New look for toggle buttons (spin, quality, labels), popup button, load full button, resize buttons.
- Multimodel files: new toggle buttons: first/all models, animation on/off.
See details.
Rehovot, March 2023
Sequence Tool
This widget reads the information in any pdb- or mmcif-formatted file included in a Proteopedia page and parses its content to display the protein sequence (for all chains) alongside the JSmol 3D-view panel. The sequence includes information combined from both the COORD and SEQRES records in the PDB file, hence including physical gaps, numbering gaps, sequence microheterogeneity and inserted residues.
The visitor of the page may interactively explore the structure and the sequence:
- A click on a letter in the sequence listing will display the full information of that residue and will highlight it in the 3D structure view.
- A click on any atom in the 3D view will highlight the matching residue in the sequence listing.
- A search box accepts a residue number, or a residue letter, or a partial sequence; matches will be displayed on both the sequence and the structure.
This tool is included in all pages automatically generated in Proteopedia for any new structure deposited in the Protein Data Bank (seeded pages) and may be included at will in user-generated pages. Documentation is at Seqtool
Colouring schemes for AI-predicted structures
Procedures were developed to apply several colouring schemes in the 3D structure view that reflect the reliability or uncertainty in the coordinates of each residue in predicted 3D protein structures coming form several platforms and databases, namely:
- RoseTTAFold, with RMSD data for each atom or residue.
- AlphaFold, with pLDDT score for each atom or residue.
- ESMFold, with pLDDT score for each atom or residue.
The functionality for applying these colour schemes was added through buttons in the SAT, and it is offered automatically depending on which data source provides the uploaded structure files.
The colour reference (legend) is automatically included below the caption area under the 3D view, for any new scene that was created using the colouring option.
Prediction of structure
A new area inside 'load molecule' section of SAT allows to enter a raw or Fasta-formatted protein sequence, sends it to the ESMfold server and retrieves the resulting predicted structure into Proteopedia. The structure is also loaded on SAT, ready for preparing a scene.
Alcalá, Spain, March 2021
AH modified Html5mediator.php to allow embedding videos from Vimeo
Rehovot December 2020
JP:
- Enabled Proteopedia to manage scenes with multiple isosurfaces.
- Modified SAT to allow adding multiple isosurfaces to a scene and to edit scenes with multiple isosurfaces.
- Incorporated CSS class bg- and text- to allow coloring of captions and text.
Rehovot October 2020
JP: Modified SAT's scene searching approach to ease reuse scenes from other pages. SAT now scan the page being edited for name='##/wgArticleId/ and build the scenes dropdown on [load scene] tab with all the scenes from all the wgArticleIds found.
Rehovot, January 2019
JP and JS: Morphing on Proteopedia at Special:Morph. Provide two structures (either PDB ids, upload files or a combination or both) and optional chain selection and click Morph. Morphing takes place between a few minutes, thanks to PyMOL and SCHRODINGER, and you’ll be able to directly upload the resulting morph to Proteopedia for SAT scene development, or download a PDB or .pse file.
Rehovot, October 2018
AH and JP working together during AH's visit to Weizmann Institute, 12 to 19 October 2018.
- JSmol was upgraded to version 14.29.16
- A conflict was solved between display of PDB file information (e.g. resolution, nr.of NMR models) and display of caption.
- SAT: the chosen options for a scene (description, caption, spin status, scene transitions...) are now stored together with the scene and hence they are reused as defaults when the scene is edited.
- More work on connecting the Sequence display with the Structure.
- Use WebGL for rendering, enabled per user (new toggle in the Preferences page). Note that not all features in JSmol are implemented in WebGL, so customised scenes may lack features; you can check a list of supported and unsupported features here. This is experimental and still needs some work (e.g. Simplified and Full model do not make sense in WebGL; also we need to verify proper display of ligands)
- Work on a new design for the home page.
Rehovot, August 2018
JP JSmol applet displays "I'm ready. Click on a green link" when there's no defined structure or scene to render. Before, it remained with the "Loading, please wait ..." statement forever, since there was nothing to load.
Alcalá, Spain, March 2018
AH and JP working side by side during JP's visit to Alcalá, 19 to 22 March 2018.
- Files can now be dragged from local disk and dropped onto the SAT. A copy of the file will be automatically uploaded and stored in Proteopedia and will be subsequently used by the scenes that are created from that SAT.
- The SAT, under Load molecule, now has an option to load the Biological Assembly rather than the Asymmetric Unit (which was previously the only choice and will still be the default).
- Additional work on the special interface for display of knowledge about mutations of some deeply studied proteins. Different renderings, added onto the protein's 3D structure, were implemented for each kind of feature that results from the mutation.
Amherst, MA, USA, January 2018
Proteopedia 10th Anniversary Conference
- An option to use the latest version of JSmol while viewing any Proteopedia page has been added to the user's personal preferences section: click on the ‘Misc’ tab and check the option to ‘use the latest JSmol version’; then, save your preferences.
- JSmol files will be retrieved from https://chemapps.stolaf.edu/jmol/jsmol
- Advanced users will found now in Proteopedia’s Scene Authoring Tool (SAT), under the JSmol panel, a button to quickly open JSmol Script Console and a text input field to enter scripting commands and Execute them. This allows to easily execute additional scripting JSmol commands besides those currently implemented as buttons and pulldowns.
Essen, Germany, June 2017
JP Added option to load= attribute to indicate if to load Asymmetric Unit or Biological Assembly for a PDB structure, by adding _au or _ba to the PDB id ( i.e load=2ace_au load=2ace_ba ). Default behaviour, when only the PDB id is provided, remains the same: loads Biological Assembly if available, otherwise the Asymmetric Unit.
Rehovot, Israel, June 2017
AH and JP working side by side during AH's visit to Weizmann, 30 May to 13 June 2017, with constant feedback from JS
During this period we addressed an update in the back-end features of the Proteopedia platform. The major aim was to improve the user experience in the platform, as well as adding some new features.
Several features were implemented in Proteopedia and were immediately made available online for the users. Changes were applied to the design of Proteopedia pages, particularly aiming to speed up the loading and increase responsiveness of pages for the user. The drop of web browser support for Java applets along the previous years led us (2014) to implement the use of the JSmol viewer for structures, in place of the former Jmol viewer. However, that brought the inconvenience of a slower response. In these new developments (2017), we made some changes that reduce the delay associated to including JSmol in the pages.
- The JSmol object is now written to the page not during, but after page loading has completed.
- Even though page loading speed is not perceivable enhanced, such delayed insertion has allowed to implement several other functionalities added to Proteopedia pages.
- A rotating image (animated gif) for the model or scene is displayed initially in place of the JSmol object (when such gif file is already available). Therefore, the initial delay on page loading is now suppressed and it will take place only when the user requests JSmol to load. This allows much quicker loading of the page.
- Proteopedia Main Page is now using those animated images with its front models (selected randomly out of a short list). This results in a much more quickly responding page.
- A new button [Display Interactive Model] is shown below the image, for the user to decide showing the JSmol model instead of the initial replacement image.
- The image is replaced with the JSmol model also whenever the user clicks on a green link.
- An automated procedure allows to generate and save the animated GIFs for Proteopedia seeded pages, as well as for user-authored pages. This procedure is to be used programmatically for the full collection, or manually just by privileged users.
- The JSmol panel in all pages is now resizable. This will allow adjustment by the users, according to their device screen size, the diverse needs and the intended use, e.g. projection in the classroom.
- Two new buttons were added in the tool area below the JSmol panel, to increase and decrease the size in discrete steps (20%, within a range from 200 to 800 px).
- The [popup] button is still available as an independent option.
- The popup window now has a new extra button, [update], that allows to refresh the state of model, retrieving it again from the calling page. This avoids the need to call again the popup window and load again the JSmol object (so it yields a quicker experience). It also allows, for example, to work in the page on the main monitor while displaying the enlarged model (popup) in a second monitor or projector.
- All the above-mentioned new options have also been added as part of the [Extension for MediaWiki], for use in other websites.
- When entering page Edit mode, JSmol for the Scene Authoring Tool (SAT) is not inserted until the user opens the SAT by clicking on the [show] button. This results in a much more quickly responding page, allowing for quick editing of the page text if changing scenes was not intended. The delay that used to be on loading the page has now been shifted to when the user decides to open the SAT (and only the first time).
- Whenever a model is loaded (seeded pages at least), information is filled into the page content, under the JSmol page:
- The PDB id (read from the server).
- Number of models if NMR. This is read from the server or from within JSmol.
- Resolution if applicable. (Implementation is pending)
- Type of model: biological assembly or asymmetric unit. This is read from the Proteopedia server.
- When creating a scene, the user may specify a caption; this will be saved together with the scene and will be displayed in the page when any user clicks on the green link to loads that scene into the JSmol panel. This caption is inserted in the area below the model.
- The caption will be updated whenever a new scene is loaded (as long as the scene was prepared and saved including a caption).
- For seeded pages, any user has now a choice to display the model of either biological assembly or asymmetric unit, as long as the files are available in the server for that particular protein. If only one is available, only the relevant option is presented in the interface.
- When a page is written in a language other than English and its title has been set as recommended (that is, Title of page (language)), the JSmol interface (context menu) is now displayed in the language matching the page. This possibility is limited to those languages for which there is a Jmol localisation; otherwise, the default for JSmol is the system language, otherwise US English. Examples: Spanish, French, German, Italian, Czech, Russian, Turkish, Chinese.
Additionally, we started development of a wholly new approach: to develop a visual interface that incorporates knowledge about mutations of some deeply studied proteins, their effect on structure and stability of the molecule, so as to gain insights into what structural alterations are relevant to pathogenicity.
- A special page will hold the sequence and mutation data. This page may be edited as usual, by authorised users.
- The display page, also editable,
- Has a regular content area, editable by users.
- Reads the data from the matching data page (access limited).
- Includes a scrollable panel showing the sequence of the protein, with all mutations listed.
- Includes the JSmol model.
- Clicking on the mutations displays them in the 3D model, focusing on the affected residue, with highlights on the neighbouring residues and display of clashes.
- The display in JSmol may be animated between wild type and mutated residue.
Alcalá, Spain, October 2016
AH and JP working side by side during JP's visit to Alcalá, 10 to 13 October 2016.
Template for ConSurf
A mediawiki template, { {ConSurf} }, was written that inserts the standard ConSurf subsection, including description, links and the checkbox to apply the evolutionary conservation colouring, applied to the protein specified by the user editing any page.
Pending:
- Write documentation or help, possibly combining it with existing help
Update of style applied by the "high quality" button
This button is located under every model (JSmol panel).
It formerly toggled the antialiasDisplay
state.
It is now changed to also toggle the use of cartoonFancy
.
Note: the high quality mode is abandoned during rotation, but gives a nicer look when stopped, e.g. for copying an image. It may be retained during rotation if the default in Proteopedia, platformSpeed 5
, is changed to at least 6 e.g. using the pspeed
option in the applet tag (not advisable in general for responsiveness in mobile platforms).
Direct insertion of the scene link from SAT into the body text
When a scene is saved within the SAT, the former method required the author to copy some resulting code with the scene green link from a textbox in the SAT to the editable section (wikitext) of the page content.
The improvement implemented adds the scene code automatically at the current cursor position within the editable content.
Pending:
- Adequate help needs to be written and inserted, particularly to instruct the user to have the cursor in the right place before saving the scene.
- Maybe remove or hide the textbox in the SAT, to avoid duplicity or confusion.
Generation of animated image with rotating model
A link, “Export Animated Image” has been added in the area below the JSmol panel. This allows to obtain an animated GIF of the current scene, useful for display in presentations or web pages independent from Proteopedia.
The animation is produced server-side (using Jmol.jar and ImageMagick).
Technical: the use of the capture command in Jmol proved to be impossible without a graphic display; therefore, we had to resort to using a loop with incremental rotation and single image export at each step, then combine them all into a single animated gif. A full 360° spin is implemented, with some user choices like axis of rotation, overall duration of one full turn in the animation, dimensions and smoothness of the animation.
Pending:
- Add better help / explanation of the process, and how to download the resulting image. #DONE
- Implement also the “rocking” motion as an alternative animated display. #DONE
Compaction of JSmol pop-up menu
The menu has been increasing in length and complexity along Jmol versions. Some actions were taken so that if fits better in available window space. Only css was used, which overrides the default css rules included in the JSmol library.
- Reduced line height for each submenu entry (not only first level entries but also all submenus)
- The languages submenu is now scrollable within a limited height.
Pending:
- Investigate: the popup menu in the SAT seems to be able to open upwards when there is no space at the bottom of window. Achieving this would be desirable for JSmol in general. It may be caused by action of some other jQuery UI code, in effect only in the SAT but absent in JSmol’s copy of UI.
Rendering of nucleotide ligands
In the default initial rendering, ligands are displayed as spacefill cpk. However, JSmol fails to identify single nucleotides as ligands (they are evaluated as single-residue nucleic acids and so rendered as cartoon, i.e. invisible).
Code was added to initialview02v3.spt
so that single nucleotides are rendered like ligands (e.g. GDP, GTP often bound to G-proteins, or ATP in kinases)
Access to SAT not available
The banner and link to open the SAT is not displayed while the page is being edited and the Preview has been requested. As a consequence, if the user under My preferences > Editing
checks the Show preview on first edit
option, he will never see the SAT.
A hint for this was added to Help:Contents#Creating_Molecular_Scenes
Issues detected that need further work or investigation
Using assembly CIF
Limitations associated to using mmCIF assemblies as the source of models.
-
biopolymers
are not detected by Jmol (as chosen from the pop-up menu), or not available due to asemblies? - Need to check the status of retrieval of biological unit vs. asymmetric unit. #DONE
- Ned to check different behaviour in applet tag than in SAT, e.g. the display of tetramer vs. dimer – likely related to the use of
getlateststructure
orgetfrozenstructure
and the recent switch to using assemblies - Some ligands are not listed under Hetero in the popup menu. Example: [UIR] in Trypsin or 1y3v
Transitions between scenes
SAT offers some options for transitions (skip zoom-out, skip transition), the behaviour of which needs to be re-checked. They might be not working, or rather be incompatible with the option of reloading the model for each new scene.
Update caption below structure for each scene
Below the JSmol model a caption is displayed, with text specified in the applet tag. When a different scene is loaded, this caption should get updated.
(Remains to be implemented) #DONE
Choice of templates for a new page
When a new page is started, it is created with a template. The possibility of offering a gallery of templates or layouts was suggested.
This was not addressed for lack of specific ideas. Not clear if it would be useful. #DISREGARDED
Category:Pyrho
Category:Pyrho which is very frequent, inserts a bad link to Wikipedia (non existing page).
Localisation
- When a page is written in a non-English language, the language of the JSmol interface could be changed to match. Example in French #DONE