Skip to content
MBiotech.
Drybench Protein product page

Docs and methods

Drybench Protein.

How the protein app finds and lines up its data, what it lets you take away, how its code is checked and what it sends where.

Updated 5 October 2026 · v0.1.0

Methods

What the app shows, how it works and how it was built, in the words of its own write-up, followed by the parameter defaults and the data sources with their licences.

What it shows

Search UniProt by gene, protein name or accession. For the protein you pick, the page shows what UniProt records about its function and location, an experimental structure from the PDB beside the AlphaFold DB prediction, sequence tracks that line up domains, sites, modifications, structural coverage, prediction confidence and variants, and the drugs and clinical candidates that Open Targets lists against it.

Clicking a residue, domain or site on the tracks highlights it in both 3D views. The experimental view goes through the SIFTS residue mapping, so the same UniProt residue is found in the PDB chain even when the file numbers it differently, and the page says when a residue is not resolved in that entry.

How it works

Everything is fetched live from public APIs in your browser; nothing is stored on a server. UniProt REST supplies search and the entry; a single-word search also asks for an exact human gene-symbol match, because UniProt's own ranking can put TP53TG5 above TP53. PDBe's best_structures API lists every PDB chain mapped to the protein, but its coverage figures describe the construct, not what was modelled, so PDBe's UniPDB endpoint is used to find the residues each entry actually resolves. The default structure is the entry that resolves the most residues, weighted by resolution (full weight to 2 Å, half at 4 Å, less for coarser maps and NMR); the leading candidates are checked against SIFTS sequence identity, and one at 95% identity or less counts for half, so an entry of another isoform is rarely the default; its title is shown so mutants and complexes are visible. The chosen chain is also compared with the UniProt sequence residue by residue, and stretches with a different sequence, or residues the chain has no counterpart for, are not counted as resolved.

AlphaFold DB's prediction API returns the model, isoform models and sometimes models from other providers; the page takes the entry for the exact accession and uses the file URLs the API gives, so a new database version needs no code change. Models are built for the UniProt sequence of their release, so the model's sequence is lined up with today's UniProt sequence before any per-residue value is drawn, and the page says when they differ. pLDDT colours use AlphaFold DB's cut-offs (90, 70 and 50; a score exactly on a cut-off counts in the higher band), taken from each residue's score rather than from the file's category letters, which differ between model providers. pLDDT is a per-residue estimate of local confidence, and low-confidence stretches are often disordered; it says nothing about how domains sit relative to each other, which is what the predicted aligned error (PAE) measures. The page shows AlphaFold DB's PAE image on request but does not colour the 3D view by it.

The variants track starts with UniProt's curated natural variants. The EBI Proteins API's fuller list, with ClinVar and other clinical classifications where they exist, can be added on request, because that response is tens of megabytes for well-studied proteins; records known only from COSMIC, and Ensembl copies of them, are left out, because COSMIC needs a paid licence for use on commercial websites. Drugs come from the Open Targets Platform GraphQL API through the Ensembl gene id in the UniProt entry. Approval is read from each drug's own highest stage and withdrawals from Open Targets' drug warnings: a drug counts as withdrawn from the market only when the warning is worldwide or covers both the United States and the European Union, and narrower withdrawals are listed with their countries. A drug with a narrower withdrawal that names the United States, the European Union or the United Kingdom, and no approval record from a regulator or drug label in Open Targets, is shown as withdrawn in those countries rather than approved, and so is a drug withdrawn anywhere that has no approval record at all. An approval stage that rests only on a classification or naming list (a WHO ATC code, a TTD entry, or a USAN or INN name) is marked as such; salt forms are grouped under one ingredient.

How it was built

