The PPI3D web server should allow analyzing all protein-protein interaction data available in the PDB. In order to use the same visualization method for all structures, the desired software should meet the following criteria:
- processing of not only PDB-formatted structure files, but also the mmCIF files, as not all PDB entries have structures in PDB format;
- ability to open gzipped files, that are downloaded from the PDB and saved in the server;
- at least minimal scripting possibilities in order to show the interface properties using predefined scripts.
3 protein viewers have been analyzed:
- NGL Viewer.
The main disadvantage of JSmol is that the structures take very long to load. It even makes the entire website irresponsible for some time. In addition, JSmol does not use WebGL, therefore any actions with the structure are quite slow. Therefore, the possibilities to use alternative viewers were analyzed.
NGL Viewer was released recently as a web server. It is a feature-rich and user-friendly software for visualization of macromolecular structures. NGL may even serve as a web app to replace desktop protein structure viewers (such as Pymol or Chimera) in case of simple analysis. It has also embedding functionality which is similar to that of PV: only one file is necessary, and embedding is described well in the documentation. The NGL Viewer can open PDB and mmCIF files, gzipped files are also supported. Unfortunately, the documentation of this software is really sparse. I could not develop any custom features in the embedded NGL Viewer after reading it. As a result, this viewer can be only used as a web server, the current status of documentation does not allow using it as embedded viewer in custom applications for protein research as the API is simply not documented.
Additional note: after finishing the development using JSmol and writing this short article, I found another newly published structure viewer, 3Dmol.js. Seems like this software can handle mmCIF files (but not gzipped ones) and is better documented than NGL Viewer, therefore the possibility to use it as embedded structure viewer should be also considered.