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.
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:
A fehérjeszekvencia kinyerése
AlphaFold 3 JSON létrehozása
Predikció futtatása
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
Nyissuk meg a 2V0X rekordot a PDB felületén (https://www.rcsb.org/structure/2V0X).
Válasszuk a “Download Files” menüt.
Töltsük le a FASTA szekvenciát.
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
nameA futtatás egyedi neve. Az eredmények az output könyvtárban jellemzően a névhez kapcsolódó alkönyvtárba kerülnek.
modelSeedsAz 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.
sequencesA vizsgált biomolekulák listája. Egy egyszerű fehérjepredikció esetén egyetlen protein objeltum szerepel a listában.
idA lánc azonosítója. Egyetlen fehérje esetén általában az
Akaraktert használjuk.sequenceA fehérje aminosav-szekvenciája egybetűs aminosavkóddal, szóközök és sortörések nélkül.
dialectAz AlphaFold 3 által használt JSON formátum verziójának megnevezése.
versionA 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
proteinmezőben kell megadni.DNS szekvenciák esetén a
dnakulcsszót kell megadni.RNS szekvenciák esetén az
rnakulcsszó 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.pyfuttatható script is.alphafold3.sifA 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 execParancs futtatása a Singularity konténeren belül.
--nvAz NVIDIA GPU és a CUDA környezet elérhetővé tétele a konténer számára.
--bindKönyvtárak becsatolása a konténerbe.
testinp→ input JSON fájloktestout→ eredmények mentéseaf3-model→ modellparamétereektgenetic_db→ referencia adatbázisok
../alphafold3.sifA futtatandó AlphaFold3 konténer.
python run_alphafold.pyAz AlphaFold 3 fő futtatóprogramjának indítása.
--json_pathA predikció bemeneti JSON fájlja.
--model_dirA neurális háló paramétereit tartalmazó könyvtár.
--db_dirAz MSA-generáláshoz szükséges adatbázisok helye.
--output_dirAz eredményke mentési könyvtára.
A futtatás során a program:
beolvassa a JSON inputot,
elvégzi az Multiple Sequence Alignment (MSA) kereséseket,
előállítja a feature-öket,
lefuttatja a neurális hálót,
finomítja a predikált szerkezetet,
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.
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 |
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.
A PAE ezzel szemben azt mutatja meg, hogy két régió egymáshoz viszonyított elhelyezkedése mennyire megbízható.
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:
#1a prediktált modell#2a 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.
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.