A Next.js page with one client component tree. Mol* 5.11 (the prebuilt viewer, MIT licence) loads from the site's own vendor folder only once a protein is chosen and a viewer is near the screen, and each viewer is driven by a MolViewSpec scene built from the fetched data: pLDDT bands become four colour selections, and the chosen PDB chain, other copies of the protein, other molecules and ligands each get a colour. The two viewers are created once and reused for every entry and protein, because each new Mol* viewer costs a WebGL context and memory. The page downloads each structure file itself, with a time limit and a second host, and gives Mol* a local copy, so a stalled file host ends in an error with a retry rather than a spinner. Entries over 150,000 atoms load just the chosen chain from the PDBe ModelServer until you ask for the whole entry.

The tracks are hand-written SVG with their own zoom, scrolling inside the panel and a keyboard cursor. Parsing, ranking, residue mapping, drug grouping and scene building are plain TypeScript modules with unit tests on Node's built-in test runner. Field names for every API were checked against live responses in September 2026, including the Open Targets 26.09 schema, where drug data moved from target.knownDrugs to target.drugAndClinicalCandidates.

Parameter defaults

Default PDB entry
The entry that resolves the most residues of the protein, weighted by resolution: full weight to 2 Å, half at 4 Å, less for coarser maps and NMR.
Sequence identity
A leading candidate at 95% SIFTS sequence identity or less counts for half.
pLDDT bands
AlphaFold DB's cut-offs of 90, 70 and 50; a score exactly on a cut-off counts in the higher band, read from each residue's score.
Large entries
Entries over 150,000 atoms load only the chosen chain until you ask for the whole entry.
Withdrawn from the market
Only when an Open Targets drug warning is worldwide, or covers both the United States and the European Union.

Data sources, licences and versions

Sources and licences

  • UniProtKB (UniProt REST API)CC BY 4.0

    Search, names, function and location text, sequence features and curated natural variants; the release is shown with the text

    The UniProt Consortium. UniProt: the Universal Protein Knowledgebase in 2025. Nucleic Acids Res 2025;53:D609-D617.

  • PDBe API, UniPDB and SIFTS mappingsCC0 1.0 (PDB data); EMBL-EBI terms

    PDB entries and chains mapped to the protein, residues each entry resolves, residue numbering, structure files

    Each PDB entry links to its PDBe page, which credits the depositors.

  • RCSB PDB Data API and model filesCC0 1.0

    Atom counts for very large entries; a second host for structure files

  • AlphaFold DBCC BY 4.0

    Predicted models, per-residue pLDDT and the PAE image

    AlphaFold Data Copyright (2022) DeepMind Technologies Limited. Jumper et al., Nature 2021 (PMID 34265844); Bertoni et al., Nucleic Acids Research 2026 (PMID 41273079), the paper AlphaFold DB asks users to cite. Models from other providers carry their own credit line on the page, for example Viro3D (Litvin et al., Mol Syst Biol 2025, PMID 40958060).

  • AlphaMissense (via AlphaFold DB)CC BY 4.0

    Optional track: mean predicted pathogenicity per residue

    AlphaMissense Copyright (2023) DeepMind Technologies Limited. Cheng et al., Science 2023 (PMID 37733863).

  • EBI Proteins API, variationEMBL-EBI terms; source terms apply

    Optional: further variants, with clinical classifications where they exist (UniProt, ClinVar, Ensembl, population studies)

    COSMIC-only records are excluded because COSMIC requires a commercial licence for public-facing websites. NCBI itself places no restrictions on ClinVar data (individual submitters may hold rights in their submissions).

  • Open Targets PlatformCC0 1.0

    Drugs and clinical candidates for the target, mechanisms, stages, indications and withdrawal warnings

    Buniello et al., Nucleic Acids Research 2025 (PMID 39657122). The data version is shown with the list. Drug identifiers and mechanisms originate from ChEMBL (CC BY-SA 3.0); Open Targets states that its sources have agreed to use of their data without restriction by Open Targets users.

  • Mol* 5.11.0MIT

    3D viewers, loaded from the site on demand

    Sehnal D et al. Mol* Viewer: modern web app for 3D visualization and analysis of large biomolecular structures. Nucleic Acids Res 2021;49:W431-W437.

