AlphaFold 3

Bevezetés

Az AlphaFold a DeepMind által fejlesztett mesterséges intelligencia alapú szerkezetpredikciós rendszer, amely fehérjék, nukleinsavak, ligandumok és ezen komplexek háromdimenziós szerkezetét képes előrejelezni.

Ebben a példában a PDB adatbázisban megtalálható 2V0X szerkezetet használjuk referenciaként. A cél annak bemutatása, hogyan készíthető bemeneti fájl, hogyan indítható számítás, illetve hogyan értékelhető a kapott eredmény.

A referencia szerkezet

A 2V0X szerkezet a LAP2α fehérje dimerizációs doménjét tartalmazza. A szerkezetet röntgendiffrakcióval határozták meg 2,2 Å felbontásban, és a természetes biológiai egység homodimer. A szerkezet két láncot (A és B) tartalmaz.

_images/lap2alpha_sim_pdb.png

A szerkezet főbb jellemzői:

PDB azonosító

2V0X

Organizmus

Mus musculus

Módszer

Röntgendiffrakció

Felbontás

2.20 Å

Biológiai forma

homodimer

Workflow áttekintés

A predikciós folyamat négy fő lépésből áll:

  1. A fehérjeszekvencia kinyerése

  2. AlphaFold 3 JSON létrehozása

  3. Predikció futtatása

  4. Az eredmények összehasonlítása a kísérleti szerkezettel

Szekvencia előkészítése

Az AlphaFold 3 elsődleges bemenete a vizsgált biomolekula szekvenciája. Fehérjék esetében ez az aminosav-szekvencia, DNS vagy RNS esetében pedig a nukleotidszekvencia.

Ha a vizsgált fehérjéhez már rendelkezésre áll kísérletileg meghatározott szerkezet (pl. röntgendiffrakciós, NMR vagy cryo-EM adat), akkor a szekvencia egyszerűen kinyerhető a Protein Data Bank (PDB) adatbázisból. A PDB rekordok általában tartalmazzák az egyes láncok FASTA formátumú szekvenciáit is, amelyek közvetlenül felhasználhatók AlphaFold 3 inputként.

Például a 2V0X szerkezet esetében a láncok FASTA szekvenciája letölthető a PDB vagy PDBe felületéről, majd beilleszthető a JSON bemeneti fájlba.

Amennyiben nem áll rendelkezésre kísérleti szerkezet, a szekvencia több különböző forrásból is származhat:

  • UniProt adatbázisban található fehérjerekordból;

  • genom- vagy transzkriptom-annotációból;

  • génszekvencia firdításból;

  • irodalomban közölt szekvenciából;

  • laboratóriumban meghatározott új fehérjeszekvenciából.

Ebben az esetben az AlphaFold 3 predikciója gyakran az első rendelkezésre álló szerkezeti modell lesz az adott fehérjére.

Fontos megjegyezni, hogy az AlphaFold működéséhez önmagában nincs szükség kísérleti szerkezetre. A program elsősorban a megadott szekvencia alapján, evolúciós információkat és neurális hálózati modelleket felhasználva jészíti el a térszerkezeti előrejelzést. Ez teszi lehetővé olyan fehérjék modellezését is, amelyekhez korábban semmilyen szerkezeti információ nem állt rendelkezésre.

A jelen példában a 2V0X fehérjét használjuk demonstrációs célra. Mivel ehhez a fehérjéhez ismert kísérleti szerkezet tartozik, a predikció eredménye közvetlenül összehasonlítható a referencia szerkezettel, így az AlphaFold 3 teljesítménye objektíven értékelhető.

