Protein Contact Universe1.2.5
Dashboard
WorkbenchAPI

Documentation

/Overview
?to toggle

Overview

Protein Contact Universe is an interactive dashboard for exploring inter-residue contact networks derived from protein 3D structures. It combines a high-performance 3D molecular viewer with network graphs, data tables, and functional annotation panels, all coordinated in a single workspace.

Every widget on the dashboard is linked: selecting a residue in the 3D viewer highlights the corresponding node in the network graph, scrolls the contact table, and surfaces relevant annotations. This tight integration lets you move between macro-level structure and atomic-level detail without context-switching.

Interactive Tutorial

The interactive tutorial walks you through Protein Contact Universe's core features in seven short steps, from selecting a protein to exploring analysis layouts. Each step includes an animated preview so you can see what to expect before trying it yourself.

What the tutorial covers

  • How to search and select proteins from the selection panel.
  • Rearranging, resizing, and popping out widgets in the Dockview layout.
  • Adding new widgets from the widget palette.
  • Switching contact providers and filtering interaction types.
  • Applying preset analysis layouts from the dashboard menu.

Re-launch the tutorial

The tutorial is shown automatically the first time you visit the dashboard. You can restart it at any time using the button below or the Tutorial button in the navbar.

Dashboard

The dashboard uses a flexible panel layout. Panels can be resized by dragging their borders, rearranged by dragging their tab headers, and popped out into separate windows.

Panel layout

The default layout places the 3D viewer on the left, the contact table on the top-right, and the network graph on the bottom-right. You can customise this arrangement freely, and the layout persists for the duration of your session.

Dashboard Rails

The left selection panel contains protein selectors. The right widget palette can be collapsed to save space, and its widget order can be rearranged by holding the Alt key and dragging.

Viewer

The Viewer widget is powered by Mol*, a modern WebGL-based molecular visualization toolkit. It displays AlphaFold-predicted protein structures in 3D, coloured by pLDDT confidence score by default. You can rotate, zoom, and click on individual residues to explore the structure.

Navigation

  • Left-click + drag to rotate the camera.
  • Right-click + drag to translate (pan) the view.
  • Scroll wheel to zoom in and out.
  • Click a residue to select it and broadcast the selection to other widgets.

Confidence colouring

Residues are coloured on a gradient from blue (high confidence, pLDDT > 90) to red (low confidence, pLDDT < 50). This colouring can be toggled from the viewer settings menu in the panel header.

Contact Network

The Contact Network is a focused neighborhood view, not a full protein-wide contact graph. It anchors on the active contact from the Contacts Table, keeps the two anchor endpoints fixed, and shows first-order neighbors plus optional second-order context around that anchor. When no table contact is active, it can fall back to the selected allosteric pathway while that widget remains open.

View modes

Residue mode collapses all atom contacts between the same two residues into one residue-pair edge. Atom mode keeps the exact source atom, target atom, and interaction type.

Interaction types

  • Hydrogen bond: classical H-bonds between donor and acceptor groups.
  • Hydrophobic: non-polar contacts between aliphatic or aromatic side chains.
  • Ionic: salt bridges between oppositely charged residues.
  • Pi-stacking: parallel or T-shaped interactions between aromatic rings.

Filtering

The graph uses the same contact-type and text filters as the Contacts Table. In residue mode, the collapsed residue edge keeps the underlying atom-contact search text so table filters still map cleanly onto the focused graph.

Second-order context

Use the settings control to fade or hide second-order neighbors. Setting the slider to 0% hides second-order context entirely.

Contact Table

The contact table lists every detected contact with columns for the residue pair, distance, interaction type, and confidence score. Large datasets with tens of thousands of contacts scroll smoothly.

Sorting and searching

Click any column header to sort. Use the search box to filter contacts by residue name or number. Column visibility can be toggled from the settings menu.

Community Finder

Community Finder identifies groups of residues that are tightly connected through contacts. These communities can reveal functional domains, structural modules, or regions that move together.

What you're seeing

The widget shows a ranked list of communities with a colour swatch, residue count, and sequence coverage percentage. A horizontal sequence strip uses the same colours to mark which positions belong to each community, with unassigned positions shown in grey.

How it works

Atom-level contacts are collapsed to residue-level connections: if two residues share one or more atom contacts, they are linked by a single edge whose strength reflects the number of underlying atom contacts. Self-contacts within the same residue are excluded.

The resulting residue network is partitioned into communities using a modularity-based algorithm. Each residue starts in its own group, and the algorithm iteratively merges residues into the neighbouring group that maximises internal connectivity relative to what would be expected by chance. This repeats until no further improvement is found.

