Model HP: Różnice pomiędzy wersjami

Z BioFizInfo
Przejdź do nawigacji Przejdź do wyszukiwania
Ponadto (dyskusja | edycje)
Nie podano opisu zmian
Ponadto (dyskusja | edycje)
 
(Nie pokazano 15 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 6: Linia 6:


== Wstęp ==
== Wstęp ==
[[Image:Hp2d 1.png|thumb|upright|300px|(1) Dwuwymiarowy model HP o sekwencji: HPHPHHHHHPHP (wizualizacja w PyMOLu). Na niebiesko zaznaczono aminokwasy hydrofobowe (H), na zielono aminokwasy polarne (P). Ponieważ w powyższym mikrostanie nie występują kontakty H-H, energia wynosi 0.]]
[[Image:Hp2d2 1.png|thumb|upright|300px|(1) Dwuwymiarowy model HP o sekwencji: HPHPHHHHHPHP (wizualizacja w PyMOLu). Na czerwono zaznaczono aminokwasy hydrofobowe (H), na czarno aminokwasy polarne (P). Ponieważ w powyższym mikrostanie nie występują kontakty H-H, energia wynosi 0.]]
[[Image:Hp2d inter.png|thumb|upright|300px|(2) Obrót wokół szóstego aminokwasu skutkuje utworzeniem kontaktu H-H między ósmym i piątym aminokwasem.]]
[[Image:Hp2d2 inter.png|thumb|upright|300px|(2) Obrót wokół szóstego aminokwasu (zaznaczono na zielono) skutkuje utworzeniem kontaktu H-H między ósmym i piątym aminokwasem.]]
[[Image:Hp2d 2.png|thumb|upright|300px|(3) Transformacja została zaakceptowana, liczba kontaktów H-H wynosi 1, zatem nowa energia układu wynosi -ɛ.]]
[[Image:Hp2d2 2.png|thumb|upright|300px|(3) Transformacja została zaakceptowana, liczba kontaktów H-H wynosi 1, zatem nowa energia układu wynosi -ɛ.]]
Idea modelu HP opiera się na obserwacji, iż kluczową rolę w procesie zwijania białek pełni efekt hydrofobowy (w tym kontekście spotkać się można z terminem: "oddziaływania hydrofobowe"). W podstawowym modelu HP polimer zbudowny jest z monomerów H (hydrofobowych) oraz P (polarnych), przy czym wkład do energii pochodzi jedynie od H. Można więc myśleć o modelu HP jak o modelu białka, w którym alfabet aminokwasów ograniczony został do zbioru {H,P}. Aminokwasy znajdują się w węzłach sieci kwadratowej (''square lattice'') w przypadku modelu dwuwymiarowego (2D), bądź w węzłach sieci sześciennej (''cubic lattice'') w przypadku modelu trójwymiarowego (3D). Dwa aminokwasy nie mogą znajdować się w tym samym węźle. Natomiast jeśli dwa aminokwasy połączone są wiązaniem (przez analogię do wiązania peptydowego między aminokwasami w białkach), to muszą się one znajdować w sąsiednich węzłach. '''Mikrostan''' układu można określić poprzez: sekwencję peptydu oraz współrzędne poszczególnych aminokwasów.  
Idea modelu HP opiera się na obserwacji, iż kluczową rolę w procesie zwijania białek pełni efekt hydrofobowy (w tym kontekście spotkać się można z terminem: "oddziaływania hydrofobowe"). W podstawowym modelu HP polimer zbudowny jest z monomerów H (hydrofobowych) oraz P (polarnych), przy czym wkład do energii pochodzi jedynie od H. Można więc myśleć o modelu HP jak o modelu białka, w którym alfabet aminokwasów ograniczony został do zbioru {H,P}. Aminokwasy znajdują się w węzłach sieci kwadratowej (''square lattice'') w przypadku modelu dwuwymiarowego (2D), bądź w węzłach sieci sześciennej (''cubic lattice'') w przypadku modelu trójwymiarowego (3D). Dwa aminokwasy nie mogą znajdować się w tym samym węźle. Natomiast jeśli dwa aminokwasy połączone są wiązaniem (przez analogię do wiązania peptydowego między aminokwasami w białkach), to muszą się one znajdować w sąsiednich węzłach. '''Mikrostan''' układu można określić poprzez: sekwencję peptydu oraz współrzędne poszczególnych aminokwasów.  


Linia 27: Linia 27:


Powiemy, że węzły '''a''' i '''b''' sąsiadują ze sobą na siatce (ozn. '''a''' ~ '''b'''), jeżeli istnieje wektor bazowy '''e ''' taki, że:
Powiemy, że węzły '''a''' i '''b''' sąsiadują ze sobą na siatce (ozn. '''a''' ~ '''b'''), jeżeli istnieje wektor bazowy '''e ''' taki, że:
: <math>\mathbf a = \mathbf b + \mathbf e \or \mathbf b = \mathbf a + \mathbf e </math>.
: <math>\mathbf a = \mathbf b + \mathbf e \quad \or \quad \mathbf b = \mathbf a + \mathbf e </math>.


Niech <math>CHAIN_n=\{1,...,n\}</math> będzie zbiorem aminokwasów tworzących peptyd, gdzie <math> n </math> - długość peptydu. Wówczas strukturę przestrzenną wyrażać będziemy przez funkcję:
Niech <math>CHAIN_n=\{1,...,n\}</math> będzie zbiorem aminokwasów tworzących peptyd, gdzie <math> n </math> - długość peptydu. Wówczas strukturę przestrzenną wyrażać będziemy przez funkcję:
Linia 36: Linia 36:
: <math>\forall_{i \not= j}\mathbf s(i) \not= \mathbf s(j) </math>
: <math>\forall_{i \not= j}\mathbf s(i) \not= \mathbf s(j) </math>
Podanie struktury (w postaci funkcji '''s''') nie wystarcza do określenia miktrostanu układu, potrzebna jest jeszcze sekwencja.
Podanie struktury (w postaci funkcji '''s''') nie wystarcza do określenia miktrostanu układu, potrzebna jest jeszcze sekwencja.
== Sekwencja ==
== Sekwencja ==
Sekwencja łańcucha określona jest przez wzorzec hydrofobowy <math> Pat \colon CHAIN_n \to \{H,P\} </math>. Rozważany model dzieli aminokwasy ze względu na właściwości oddziaływań dalekozasięgowych na dwie kategorie: hydrofobowe (H) oraz polarne (P). ''Dalekozasięgowość'' oddziaływań odnosi się do wzajemnych położeń aminokwasów w sekwencji, a nie w przestrzeni. Przykładowo: o obecności oddziaływań dalekozasięgowych możemy mówić w przypadku pary aminokwasów o numerach 1 i 4, bądź: 2 i 9, ale nie w przypadku par: 1 i 3, czy też 4 i 5. Szczegóły w poniższej sekcji ''Oddziaływania''.
Sekwencja łańcucha określona jest przez wzorzec hydrofobowy <math> Pat \colon CHAIN_n \to \{H,P\} </math>. Rozważany model dzieli aminokwasy ze względu na właściwości oddziaływań dalekozasięgowych na dwie kategorie: hydrofobowe (H) oraz polarne (P). ''Dalekozasięgowość'' oddziaływań odnosi się do wzajemnych położeń aminokwasów w sekwencji, a nie w przestrzeni. Przykładowo: o obecności oddziaływań dalekozasięgowych możemy mówić w przypadku pary aminokwasów o numerach 1 i 4, bądź: 2 i 9, ale nie w przypadku par: 1 i 3, czy też 4 i 5. Szczegóły w poniższej sekcji ''Oddziaływania''.
Linia 59: Linia 60:
W przypadku modelu HP liczba mikrostanów układu jest skończona (ozn. ''N''), zaś średnią wartość ''A'' wyraża się w postaci sumy po dostępnych mikrostanach układu:
W przypadku modelu HP liczba mikrostanów układu jest skończona (ozn. ''N''), zaś średnią wartość ''A'' wyraża się w postaci sumy po dostępnych mikrostanach układu:
: <math> \langle A \rangle = \sum_{i=1}^{N} A_i \cdot p_i    </math>
: <math> \langle A \rangle = \sum_{i=1}^{N} A_i \cdot p_i    </math>
gdzie <math> p_i </math> jest prawdopodobieństwem uzyskania przez układ ''i''-tego mikrostanu. Prawdopodobieństwo, że układ o określonej, stałej temperaturze ''T'' (używa się też określenia: w kontakcie z termostatem o temperaturze ''T'') osiągnie ''i''-ty  mikrostan o energii <math> E_i </math> dane jest rozkładem Boltzmanna:
gdzie <math> p_i </math> jest prawdopodobieństwem uzyskania przez układ ''i''-tego mikrostanu. Prawdopodobieństwo, że układ o określonej, stałej temperaturze ''T'' (używa się też określenia: w kontakcie z termostatem o temperaturze ''T'') osiągnie ''i''-ty  mikrostan o energii <math> E_i </math>, dane jest rozkładem Boltzmanna:
: <math> p_i = \frac{e^{-E_i/kT}}{\sum_{j=1}^{N}e^{-E_j/kT}} </math>
: <math> p_i = \frac{e^{-E_i/kT}}{\sum_{j=1}^{N}e^{-E_j/kT}} </math>
gdzie ''k'' - stała Boltzmanna. Suma w mianowniku zapewnia normalizację rozkładu <math> p_i </math>:
gdzie ''k'' - stała Boltzmanna. Suma w mianowniku zapewnia normalizację rozkładu <math> p_i </math>:
Linia 67: Linia 68:
W celu wyznaczenia <math> \langle A \rangle </math> dla układu o temperaturze ''T'' wystarczy dysponować metodą do generowania mikrostanów zgodnie z rozkładem Boltzmanna. Metodą tego typu jest algorytm Metropolisa.
W celu wyznaczenia <math> \langle A \rangle </math> dla układu o temperaturze ''T'' wystarczy dysponować metodą do generowania mikrostanów zgodnie z rozkładem Boltzmanna. Metodą tego typu jest algorytm Metropolisa.


Istotą algorytmu Metropolisa jest stworzenie ciągu mikrostanów, będący realizacją łańcucha Markowa, z prawdopodobieństwem przejść, zależącym od różnicy energii kolejnych mikrostanów. Niech <math> \pi (x) = e^{-E_x/kT}  </math> będzie prawdopodobieństwem znalezienia układu w mikrostanie ''x''. W przypadku modelu HP algorytm Metropolisa przebiega następująco:  
Wprowadźmy następujące oznaczenie:
<br>1. Zacznij ciąg, tworząc pierwszy, dowolny mikrostan ''X''.  
:<math> \pi (a) = e^{-E_a/kT}  </math>  
gdzie ''a'' jest mikrostanem o energii <math> E_a  </math>. Istotą algorytmu Metropolisa jest stworzenie ciągu mikrostanów, będący realizacją łańcucha Markowa z prawdopodobieństwem przejść, zależącym od różnicy energii kolejnych mikrostanów. W przypadku modelu HP algorytm Metropolisa przebiega następująco:  
<br>1. Zainicjuj ciąg mikrostanów, tworząc pierwszy, dowolny mikrostan ''X''.  
<br>2. Oblicz energię <math> E_X </math>.  
<br>2. Oblicz energię <math> E_X </math>.  
<br>3. Dokonaj dozwolonej transformacji peptydu (transformacje opisano dalej, dla ustalenia uwagi - dokonujemy obrotu części peptydu wokół losowo wybranego aminokwasu).  
<br>3. Dokonaj dozwolonej transformacji peptydu (transformacje opisano dalej, dla ustalenia uwagi - dokonujemy obrotu części peptydu wokół losowo wybranego aminokwasu).  
Linia 74: Linia 77:
<br>5. Zaakceptuj nowy mikrostan (X:=Y) z prawdopodobieństwem <math>p(X,Y)=min \left\{ 1, \frac{\pi (X) }{\pi (Y)} \right\} </math> i wróć do 3. albo zakończ, jeśli wygenerowano ciąg o długości ''M''.
<br>5. Zaakceptuj nowy mikrostan (X:=Y) z prawdopodobieństwem <math>p(X,Y)=min \left\{ 1, \frac{\pi (X) }{\pi (Y)} \right\} </math> i wróć do 3. albo zakończ, jeśli wygenerowano ciąg o długości ''M''.


Dysponując ciągiem <math> (\mathbf x_n ) <\math> mikrostanów uzyskanych w algorytmie Metropolisa możemy wyznaczyć średnią wartość ''A'':
Dysponując ciągiem <math> (\mathbf x_n ) </math> mikrostanów uzyskanych w algorytmie Metropolisa, możemy wyznaczyć średnią wartość ''A'':
: <math> \langle A \rangle \approx \frac{1}{M} \sum_{i=1}^{M} A( \mathbf x_i )  </math>
 
== Transformacje ==
...
 
== Symulowane wyżarzanie (''Simulated Annealing'') ==
Najprostszym sposobem znajdowania konformacji o minimalnej energii jest systematyczne obniżanie temperatury podczas symulacji. Wadą tego rozwiązania jest to, że układ może łatwo zatrzymać się w lokalnym minimum energii, z którego wyjście przy obniżonej temperaturze okaże się niemożliwe (precyzyjniej: niezwykle mało prawdopodobne). Ponadto, zbieżność algorytmu przy niskich temperaturach jest dosyć wolna. Układ może stracić dużo czasu (kroków symulacji) w niecce reprezentującej lokalne minimum, bądź oscylując między stanami o tej samej energii.
 
== Zamiana replik (''Replica Exchange Monte Carlo'') ==
W tym podejściu równolegle symuluje się wiele kopii układu, każdy w innej, stałej temperaturze. Załóżmy, że w pewnym momencie symulacji algorytmu Metropolisa ''i''-ta replika o temperaturze <math> T_i </math> jest w mikrostanie <math>\mathbf x_i </math> o energii <math> E( \mathbf x_i ) </math>, zaś ''j''-ta replika w odpowiednio: temperaturze <math> T_j </math>, mikrostanie <math> \mathbf x_j </math> i energii <math> E( \mathbf x_j ) </math>. Z rozkładu jednostajnego losujemy parę kolejnych replik (i,j) , które z prawdopodobieństwem <math> p_s </math> zostaną zamienione miejscami:
:<math> p_s = min \{ 1, e^{-\Delta} \}, </math>
gdzie
:<math> \Delta = \left( \frac{1}{kT_j} - \frac{1}{kT_i} \right) ( E( \mathbf x_i ) - E( \mathbf x_j )  )  </math>
Po zamianie ''i''-ta replika symulowana jest w temperaturze <math>T_j</math> , a ''j''-ta w temperaturze <math>T_i</math>. Ponieważ prawdopodobieństwo zamiany maleje wykładniczo wraz ze wzrostem różnicy temperatur, rozważamy wyłącznie repliki sąsiednie.
 
Zamiana temperatur zmienia krajobraz energetyczny. W bardzo wysokich temperaturach bariery energetyczne znikają i można domniemywać, że prawdopodobieństwo odwiedzenia mikrostanu jest zadane rozkładem jednostajnym. Repliki, które utknęły w lokalnych minimach mogą zostać z nich wyzwolone przez przeniesienie do wyższej temperatury.
 
Wymiany nie powinny być zbyt częste. Po zmianie temperatury układ przez pewien czas się stabilizuje i przemieszcza w najbardziej prawdopodobny region krajobrazu energetycznego.
 
Po zakończeniu symulacji średnia ''A'' w temperaturze <math> T_i </math> może zostać oszacowana wzorem:
: <math> \langle A \rangle \approx \frac{1}{M} \sum_{i=1}^{M} A( \mathbf x_i )  </math>
: <math> \langle A \rangle \approx \frac{1}{M} \sum_{i=1}^{M} A( \mathbf x_i )  </math>


== Symulacje planowane na ćwiczeniach ==
Celem ćwiczeń jest zaimplementowanie modelu HP (domyślnie w języku ''Java'') i sprawdzenie wyników przedstawionych w publikacji K. A. Dilla z 1995 roku.
W pierwszym etapie przeprowadzimy symulowane wyżarzania modeli dwuwymiarowych trzech polimerów o sekwencjach:
*''' PHPPHPPHHPPHHPPHPPHP'''
* HPPHPPHPHPPHPHPHHH
* HPPPHHPPHPHHPHHH
'''(na ostatnich ćwiczeniach zawęziłem symulacje obowiązujące na 25. marca do jednej sekwencji, pierwszej na powyższej liście)'''.
W przypadku każdego peptydu temperaturą początkową będzie <math> T_{max} =1</math>, a temperaturą końcową <math>T_{min} =0.1 </math>. Temperatura będzie w trakcie symulacji maleć o czynnik <math> \delta=0.05 </math>. Po przeprowadzeniu <math> x=10000 </math> transformacji (dokonując akceptacji/odrzuceń wygenerowanych konformacji) w danej temperaturze <math> T </math>, przeprowadzamy kolejnych <math> x </math> kroków w temperaturze <math> T - \delta </math> i tak dalej, aż do osiągnięcia <math> T_{min} </math>.
W każdej temperaturze wygenerujemy <math> m(T) < x </math> konformacji, które akceptować będziemy na drodze algorytmu Metropolisa i dla każdej takiej próby możemy wyznaczyć ciepło właściwe układu <math> C_v </math>, średni moment bezwładności <math> I </math> oraz histogram wystąpień stanów w zależności od liczby kontaktów.
'''(z ostatnich ćwiczeń: na 25. marca proszę wykonać wykres Cv(T) oraz histogramy dla poszczególnych temperatur. Załączone rysunki przedstawiają czego spodziewać się można po wynikach).'''
[[Image:Cv.png|thumb|upright|300px|Ciepło właściwe w funkcji temperatury, uzyskane w symulowanym wyżarzaniu.]]
[[Image:HistogramT0_3.png|thumb|upleft|300px|Histogram wystąpień stanów w zależności od liczby kontaktów.]]
[[Image:MeanI.jpg|thumb|upleft|300px|Średni moment bezwładności w funkcji temperatury.]]
Ciepło właściwe wyraża się wzorem:
: <math> C_V (T) = \frac{\langle E(T)^2 \rangle - \langle E(T) \rangle ^2 }{k T^2}  </math>
Warto zauważyć, że w <math> C_V </math> jest proporcjonalne do wariancji energii i można ją interpretować jako "miarę rozrzutu energii" stanów, jakie osiąga układ w danej temperaturze.
Moment bezwładności definiujemy następująco:
: <math> I = \sum_{i=1}^{n} (\mathbf s_i - \mathbf s_0)^2    </math>
gdzie <math> s_0 </math> jest środkiem ciężkości, a ''n'' liczbą aminokwasów w strukturze. Natywna struktura większości białek jest globularna. Można więc przyjąć, że moment bezwładności jest dobrym przybliżeniem "stopnia zwinięcia białka".
=== Model HP "na piątkę" ===
Na ocenę bardzo dobrą z tej części ćwiczeń należy przeprowadzić dodatkowo (poza symulacją na zaliczenie, na 25. marca) dwie symulacje, dla białek o sekwencjach:
* HPPPHHPPHPHHHHHH
* HPPPHHPPHPHHPHHH
które różnią się sekwencyjnie tylko na jednej pozycji (praca Dilla, str. 20). Specyfikacje symulacji są te same, co poprzednio. Należy wykonać analogiczne histogramy wystąpień kontaktów, wykresy <math> Cv(T) </math> oraz - analogiczny do wykresu <math> Cv </math> - wykres <math> \langle I(T) \rangle </math>.
Czy różnica sekwencyjna na jednej pozycji powoduje zmianę minimalnej wartości energii dla tych dwóch białek? Czy obydwa białka "zwijają się" do minimum energii? A jak nie - to do minimum jakiego potencjału?


== Linki zewnętrzne ==
== Linki zewnętrzne ==
Linia 85: Linia 139:
* [http://en.wikipedia.org/wiki/Partition_function_%28statistical_mechanics%29 Suma statystyczna (funkcja podziału) w Wikipedii]
* [http://en.wikipedia.org/wiki/Partition_function_%28statistical_mechanics%29 Suma statystyczna (funkcja podziału) w Wikipedii]
* [http://en.wikipedia.org/wiki/Metropolis_algorithm Algorytm Metropolisa]
* [http://en.wikipedia.org/wiki/Metropolis_algorithm Algorytm Metropolisa]
* [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2143098/ Praca K. A. Dilla z 1995 roku]
* [http://www.pymol.org/ Strona WWW projektu PyMOL]
* [http://www.pymol.org/ Strona WWW projektu PyMOL]

Aktualna wersja z 22 mar 2011, 00:08

Model HP

Model HP (hydrophobic-polar protein folding model) to model polimeru wykorzystywany w badaniach nad ogólnymi zasadami rządzącymi procesem zwijania białek. Badania tego typu w przypadku modeli pełnoatomowych wiążą się ze znacznymi kosztami obliczeniowymi, podczas gdy w modelu HP, ze względu na uproszczoną charakterystykę układu, możliwe jest przeprowadzenie krótkiej symulacji (trwającej od kilku minut do kilku godzin), w trakcie której układ jest w stanie osiągnąć wszystkie możliwe mikrostany [1].


Wstęp

(1) Dwuwymiarowy model HP o sekwencji: HPHPHHHHHPHP (wizualizacja w PyMOLu). Na czerwono zaznaczono aminokwasy hydrofobowe (H), na czarno aminokwasy polarne (P). Ponieważ w powyższym mikrostanie nie występują kontakty H-H, energia wynosi 0.
(2) Obrót wokół szóstego aminokwasu (zaznaczono na zielono) skutkuje utworzeniem kontaktu H-H między ósmym i piątym aminokwasem.
(3) Transformacja została zaakceptowana, liczba kontaktów H-H wynosi 1, zatem nowa energia układu wynosi -ɛ.

Idea modelu HP opiera się na obserwacji, iż kluczową rolę w procesie zwijania białek pełni efekt hydrofobowy (w tym kontekście spotkać się można z terminem: "oddziaływania hydrofobowe"). W podstawowym modelu HP polimer zbudowny jest z monomerów H (hydrofobowych) oraz P (polarnych), przy czym wkład do energii pochodzi jedynie od H. Można więc myśleć o modelu HP jak o modelu białka, w którym alfabet aminokwasów ograniczony został do zbioru {H,P}. Aminokwasy znajdują się w węzłach sieci kwadratowej (square lattice) w przypadku modelu dwuwymiarowego (2D), bądź w węzłach sieci sześciennej (cubic lattice) w przypadku modelu trójwymiarowego (3D). Dwa aminokwasy nie mogą znajdować się w tym samym węźle. Natomiast jeśli dwa aminokwasy połączone są wiązaniem (przez analogię do wiązania peptydowego między aminokwasami w białkach), to muszą się one znajdować w sąsiednich węzłach. Mikrostan układu można określić poprzez: sekwencję peptydu oraz współrzędne poszczególnych aminokwasów.

Ewolucję układu w modelu HP zadaje zestaw dozwolonych transformacji struktury oraz rozkład prawdopodobieństwa przejść między mikrostanami. Przykładem dozwolonej transformacji może być obrót części białka o pewien kąt wokół wybranego aminokwasu (przykład przedstawiono po prawej). W przypadku modelu 2D istnieją trzy możliwe nietrywialne obroty. Jeżeli po dokonaniu obrotu żadne dwa aminokwasy nie zajmują tego samego punktu w przestrzeni, obrót uznajemy za dozwolony.

Po dokonaniu dozwolonej transformacji prawdopodobieństwo akceptacji nowego mikrostanu zależy jedynie od zmiany wartości energii. Innymi słowy: to, czy zaakceptujemy mikrostan uzyskany w wyniku transformacji zależy jedynie od mikrostanu przed transformacją; wcześniejsza historia układu nie ma tu znaczenia. Zatem ewolucja peptydu (ciąg mikrostanów wygenerowany w toku symulacji) jest realizacją procesu stochastycznego, w którym prawdopodobieństwo zdarzenia (akceptacja nowego mikrostanu) zależy jedynie od wyniku poprzedniego. Proces stochastyczny tego typu w przypadku dyskretnej przestrzeni stanów nazywany jest łańcuchem Markowa.

Sieć

Niech:

𝐞x=(1,0),𝐞y=(0,1)

będą wektorami bazowymi w przypadku dwuwymiarowym, zaś:

𝐞x=(1,0,0),𝐞y=(0,1,0),𝐞z=(0,0,1)

wektorami bazowymi w przypadku trójwymiarowym. Siecią kwadratową nazywać będziemy zbiór:

LATTICE2D={x𝐞x+y𝐞y∣x,y∈ℤ}

zaś zbiór:

LATTICE3D={x𝐞x+y𝐞y+z𝐞z∣x,y,z∈ℤ}

nazwiemy siecią sześcienną. Element sieci (węzeł) opisujemy przez podanie dwóch, bądź trzech liczb całkowitych (współrzędnych węzła), przykładowo dla sieci sześciennej: (0,1,-10).

Powiemy, że węzły a i b sąsiadują ze sobą na siatce (ozn. a ~ b), jeżeli istnieje wektor bazowy e taki, że:

𝐚=𝐛+𝐞∨𝐛=𝐚+𝐞.

Niech CHAINn={1,...,n} będzie zbiorem aminokwasów tworzących peptyd, gdzie n - długość peptydu. Wówczas strukturę przestrzenną wyrażać będziemy przez funkcję:

𝐬:CHAINn→LATTICE

spełniającą warunki:

𝐬(1)=(0,0,0)
∀i<n𝐬(i+1)∼𝐬(i)
∀i≠j𝐬(i)≠𝐬(j)

Podanie struktury (w postaci funkcji s) nie wystarcza do określenia miktrostanu układu, potrzebna jest jeszcze sekwencja.

Sekwencja

Sekwencja łańcucha określona jest przez wzorzec hydrofobowy Pat:CHAINn→{H,P}. Rozważany model dzieli aminokwasy ze względu na właściwości oddziaływań dalekozasięgowych na dwie kategorie: hydrofobowe (H) oraz polarne (P). Dalekozasięgowość oddziaływań odnosi się do wzajemnych położeń aminokwasów w sekwencji, a nie w przestrzeni. Przykładowo: o obecności oddziaływań dalekozasięgowych możemy mówić w przypadku pary aminokwasów o numerach 1 i 4, bądź: 2 i 9, ale nie w przypadku par: 1 i 3, czy też 4 i 5. Szczegóły w poniższej sekcji Oddziaływania.

Oddziaływania

W najprostszym modelu HP rozważa się jedynie oddziaływania dalekozasięgowe pomiędzy aminokwasami hydrofobowymi. Energia danego mikrostanu zależy od liczby kontaktów występujących między aminokwasami H, niesąsiadującymi w peptydzie.

Niech

KHH(𝐬)=#{{i,j}:∣i−j∣>1,𝐬(i)∼𝐬(j),Pat(i)=Pat(j)=H}

będzie liczbą kontaktów H-H w peptydzie o strukturze s. Energia układu wyraża się przez:

E(𝐬)=−ε⋅KHH(𝐬)

gdzie ɛ >0.

Interakcje pomiędzy aminokwasami hydrofobowymi odzwierciedlają ich tendencję do kierowania się do wewnątrz białka i tym samym unikania kontaktu z wodą. Należy podkreślić, że model HP uwydatnia jeden aspekt procesu zwijania białek (efekt hydrofobowy), ignoruje natomiast oddziaływania lokalne występujące w rzeczywistym białku - "sztywność" łańcucha (objawiająca się niedozwolonymi wartościami kątów φ-ψ na wykresie Ramachandrana) oraz wiązania wodorowe (istotne w α-helisach i β-kartkach). Proste modele, jak model HP, skłaniają do zadawania pytań: Które z własności białek udaje się odtworzyć pomimo poczynionych przybliżeń?

Średnia po zespole

Niech A będzie pewną własnością fizyczną badanego układu. Mikrostan układu oznaczymy przez 𝐱=(x1,…,xn), gdzie n jest liczbą stopni swobody. Przyjmujemy, że własność A objawia się jako średnia po próbce pewnej przestrzeni mikrostanów, tzn.:

⟨A⟩=Z−1∫ΩA(𝐱)f(ℋ(𝐱))d𝐱

gdzie f jest funkcją rozkładu gęstości prawdopodobieństwa, Ω jest przestrzenią dostępnych stanów układu (nazywana również w szerszym kontekście: przestrzenią fazową), zaś:

Z=∫Ωf(ℋ(𝐱))d𝐱

to sumą statystyczna nazywana również funkcją podziału. Rozkład f określa odpowiedni zespół statytyczny (mikrokanoniczny, kanoniczny,...).

W przypadku modelu HP liczba mikrostanów układu jest skończona (ozn. N), zaś średnią wartość A wyraża się w postaci sumy po dostępnych mikrostanach układu:

⟨A⟩=∑i=1NAi⋅pi

gdzie pi jest prawdopodobieństwem uzyskania przez układ i-tego mikrostanu. Prawdopodobieństwo, że układ o określonej, stałej temperaturze T (używa się też określenia: w kontakcie z termostatem o temperaturze T) osiągnie i-ty mikrostan o energii Ei, dane jest rozkładem Boltzmanna:

pi=e−Ei/kT∑j=1Ne−Ej/kT

gdzie k - stała Boltzmanna. Suma w mianowniku zapewnia normalizację rozkładu pi:

∑j=1Npj=1

Metoda Monte Carlo - algorytm Metropolisa

W celu wyznaczenia ⟨A⟩ dla układu o temperaturze T wystarczy dysponować metodą do generowania mikrostanów zgodnie z rozkładem Boltzmanna. Metodą tego typu jest algorytm Metropolisa.

Wprowadźmy następujące oznaczenie:

π(a)=e−Ea/kT

gdzie a jest mikrostanem o energii Ea. Istotą algorytmu Metropolisa jest stworzenie ciągu mikrostanów, będący realizacją łańcucha Markowa z prawdopodobieństwem przejść, zależącym od różnicy energii kolejnych mikrostanów. W przypadku modelu HP algorytm Metropolisa przebiega następująco:
1. Zainicjuj ciąg mikrostanów, tworząc pierwszy, dowolny mikrostan X.
2. Oblicz energię EX.
3. Dokonaj dozwolonej transformacji peptydu (transformacje opisano dalej, dla ustalenia uwagi - dokonujemy obrotu części peptydu wokół losowo wybranego aminokwasu).
4. Wyznacz energię EY uzyskanego w wyniku transformacji mikrostanu Y.
5. Zaakceptuj nowy mikrostan (X:=Y) z prawdopodobieństwem p(X,Y)=min{1,π(X)π(Y)} i wróć do 3. albo zakończ, jeśli wygenerowano ciąg o długości M.

Dysponując ciągiem (𝐱n) mikrostanów uzyskanych w algorytmie Metropolisa, możemy wyznaczyć średnią wartość A:

⟨A⟩≈1M∑i=1MA(𝐱i)

Transformacje

...

Symulowane wyżarzanie (Simulated Annealing)

Najprostszym sposobem znajdowania konformacji o minimalnej energii jest systematyczne obniżanie temperatury podczas symulacji. Wadą tego rozwiązania jest to, że układ może łatwo zatrzymać się w lokalnym minimum energii, z którego wyjście przy obniżonej temperaturze okaże się niemożliwe (precyzyjniej: niezwykle mało prawdopodobne). Ponadto, zbieżność algorytmu przy niskich temperaturach jest dosyć wolna. Układ może stracić dużo czasu (kroków symulacji) w niecce reprezentującej lokalne minimum, bądź oscylując między stanami o tej samej energii.

Zamiana replik (Replica Exchange Monte Carlo)

W tym podejściu równolegle symuluje się wiele kopii układu, każdy w innej, stałej temperaturze. Załóżmy, że w pewnym momencie symulacji algorytmu Metropolisa i-ta replika o temperaturze Ti jest w mikrostanie 𝐱i o energii E(𝐱i), zaś j-ta replika w odpowiednio: temperaturze Tj, mikrostanie 𝐱j i energii E(𝐱j). Z rozkładu jednostajnego losujemy parę kolejnych replik (i,j) , które z prawdopodobieństwem ps zostaną zamienione miejscami:

ps=min{1,e−Δ},

gdzie

Δ=(1kTj−1kTi)(E(𝐱i)−E(𝐱j))

Po zamianie i-ta replika symulowana jest w temperaturze Tj , a j-ta w temperaturze Ti. Ponieważ prawdopodobieństwo zamiany maleje wykładniczo wraz ze wzrostem różnicy temperatur, rozważamy wyłącznie repliki sąsiednie.

Zamiana temperatur zmienia krajobraz energetyczny. W bardzo wysokich temperaturach bariery energetyczne znikają i można domniemywać, że prawdopodobieństwo odwiedzenia mikrostanu jest zadane rozkładem jednostajnym. Repliki, które utknęły w lokalnych minimach mogą zostać z nich wyzwolone przez przeniesienie do wyższej temperatury.

Wymiany nie powinny być zbyt częste. Po zmianie temperatury układ przez pewien czas się stabilizuje i przemieszcza w najbardziej prawdopodobny region krajobrazu energetycznego.

Po zakończeniu symulacji średnia A w temperaturze Ti może zostać oszacowana wzorem:

⟨A⟩≈1M∑i=1MA(𝐱i)

Symulacje planowane na ćwiczeniach

Celem ćwiczeń jest zaimplementowanie modelu HP (domyślnie w języku Java) i sprawdzenie wyników przedstawionych w publikacji K. A. Dilla z 1995 roku. W pierwszym etapie przeprowadzimy symulowane wyżarzania modeli dwuwymiarowych trzech polimerów o sekwencjach:

  • PHPPHPPHHPPHHPPHPPHP
  • HPPHPPHPHPPHPHPHHH
  • HPPPHHPPHPHHPHHH

(na ostatnich ćwiczeniach zawęziłem symulacje obowiązujące na 25. marca do jednej sekwencji, pierwszej na powyższej liście). W przypadku każdego peptydu temperaturą początkową będzie Tmax=1, a temperaturą końcową Tmin=0.1. Temperatura będzie w trakcie symulacji maleć o czynnik δ=0.05. Po przeprowadzeniu x=10000 transformacji (dokonując akceptacji/odrzuceń wygenerowanych konformacji) w danej temperaturze T, przeprowadzamy kolejnych x kroków w temperaturze T−δ i tak dalej, aż do osiągnięcia Tmin.

W każdej temperaturze wygenerujemy m(T)<x konformacji, które akceptować będziemy na drodze algorytmu Metropolisa i dla każdej takiej próby możemy wyznaczyć ciepło właściwe układu Cv, średni moment bezwładności I oraz histogram wystąpień stanów w zależności od liczby kontaktów.

(z ostatnich ćwiczeń: na 25. marca proszę wykonać wykres Cv(T) oraz histogramy dla poszczególnych temperatur. Załączone rysunki przedstawiają czego spodziewać się można po wynikach).

Ciepło właściwe w funkcji temperatury, uzyskane w symulowanym wyżarzaniu.
Histogram wystąpień stanów w zależności od liczby kontaktów.
Średni moment bezwładności w funkcji temperatury.

Ciepło właściwe wyraża się wzorem:

CV(T)=⟨E(T)2⟩−⟨E(T)⟩2kT2

Warto zauważyć, że w CV jest proporcjonalne do wariancji energii i można ją interpretować jako "miarę rozrzutu energii" stanów, jakie osiąga układ w danej temperaturze.

Moment bezwładności definiujemy następująco:

I=∑i=1n(𝐬i−𝐬0)2

gdzie s0 jest środkiem ciężkości, a n liczbą aminokwasów w strukturze. Natywna struktura większości białek jest globularna. Można więc przyjąć, że moment bezwładności jest dobrym przybliżeniem "stopnia zwinięcia białka".

Model HP "na piątkę"

Na ocenę bardzo dobrą z tej części ćwiczeń należy przeprowadzić dodatkowo (poza symulacją na zaliczenie, na 25. marca) dwie symulacje, dla białek o sekwencjach:

  • HPPPHHPPHPHHHHHH
  • HPPPHHPPHPHHPHHH

które różnią się sekwencyjnie tylko na jednej pozycji (praca Dilla, str. 20). Specyfikacje symulacji są te same, co poprzednio. Należy wykonać analogiczne histogramy wystąpień kontaktów, wykresy Cv(T) oraz - analogiczny do wykresu Cv - wykres ⟨I(T)⟩.

Czy różnica sekwencyjna na jednej pozycji powoduje zmianę minimalnej wartości energii dla tych dwóch białek? Czy obydwa białka "zwijają się" do minimum energii? A jak nie - to do minimum jakiego potencjału?

Linki zewnętrzne