| Literature DB >> 21857909 |
Evan H Baugh1, Sergey Lyskov, Brian D Weitzner, Jeffrey J Gray.
Abstract
Computational structure prediction and design of proteins and protein-protein complexes have long been inaccessible to those not directly involved in the field. A key missing component has been the ability to visualize the progress of calculations to better understand them. Rosetta is one simulation suite that would benefit from a robust real-time visualization solution. Several tools exist for the sole purpose of visualizing biomolecules; one of the most popular tools, PyMOL (Schrödinger), is a powerful, highly extensible, user friendly, and attractive package. Integrating Rosetta and PyMOL directly has many technical and logistical obstacles inhibiting usage. To circumvent these issues, we developed a novel solution based on transmitting biomolecular structure and energy information via UDP sockets. Rosetta and PyMOL run as separate processes, thereby avoiding many technical obstacles while visualizing information on-demand in real-time. When Rosetta detects changes in the structure of a protein, new coordinates are sent over a UDP network socket to a PyMOL instance running a UDP socket listener. PyMOL then interprets and displays the molecule. This implementation also allows remote execution of Rosetta. When combined with PyRosetta, this visualization solution provides an interactive environment for protein structure prediction and design.Entities:
Mesh:
Substances:
Year: 2011 PMID: 21857909 PMCID: PMC3156697 DOI: 10.1371/journal.pone.0021931
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Figure 1Rosetta-PyMOL network communication.
Rosetta transmits data through the PyMOL_Mover's UDP/IP socket client to an IP address. Dotted arrows represent network communication and diamonds represent composition (e.g. the PyMOL Observer contains a PyMOL Mover and an [owning pointer to a] Pose). The PyMOL Observer monitors changes in a Pose and uses the PyMOL Mover to transmit this information to PyMOL. The UDP/IP socket server running in PyMOL listens for network traffic and translates appropriate packets. Once the data is translated, PyMOL displays biomolecular structures.
Packet structure.
| Size | Description |
| (bytes) | |
| 16 | UUID of the sender |
| 4 | Unique packet id for this sender/packet |
| 4 | Sub-packet id |
| 4 | Total number of sub-packets |
| 8 | Type of packet (8 byte string) e.g.: “PDB.bz2”, “Ener.bz2”, “PDB.gzip”, or “Ene.gzip” |
| 1 | Flag indicating whether PyMOL should load the PDB into the current state or the next state |
| 1+N | Length of model name in bytes + name (N) |
| 1+N | Length of energy name in bytes + name (N) |
| X | Compressed packet data, a PDB file string or energy float array compressed with bz2 or gzip |
Figure 2Example PyMOL structure.
An example of the crystal structure in decoy test_in.pdb, available with Rosetta, as output by the PyMOL_Mover. The residues are colored based on their energy evaluation with the standard Rosetta score function ranging from red (high energy) to blue (low energy). One loop region scores noticeably higher than other residues in the protein.