Maximum common substructure per PXR cluster

Clusters from pxr_diverse.csv (which lists one representative per cluster); full membership taken from pxr_viewer_table.csv. MCS computed with RDKit rdFMCS.FindMCS with ringMatchesRingOnly=True and completeRingsOnly=False. Complete-rings-only is deliberately off: these clusters pair a benzene with a saturated ring whose size varies between members, and demanding whole rings discards the entire fused system — cluster 1 collapses to bare benzene.

The MCS is drawn as the matching fragment of the cluster representative, so it depicts as a real structure rather than a SMARTS query. Where the MCS covers only part of a ring, those atoms draw as an open chain and are shaded blue — every cluster member has a ring there, the members just disagree on its size. The orange highlight shows the same MCS on the representative, in ring context. Exact queries are in the mcs_smarts column of pxr_cluster_mcs.csv.

The last column is the distribution of pairwise RMSD over the MCS atoms across every pair of cluster members (self-pairs excluded), measured on the crystallographic poses in aligned_ligands.sdf. Those poses are already in a common frame from superposing the proteins, so the cores are compared in place — nothing is re-superposed, and the value is how differently the shared core sits in the site, not how differently it is shaped. Every symmetry-equivalent mapping of the MCS is enumerated on both partners and the pair takes the best one. Individual pairs are plotted over each box, since n runs from 3 to 28. All ten box plots share the axis in this column header. Every value is in pxr_cluster_mcs_rmsd_pairs.csv.

Those RMSDs are then clustered into binding modes: complete linkage on the pairwise matrix, cut at 2 Å, so every pair inside a mode is within 2 Å of every other member rather than merely on average — the usual threshold for calling two poses the same. The matrix column shows each cluster's distances in dendrogram order on the shared colour scale, with the modes outlined; the diagonal is blank because self-comparisons are excluded throughout. The same split is carried back onto the box plot, where each pair is coloured by whether it falls inside one mode or across two — which is what the bimodal distributions turn out to be. Assignments are in pxr_cluster_binding_modes.csv.

The final column is the per-residue RMSF of the binding site across each cluster's crystal structures, from aligned_structures/. The residue set is fixed across all ten plots: a residue qualifies if any heavy atom comes within 5 Å of the ligand in at least 50% of the 45 clustered structures, and is kept only if present in all of them — giving the 18 residues labelled in this header, compared over the same heavy atoms everywhere. RMSF is the fluctuation about each cluster's own mean position; the structures already share a frame, so nothing is superposed. Only the chain named in the viewer table is read: PXR crystallizes as a dimer and only that copy was placed in the common frame. All ten bar plots share one y-scale (0–2.8 Å), and any residue above 1 Å (the dashed line) is named on its bar. Values are in pxr_cluster_pocket_rmsf.csv.

Tap any row to load that cluster's complexes — the page switches to the 3D & 2D structures tab as it loads, and the Table tab keeps its scroll position. There, drag the divider to trade width between the 2D grid on the left and the viewer on the right.

