Commit ·
6d84fd1
1
Parent(s): 92129bf
Functions: only show strings longer than 10 chars; remove chain composition from UI
Browse files- get_functions filters out annotations <= 10 chars.
- Remove Chain Composition from chain metadata block and the
alternative observations table (binding status retained; DB column,
backend field and docs unchanged).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
backend/app/protein/tsv_loader.py
CHANGED
|
@@ -198,7 +198,7 @@ def get_functions(pdb_id: str, auth_asym_id: str) -> Optional[List[str]]:
|
|
| 198 |
row = get_node_row(pdb_id, auth_asym_id)
|
| 199 |
if row is None:
|
| 200 |
return None
|
| 201 |
-
return _parse_functions(row["ranked_functions"])
|
| 202 |
|
| 203 |
|
| 204 |
def get_state_id(pdb_id: str, auth_asym_id: str) -> Optional[str]:
|
|
|
|
| 198 |
row = get_node_row(pdb_id, auth_asym_id)
|
| 199 |
if row is None:
|
| 200 |
return None
|
| 201 |
+
return [f for f in _parse_functions(row["ranked_functions"]) if len(f) > 10]
|
| 202 |
|
| 203 |
|
| 204 |
def get_state_id(pdb_id: str, auth_asym_id: str) -> Optional[str]:
|
frontend/src/components/datasets/protein/ChainBasicInfoCards.tsx
CHANGED
|
@@ -107,11 +107,6 @@ const ChainBasicInfoCards: React.FC<ChainBasicInfoCardsProps> = ({ metadata, isL
|
|
| 107 |
<div className="text-sm font-semibold text-slate-900 capitalize">{metadata?.binding_status || '—'}</div>
|
| 108 |
</div>
|
| 109 |
|
| 110 |
-
<div className="break-inside-avoid mb-3" style={{ breakInside: 'avoid' }}>
|
| 111 |
-
<div className="text-xs font-medium text-slate-500 uppercase tracking-wider mb-1">Chain Composition</div>
|
| 112 |
-
<div className="text-sm font-semibold text-slate-900 capitalize">{metadata?.chain_composition || '—'}</div>
|
| 113 |
-
</div>
|
| 114 |
-
|
| 115 |
<div className="break-inside-avoid mb-3" style={{ breakInside: 'avoid' }}>
|
| 116 |
<div className="text-xs font-medium text-slate-500 uppercase tracking-wider mb-1">CATH ID</div>
|
| 117 |
<div className="text-sm font-semibold text-slate-900 font-mono">{metadata?.cath_id || 'uncategorized'}</div>
|
|
|
|
| 107 |
<div className="text-sm font-semibold text-slate-900 capitalize">{metadata?.binding_status || '—'}</div>
|
| 108 |
</div>
|
| 109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
<div className="break-inside-avoid mb-3" style={{ breakInside: 'avoid' }}>
|
| 111 |
<div className="text-xs font-medium text-slate-500 uppercase tracking-wider mb-1">CATH ID</div>
|
| 112 |
<div className="text-sm font-semibold text-slate-900 font-mono">{metadata?.cath_id || 'uncategorized'}</div>
|
frontend/src/components/datasets/protein/DataTable.tsx
CHANGED
|
@@ -105,9 +105,6 @@ export const DataTable: React.FC<DataTableProps> = ({ data, loading, total, filt
|
|
| 105 |
<th onClick={() => handleSort('binding_status')}>
|
| 106 |
Binding status {getSortIcon('binding_status')}
|
| 107 |
</th>
|
| 108 |
-
<th onClick={() => handleSort('chain_composition')}>
|
| 109 |
-
Chain composition {getSortIcon('chain_composition')}
|
| 110 |
-
</th>
|
| 111 |
<th onClick={() => handleSort('delta_rosetta')}>
|
| 112 |
ΔRosetta {getSortIcon('delta_rosetta')}
|
| 113 |
</th>
|
|
@@ -163,9 +160,6 @@ export const DataTable: React.FC<DataTableProps> = ({ data, loading, total, filt
|
|
| 163 |
<td className="capitalize">
|
| 164 |
{record.binding_status || <span className="placeholder">—</span>}
|
| 165 |
</td>
|
| 166 |
-
<td className="capitalize">
|
| 167 |
-
{record.chain_composition || <span className="placeholder">—</span>}
|
| 168 |
-
</td>
|
| 169 |
{(['delta_rosetta', 'delta_foldx', 'delta_evoef2', 'delta_rw', 'delta_rw_plus'] as const).map(field => {
|
| 170 |
const val = record[field];
|
| 171 |
return (
|
|
|
|
| 105 |
<th onClick={() => handleSort('binding_status')}>
|
| 106 |
Binding status {getSortIcon('binding_status')}
|
| 107 |
</th>
|
|
|
|
|
|
|
|
|
|
| 108 |
<th onClick={() => handleSort('delta_rosetta')}>
|
| 109 |
ΔRosetta {getSortIcon('delta_rosetta')}
|
| 110 |
</th>
|
|
|
|
| 160 |
<td className="capitalize">
|
| 161 |
{record.binding_status || <span className="placeholder">—</span>}
|
| 162 |
</td>
|
|
|
|
|
|
|
|
|
|
| 163 |
{(['delta_rosetta', 'delta_foldx', 'delta_evoef2', 'delta_rw', 'delta_rw_plus'] as const).map(field => {
|
| 164 |
const val = record[field];
|
| 165 |
return (
|