Local-first · US-align powered

See where the
assembly moves.

Two structures become an auditable chain map, contact-change view, motion decomposition, spatial difference patches, and publication-ready card. Different lengths stay visible.

1 transformfor the whole assembly
0 uploadsfor your private structures
10+ exportsfrom one comparison

15-second walkthrough

The whole result,
before you install.

Rotation, mapping, displacement, unmatched chains, exports, and the local command—captured from the same deterministic example data used below.

15-second walkthrough of the StructDiff Card result
15.0 s · 2HHB → 1HHO · generated from committed outputs

Complete precomputed example

2HHB T state → 1HHO R state

This intentionally compares a four-chain coordinate model with a two-chain asymmetric unit. The unmatched-chain warning is part of the scientific result, not an error to hide.

TM-score · reference
Global RMSD
Aligned / reference
Mapped chains
reference ghost aligned residual · 0 → ≥5 Å unmatched chains difference vectors

Blue is near, red is far · yellow spokes show direction above the adaptive threshold · drag to rotate

Difference localization

Where does the fit diverge?

Nearby high-residual residues are grouped into coherent regions and expanded by two residues for context. These are global-fit disagreements, not automatic claims of flexibility.

Median residual
90th percentile
Largest residual
Above threshold
near · 0 Åfar · ≥5 Å
#Chain mapMobile regionReference regionMeanPeak

Structural explanation

What changed, and how?

Three complementary views distinguish contact rewiring, whole-chain motion, and spatially connected difference patches. They remain diagnostics of the selected correspondence—not automatic mechanistic claims.

01

Gained / lost contacts

8 Å representative-atom contacts with a 1 Å transition margin.

Gained
Lost
Inter-chain
gained in mobilelost from mobile
02

Rigid-body vs internal

A diagnostic chain-local refit separates pose disagreement from remaining deformation.

ChainRigidInternalPattern
03

3D spatial difference patches

High-residual residues within 10 Å are grouped even when they are distant in sequence or cross a chain interface. P labels mark multi-residue patches in the viewer.

PatchMembersChain(s)MeanPeakSpatial radius

Coverage audit

Gaps and unmatched chains remain first-class.

matchedonly mobileonly reference

Method

Correspondence before distance.

Kabsch is not the missing piece when residue counts differ. Correspondence is. StructDiff Card delegates structural alignment and chain assignment to US-align, then makes the consequences inspectable.

  1. 01Parse

    Preserve chain IDs and coordinate residue IDs from PDB/mmCIF.

  2. 02Align

    Run monomer or multi-chain US-align with one global transform.

  3. 03Audit

    Expose chain pairs, unmatched chains, gaps, coverage, and provenance.

  4. 04Explain

    Localize residuals, contact changes, chain motion, and 3D patches.

Scope, honestly stated.

Alignment anchors are polymer representative atoms (protein Cα; nucleic-acid C3′). Ligands can move with the global transform but are not treated as equivalent correspondence anchors. Symmetric assemblies can have multiple valid mappings—inspect the table.

Private by default

Run locally in one command.

Your unpublished models stay on your machine. No GPU, API key, or author-operated server is required.

Terminal
docker run --rm -p 8501:8501 ghcr.io/jwliaomath/structdiff-card:latest

Then open http://localhost:8501