Proteopedia:Development

From Proteopedia

Revision as of 10:36, 20 August 2017 by Angel Herraez (Talk | contribs)
Jump to: navigation, search

See also:

Contents

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 or getfrozenstructure 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

Proteopedia Page Contributors and Editors (what is this?)

Jaime Prilusky, Angel Herraez

Personal tools