Communities are ranked by size. You can use the size filter (gear icon) to narrow the displayed range and focus on communities of a particular size. Clicking a community highlights its residues in the 3D viewer.

Allosteric Pathway

Allosteric Pathway finds candidate communication routes through the protein's residue contact network, specifically chains of interacting residues that could relay conformational signals between distant sites. It supports two modes: Auto (default) automatically identifies promising start/end pairs, and Manual lets you pick specific residues.

Modes

In Auto mode, the tool evaluates many possible start/end residue pairs and returns ranked candidates. This is the recommended starting point for exploration.

In Manual mode, you choose start and end residues using the sliders in the settings panel (gear icon). You can also adjust confidence thresholds and search parameters.

Reading the results

Results are organised into candidates, each representing a start/end residue pair with one or more paths between them. Expand a candidate to see its paths, then click a path to highlight the residues in the 3D viewer and contact network.

Below each path you will see colour-coded labels showing the secondary structure elements the path traverses: H for helices, E for sheets, and L for loops. Paths that cross multiple distinct structural elements are more likely to represent genuine inter-domain communication rather than trivial backbone walks.

Candidate scoring

Each candidate receives a composite score (0–1) built from three terms:

  • Path efficiency: how short the best paths are between this pair.
  • Endpoint strength: how well-connected the start and end residues are in the network.
  • Path diversity: whether multiple independent routes exist (preferred over a single route).

The score breakdown is shown when a candidate is expanded.

Settings

Open the settings panel (gear icon) to adjust search parameters. All settings take effect immediately.

  • Min pLDDT: exclude residues below this structural confidence threshold (default 50).
  • Max PAE (Å): penalise contacts with high predicted alignment error. Leave empty to disable.
  • Top paths: how many paths to return per candidate (default 3).
  • Max runs: search budget. Higher values explore more thoroughly but take longer (default 120).
  • Max path length: the longest path to consider, measured in residues (default 18, range 2-50).
  • Reject single-helix paths: discard paths that stay entirely within one helix, since these are structurally trivial. Enabled by default.
  • Helix penalty: how strongly to discourage the search from walking along a helix backbone. Higher values push paths toward cross-element routes. Set to 1.0x to disable (default 3.0x).

Use Reset to defaults at the bottom of the panel to restore all settings.

How it works

Atom-level contacts are collapsed to residue-level connections, keeping the closest atom distance for each residue pair. Residues with low structural confidence (pLDDT below the threshold) are excluded, and if PAE data is available, contacts with high predicted alignment error are penalised or removed.

The search then finds the shortest paths through the filtered residue network, returning multiple alternative routes between each start/end pair. Paths are ranked by total distance and confidence, favouring short, high-confidence connections.

To avoid reporting trivial backbone walks as allosteric pathways, the search assigns a penalty to contacts between residues that are close in sequence and within the same helix. Paths that remain entirely within a single helical segment can be automatically rejected. The widget reports how many paths were rejected this way.

Interaction Motifs

Interaction Motifs breaks down your protein's contacts by interaction type and identifies clusters of residues connected by each type. These clusters (motifs) can reveal functional interaction networks within the structure.

What you are seeing

Each card represents an interaction type (e.g. hydrogen bond, hydrophobic). It shows the number of residue-level edges, how many motifs were found, and how many residues are involved. Clickable motif chips let you highlight individual clusters in the 3D viewer. Interaction types with no contacts are automatically hidden.

How it works

Contacts are grouped by interaction type and filtered to the types you have enabled. Atom-level contacts between the same two residues are merged into a single residue-level edge.

For each interaction type, the widget finds connected clusters: groups of residues where every residue can be reached from every other through contacts of that type. Each such cluster is a motif. Motifs are ranked by size and the largest are displayed.

Functional Annotations

Functional Annotations lists known biological features for the selected protein from the UniProt database, such as active sites, binding sites, domains, post-translational modifications, and sequence variants.

What you are seeing

Each row shows a feature type, an optional description, and the sequence range it spans. A structure column indicates how many residues in the feature could be matched to the 3D structure, letting you know whether highlighting is available.

How it works

The widget retrieves the UniProt feature list for the selected protein and maps each feature's sequence positions to the AlphaFold structure. Features that span a range (e.g. a domain from residue 50 to 120) expand to cover every position in that range. Point features (e.g. a single modified residue) map to one position.

When you click a feature, the corresponding residues are highlighted in the 3D viewer. Some feature types, such as sequence variants and isoforms, describe sequence-level changes that cannot be mapped to structure residues and are shown without highlighting.

