Network Graphs can be used to visualize relationships between member elements. We can, for instance, visualize interacting elements as nodes and their pairwise interactions as links (or vertices).
We are completely free to choose the interacting elements and how we want to model their relationship.
In the context of lipid-protein interactions, for example, nodes can be individual lipids, or groups of lipids, and we can visualize their interactions with protein residues by choosing appropriate links.
In the application below, we use such a tool to highlight lipid-protein interactions. We group lipids as described above and each group is represented by a node. These lipid nodes are surrounded by 20 residue nodes, 1 for each possible amino acid present in the corresponding protein (non-standard aminoacids are currently not supported). Each of the residue nodes can be clicked, which will trigger it to expand and reveal the individual residues present in the protein being shown.
Further features/details of the graph are highlighted here:
- You can click on the nodes and move them around.
- The size of lipid nodes corresponds to the ratio of that particular lipid group in simulated systems.
- The size of residue nodes corresponds to the relative content of each residue in the protein being shown.
- Hovering the mouse over individual nodes will lower the visibility of all other nodes and links except those that share a connection with it.
- The connections/links between nodes represent the metric selected from the dropdown menu and the size/width of the links relates to the magnitute. If there is no link between two nodes that means that there was no interaction between them (or that interactions was really, really small) so, for clarity, we toggle their transparency to hide them from view
- If a residue does not interact with any lipid at all (either because it is buried inside the protein core, or it is distantly placed from the membrane) then it is not shown in the graph. This is done because the information these residues would provide by their inclusion is also available by their absence. This also ensures that large proteins do not overcrowd the graph with too many nodes and overburden the browser.
- The movement of the individual nodes and links is done by integrating their positions using velocity Verlet and simulating physical forces on the lipid/protein nodes. As such, in extremely rare cases you may get an unexpected behaviour or observe the graph not as pliable as intended. If this happens, simply refresh the page.