Zum Inhalt springen

AlphaFold 3

Dieses Tutorial führt Sie durch die vier Schritte, die Sie einmalig vor dem Ausführen von AlphaFold 3 auf dem Cluster erledigen müssen – Modul laden, Modellgewichte beschaffen, genetische Datenbanken herunterladen – und zeigt dann, wie Sie eine Vorhersage starten. Das Modul stellt ein schlankes alphafold3-Wrapper-Skript bereit, das den apptainer exec --rocm --bind ...-Aufruf kapselt; Sie geben Ihre Daten über Umgebungsvariablen an und nutzen die gleichen Flags wie bei run_alphafold.py im Original.

1. Modul laden

Der labs-test Modulbaum ist nicht standardmäßig im MODULEPATH. Fügen Sie ihn hinzu und laden Sie AlphaFold 3:

module use --append /cluster/labs/modulefiles-test
module load alphafold3/3.0.2-rocm

Fügen Sie die module use-Zeile zu Ihrer ~/.bashrc (oder Ihrem Slurm-Jobskript) hinzu, wenn Sie sie nicht in jeder Sitzung erneut eingeben möchten.

Nach dem Laden stehen Ihnen zur Verfügung:

  • alphafold3 — Wrapper, der run_alphafold.py im Container ausführt
  • alphafold3-shell — Interaktive Shell im Container
  • $ALPHAFOLD3_SIF — Absoluter Pfad zur SIF-Datei für eigene apptainer-Aufrufe

module help alphafold3/3.0.2-rocm fasst dies auch auf der Kommandozeile zusammen.

2. Modellparameter beschaffen

Die Modellgewichte dürfen nicht weiterverteilt werden. Fordern Sie sie über dieses Formular bei Google DeepMind an – der Zugang wird in der Regel innerhalb von 2–3 Werktagen gewährt.

Nach Erhalt des Download-Links entpacken Sie das Archiv auf Ihrem Gruppenlaufwerk oder Scratch und verweisen Sie den Wrapper darauf:

export ALPHAFOLD3_MODEL_DIR=/pfad/zu/alphafold3_model_parameters

Der Wrapper bindet dieses Verzeichnis im Container als /root/models ein.

3. Öffentliche Datenbanken herunterladen

AlphaFold 3 benötigt ca. 650 GB an Sequenz-/Strukturdatenbanken (BFD, MGnify, PDB, UniProt, UniRef90, NT, RFam, RNACentral). Der Container enthält fetch_databases.sh, das alle Datenbanken parallel herunterlädt und entpackt – etwa 45 Minuten bei schneller Verbindung.

Wählen Sie ein Verzeichnis mit ausreichend Speicherplatz (Gruppenlaufwerk oder Scratch – nicht Ihr Home), dann:

mkdir -p /pfad/zu/public_databases
apptainer exec "$ALPHAFOLD3_SIF" \
    /workspace/fetch_databases.sh /pfad/zu/public_databases

Führen Sie dies in tmux oder screen aus, damit ein Verbindungsabbruch den Download nicht abbricht. Nach Abschluss exportieren Sie den Pfad:

export ALPHAFOLD3_DB_DIR=/pfad/zu/public_databases

Wenn Sie eine schnelle SSD plus ein langsameres Fallback haben, geben Sie beide als Doppelpunkt-getrenntes Paar an – der Wrapper bindet sie als /root/public_databases und /root/public_databases_fallback ein:

export ALPHAFOLD3_DB_DIR=/ssd/af3_dbs:/lustre/af3_dbs

4. Vorhersage starten

Legen Sie Ihre Eingabe-JSON in ~/af_input/ ab (oder überschreiben Sie ALPHAFOLD3_INPUT_DIR). Ergebnisse landen in ~/af_output/ (oder ALPHAFOLD3_OUTPUT_DIR).

mkdir -p ~/af_input ~/af_output
cp my_fold.json ~/af_input/fold_input.json

alphafold3 \
    --json_path=/root/af_input/fold_input.json \
    --model_dir=/root/models \
    --output_dir=/root/af_output

Beachten Sie, dass die Pfade in den Flags container-interne Mountpoints (/root/...) sind, nicht Host-Pfade – diese werden durch das Bind-Layout des Wrappers festgelegt. Die Host-Verzeichnisse kommen von den oben gesetzten Umgebungsvariablen.

Spezifische GPU auswählen

ROCR_VISIBLE_DEVICES=1 alphafold3 ...

GPU-Zugriff prüfen

apptainer exec --rocm "$ALPHAFOLD3_SIF" rocm-smi

Alle run_alphafold.py-Flags auflisten

apptainer exec --pwd /workspace "$ALPHAFOLD3_SIF" python3 run_alphafold.py --help

Referenz

Die Originaldokumentation finden Sie im AlphaFold 3 GitHub-Repository – siehe README.md und docs/installation.md für die vollständige Flag-Referenz, das Eingabe-JSON-Schema und Hintergrundinfos.

Hinweis: Die Originalbefehle zielen auf NVIDIA-GPUs und Docker (docker run --gpus all alphafold3 python run_alphafold.py ...). Auf diesem Cluster ersetzen Sie diesen Aufruf durch alphafold3 ... nach module load alphafold3/3.0.2-rocm – der Wrapper übernimmt --rocm, den SIF-Pfad, das Arbeitsverzeichnis /workspace und alle benötigten Bind-Mounts. Die Flag-Argumente für run_alphafold.py bleiben unverändert.