playground

Übersicht: Python & Blender


Lernziel

a Atome und Moleküle -- spannender kann es mit 3D nicht sein. Moleküle und andere Verbindungen können erstellt und gezeigt werden. Ein Skript sollte die Schüler in die Lage versetzen, eigene Strukturen zu konstruieren.

Handlungsanweisungen

Aufgaben:
  1. Download: Blender-Datei mit PDB-Beispieldaten (zip-Format)
  2. Suchen Sie sich eines der vorhandenen Konstrukte.
  3. Erweitern Sie die Sammlung.
  4. Lassen Sie die Schüler vorgegebene Moleküle selbst zusammen bauen.
  5. Es soll ja auch Spass machen; wie wäre es also mit folgender Zusatzaufgabe für die ganz Schnellen:
/use-cases/chemestry/molecules/name-made-of-molecules.png

Wer nun noch klassiche Moleküle im Namen einbaut, bekommt eine Eins in Chemie!

Wichtiger Hinweis: Alle Dateien (Skripte, Aufgabenstellungen, Fensteranordnung und Erklärungen) sind in einer Blenderdatei gespeichert und mit dieser verknüpft. Ein Doppelklick auf die blend-Datei sollte also immer die gleiche Ausgangslage herstellen, solange die Veränderungen nicht durch speichern überschrieben werden.

Das PDB-Format

Als Eingangsgröße laden wir die Daten aus einer PDB-Datei. Der Aufbau einer PDB-Datei kann im Netz nachgeschlagen werden, z.B.:

oder hier die Kurzfassung zum Aufbau:

COLUMNS DATA TYPE CONTENTS
1 - 6 Record name "ATOM"
7 - 11 Integer Atom serial number.
13 - 16 Atom Atom name.
17 Character Alternate location indicator.
18 - 20 Residue name Residue name.
22 Character Chain identifier.
23 - 26 Integer Residue sequence number.
27 AChar Code for insertion of residues.
31 - 38 Real(8.3) Orthogonal coordinates for X in Angstroms.
39 - 46 Real(8.3) Orthogonal coordinates for Y in Angstroms.
47 - 54 Real(8.3) Orthogonal coordinates for Z in Angstroms.
55 - 60 Real(6.2) Occupancy.
61 - 66 Real(6.2) Temperature factor (Default = 0.0).
73 - 76 LString(4) Segment identifier, left-justified.
77 - 78 LString(2) Element symbol, right-justified.
79 - 80 LString(2) Charge on the atom.

Ausschnitt aus einer PDB-Datei:

         1         2         3         4         5         6         7         8
12345678901234567890123456789012345678901234567890123456789012345678901234567890
ATOM    145  N   VAL A  25      32.433  16.336  57.540  1.00 11.92      A1   N
ATOM    146  CA  VAL A  25      31.132  16.439  58.160  1.00 11.85      A1   C
ATOM    147  C   VAL A  25      30.447  15.105  58.363  1.00 12.34      A1   C
ATOM    148  O   VAL A  25      29.520  15.059  59.174  1.00 15.65      A1   O

Vereinfachte Dateistruktur für den Unterricht

Für die Darstellung verwenden wir nur die Koordinaten und den Atom-Typ. Das führt dann zu folgendem vereinfachten Dateiinhalt (Beispiel Wasser):

########## PDB-Struktur(vereinfacht) ##########
# H20 (Wasser, Water)
ATOM                            -0.544  -0.257  -0.228                       H
ATOM                             0.391   0.456   0.228                       H
ATOM                            -0.332   0.44   -0.016                       O

Wichtig für die Darstellung ist die Verwendung unterschiedlicher Durchmesser und Farben für die einzelnen Atom-Arten:

Atom Durchmesser Farbe
Wasserstoff 0,32 blau
Kohlenstoff 0,91 grün
Stickstoff 0,75 blau
Phospor 1,06 rot
Sauerstoff 0,73 rot
unbekanntes Atom 1,0 schwarz

Inhalt der Blenderdatei

/use-cases/chemestry/molecules/scripts.png
  • 01 Einleitung (Auflistung aller Möglichkeiten)
  • 02 PDB-Datenstruktur (mit Beispielen, wie es der Standard erfordert)
  • 03 Aufgaben
  • export_daten.py (wenn eigene Strukturen erstellt werden, die dazugehörigen Koordinaten speichern)
  • moleculeExample.py (Wasser, Teil einer DNA, Methanol ...)
  • neue_struktur.py (ein Muster von jedem Atom-Typ wird erzeugt)

Kommentare