Times on screen are local time with the UTC offset; times in exports are UTC. Dates with no time are shown at the precision the source gave them.

Exports

Today the app has no file export. What you can take away is the address: a link of the form ?id= followed by a UniProt accession reopens the same protein, and every panel names its source and, where the provider reports one, its release or data version, so a figure can be cited by hand.

Release gate: before the app leaves the preview, its exports and printed reports will carry the data versions, parameters, limits and a timestamp needed to reproduce a result, as the regulatory position says. This section will describe each format as it ships.

Verification

Each module below is a set of automated tests in the app's source code, with the expected results written into the tests. They check the app's logic against recorded inputs and stored reference records; none of them calls a live service.

src/components/tools/protein-explorer/uniprot.test.ts
Accession formats and isoform suffixes, search queries (including gene symbols shaped like accessions, such as P2RY12), the ranking of suggestions, curated variants and the reading of a UniProt entry.
src/components/tools/protein-explorer/structures.test.ts
PDBe best structures and UniPDB ranges, the resolution weighting, the default-entry ranking, SIFTS residue mapping, and recorded cases: the K-Ras4B stretch in 5TAR, an engineered point mutation, and 6GOD at exactly 95% identity.
src/components/tools/protein-explorer/alphafold.test.ts
Choosing the AlphaFold DB model, placing a model built for an older UniProt sequence (RAB12-, SLC3A2- and POLR2A-like cases), the pLDDT cut-offs, agreement with Google DeepMind's bands, and AlphaMissense averaging.
src/components/tools/protein-explorer/variants.test.ts
COSMIC-only records are dropped, clinical classes are ranked, variants are counted per residue and named in UniProt numbering (HBB residues 7 and 8 among the cases).
src/components/tools/protein-explorer/drugs.test.ts
Open Targets drug parsing: salt forms merged, stages ranked, approvals that rest only on an ATC code not counted (efaproxiral), and withdrawals by market (voxelotor, ketorolac, metamizole, troglitazone).
src/components/tools/protein-explorer/mvs.test.ts
The MolViewSpec scenes: one colour per pLDDT band, unresolved residues faded, the chosen chain highlighted, and local copies of structure files.

Release gate: before the app leaves the preview, each release will publish a verification dataset with expected outputs on this page, so you can run your own checks. None has been published yet.

Security overview

The app is a set of static files that runs in your browser, with no account and no server of ours in the data path. The privacy statement, the hosts it contacts and the headers its workspace is served with are generated from its registry entry, the same record that sets the browser's policy.

What leaves your browser

What leaves your device. Requests for Drybench Protein's own files (pages, scripts, data files and images) go to the host that serves it. That host keeps standard web-server logs (IP address, user agent, requested address, time). Anything in the address bar before the # (a search, a SMILES, an accession or a step) is sent to this site's host when a page loads or a link is opened; anything after the # is not sent. The identifiers you look up (search text, UniProt accessions, PDB ids and Ensembl gene ids) go directly from your browser to the public services in the table below, exactly as if you used their websites; they see those identifiers and your IP address, under their own terms. Nothing else leaves your device: the app carries no analytics and no error reporting, loads no font or script from any other origin, and there is no server of ours in the data path.

What never leaves your device. Anything you save in the app, your preferences, and anything you have not chosen to export or share. They live in this browser's storage on this device.

Where you choose to send data. A link you copy carries what you were looking at (the UniProt accession); anyone who receives it can read it, and mail and chat tools may fetch the link to show a preview. A file you export or share goes wherever you send it.