ClusterSizeCluster representative Pairwise MCS RMSD (Å)
2026-08-07T15:30:41.311483 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ same mode different mode
Binding modes
2026-08-07T15:30:41.317289 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
Binding-site RMSF (Å)
2026-08-07T15:30:41.325949 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
1 8
OCNT-2395345 — MCS highlighted · 17 atoms, 71% of the average member
CC=CCC(=O)N(CCC)c1ccccc1C
2026-08-07T15:30:41.056685 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 2.27 Å · 0.52–3.59 Å · 28 pairs (7 same-mode)
2026-08-07T15:30:41.064312 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
4 binding modes · largest 4/8
2026-08-07T15:30:41.083610 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.73 Å · peak H407 1.82 Å
2 7
OCNT-2316194 — MCS highlighted · 8 atoms, 37% of the average member
CCC(=O)N(C)CC
2026-08-07T15:30:41.095478 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 1.21 Å · 0.30–3.37 Å · 21 pairs (15 same-mode)
2026-08-07T15:30:41.101430 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
2 binding modes · largest 6/7
2026-08-07T15:30:41.110615 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.65 Å · peak H407 1.65 Å
3 5
OCNT-2395728 — MCS highlighted · 21 atoms, 87% of the average member
C=CC=CS(=O)(=O)NCC(O)c1cccc2ccccc12
2026-08-07T15:30:41.119962 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 6.20 Å · 0.79–6.68 Å · 10 pairs (2 same-mode)
2026-08-07T15:30:41.125115 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
3 binding modes · largest 2/5
2026-08-07T15:30:41.133568 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.63 Å · peak L209 1.71 Å
4 5
OCNT-2308748 — MCS highlighted · 12 atoms, 48% of the average member
CC=NCN1CCN(C=O)CC1
2026-08-07T15:30:41.142754 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 3.45 Å · 1.23–6.16 Å · 10 pairs (3 same-mode)
2026-08-07T15:30:41.147878 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
3 binding modes · largest 3/5
2026-08-07T15:30:41.157336 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.93 Å · peak L209 2.18 Å
5 4
OCNT-2318616 — MCS highlighted · 21 atoms, 74% of the average member
O=C(NCCS(=O)(=O)Nc1ccccc1)Nc1cc[nH]n1
2026-08-07T15:30:41.166473 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 0.94 Å · 0.40–1.29 Å · 6 pairs (6 same-mode)
2026-08-07T15:30:41.171417 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
1 binding mode · largest 4/4
2026-08-07T15:30:41.180318 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.41 Å · peak M323 0.97 Å
6 4
OCNT-2316690 — MCS highlighted · 19 atoms, 83% of the average member
Cc1cc(C(C)(C)C)cc(C)c1CS(=O)(=O)CC=N
2026-08-07T15:30:41.188294 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 0.68 Å · 0.35–0.98 Å · 6 pairs (6 same-mode)
2026-08-07T15:30:41.193055 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
1 binding mode · largest 4/4
2026-08-07T15:30:41.201878 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.68 Å · peak H407 1.67 Å
7 3
OCNT-2315950 — MCS highlighted · 22 atoms, 92% of the average member
CCN(C(=O)c1c2ccc(Br)cc2nn1C)c1ccccc1
2026-08-07T15:30:41.210726 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 4.61 Å · 0.34–4.62 Å · 3 pairs (1 same-mode)
2026-08-07T15:30:41.215341 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
2 binding modes · largest 2/3
2026-08-07T15:30:41.223965 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.71 Å · peak H407 1.94 Å
8 3
OCNT-2395537 — MCS highlighted · 19 atoms, 75% of the average member
CC(=N)NC(=O)NC1(c2c(F)cccc2F)CCC1
2026-08-07T15:30:41.232627 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 7.53 Å · 1.76–7.80 Å · 3 pairs (1 same-mode)
2026-08-07T15:30:41.237333 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
2 binding modes · largest 2/3
2026-08-07T15:30:41.264193 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.51 Å · peak H407 1.73 Å
9 3
OCNT-2395780 — MCS highlighted · 28 atoms, 92% of the average member
CCC1CN(C(=O)c2cc(-c3cccc(C(F)(F)F)c3)nc3onc(C)c23)C1
2026-08-07T15:30:41.272502 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 0.76 Å · 0.71–0.78 Å · 3 pairs (3 same-mode)
2026-08-07T15:30:41.276898 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
1 binding mode · largest 3/3
2026-08-07T15:30:41.284899 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.25 Å · peak Y306 0.65 Å
10 3
OCNT-2318048 — MCS highlighted · 15 atoms, 70% of the average member
C=CNS(=O)(=O)c1cnn(C2CCC2)c1
2026-08-07T15:30:41.292267 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
median 4.74 Å · 1.54–4.90 Å · 3 pairs (1 same-mode)
2026-08-07T15:30:41.296713 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
2 binding modes · largest 2/3
2026-08-07T15:30:41.304952 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/
mean 0.77 Å · peak H407 1.60 Å
3D complexes — select a cluster
2D structures, aligned on the MCS — tap to show or hide
Tap a row on the Table tab to load that cluster's complexes.