Secondary Structure Map

Secondary Structure Map shows how contacts are distributed across the three main secondary structure classes: helix, strand, and coil. This reveals whether contacts predominantly occur within the same structure type or bridge different ones.

What you are seeing

A 3×3 heatmap shows contact counts and percentages for every pair of secondary structure classes (e.g. helix–helix, helix–strand, etc.). A ranked list below summarises which pairings are most common.

How it works

Each residue is assigned a secondary structure class (helix, strand, or coil) based on DSSP annotation. Atom-level contacts are collapsed to residue pairs, and each pair is categorised by the structure classes of its two residues. The counts are tallied into a symmetric matrix and expressed as percentages of the total.

Surface vs Core

Surface vs Core classifies each residue as either surface (solvent-exposed) or core (buried) based on its solvent accessible surface area (SASA), then shows how contacts are distributed between these regions.

What you're seeing

A stacked bar and summary cards show the number of surface–surface, surface–core, and core–core contact pairs. Pairs where SASA data is unavailable are reported separately.

How it works

Per-atom solvent accessibility is computed from the 3D structure and summed for each residue. Residues with relative SASA above a threshold are classified as surface, and the rest are core.

Atom-level contacts are collapsed to residue pairs, and each pair is categorised by the surface/core classification of its two residues. This lets you see whether contacts in your protein predominantly occur within the core, at the surface, or bridging between the two.

Contact Order

Contact Order measures how far apart contacting residues are along the protein sequence. Proteins with high contact order tend to have more complex folds with long-range interactions, while low contact order indicates mostly local contacts.

What you're seeing

Three summary cards show the mean contact order (average sequence separation normalised by protein length), the median separation, and the long-range fraction (share of contacts above a distance threshold). A histogram below visualises the distribution of sequence separations.

How it works

For each pair of residues in contact, the sequence separation is the number of positions between them along the chain. Atom-level contacts are collapsed to unique residue pairs, and self-contacts are excluded. The mean separation divided by sequence length gives the contact order , a single number that captures the overall topological complexity of the contact network.

Confidence Graph

Confidence Graph shows how structural prediction confidence affects the contact network. It compares network statistics before and after filtering by pLDDT (per-residue confidence) and PAE (predicted alignment error between residue pairs).

What you are seeing

Summary cards report weighted degree (average contacts per residue, weighted by confidence), weighted density (how connected the network is overall), and the share of contacts retained after applying confidence thresholds. Delta values show how much each metric changes when low-confidence contacts are removed.

How it works

Each residue-level contact is assigned a confidence weight based on the pLDDT scores of the two residues involved, where higher confidence means a stronger weight. If PAE data is available, contacts between residues with high predicted alignment error receive a lower weight.

Contacts pass the confidence filter only when both residues meet the pLDDT threshold and their PAE is below the cutoff. You can adjust both thresholds using the settings gear. This lets you focus on the subset of contacts that are most likely to be structurally meaningful.

Hub & Bottleneck Residues

Hub & Bottleneck Residues identifies the most structurally influential positions in the contact network. Hub residues have many contacts; bottleneck residues sit on critical paths between different parts of the network.

What you are seeing

Each row shows a residue with three centrality measures, plus solvent accessibility (SASA) and prediction confidence (pLDDT). Click a row to focus the 3D viewer on that residue.

Centrality measures

  • Degree: the number of other residues this residue is in contact with. High-degree residues are hubs.
  • Betweenness: how often a residue lies on the shortest path between other residue pairs. High betweenness indicates a bottleneck or bridge position.
  • Closeness: how quickly a residue can reach all others through the contact network. High closeness means a central position.

How it works

Atom-level contacts are collapsed to residue pairs, filtered by your selected interaction types, and self-contacts are removed. Centrality is then computed on the resulting residue network. SASA and pLDDT values are added from the structure data. Residues with no contacts are omitted, and the table is sorted by betweenness (highest first).

Predicted Aligned Error (PAE)

The PAE widget displays AlphaFold's predicted aligned error matrix as an interactive heatmap. Each cell (i, j) represents how confidently the model predicts the relative position of residue j when the structure is aligned on residue i. Low values indicate high positional confidence, while high values indicate uncertainty. Regions of consistently low error often correspond to rigid structural domains, while high-error off-diagonal blocks suggest flexible interdomain relationships. The panel header lets you switch between several perceptually stronger colormaps.

Selecting a region

Click and drag on the heatmap to draw a rectangular selection. The selected area is highlighted in blue and defines which residue pairs are sent to the 3D viewer for visualisation.

  • Move: click inside the selection and drag to reposition it.
  • Resize: drag any edge or corner to adjust the selection boundaries.
  • Clear: click the × button in the top-right corner of the selection, or click outside it on the heatmap.