FASTA szekvencia letöltése a PDB adatbázisból

  1. Nyissuk meg a 2V0X rekordot a PDB felületén (https://www.rcsb.org/structure/2V0X).

  2. Válasszuk a “Download Files” menüt.

  3. Töltsük le a FASTA szekvenciát.

  4. Másoljuk a kívánt lánc aminosav-szekvenciáját az AlphaFold 3 JSON input fájl megfelelő mezőjébe.

A FASTA formátum például az alábbi szerkezetet követi (rcsb_pdb_2V0X.fasta):

>2V0X_1|Chains A, B|LAMINA-ASSOCIATED POLYPEPTIDE 2 ISOFORMS ALPHA/ZETA|MUS MUSCULUS (10090)
AKSVVSHSLTTLGVEVSKPPPQHDKIEASEPSFPLHESILKVVEEEWQQIDRQLPSVACRYPVSSIEAARILSVPKVDDEILGFISEATPAAATQASSTESCDKHLDLALCRSYEAAASALQIAAHTAFVAKSLQADISQAAQIINSDPSDAQQALRILNRTYDAASYLCDAAFDEVRMSACAMGSSTMGRRYLWLKDCKISPASKNKLTVAPFKGGTLFGGEVHKVIKKRGNKQ

Input JSON fájl létrehozása

Az AlphaFold 3 a predikciók futtatásához JSON formátumú bemeneti fájlt használ. A fájl tartalmazza a vizsgálandó biomolekula(ák) szekvenciáját, a futtatás nevét, valamint a modell konfigurációjához szükséges alapvető paramétereekt.

A jelen példában a 2V0X szerkezet egyik láncának predikcióját mutatjuk be.

A bemeneti JSON fájl (lap2alpha_dim.json) szerkezete a következő:

{
"name": "2V0X_dimer",
"modelSeeds": [1],
"sequences": [
    {
    "protein": {
        "id": ["A","B"],
        "sequence": "AKSVVSHSLTTLGVEVSKPPPQHDKIEASEPSFPLHESILKVVEEEWQQIDRQLPSVACRYPVSSIEAARILSVPKVDDEILGFISEATPAAATQASSTESCDKHLDLALCRSYEAAASALQIAAHTAFVAKSLQADISQAAQIINSDPSDAQQALRILNRTYDAASYLCDAAFDEVRMSACAMGSSTMGRRYLWLKDCKISPASKNKLTVAPFKGGTLFGGEVHKVIKKRGNKQ"
    }
    }
],
"dialect": "alphafold3",
"version": 1
}

A JSON fájl mezőinek magyarázata

name

A futtatás egyedi neve. Az eredmények az output könyvtárban jellemzően a névhez kapcsolódó alkönyvtárba kerülnek.

modelSeeds

Az AlphaFold által használt véletlenszám-generátor inicializálható értékei. Egyetlen seed esetén egy predikció fut le.

Példa:

"modelSeeds": [1]

Több seed megadása esetén több független modell készül:

"modelSeeds": [1, 2, 3, 4, 5]

Ez növelheti annak az esélyét, hogy a rendszer a legkedvezőbb konformációt találja meg.

sequences

A vizsgált biomolekulák listája. Egy egyszerű fehérjepredikció esetén egyetlen protein objeltum szerepel a listában.

id

A lánc azonosítója. Egyetlen fehérje esetén általában az A karaktert használjuk.

sequence

A fehérje aminosav-szekvenciája egybetűs aminosavkóddal, szóközök és sortörések nélkül.

dialect

Az AlphaFold 3 által használt JSON formátum verziójának megnevezése.

version

A JSON specifikáció verziószáma.

Komplexek modellezése

Az AlphaFold 3 egyszerre több lácot is késpes használni. Homodimer vagy heterodimer esetén minden láncot praktikus külön objektumban megadni.

Példa 2 láncból álló komplexre:

{
  "name": "protein_complex",
  "modelSeeds": [1],
  "sequences": [
    {
      "protein": {
        "id": "A",
        "sequence": "SEQUENCE_A"
      }
    },
    {
      "protein": {
        "id": "B",
        "sequence": "SEQUENCE_B"
      }
    }
  ],
  "dialect": "alphafold3",
  "version": 1
}

Fontos megjegyzések

  • A fehérjeszekvenciákat mindig a protein mezőben kell megadni.

  • DNS szekvenciák esetén a dna kulcsszót kell megadni.

  • RNS szekvenciák esetén az rna kulcsszó alkalmazandó.

  • A FASTA fejléc (> karakterrel kezdődő sor) nem kerül bele a JSON fájlba.

  • A szekvencia kizárólag a megfelelő egybetűs biológiai kódokat tartalmazhatja.

  • Az AlphaFold 3 a szekvencia alapján automatikusan elvégzi az evolúciós adatbázisokban történő kereséseket és az ezekből származó információk felhasználását a szerkezetpredikció során.

A bemeneti JSON fájl elkészítése után a következő lépés a predikció elindítása az AlphaFold 3 környezetben.

Könyvtárszerkezet és futtatás

Mielőtt elindítanánk az AlphaFold 3 számítást, érdemes áttekinteni a projekthez használt könyvtárszerkezetet. A rendszer működéséhez szükség van a konténerre, a modellparaméterezésre, a genetikai adatbázisokra, valamint az input és output könyvtárakra.

Könyvtárszerkezet

A példában az alábbi struktúrát használjuk:

0_ai_params/
├── alphafold3/
├── alphafold3.sif
├── af3-model/
├── genetic_db/
├── testinp/
└── testout/
alphafold3/

Az AlphaFold 3 forráskódját tartalmazó könyvtár. Ebben található többek között a run_alphafold.py futtatható script is.

alphafold3.sif

A neurális háló modellparamétereit tartalmzó könyvtár.

af3-model/

A neurális háló modellparamétereit tartalmazó könyvtár.

genetic_db/

Az MSA keresésekhez és a feature generáláshoz szükséges adatbázisok.

testinp/

Az input JSON fájlok helye.

testout/

Az AlphaFold által generált eredmények célkönyvtára.

Munkakönyvtár kiválasztása

A futtatás megkezdése előtt át kell váltanunk az alphafold3 könyvtárába.

cd ~/0_ai_params/alphafold3

Az aktuális munkakönyvtár ellenőrizhető a következő paranccsal:

pwd

Várható eredmény:

/home/<felhasználónév>/0_ai_params/alphafold3

A dokumentáció további részében minden parancsot ebből a könyvtárból indítunk.

Ennek azért van jelentősége, mert a futtatás során a

run_alphafold.py

scriptet relatív útvonallal hívjuk meg, ezért a scriptnek az aktuális munkakönyvtárából elérhetőnek kell lennie.

A bemeneti fájl ellenőrzése

A predikció indítása előtt célszerű meggyőződni arról, hogy az input fájl rendelkezésre áll.

ls -lh ~/0_ai_params/testinp

Például:

lap2alpha_dim.json

Amenniyben a fájl nem található, az AlphaFold a futtatás elején hibával le fog állni.

Predikció indítása

A számítás Singularity konténeren belül történik.

singularity exec \
  --nv \
  --bind $HOME/0_ai_params/testinp:/root/af_input \
  --bind $HOME/0_ai_params/testout:/root/af_output \
  --bind $HOME/0_ai_params/af3-model:/root/models \
  --bind $HOME/0_ai_params/genetic_db:/root/public_databases \
  ../alphafold3.sif \
  python run_alphafold.py \
  --json_path=/root/af_input/lap2alpha_dim.json \
  --model_dir=/root/models \
  --db_dir=/root/public_databases \
  --output_dir=/root/af_output

Mivel a parancsot az alphafold3 könyvtárából futtatjuk, a Singularity image a szülőkönyvtárból érhető el:

../alphafold3.sif

Alternatív megoldásként természetesen az abszolút útvonal is használható:

~/0_ai_params/alphafold3.sif
singularity exec

Parancs futtatása a Singularity konténeren belül.

--nv

Az NVIDIA GPU és a CUDA környezet elérhetővé tétele a konténer számára.

--bind

Könyvtárak becsatolása a konténerbe.

  • testinp → input JSON fájlok

  • testout → eredmények mentése

  • af3-model → modellparamétereekt

  • genetic_db → referencia adatbázisok

../alphafold3.sif

A futtatandó AlphaFold3 konténer.

python run_alphafold.py

Az AlphaFold 3 fő futtatóprogramjának indítása.

--json_path

A predikció bemeneti JSON fájlja.

--model_dir

A neurális háló paramétereit tartalmazó könyvtár.

--db_dir

Az MSA-generáláshoz szükséges adatbázisok helye.

--output_dir

Az eredményke mentési könyvtára.

A futtatás során a program:

  1. beolvassa a JSON inputot,

  2. elvégzi az Multiple Sequence Alignment (MSA) kereséseket,

  3. előállítja a feature-öket,

  4. lefuttatja a neurális hálót,

  5. finomítja a predikált szerkezetet,

  6. elmenti az eredményeket az output könyvtárba.

Sikeres fután után a testout könyvtárban jelennek meg a predikció eredményei, amelyek értelmezését a következő fejezetben mutatjuk be.

Output fájlok

Sikeres futtatás után az AlphaFold 3 a megadott output könyvtárban hozza létre az eredményeket.

Esetünkben az input JSON fájlban beállított név alapján a kpott könyvtárszerkezet a következő:

testout/
└── 2V0X_dimer/
    ├── 2V0X_dimer_confidences.json
    ├── 2V0X_dimer_data.json
    ├── 2V0X_dimer_model.cif
    ├── 2V0X_dimer_ranking_scores.csv
    ├── 2V0X_dimer_summary_confidences.json
    ├── seed-1_sample-0/
    └── ...
-2V0X_dimer_model.cif

A predikált fehérjeszerkezetet tartalmazó mmCIF formátumú fálj.

Ez megnyitható és vizualizálható például:

  • PyMOL

  • ChimeraX

  • Mol*

segítségével.

A szerkezeti elemzések többsége ezen a fájlon történik.

-2V0X_dimer_confidences.json

Részletes konfidenciaadatokat tartalmaz.

A fájlban aminosavként megtalálhatók az AlphaFold által becsült megbízhatósági értékek, amelyek segítségével azonosíthatók a jól modellezett és a bizonytalanabb szerkezeti régiók.

-2V0X_dimer_summary_confidences.json

A legfontosabb konfidenciamutatók összefoglalását tartalmazza.

Jellemzően itt találhatók meg a teljes modellre vonatkozó:

  • pLDDT

  • pTM

  • ipTM

  • ranking score

értékek.

Ez az első fájl, amelyet érdemes megvizsgálni a predikció minőségének gyors értékeléséhez.

-2V0X_dimer_ranking_scores.csv

A generált modellek rangsorolásához szükséges pontszámokat tartalmazza.

Több seed vagy több minta használata esetén ebből a fájlból állapítható meg, hogy melyik predikció tekinthető a legjobbnak.

-2V0X_dimer_data.json

A futtatás során használt bemeneti adatok és metaadatok összefoglalója.

Segítséget nyújthat a futtatás reprodukálásában, illetve az alakalmazott beállítások visszakeresésében.

-seed-1_sample-0.zip

Az adott minta generálása során keletkezett részletes futási állományokat tartamazó alkönyvtár.

Több seed vagy több minta esetén további hasonló könyvtárak is megjelenhetnek.

Konfidenciaértékek értelmezése

A modell minőségének elsődleges mutatója a pLDDT érték.

pLDDT

Értelmezés

90-100

Nagyon magas

70-90

Jó minőségű modell

50-70

Mérsékelten biztos

<50

Alacsony biztonság

Általánosságban elmondható, hogy a jól definiált szerkezeti elemek (hélixek, β-redők) magas pLDDT értékeket kapnak, míg a flexibilis vagy rendezetlen régiók alacsonyabb pontszámot mutatanak.

A következő fejezetben a 2V0X_dimer_model.cif állomány vizualizálását és a referencia 2V0X szerkezettel való összehasonlítását mutatjuk be.

A predikált szerkezet vizalizálása ChimeraX-ben

Az AlphaFold 3 által generált szerkezetet a 2V0X_dimer_model.cif fájl tartalmazza. A modell megtekintéséhez ebben a példában a UCSF ChimeraX programot használjuk.

A szerkezet megnyitása

A ChimeraX indítása után válasszuk a

File → Open...

menüpontot, majd nyissuk meg a

2V0X_dimer_model.cif

állományt.

Alternatív megoldásként a fájl közvetlenül terminálból is megnyitható:

chimerax 2V0X_dimer_model.cif

A szerkezet megjelenítése

A fehérjék vizualizálásához leggyakrabban a cartoon nézetet használjuk.

A ChimeraX parancssorába írjuk:

cartoon

A modell színezése lánconként:

color bychain

Mivel a példában egy homodimert struktúrát modelleztünk, a két lánc eltérő színt kap, ami megkönnyíti a dimer szerkezet vizsgálatát.

_images/lap2alpha_dim.png

A predikció konfidenciájának vizsgálata

A pLDDT értékek megjelenítése mellett érdemes megvizsgálni az AlphaFold által becsült predikciós hibát is.

Ehhez a ChimeraX beépített AlphaFold eszközeit használjuk.

A menüsorban válasszuk:

Tools → Structure Prediction → AlphaFold Error Plot

A megnyíló ablak az úgynevezett Predicted Aligned Error (PAE) mátrixot jeleníti meg.

A PAE azt mutatja meg, hogy az AlphaFold mekkora pozíciós hibát becsül két aminosav egymáshoz viszonyított elhelyezkedésére.

A grafikon értelmezése

A diagram mindkét tengelyén a fehérje aminosavai szerepelnek.

Minden pixel egy adott aminosavpárhoz tartozó becsült hibát jelöl:

  • alacsony érték → nagy biztonság

  • magas érték → bizonytalan relatív pozíció

A színskála jellemzően a következő:

Szín

Értelmezés

Sötétkék

Nagyon alacsony becsült hiba

Világoskék

Alacsony becsült hiba

Sárga

Közepes bizonytalanság

Narancs/Piros

Magas becsült hiba

_images/lap2alpha_colorplot.png

A grafikon alatt elhelyezkedő gombok segítségével lehet színezni a fehérjéjet a PAE és pLDDT értékek szerint.

A PAE és a pLDDT különbsége

A pLDDT az egyes aminosavak lokális pontosságát mutatja.

_images/lap2alpha_plddt.png

A PAE ezzel szemben azt mutatja meg, hogy két régió egymáshoz viszonyított elhelyezkedése mennyire megbízható.

_images/lap2alpha_pae.png

Ez különösen fontos:

  • több doménből álló fehérjéknél,

  • fehérjekomplexeknél,

  • homodimereknél és heterodimereknél.

A 2V0X homodimer esetében

A 2V0X szerkezet két láncból álló homodimer.

Az Error Plot segítségével gyorsan megállapítható, hogy az AlphaFold mennyire biztos a két lánc egymáshoz viszonyított orientációjában.

Jó minőségű predikció esetén a grafikonon a láncokon belüli és a láncok közötti régiók is alacsony hibát mutatnak, ami összefüggő sötétzöld blokkok formájában jelenik meg.

Ha a láncok közötti területek magas hibát mutatnak, akkor a modell a dimer kialakulásában vagy a láncok relatív pozíciójában bizonytalan.

A PAE térképre kattintva a ChimeraX kiemeli a kiválasztott aminosavakat a háromdimenziós szerkezetben, így könnyen azonosíthatók a bizonytalan vagy rosszul definiált régiók.

Ez az egyik leghasznosabb eszköz annak eldöntésére, hogy a prediktált dimer szerkezet mennyire tekinthető megbízhatónak.

A referencia szerkezet betöltése

A predikció minőségének vizsgálatához töltsük le a referencia 2V0X szerkezetet a PDB adatbázisból.

A letöltött állomány megnyitása:

File → Open → 2V0X.pdb

A ChimeraX ekkor két modellt fog tartalmazni:

  • AlphaFold predikció

  • Kísérleti PDB szerkezet

A szerkezetek illesztése

A két modell térbeli összehasonlításához használjuk a matchmaker parancsot:

matchmaker #1 to #2

ahol:

  • #1 a prediktált modell

  • #2 a referencia szerkezet

A ChimeraX automatikusan elvégzi a szerkezeti illesztést és kiírja az RMSD értéket.

Az eredmények értelmezése

Az összeillesztett modellek alapján vizsgálható:

  • a másodlagos szerkezeti elemek egyezése,

  • a dimerizációs felület helyessége,

  • az eltérő régiók elhelyezkedése,

  • az alacsony pLDDT értékű szakaszok viselkedése.

A 2V0X esetében különösen érdekes annak megfigyelése, hogy az AlphaFold mennyire pontosan rekonstruálja a dimerizációért felelős hélikális régiókat, amelyek a fehérje biológiai funkciójában kulcsszerepet játszanak.

_images/lap2alpha_rmsd.png

A szerkezeti illesztés eredményének értelmezése

A matchmaker futtatása után a ChimeraX a következő eredményt adta:

Matchmaker 2V0X.pdb, chain B (#2) with
2V0X_dimer_model.cif, chain A (#1),
sequence alignment score = 1077.6

RMSD between 164 pruned atom pairs is 0.678 angstroms;
(across all 205 pairs: 4.726)

Az eredmények több fontos információt hordoznak a predikció minőségéről.

Sequence alignment score

sequence alignment score = 1077.6

A MatchMaker a szerkezetek összeillesztése előtt szekvencia-alapú illesztést végez. A kiírt pontszám ennek az illesztésnek a minőségét jellemzi.

A pontszám abszolút értéke önmagában általában nem értelmezhető, mivel erősen függ a fehérje hosszától és az alkalmazott illesztési paraméterektől. Emiatt nem létezik általános „jó” vagy „rossz” küszöbérték.

A magas alignment score ugyanakkor arra utal, hogy a két összehasonlított lánc szekvenciája jól megfeleltethető egymásnak, és a szerkezeti illesztés megbízható alapokon történt.

A predikció minőségének értékelésére a gyakorlatban sokkal gyakrabban használjuk az RMSD, pLDDT és PAE mutatókat.

Pruned atom pairs

RMSD between 164 pruned atom pairs is 0.678 angstroms

A pruned kifejezés azt jelenti, hogy a ChimeraX az RMSD számítás előtt eltávolította azokat az atomokat vagy régiókat, amelyek jelentősen eltértek az optimális illesztéstől.

Ezek gyakran:

  • flexibilis hurokrégiók,

  • rendezetlen végek,

  • predikció szempontjából bizonytalan szakaszok.

Az így kapott RMSD a fehérje jól illeszthető magrégiójának egyezését jellemzi.

RMSD a pruned atompárokra

RMSD = 0.678 Å

Ez kiváló egyezésnek tekinthető.

Általános iránymutatás:

A 0,678 Å RMSD azt mutatja, hogy a LAP2α dimerizációs domén strukturális magja rendkívül pontosan reprodukálható volt AlphaFold 3 segítségével.

RMSD az összes atompárra

(across all 205 pairs: 4.726)

Ez az RMSD minden illeszthető atom figyelembevételével került kiszámításra.

Az érték jelentősen nagyobb, mint a pruned RMSD, ami arra utal, hogy a szerkezet bizonyos régiói jelentősen eltérnek egymástól.

Ennek leggyakoribb okai:

  • flexibilis N- vagy C-terminális régiók;

  • hosszabb hurokszakaszok;

  • alacsony pLDDT értékű régiók;

  • eltérő láncorientáció a dimerben.

Érdemes ezeket a régiókat a PAE térképpel együtt vizsgálni, mivel gyakran ugyanazok a szakaszok mutatnak magas becsült hibát.

Következtetés

A kapott eredmények alapján a predikció rendkívül sikeresnek tekinthető.

A 0,678 Å RMSD azt mutatja, hogy a LAP2α dimerizációs domén szerkezeti magja szinte tökéletesen egyezik a kísérletileg meghatározott 2V0X referencia-szerkezettel.

Az összes atomra számított 4,726 Å RMSD ugyanakkor arra utal, hogy néhány flexibilis vagy bizonytalan régió eltérően helyezkedik el. Ez AlphaFold-modelleknél gyakori jelenség, és nem feltétlenül jelzi a predikció hibáját, különösen olyan szakaszok esetén, amelyek a kristályszerkezetben is nagy mobilitást mutathatnak.

A jelen példában az AlphaFold 3 sikeresen reprodukálta a 2V0X fehérje meghatározó szerkezeti elemeit, ami jól demonstrálja a módszer alkalmazhatóságát olyan fehérjékre is, amelyekhez nem áll rendelkezésre kísérletileg meghatározott térszerkezet.