The EpitopeViewer is implemented as a web browser-based Java application started using Java Web Start. Launching of the EpitopeViewer requires Java Runtime Environment 1.4.2 or higher be installed on the user PC. The software components necessary for the tool are downloaded and installed on the user PC automatically during the process of the viewer launching with the user's permission. All software components are freely available. As stated above, the EpitopeViewer is based on the Molecular Biology Toolkit [19], a set of foundation Java classes for visualizing a variety of biological data. The EpitopeViewer and MBT are written in Java and use JOGL (Java binding for OpenGL [22]). Even for the largest structure in the PDB [PDB:1HTQ] with 97,872 atoms, MBT loads in about a minute, requires about 350 MB of RAM, and is capable of rendering 0.5–6 frames per second (video card dependent). For an average structure in the PDB [e.g., PDB:1ATP], MBT requires about 60 MB of RAM, and renders approximately 20–120 frames per second (video card dependent). The MBT code works correctly with about 90% of current video cards tested.
The EpitopeViewer uses as input both PDB data in XML format and XML-files with curated data generated from the IEDB. The current version (1.0) of the tool has a control panel on the right hand side and four view windows: a 3D structure window; a tree window (window showing a hierarchical view of antigen and antibody on the right control panel); a sequence window ("Full Sequences" window in Fig. 1); and a contact window ("Antigen-Antibody Contacts" window in Fig. 2).
The 3D structure window provides a renderable view of the structure of the immunological complex (Fig. 1), epitope and immune receptor residues interacting with epitope in an all-atom representation (Fig. 2) or contacts between epitope and receptor and their specific atomic interactions (Fig. 3). By default the EpitopeViewer draws protein chains of the antigen and receptor(s) as solid ribbons with each protein chain plotted in a different color. Epitope residues are colored in blue and immune receptor residues interacting with the epitope in yellow. Epitope residues which are not amino acids are plotted in all-atom representation by default. The 3D structure view can be saved in a variety of graphics formats using the "Save 3D Image" button on the right control panel of the viewer.
The tree window provides a hierarchical view of the components of a given molecule: chains, Complementarity-Determining Regions (CDRs ; where curated) and residues. The tree window allows the user to select particular components for further manipulation (e.g., labeling, coloring) and analysis of interactions.
The sequence window displays the primary sequences of the antigen and receptor protein chains. For antigens other than proteins (carbohydrates, DNA/RNA, etc.) the residue names are not displayed but rather marked by asterisks.
The contact window provides a 2D plot of interactions between epitope and receptor residues. Contacts are not shown by default; they are displayed using the control panel options by selecting particular type(s) of contacts for visualization (antigen, receptor or their particular chains, CDR(s) or residues) in the tree window. Selection can also be done in the 3D structure or sequence window by clicking on appropriate residues.
Color coding is preserved between all windows. The default colors for the epitope, antigen, immune receptor interacting residues and receptor chains have been chosen to satisfy color-blind users using the Vischeck software [23].
Curated data from the IEDB on immune receptor residues interacting with the epitope (labeled as paratope for antibodies) are displayed by default. In cases where the IEDB does not provide such curated information, the receptor residues interacting with the epitope are calculated by the EpitopeViewer based on salt bridges, van der Waals and hydrophobic inter-atom interactions. These interactions between epitope and immune receptor are calculated by the viewer on-the-fly and provided for both curated and calculated receptor residues interacting with the epitope. Salt bridges (or ion pairs) are identified for the charged side-chain atoms of Asp, Glu, Arg, Lys and His amino acids. It is assumed that negatively charged side-chain atoms of amino acids Asp (atoms OD2, OD1), Glu (atoms OE2, OE1) are capable of forming salt bridges with positively charged side-chain atoms of amino acids Arg (atoms NH1, NH2), Lys (atom NZ), and His (atom ND1, NE2) within a 4Å distance [24]. To determine van der Waals contact between two atoms, we use a distance cutoff equal to the sum of two atomic radii plus 0.5Å. For amino acids we use van der Waals radii as defined in the program NACCESS [25], for other atoms van der Waals radii were taken from Bondi [26]. In deriving hydrophobic interactions we assume that two atoms are involved in hydrophobic interaction if they are separated from each other by a distance ≤ 5.0 Å and belong to the main chain of any amino acid or side chain of hydrophobic amino acids (Ala, Val, Pro, Phe, Met, Leu, Ile, Trp, Tyr, Cys).
A user tutorial (web page in html-format) and help page (plain text in pop-up window) are included with the EpitopeViewer.