Summary statistics (max, p90, p95 error) for the selected region are shown in the top-right corner of the heatmap.

Visualising in the 3D viewer

When a selection is active, the Visualize toggle in the panel header controls whether error lines are drawn in the Mol* viewer. Each line connects a pair of C-alpha atoms and is coloured with the same colormap as the heatmap, so palette changes stay synchronized between the 2D and 3D views. This lets you see spatial patterns of confidence directly on the structure.

The opacity button (half-circle icon, to the right of Visualize) opens controls for the maximum line opacity and the opacity policy. The default Error-weighted mode fades high-error lines more aggressively while keeping low-error lines easy to read, and the Fade strength preset lets you tune how strongly that emphasis is applied. The colormap button beside it switches the shared heatmap and Mol* palette.

Choosing a colormap

The colormap selector changes both the heatmap and the Mol* error lines. Different palettes emphasize different parts of the range:

  • Greens: the default that is used by the AlphaFold database.
  • RWB: default diverging map with a neutral middle band. Useful when midrange values should stand apart from low and high values.
  • Inferno: high-contrast sequential map. Useful when line visibility in the 3D view is the main concern.
  • Cividis: lower-chroma sequential map with better color-vision robustness.
  • Viridis: sequential map with good separation across the full range.

Legend and range filter

The gradient bar below the heatmap doubles as an interactive range filter. Two triangular handles underneath the bar let you narrow the visible error range: drag a handle to move one boundary, or drag the bar between the handles to slide the entire range. Filtered-out regions turn white on both the legend and the heatmap. The Low and High labels beside the bar show the current boundary values in angstroms.

The filter operates on the raw matrix value at each cell, so the heatmap pixels that remain coloured are exactly the pairs eligible for 3D visualisation.

Controlling the number of lines

A large selection can contain millions of residue pairs. Drawing all of them would overwhelm both the viewer and your GPU, so the widget samples a representative subset. Several settings in the gear menu work together to determine which lines are drawn and how many.

  • Edge budget: a hard cap on the number of lines that can be drawn, regardless of other settings (default 75,000). The actual number may be lower depending on the edge usage and the active range filter.
  • Edge usage (%): controls what fraction of the edge budget is used. At 100% the full budget is consumed. At lower values the budget is reduced quadratically, so small adjustments near 0% have a large effect while adjustments near 100% are more subtle.

Sampling strategy

Rather than picking random pairs, the sampling algorithm divides the selected region into blocks and scores each block by how much error variation it contains and how many low-error pairs it holds. It then selects a representative edge from each block, one whose error is close to the block's median, with a slight bias toward lower errors. This ensures that the drawn lines faithfully represent the overall error landscape even when only a fraction of edges are shown.

Other settings

  • Low error threshold (Å): pairs below this value are treated as “high confidence” during sampling. The algorithm gives extra weight to blocks containing many such pairs, making them more likely to contribute lines (default 5 Å).
  • Favor edge: the PAE matrix is asymmetric because aligning on residue i then measuring j can differ from aligning on j and measuring i. This setting controls how the two values are combined into a single edge. Lower takes the smaller of the two (default) and Higher takes the larger.
  • Live range updates: when enabled, the heatmap and visualisation update continuously while you drag the range filter handles. Disable this on large matrices if dragging feels sluggish.
  • Rounded corners: toggles rounded corners on the heatmap canvas.
  • Downsample to 1024: for very large proteins the matrix can exceed typical screen resolution. This option caps the rendered canvas at 1024 × 1024 pixels, reducing GPU and memory usage with no loss of analytical precision (sampling and selection still operate on the full matrix).

Lahuta Python API

Lahuta powers the on-the-fly analysis in Protein Contact Universe. This docs overlay explains the Protein Contact Universe dashboard experience (widgets, viewer interactions, and workflow), while Lahuta docs cover the Python package itself.

Python package documentation (installation, API reference, and examples): docs.lahuta.dev.

Source repository: github.com/bisejdiu/lahuta.

Keyboard Shortcuts

ShortcutAction
Cmd/Ctrl + AToggle selection panel
Cmd/Ctrl + BToggle widget palette
Shift + SSwitch to Structure Evaluation layout
Shift + NSwitch to Contact Network layout
Shift + MSwitch to Mechanism Analysis layout
Shift + ESwitch to Empty Dashboard layout
?Toggle documentation overlay
EscapeClose documentation overlay

Report a bug or suggest an improvement

Severity