Proteinstrukturen: Residuen in 3Dmol.js oder Mol* markieren
mmCIF-, BinaryCIF- oder PDB-Strukturen in Potato mit pLDDT-Färbung und einer Residuentabelle anzeigen und Bindestellen, Epitope oder Grenzflächenresiduen erfassen.
Neu in v2.12.0
Die Anzeige protein_structure zeigt eine makromolekulare Struktur im Browser, und Annotatoren wählen Residuen aus, indem sie sie in der 3D-Ansicht oder in einer Residuentabelle darunter anklicken. Ein Schema vom Typ viewer_selection speichert die Auswahl, etwa eine Bindestelle, ein Epitop, eine als ungeordnet beurteilte Region, Residuen an einer Grenzfläche oder Residuen, an denen ein vorhergesagtes Modell falsch aussieht. Andere Fragen zum Item, etwa eine Bewertung oder eine Notiz, kommen in gewöhnliche Schemata daneben.
Die Anzeige zeichnet eine Cartoon-Darstellung, zeigt Liganden als Sticks (einatomige Ionen als Kugeln) und zeichnet jedes ausgewählte Residuum als Sticks in der Farbe seines Labels. Sie kann den Cartoon nach der Modellkonfidenz (pLDDT) färben und neben der Struktur ein PAE-Bild anzeigen.
- Formate: mmCIF (
.cif,.mmcif), BinaryCIF (.bcif) und PDB (.pdb,.ent), jeweils optional mit gzip komprimiert. Planen Sie neue Projekte mit mmCIF: Ab dem 21.07.2027 erhalten neue Einträge der PDB zwölfstellige IDs und werden nur noch als mmCIF verteilt. Der Server liest BinaryCIF nur, wenn das Paketmsgpackinstalliert ist; ohne es ist die Residuentabelle nicht verfügbar, während die 3D-Ansicht weiterhin funktioniert. - Engines:
3dmol(der Standard) verwendet 3Dmol.js 2.5.5, das mit Potato ausgeliefert wird.molstarverwendet Mol* 5.12.0, das etwa 5 MB groß ist und mitpotato vendor fetch molstarinstalliert wird. Beide brauchen WebGL. - Ohne WebGL zeigt die 3D-Ansicht eine Meldung, und die Residuentabelle funktioniert weiterhin.
- Standardmäßig offline: Eine Struktur wird aus dem Medienverzeichnis gelesen. Eine URL, etwa eine Datei aus der AlphaFold DB oder von RCSB, wird nur geladen, wenn die Anzeige
allow_remote: truesetzt, und dann ruft der Browser des Annotators sie ab, nicht der Potato-Server.
Konfiguration
media_directory: media
data_files: [data/structures.json]
item_properties: {id_key: id, text_key: note}
instance_display:
fields:
- key: note
type: text
- key: structure # item field holding the file path
type: protein_structure
label: "Structure"
display_options:
engine: 3dmol
height: 440
plddt: true # colour by B-factor read as pLDDT
pae_field: pae # item field holding a PAE image
annotation_schemes:
- annotation_type: viewer_selection
name: binding_site
description: "Select the residues that form the binding site"
viewer_field: structure
labels: ["ligand contact", "interface"]
min_selections: 1
max_selections: 12
label_requirement:
required: true
- annotation_type: radio
name: site_confidence
description: "How clear is the site in this model?"
labels: ["Clear", "Plausible", "Unsupported"]Jedes Item nennt seine Strukturdatei relativ zu media_directory:
{"id": "model_1", "note": "...", "structure": "structures/model_1.cif", "pae": "structures/model_1_pae.png"}| Anzeigeoption | Standard | Bedeutung |
|---|---|---|
engine | 3dmol | 3dmol oder molstar |
height | 420 | Höhe der 3D-Ansicht in Pixeln oder als CSS-Länge |
format | aus der Dateiendung | cif, bcif oder pdb, für eine Datei, deren Name es nicht verrät |
color_by | chain | chain, spectrum (N- bis C-Terminus) oder secondary. Wird ignoriert, wenn plddt aktiv ist |
plddt | false | Färbt den Cartoon nach der B-Faktor-Spalte, gelesen als pLDDT, in den vier AlphaFold-Bändern. Als 0-1 geschriebene Werte werden skaliert |
pae_field | keiner | Ein Item-Feld mit einem Bild, etwa einem PAE-Plot, das neben der Struktur angezeigt wird |
show_ligands | true | Zeichnet HETATM-Gruppen außer Wasser |
residue_table | true | Zeigt die Residuentabelle an |
residue_table_limit | 3000 | Oberhalb dieser Zahl von Residuen wird die Tabelle durch einen Hinweis ersetzt, und Residuen werden in der 3D-Ansicht ausgewählt |
allow_remote | false | Lässt den Browser eine im Item genannte http(s)-URL laden |
Option von viewer_selection | Standard | Bedeutung |
|---|---|---|
viewer_field | erforderlich | Der Feldschlüssel des Viewers in instance_display |
labels | keiner | Namen für Auswahlen, als Strings oder {name, color}. Neue Auswahlen erhalten das aktuelle Label, und jede lässt sich umbenennen |
min_selections | keiner | Das Item ist unvollständig, bis so viele Residuen ausgewählt sind, wenn das Schema erforderlich ist |
max_selections | keiner | Weitere Auswahlen werden mit einer Meldung abgewiesen |
Strukturen vorbereiten
- Ein Modell pro Datei. Nur das erste Modell einer Datei mit mehreren Modellen wird gelesen; teilen Sie NMR-Ensembles oder Vorhersage-Batches daher in eine Datei pro Item auf.
- Vorhergesagte Modelle. AlphaFold, ColabFold und ähnliche Werkzeuge schreiben pLDDT in die B-Faktor-Spalte; setzen Sie daher
plddt: true, um danach zu färben. Mitengine: molstarliest die pLDDT-Färbung die Tabellema_qa_metric_local, die mmCIF-Dateien der AlphaFold DB enthalten. - Ketten und Nummern. Die gespeicherte Auswahl verwendet die Autorenfelder der Datei (
auth_asym_id,auth_seq_id), also die Nummerierung, die 3Dmol.js und Mol* anzeigen. Wenn Ihre Analyse die Nummerierunglabel_seq_idverwendet, bilden Sie sie nach dem Export ab. - Namensnennung. Vorhersagen der AlphaFold DB stehen unter CC-BY-4.0, daher muss eine Studie, die sie weitergibt oder daraus erstellte Abbildungen veröffentlicht, die Quelle nennen.
Die pLDDT-Bänder sind sehr hoch (über 90, dunkelblau), zuversichtlich (70 bis 90, hellblau), niedrig (50 bis 70, gelb) und sehr niedrig (50 oder darunter, orange). Unter der Ansicht wird eine Legende angezeigt, und jede Residuenschaltfläche in der Tabelle trägt ihr Band als farbigen Balken.
Residuen auswählen
Annotatoren wählen ein Label und klicken dann auf Residuen in der 3D-Ansicht oder in der Residuentabelle; ein erneuter Klick entfernt eines. Beim Überfahren mit der Maus in der 3D-Ansicht werden das Residuum und sein pLDDT angezeigt. Die Residuentabelle ist der Weg über die Tastatur: Tab wechselt zu einer Kette, die Pfeiltasten bewegen sich zwischen Residuen, Home und End springen an die Enden, und Space oder Enter schaltet das Residuum um. Die Liste unter der Frage zeigt jede Auswahl, mit einem Menü zum Ändern ihres Labels und einer Schaltfläche Remove. Auswahlen werden wiederhergestellt, wenn der Annotator zu einem Item zurückkehrt.
Gespeicherte Antwort
{"viewer": "protein_structure",
"items": [{"chain": "A", "resi": 8, "resn": "HIS", "label": "ligand contact"},
{"chain": "B", "resi": 3, "resn": "LYS", "label": "interface"}]}Ein Residuum mit einem Insertion Code ergänzt "icode": "A". Es gibt kein eigenes Exportformat für viewer_selection, daher ist dieses JSON der Wert des Schemas in den Exporten jsonl, csv und tsv. Potatos Übereinstimmungsmetriken vergleichen Labelnamen, nicht Residuenlisten; vergleichen Sie Annotatoren daher, indem Sie die Mengenüberlappung pro Item selbst berechnen, zum Beispiel Jaccard über Paare (chain, resi).
Eine Engine wählen
3Dmol.js (engine: 3dmol) | Mol* (engine: molstar) | |
|---|---|---|
| Installiert | Wird mit Potato ausgeliefert | potato vendor fetch molstar |
| Lizenz | BSD-3-Clause | MIT |
| Ausgewählte Residuen | Sticks in der Labelfarbe | Die Auswahlhervorhebung von Mol* |
| pLDDT-Färbung | Aus der B-Faktor-Spalte | Aus ma_qa_metric_local |
| Residuentabelle für eine entfernte URL | Aus dem geladenen Modell erstellt | Nicht verfügbar |
potato vendor fetch molstar lädt Mol* 5.12.0 herunter und prüft es vor der Installation gegen hinterlegte SHA-256-Hashes, und es wird nichts heruntergeladen, solange Sie den Befehl nicht ausführen. Eine Konfiguration mit engine: molstar scheitert bei potato validate und beim Serverstart, bis das Bundle installiert ist, und die Fehlermeldung nennt den Befehl.
Beispiel
python potato/flask_server.py start examples/advanced/protein-binding-site/config.yaml -p 8000Das Beispiel enthält zwei synthetische Modelle und eine Bindestellen-Aufgabe.
Weiterführende Informationen
- Genomloci - igv.js-Loci für die Variantenprüfung
- Instanzanzeige - Wie Anzeigefelder konfiguriert werden
- Annotation ohne Netzwerkverbindung - Potato offline betreiben
Implementierungsdetails finden Sie in der Quelldokumentation zu Proteinstrukturen und zur Strukturbiologie.