Wprowadzenie do GROMACS'a Autorka: Magda Flader Wstęp Program GROMACS jest szeroko stosowanym pakietem służącym do przeprowadzania symulacji dynamiki molekularnej. Celem ćwiczenia jest przeprowadzenie symulacji dynamiki molekularnej wybranego białka, umieszczonego w środowisku wodnym. By rozpocząć pracę z programem GROMACS, należy ściągnąć plik PDB odpowiadający cząsteczce białka z bazy danych Protein Data Bank (http://www.pdb.org/pdb/home/home.do). Po ściągnięciu pliku, cząsteczkę można obejrzeć w odpowiednim programie graficznym. Przykładowo mogą to być VMD (http://www.ks.uiuc.edu/research/vmd/), Chimera (http://www.cgl.ucsf.edu/chimera/), czy PyMOL (http://www.pymol.org/) Metoda 1. pdb2gmx- narzędzie używane jest do generowania trzech plików opisujących: Topologię molekuły (topol.top) Położenie (pliki.gro) Topologię pomocniczą (posre.itp) 2. genion narzędzie GROMACSa służące do dodawania jonów do układu. Używany jest tzw. plik wejściowy (run input file) posiadający rozszerzenia.tpr 3. Grompp odpowiedzialny jest za składanie plików i topologii w plik.tpr, który zawiera wszystkie parametry dla atomów układu. By stworzyć plik.tpr za pomocą grompp, potrzebny jest dodatkowy plik wejściowy o rozszerzeniu.mdp (molecular dynamics parameter file). Plik ten jest zazwyczaj używany do uruchamiania minimalizacji energii lub symulacji MD, ale w tej sytuacji jest użyty do utworzenia atomowego opisu systemu. Proces równowagowania Równowagowanie jest często przeprowadzane w dwóch etapach. W pierwszym z nich przeprowadzany jest proces pod stałymi NVT (stała liczba cząsteczek, stała objętość oraz temperatura), natomiast drugi pod stałymi NPT (stała liczba cząsteczek, stałe ciśnienie oraz stała temperatura). Ramy czasowe dla obu procesu zależą od wymagań systemowych, np. w procesie NVT, temperatura układu powinna osiągać stabilną i pożądaną przez nas wartość. Zazwyczaj wystarczy od 50 do 100 ps (10-12 sekundy) symulacji, co na komputerze z procesorem Core 2 Duo 2.66 GHz zajmuje kilka godzin. W ćwiczeniu jest wykorzystana symulacja trwająca 100 ps. Usunięcie wody krystalizacyjnej i uzupełnienie brakujących elementów By tego dokonać należy użyć edytora tekstu gedit (Linux). Należy usunąć wersy posiadające reszty HOH w pliku z rozszerzeniem.pdb. Można też usunąć wszystkie wersy, które nie opisują białka (znajdujące się poniżej linii zawierającej wyraz TER). Przykład (dla lizozymu SYMBOL): ATOM 1000 CD2 LEU A 129 37.310 12.325 5.886 1.00 25.15 C
ATOM 1001 OXT LEU A 129 43.232 12.675 6.905 1.00 34.20 O TER 1002 LEU A 129 HETATM 1003 O HOH A 130 23.434 40.063-6.661 1.00 19.48 O HETATM 1004 O HOH A 131 31.994 26.416-6.047 0.90 22.43 O HETATM 1005 O HOH A 132 30.250 13.337 9.787 0.98 20.93 O CONECT 48 981 CONECT 238 889 CONECT 513 630 Zawsze należy sprawdzić plik.pdb, czy posiada on wszystkie atomy i reszty. Brakujące elementy można znaleźć pod komentarzem MISSING. By łatwo odnaleźć brakujące atomy lub reszty można skorzystać z kombinacji klawiszy Ctrl + f. Przykład (dla spektryny - SYMBOL): MISSING ATOM THE FOLLOWING RESIDUES HAVE MISSING ATOMS (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE): M RES CSS EQI ATOMS SER A 57 OG ASN A 58 CG OD1 ND2 LYS A 168 CG CD ARG A 276 CZ NH1 NH2 CE NZ W przypadku braku atomów lub grup należy je uzupełnić korzystając np. z programu SWISSPDB (http://spdbv.vital-it.ch/), który w systemie Linux należy otworzyć za pośrednictwem programu WINE. Po otworzeniu odpowiedniego pliku.pdb, program zapyta czy uzupełnić brakujące atomy i grupy. Po ich automatycznym odtworzeniu należy zapisać zmiany, po czym cząsteczka jest gotowa do symulacji. Uruchomienie pdb2gmx pdb2gmx -f nazwa-pliku.pdb -o mol_processed.gro -ignh Opcja -f oznacza plik wejściowy, natomiast opcja -o oznacza plik wyjściowy. Polecenie -ignh powoduje ignorowanie wszystkich atomów wodoru w pliku PDB. Należy zwrócić uwagę na całkowity ładunek cząsteczki (Total charge) podany przez program w terminalu. Informacja będzie przydatna w kolejnych etapach ćwiczenia. Przykład (dla lizozymu - 1AKI): Total mass 14313.197 a.m.u. Total charge 8.000 e Writing topology W katalogu w którym jest wykonywane ćwiczenie powinny zostać wygenerowane 3 pliki z roszerzeniami:.gro,.top oraz.itp.
Definiowanie pudła symulacyjnego oraz rozpuszczalnika Definiowanie pudła symulacyjnego oraz rozpuszczalnika odbywa się za pomocą dwóch programów: editconf oraz genbox. Dla potrzeb tego ćwiczenia jako pudło symulacyjne został wybrany sześcian. Należy pamiętać o możliwości zmiany kształtu i rozmiaru pudła, co pozwala np. na zmienijszenie liczby cząsteczek wody, a tym samym na skrócenie czasu obliczeń. Do zdefiniowania pudła należy użyć komendy: editconf -f mol_processed.gro -o mol_newbox.gro -c -d 1.0 -bt cubic Opcja -c pozwala na wycentrowanie białka w pudle, natomiast opcja -d na ustawienie go w minimalnych odległościach (w tym przykładzie 1.0 nm) od krawędzi, a opcja -bt określa kształt komórki. Za pomocą powyższej komendy został utworzony plik mol_newbox.gro, który będzie zastosowany podczas kolejnego kroku. By wypełnić pudło rozpuszczalnikiem (wodą) należy wpisać komendę: genbox -cp mol_newbox.gro -cs spc216.gro -o mol_solv.gro -p topol.top Konfiguracja rozpuszczalnika (-cs) jest częścią pakietu GROMACS. Używamy modelu o nazwie spc216, który jest klasycznym modelem wody. Należy pamiętać, że plik topologii topol.top zawiera informacja o aktualnej topologii, na przykład liczbę cząsteczek rozpuszczalnika dodanych do pudła (SOL): Przykład (dla lizozymu - 1AKI): [ molecules ] ; Compound #mols Protein_A 1 SOL 10832 Składanie pliku.tpr odbywa się za pomocą poniższej komendy: grompp -f ions.mdp -c molecule_solv.gro -p topol.top -o ions.tpr Dodawanie jonów Początkowo pdb2gmx zasygnalizował ładunek całkowity cząsteczki. W razie przeoczenia tej informacji, można ją odszukać w topol.top ostatni wers sekcji [ atoms ] oraz ostatnia kolumna (qtot). Wywołanie programu genion: genion -s ions.tpr -o molecule_solv_ions.gro -p topol.top -pname NA -nname CL -nn liczba W miejsce opisane liczba należy wpisać liczbę jonów potrzebną do neutralizacji układu. Następnie należy wybrać grupę SOL, by zastąpić konieczną liczbę cząsteczek rozpuszczalnika jonami. Za pomocą komendy genion neutralizuje się układ dodaje się odpowiednią ilość jonów dodatnich lub ujemnych. Gdy całkowity ładunek cząsteczki jest zerowy, powyższą komendę można
ominąć. Minimalizacja Energii Stworzony został rozpuszczony i zneutralizowany układ. Zanim zostanie rozpoczęta symulacja, należy się upewnić, że układ nie posiada żadnych przestrzennych sprzeczności i jest poprawny geometrycznie. Dzięki procesowi minimalizacji energii (energy minimization - EM) układ ulega relaksacji. Po raz kolejny należy skorzystać z pomocy grompp, by złożyć w całość strukturę, topologię i parametry symulacji w binarny plik wejściowy (.tpr): grompp -f minim.mdp -c molecule_solv_ions.gro -p topol.top -o em.tpr Jeżeli układ nie wymagał neutralizowania należy wpisać następujące komendę: grompp -f minim.mdp -c molecule_solv.gro -p topol.top -o em.tpr Następnie należy wywołać mdrun, by przeprowadzić Minimalizację Energii (EM): mdrun -v -deffnm em Znacznik -v jest dodatkiem dla niecierpliwych z jego pomocą na ekranie krok po kroku prezentowany jest postęp symulacji. Opcja -deffnm oznacza, że wszystkie pliki wejściowe i wyjściowe posiadają nazwę em z odpowiednim rozszerzeniem. Równowagowanie Proces równowagowania jest czasochłonny (zajmuje kilka godzin) i zależy od szybkości procesora. Dlatego też w niniejszym ćwiczeniu wykorzystane zostaną parametry (krok) pozwalające na przeprowadzenie równowagowania w bardzo krótkim czasie. W procesie EM została zapewniona odpowiednia orientacja rozpuszczalnika oraz cząsteczki. Głównym zadaniem procesu równowagowania jest doprowadzenie układu do stanu równowagi pomiędzy białkiem a rozpuszczalnikiem (w tym wypadku wodą). Podczas obliczeń zostanie użyty wcześniej wygenerowany plik posre.itp, ma to na celu unieruchomienie atomów ciężkich obecnych w białku. Pozwala to na przeprowadzenie równowagowania bez konieczności wprowadzania zmian strukturalnych białka. Początkowo układ zostaje doprowadzony do odpowiedniej temperatury (w jakiej należy prowadzić symulację). Stabilizowane jest ciśnienie w układzie, dopóki nie zostanie osiągnięta właściwa gęstość. Przebieg MD bez zmiany kroku: grompp -f nvt.mdp -c em.gro -p topol.top -o nvt.tpr mdrun -deffnm nvt (w komendzie tej można również użyć wspomniany wcześniej -v ) Kolejny etap równowagowania stabilizuje temperaturę i ciśnienie układu. Proces przeprowadzany jest pod stałymi NPT (stała liczba cząsteczek, stałe ciśnienie oraz temperatura). Ponownie do tego celu używane są narzędzia grompp oraz mdrun:
grompp -f npt.mdp -c nvt.gro -t nvt.cpt -p topol.top -o npt.tpr mdrun -deffnm npt Proces symulacji dynamiki molekularnej (MD) Po osiągnięciu odpowiedniej temperatury i ciśnienia można przeprowadzić właściwą symulację dynamiki molekularnej. Z podobnych względów jakie miały miejsce podczas równowagowania parametry procesu zostały zmienione. Przebieg MD bez zmiany kroku: grompp -f md.mdp -c npt -gro -t npt.cpt -p topol.top -o md_0_1.tpr mdrun -deffnm md_0_1 Część praktyczna Wykonanie ćwiczenia Należy wejść do katalogu baza trajektoria trajektoria położenia. Następnie prawym przyciskiem myszy kliknąć na wybrany przez prowadzącego ćwiczenie folder zawierający pliki do symulacji dla wybranej cząsteczki po czym skopiować go. Na pulpicie należy utworzyć folder opisany imieniem i nazwiskiem studenta, po czym wkleić do niego wcześniej skopiowany folder. 1. Pierwszym etapem jest usunięcie wody krystalizacyjnej z pliku z rozszerzenem.pdb należy wejść do skopiowanego katalogu pliki do symulacji prawym przyciskiem myszy kliknąć plik z roszerzeniem.pdb i wybrać: otwórz w gedit (open with gedit) odnaleźć wersy opisujące wodę (zdefiniowane jako HOH, znajdujące się poniżej linii zawierającej wyraz TER) i zaznaczyć usunąć wersy używając klawisza delete następnie należy zapisać zmiany wprowadzone w pliku (Ctrl+S), po czym go zamnknąć 2. Uruchomienie pdb2gmx należy wejść do katalogu pliki do symulacji w celu uruchomienia konsoli należy wcisnąć przycisk F4 w konsoli wpisać poniższe polecenie, przy czym w miejscu nazwa-pliku należy wpisać nazwę odpowiedniego pliku z rozszeniem.pdb pdb2gmx -f nazwa-pliku.pdb -o mol_processed.gro -ignh w pierwszej kolejności program zapyta się o wybór odpowiedniego pola siłowego w tym przypadku jest to OPLS force field następnie program zapyta się o wybranie odpowiedniego modelu wody należy wybrać SPC/E gdy program zostanie wykonany, w konsoli wyświetli się informacja na temat ładunku Total charge =., należy zapisać tą infomaję wyniki poszczególnych etapów symulacji można zobaczyć w programie VMD, w tym celu w konsoli należy wpisać polecenie:
vmd mol_processed.gro jeżeli chcemy zapisać obraz który widzimy należy z menu programu VMD wybrać: File->Render Zostanie wyświetlone okno, w którym należy: wybrać z listy Render the current scence using opcje PostScript (vector graphics) w polu Filename, należy wpisać dowolną nazwę (bez polskich liter) z końcówką.ps następnie nacisnąć przycisk Start Rendering w celu zapisania obrazu, zostanie on zapisany w folderze z plikami do symulacji po zapisaniu obrazu należy zamnknąć program VMD 3. Definiowanie pudła symulacyjnego oraz rozpuszczalnika należy wpisać w terminalu poszczególne polecenia (dokładne objaśnienie komend znajduje się w dziale Metoda ), definiowanie pudła: editconf -f mol_processed.gro -o mol_newbox.gro -c -d 1.0 -bt cubic następnie: vmd mol_newbox.gro z menu programu VMD należy wybrać: Extension -> Tk Console Zostanie wyświetlona konsola, w której należy wpisać polecenia: package require pbctools następnie: pbc box po wpisaniu poleceń należy zamknąć szarą konsolę programu VMD obraz można zapisać, a następnie zakończyc program VMD kolejnym etapem jest wypełnienie pudła rozpuszczalnikiem (wodą), w tym celu w terminalu należy wpisać polecenie: genbox -cp mol_newbox.gro -cs spc216.gro -o mol_solv.gro -p topol.top następnie: vmd mol_solv.gro
z menu programu VMD należy wybrać: Graphics->Representaion w oknie Selected Atoms wpisuje się protein, nacisnąć klawisz Enter, po czym w Drawing Method można wybrać: NewCartoon i nacisnąć przycisk Apply następnie należy nacisnąć Create Rep, po czym w oknie Selected Atoms wpisać water, nacisnąć klawisz Enter, następnie wybrać Drawing Method Points i nacisnąć przycisk Apply obraz można zapisać, a następnie zamnknąć program VMD Składanie pliku.tpr, w termianlu należy wpisać: grompp -f ions.mdp -c mol_solv.gro -p topol.top -o ions.tpr 4. Dodawanie jonów: WAŻNE: Ten etap należy wykonać tylko w przypadku gdy wartość Total charge była różna od zera, jeżeli była równa zero należy przejśc do etapu Minimalizacja energii wywołanie programu genion, w terminalu należy wpisać poniższe polecenie, przy czym w miejsce opisane liczba należy wpisać liczbę jonów potrzebną do neutralizacji układu, jest to wartość parametru Total charge genion -s ions.tpr -o molecule_solv_ions.gro -p topol.top -pname NA -nname CL -nn liczba (polecenie należy wpisać ciągiem) wybrać grupę SOL, by zastąpić konieczną liczbę cząsteczek rozpuszczalnika jonami następnie w terminalu należy wpisać polecenie: vmd molecule_solv_ions.gro z menu programu VMD należy wybrać: Graphics->Representaion w oknie Selected Atoms wpisuje się protein, nacisnąć klawisz Enter, po czym w Drawing Method można wybrać: NewCartoon i nacisnąć przycisk Apply następnie należy nacisnąć Create Rep, po czym w oknie Selected Atoms wpisać water, nacisnąć klawisz Enter, następnie wybrać Drawing Method Points i nacisnąć przycisk Apply należy nacisnąć Create Rep, po czym w oknie Selected Atoms wpisać ions, nacisnąć klawisz Enter, następnie wybrać Drawing Method VDW i nacisnąć przycisk Apply
5. Minimalizacja Energii składanie pliku.tpr jeżeli do układu zostały dodane jony, to w terminalu należy wpisać polecenie : grompp -f minim.mdp -c molecule_solv_ions.gro -p topol.top -o em.tpr natomiast jeżeli do układu nie zostały dodane jony, to w terminalu należy wpisać polecenie: grompp -f minim.mdp -c mol_solv.gro -p topol.top -o em.tpr kolejny etap to wywołanie mdrun, przez wpisanie w termianlu polecenia: mdrun -v -deffnm em jest to pierwszy etap symulacji, gdzie cząsteczki zostały wprawione w ruch, proces tem możemy zaobserwować w programie VMD, wpisując polecenie: vmd molecule_solv_ions.gro em.trr (jeżeli zostały dodane jony) lub vmd mol_solv.gro em.trr (jeżeli nie zostały dodane jony) ruch cząsteczek możemy zaobserwować klikając przycisk play, znajdujący się w prawym dolnym rogu okna VMD Main 6. Równowagowanie składanie pliku.tpr (I etap): grompp -f nvt2.mdp -c em.gro -p topol.top -o nvt2.tpr -maxwarn 10 wywołanie mdrun (I etap): mdrun -v -deffnm nvt2 po zakończeniu pierwszego etapu równowagowania, ruch cząsteczek możemy zaobserwować w programie VMD vmd em.gro nvt2.trr składanie pliku.tpr (II etap): grompp -f npt2.mdp -c nvt2.gro -t nvt2.cpt -p topol.top -o npt2.tpr -maxwarn 10 wywołanie mdrun (II etap): mdrun -deffnm npt2 -v
po zakończeniu drugiego etapu równowagowania, ruch cząsteczek możemy zaobserwować w programie VMD vmd nvt2.gro npt2.trr 7. Proces symulacji dynamiki molekularnej (MD) składanie pliku.tpr grompp -f md2.mdp -c npt2.gro -t npt2.cpt -p topol.top -o md2_0_2.tpr -maxwarn 10 wywołanie mdrun mdrun -deffnm md2_0_2 -v wizualizacja symulacji: vmd npt2.gro md2_0_2.trr po zakończeniu wizualizacji należy zamnknąć program VMD oraz terminal 8. Analiza Symulacje dynamiki molekularnej trwają bardzo długo (od kilku godzin do kilki tygodni), w związku z tym analiza wyników zostanie przeprowadzona na trajektoriach, które zostały wcześniej wygenerowane. W tej części ćwiczenia należy przejść do katalogu gotowe trajektoria. Po stworzeniu każdego z wykresów można go odnaleźć wśród wygenerowanych plików (posiada rozszerzenie.xvg). Należy kliknąć na niego prawym klawiszem myszy i otworzyć w programie Grace. 8.1. Pierwszym etapem analizy jest sprawdzenie, czy w trakcie procesu minimalizacji układ osiągnął stabilizację energii w tym celi należy otworzyć terminal i wpisać polecenie: g_energy -f em.edr -o potential.xvg wybrać liczbę odpowiadającą potencjałowi, który chcemy osiągnąć w symulacji (wybieramy typ Potential ), następnie wcisnąć spację, następnie wpisać zero(np.10 0), komendę kończymy naciskając Enter. Tym sposobem utworzony zostanie plik o nazwie: potential.xvg aby otworzyć powstały wykres należy skorzystać z pomocy programu Xmgrace, by tego dokonać należy w teminali wpisać polecenie: xmgrace potential.xvg Po wpisaniu polecenia zostanie wyświetlony wykres zmiany wartości energii w trakcie procesu minimalizacji (przykładowy wykres został przedstawiony na Rysunku 1). Po
obejrzeniu wykresu należy zamknąć program xmgrace Rysunek 1: Wykres przedstawiający zachowanie energii w trakcie procesu minimalizacji. 8.2. Kolejnym etapem jest analiza postępu temperatury w trakcie pierwszego etapu równowagowania: w tym celi należy w termianlu wpisać polecenie: g_energy -f nvt.edr -o temperature.xvg Należy wpisać liczbę odpowiadającą temperaturze, zrobić spację, następnie wpisać 0 i zakończyć komendę wciskając klawisz Enter aby otworzyć powstały wykres należy skorzystać z pomocy programu Xmgrace, by tego dokonać należy w teminali wpisać polecenie: xmgrace temperature.xvg Po wpisaniu polecenia zostanie wyświetlony wykres zmiany wartości temperatury w trakcie procesu równowagowania (przykładowy wykres został przedstawiony na Rysunku 2). Na wykresie widać, że temperatura szybko osiąga pożądaną wartość (w tym przypadku jest to 300 K), a następnie stabilizuje się. Po obejrzeniu wykresu należy zamknąć program xmgrace
Rysunek 2: Wykres przedstawiający zmianę wartości temperatury w trakcie procesu równowagowania. 8.3. Kolejnym etapem jest analiza postępu ciśnienia w trakcie drugiego etapu równowagowania: w tym celu należy wpisać w terminalu polecenie: g_energy -f npt.edr -o pressure.xvg Należy wybrać liczbę odpowiadającą ciśnieniu (pressure), zrobić spację, następnie wpisać 0 i zakończyć komendę wciskając klawisz Enter aby otworzyć powstały wykres należy skorzystać z pomocy programu Xmgrace, by tego dokonać należy w teminali wpisać polecenie: xmgrace pressure.xvg Po wpisaniu polecenia zostanie wyświetlony wykres zmiany wartości ciśnienia w trakcie procesu równowagowania (przykładowy wykres został przedstawiony na Rysunku 3). Na wykresie można zaobserwować duże wahania ciśnienia, jednak średnia utrzymuje się na jednym poziomie. Po obejrzeniu wykresu należy zamknąć program xmgrace
Rysunek 3: Wykres przedstawiający zmianę wartości ciśnienia w trakcie procesu równowagowania. 8.4. Kolejnym etapem jest analiza gęstości w trakcie drugiego etapu równowagowania: w tym celu należy wpisać w terminalu polecenie: g_energy -f npt.edr -o density.xvg Należy wybrać liczbę odpowiadającą gęstości (density), zrobić spację, następnie wpisać 0 i zakończyć komendę wciskając klawisz Enter aby otworzyć powstały wykres należy skorzystać z pomocy programu Xmgrace, by tego dokonać należy w teminali wpisać polecenie: xmgrace density.xvg Po wpisaniu polecenia zostanie wyświetlony wykres zmiany wartości gestości w trakcie procesu równowagowania (przykładowy wykres został przedstawiony na Rysunku 4). Na wykresie można zaobserwować duże wahania ciśnienia, jednak średnia utrzymuje się na jednym poziomie. Po obejrzeniu wykresu należy zamknąć program Xmgrace
Rysunek 4: Wykres przedstawiający zmianę wartości gęstości w trakcie procesu równowagowania. 9. Przebieg symulacji. Symulację można obejrzeć za pomocą programu VMD. należy ponownie otworzyć terminal i wpisać następującą komendę: vmd -f md_0_1.gro md_0_1.xtc program składa się z dwóch okien. By uruchomić symulację należy nacisnąć play : z menu programu VMD należy wybrać: Graphics->Representaion w oknie Selected Atoms wpisuje się protein, po czym w Drawing Method można wybrać: NewCartoon i nacisnąć przycisk Apply następnie należy nacisnąć Create Rep, po czym w oknie Selected Atoms wpisać
water, następnie wybrać Drawing Method Points i nacisnąć przycisk Apply należy nacisnąć Create Rep, po czym w oknie Selected Atoms wpisać ions, następnie wybrać Drawing Method VDW i nacisnąć przycisk Apply By dodać pudło musimy: z menu programu VMD należy wybrać: Extension -> Tk Console Zostanie wyświetlona konsola, w której należy wpisać polecenia: package require pbctools następnie: pbc box po wpisaniu poleceń należy zamknąć szarą konsolę programu VMD obraz można zapisać, a następnie zakończyc program VMD Układ końcowy powinien wyglądać następująco: