Skip to content

Proteins (v1.19.0+)

Structure prediction, protein annotation and protein family pipelines publish a 3D model, the alignment behind it and per-residue facts (confidence, secondary structure, domains, variants). Eight advanced visualizations draw them, and they stay linked: pick a residue in any of them and every tile moves to it, point at a residue and every tile marks it. Each tile has its own entry, with its settings and a YAML example, on the Advanced visualizations page. This page covers what they share.

3D structure 3D structure 3D structure v1.19.0+

Sequence track Sequence track Sequence track v1.19.0+

Alignment Alignment Alignment v1.19.0+

HMM logo HMM logo HMM logo v1.19.0+

Ramachandran Ramachandran Ramachandran v1.19.0+

The nf-core proteinfamilies, proteinannotator and proteinfold templates are built on them, and sarek and oncoanalyser draw coding variants on a predicted structure.


The data

Every protein tile reads tables joined on two column names: entity (which protein) and position (the 1-based residue number in the structure's numbering). A tile shows one entity at a time: the one the filters name, else the reader's pick, else the first.

Input Shape Read by
Structure files indexed_file collection, format: pdb or mmcif, one file per entity, the sample id equal to the entity value. Predictors write pLDDT in the B-factor column 3D structure, Ramachandran
Residue table entity, position, optionally chain, residue, value, category 3D structure, Sequence track, Secondary structure, Predicted aligned error, Ramachandran
Variants entity, position, ref_aa, alt_aa, a consequence and a label 3D structure, Sequence track
Domains entity, start, end, label, optionally source Sequence track, Domain architecture
Alignment msa_id (the entity it aligns), seq_id, rank (0 is the query), aligned_sequence Alignment
PAE files indexed_file collection, format: pae: proteinfold TSV, AlphaFold DB or ColabFold JSON Predicted aligned error

The helpers in depictio/recipes/lib/ (protein_structure, msa, hmm, secondary_structure, pae) build these tables. See Recipes.


Linked by residue

Protein tiles linked by residue: one range is shown by every tile, a pick leaves the browser as a filter on the tables, a hover stays in it Protein tiles linked by residue: one range is shown by every tile, a pick leaves the browser as a filter on the tables, a hover stays in it

  • A pick is a filter. A click or brush emits a residue_selection: the entity, a position range and, on a complex, the chain. Every table with those columns narrows, and every protein tile shows the range. The last gesture wins.
  • A hover is not. Pointing at a residue marks it in every protein tile, in the browser only.
  • v1.19.1+ Zoom can follow. Turn on the sync icon of a tile, or a section's button, and the other residue tiles and the 3D model follow its zoom.
  • A lollipop joins with selection_enabled: true, a profile with residue_axis: true. Cards and figures that do not draw the position column ignore the range.

Where the structure comes from

The 3D model comes from a file of the run, or from the resolver: bucket cache, AlphaFold DB, UniProt, ESMFold The 3D model comes from a file of the run, or from the resolver: bucket cache, AlphaFold DB, UniProt, ESMFold

structure_source: file reads the run's own files and makes no outbound call. structure_source: resolve asks the server for a model by UniProt accession, by gene and taxon, or by sequence. The resolver is off until DEPICTIO_STRUCTURE_RESOLVER_ENABLED=true, and tries, first hit wins:

  1. its cache in the instance bucket;
  2. AlphaFold DB, by accession;
  3. UniProt, gene and taxon to an accession, then AlphaFold DB;
  4. ESMFold, for a sequence of at most 400 residues.

The tile credits the service it used. A pae_matrix has no resolver path. See External structure services for what leaves the server and the environment reference for the settings.

Numbering mismatch

A variant table and a model do not always number residues alike (a construct, an isoform, an off-by-one). A variant whose ref_aa disagrees with the model is listed under a numbering mismatch badge instead of being drawn on the wrong residue; one past the end of the model is counted under outside the model.