Commit ·
0ba63b0
1
Parent(s): 9a4c158
Clarify binders vs entry context on the chain page
Browse filesCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
frontend/src/components/ui.tsx
CHANGED
|
@@ -71,7 +71,14 @@ export function FidelityBadge({ value }: { value: string | null | undefined }) {
|
|
| 71 |
export function LigandBadge({ status }: { status: string | null | undefined }) {
|
| 72 |
if (!status) return <span className="muted">—</span>;
|
| 73 |
return (
|
| 74 |
-
<span
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
<Swatch color={status === 'holo' ? 'var(--holo)' : 'var(--apo)'} shape="dot" />
|
| 76 |
{status === 'holo' ? 'Holo' : 'Apo'}
|
| 77 |
</span>
|
|
|
|
| 71 |
export function LigandBadge({ status }: { status: string | null | undefined }) {
|
| 72 |
if (!status) return <span className="muted">—</span>;
|
| 73 |
return (
|
| 74 |
+
<span
|
| 75 |
+
className="fid"
|
| 76 |
+
title={
|
| 77 |
+
status === 'holo'
|
| 78 |
+
? 'Holo: at least one small-molecule binder on this chain (DNA/RNA not counted)'
|
| 79 |
+
: 'Apo: no small-molecule binder on this chain (DNA/RNA not counted)'
|
| 80 |
+
}
|
| 81 |
+
>
|
| 82 |
<Swatch color={status === 'holo' ? 'var(--holo)' : 'var(--apo)'} shape="dot" />
|
| 83 |
{status === 'holo' ? 'Holo' : 'Apo'}
|
| 84 |
</span>
|
frontend/src/pages/ChainPage.tsx
CHANGED
|
@@ -352,13 +352,26 @@ export function ChainPage() {
|
|
| 352 |
pfamIds={c.pfam_ids}
|
| 353 |
/>
|
| 354 |
</Section>
|
| 355 |
-
<Section
|
|
|
|
|
|
|
|
|
|
| 356 |
<dl className="facts">
|
| 357 |
-
<Fact label="
|
| 358 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 359 |
</Fact>
|
| 360 |
-
<Fact label="Nucleic acid">{c.nucleic_acid_binding && c.nucleic_acid_binding !== 'None' ? c.nucleic_acid_binding : 'None'}</Fact>
|
| 361 |
-
<Fact label="Assembly">{capitalize(c.chain_composition)}</Fact>
|
| 362 |
</dl>
|
| 363 |
{c.binders.length > 0 ? (
|
| 364 |
<div className="binders">
|
|
|
|
| 352 |
pfamIds={c.pfam_ids}
|
| 353 |
/>
|
| 354 |
</Section>
|
| 355 |
+
<Section
|
| 356 |
+
title="Binders & context"
|
| 357 |
+
kicker="Binders are small molecules on this chain; nucleic acid and assembly describe the whole PDB entry."
|
| 358 |
+
>
|
| 359 |
<dl className="facts">
|
| 360 |
+
<Fact label="Small-molecule binders (this chain)">
|
| 361 |
+
{c.binders.length ? `${c.binders.length}` : 'None'}
|
| 362 |
+
</Fact>
|
| 363 |
+
<Fact label="Apo / holo" hint="Holo = at least one small-molecule binder on this chain; DNA/RNA are not counted">
|
| 364 |
+
<span className="fact-note">
|
| 365 |
+
<LigandBadge status={c.binding_status} />
|
| 366 |
+
<small className="muted">by small molecules only</small>
|
| 367 |
+
</span>
|
| 368 |
+
</Fact>
|
| 369 |
+
<Fact label="Nucleic acid in entry" hint="Non-protein polymer present anywhere in the PDB entry, not necessarily bound to this chain">
|
| 370 |
+
{c.nucleic_acid_binding && c.nucleic_acid_binding !== 'None' ? c.nucleic_acid_binding : 'None'}
|
| 371 |
+
</Fact>
|
| 372 |
+
<Fact label="Assembly (entry)" hint="Protein chain composition of the PDB entry">
|
| 373 |
+
{capitalize(c.chain_composition)}
|
| 374 |
</Fact>
|
|
|
|
|
|
|
| 375 |
</dl>
|
| 376 |
{c.binders.length > 0 ? (
|
| 377 |
<div className="binders">
|
frontend/src/styles/pages.css
CHANGED
|
@@ -1984,3 +1984,11 @@
|
|
| 1984 |
stroke-width: 3px;
|
| 1985 |
pointer-events: none;
|
| 1986 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1984 |
stroke-width: 3px;
|
| 1985 |
pointer-events: none;
|
| 1986 |
}
|
| 1987 |
+
|
| 1988 |
+
.fact-note {
|
| 1989 |
+
display: inline-flex;
|
| 1990 |
+
align-items: baseline;
|
| 1991 |
+
gap: 8px;
|
| 1992 |
+
flex-wrap: wrap;
|
| 1993 |
+
justify-content: flex-end;
|
| 1994 |
+
}
|