Hosts the app contacts

  • rest.uniprot.org

    Operator
    UniProt Consortium (EMBL-EBI, SIB and PIR)
    What for
    Search, and the protein's entry: names, function, location, sequence and features.
    What it receives
    your search text and UniProt accessions
    When
    on lookup
  • www.ebi.ac.uk

    Operator
    EMBL-EBI
    What for
    PDBe: the PDB entries mapped to the protein, the residues each one resolves, residue numbering and structure files. The EBI Proteins API: the full variant list, when you ask for it.
    What it receives
    UniProt accessions and PDB ids
    When
    on lookup
  • data.rcsb.org

    Operator
    RCSB PDB (United States)
    What for
    Atom counts, so that very large entries load one chain first.
    What it receives
    PDB ids
    When
    on lookup
  • models.rcsb.org

    Operator
    RCSB PDB (United States)
    What for
    A second source for structure files when PDBe does not answer.
    What it receives
    PDB ids
    When
    on lookup
  • alphafold.ebi.ac.uk

    Operator
    EMBL-EBI (AlphaFold DB)
    What for
    The predicted model, its per-residue confidence and PAE image, and AlphaMissense scores when you ask for them.
    What it receives
    UniProt accessions
    When
    on lookup
  • api.platform.opentargets.org

    Operator
    Open Targets
    What for
    Drugs and clinical candidates for the target, with mechanisms, stages, indications and warnings.
    What it receives
    the target's Ensembl gene id, or its UniProt accession when the entry gives no Ensembl id
    When
    on lookup

Headers the workspace is served with

These are the exact header values, generated from the app's registry entry.

Content-Security-Policy
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; worker-src 'self' blob:; connect-src 'self' https://rest.uniprot.org https://www.ebi.ac.uk https://data.rcsb.org https://models.rcsb.org https://alphafold.ebi.ac.uk https://api.platform.opentargets.org blob: data:; img-src 'self' data: blob: https://alphafold.ebi.ac.uk; style-src 'self' 'unsafe-inline'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'
Referrer-Policy
no-referrer
Permissions-Policy
camera=(), microphone=(), geolocation=(), payment=(), usb=()
X-Content-Type-Options
nosniff
Cross-Origin-Opener-Policy
same-origin

Limits

  1. 1. Not medical advice. Variant classifications are what UniProt, ClinVar or Ensembl report, not an assessment of anyone's variant. AlphaMissense scores are predictions that have not been validated for clinical use and can disagree with known disease variants.
  2. 2. The default PDB entry is picked by a simple rule (residues resolved, weighted by resolution). It may be a truncated construct, carry engineered mutations or lack the ligand you care about, so check its title and use the list to choose another.
  3. 3. The experimental view shows the deposited model, not necessarily the biological assembly. Entries over 150,000 atoms load only the chosen chain until you ask for the whole entry.
  4. 4. The predicted model is a single-chain prediction of the full UniProt sequence, signal peptides and propeptides included. It has no ligands, partners or modifications, low-pLDDT regions should not be read as real structure, and AlphaFold has not been validated for predicting the effect of mutations. PAE is shown only as AlphaFold DB's image.
  5. 5. AlphaFold DB covers sequences of 16 to 2,700 residues for reference proteomes and Swiss-Prot, so very long proteins such as titin have no model here. Where UniProt has changed a sequence since AlphaFold DB built its model, the model is lined up with the current sequence without gaps; if that is not possible, its per-residue values are not drawn. Isoforms are not supported: an isoform accession opens the canonical entry, with a note naming the isoform and links to it.
  6. 6. Drug data covers human targets only and lists molecules whose curated mechanism of action names the target. Stages are the highest Open Targets reports for any indication and region, not an approval for every indication shown, and not a forecast for any trial. Withdrawals come from Open Targets' drug warnings. One that is not worldwide and does not cover both the United States and the European Union is shown with its countries and does not by itself move a drug with a regulator's approval record out of Approved; other withdrawal reports are shown as reports for one product or indication.
  7. 7. All data is live. If a provider is slow or down, that panel says so and offers a retry; the rest of the page still works.

Next step

Want this tuned to your pipeline?

Email m.beale@me.com with what you need, or use the contact page.

Available from September 2026 for full-time roles and selected freelance projects.