Symulacje komputerowe białek

Prowadzący: Łukasz Mioduszewski


Kategorie: informatyka

Opis

[Uwaga do ocen zadań: punktacja została przeskalowana tak, że maksymalna liczba punktów to 6 zamiast 12]

Całe znane ziemskie życie działa dzięki białkom. Znamy już wiele ich struktur, zebranych w bazie PDB. Można symulować ich zachowanie, badając reakcje na zmiany temperatury, dodawanie różnych związków czy innych białek. Najtrudniejszym zadaniem jest przewidzenie struktury białka na podstawie jego składu chemicznego (na razie najpotężniejsze komputery kiepsko sobie z tym radzą, dlatego PDB jest takie ważne). Brzmi to dość biologicznie[1], jednak symulacje białek to klasyczna fizyka (dosłownie klasyczna, bo zjawiska kwantowe w białkach zwykle przedstawia się w sposób klasyczny). W dużym skrócie: atomy białek reprezentuje się jako kulki połączone sprężynkami. Oddziałują one ze sobą elektrostatycznie (i nie tylko), a znając siły działające na atomy można przewidzieć ich ruch (\(\vec{F}= m\vec{a} \)). Właśnie przewidywaniem ruchu białek będziemy się zajmować. Ponieważ atomów w białku jest dużo, a każdy może oddziaływać z każdym, symulacje trwają dosyć długo. Dlatego użyjemy systemu Copernicus,dzięki któremu symulacje będą automatycznie przypisywane komputerom uczestników, aby maksymalnie wykorzystać dostępną moc obliczeniową. Same symulacje będą prowadzone w programie Gromacs.

Plan warsztatów

  1. Dzień 1
    1. Część techniczna: powiem po kolei jak zrobić symulację w Gromacsie, puścimy proste symulacje białka w roztworze wodnym, a jeśli starczy czasu także jego denaturacji (rozwijania pod wpływem temperatury).
    2. Gdy symulacje będą się robić, opowiem na czym polegają (jak działa Gromacs)
  2. Dzień 2
    1. Praca nad własnym projektem (patrz zadania kwalifikacyjne)
    2. Gdy większość upora się z symulacjami, pokrótce opowiem jak działają białka i jak można to symulować
  3. Dzień 3
    1. Dodatkowy czas na własny projekt i opracowanie wyników
    2. Zaawansowane techniki opracowywania danych z symulacji

symulacje_obrazek

Obrazek z artykułu o symulacjach białek, same białka są reprezentowane jako niebieskie i czerwone wstążki.

Wymagania

Warsztaty będą polegać na symulacjach przy użyciu gotowego programu (zakodzenie własnego trwałoby zbyt długo), a działanie programu będzie wytłumaczone w trakcie, dlatego wymagania są głównie sprzętowe. Podstawowym jest posiadanie laptopa, najlepiej z systemem Linux. Pod Windowsem mogą być problemy, ale jeśli ktoś będzie chciał, spróbuję pomóc (najpierw mailowo z instalacją programów, a podczas warsztatów z kompatybilnością).

Lista programów, które trzeba mieć zainstalowane na swoim komputerze

  1. Gromacs 5.1.2 (w sumie może być inna wersja, ale wtedy proszę o informację mailem)
  2. Copernicus (na razie wystarczy go ściągnąć)
  3. Wybrany program do wizualizacji białek (np. VMD, Chimera, pyMol, SwissViewer, Yasara lub inny). Polecam VMD, bo na nim się najlepiej znam (więc będę mógł najwięcej pomóc).

Wszystko jest darmowe, a na warsztatach będzie możliwość doinstalowania brakujących programów, ale punkty 1. i 3. są potrzebne do zadań kwalifikacyjnych.

Przydatne rzeczy

Jak sprawdzić jakiego się ma Pythona

Wystarczy wpisać (w Windowsie można pod Cygwinem):

python --version

Dla pewności można jeszcze otworzyć Pythona i wpisać:

import ssl

Jeśli komenda zadziała, wszystko jest w porządku (Copernicus potrzebuje SSLa). Jeśli nie, trzeba ściągnąć Pythona.

Tutorial instalacji Copernicusa

Należy ściągnąć najnowszą wersję Copernicusa z GitHuba, klikając na zielony przycisk "Clone or download", a następnie "download as zip". Alternatywnie, jeśli masz Gita, możesz go użyć (ale nie jest to konieczne). Potem należy rozpakować archiwum zip tam, gdzie chcemy żeby Copernicus był zainstalowany.

Teraz trzeba powiedzieć komputerowi, gdzie jest Copernicus. W tym celu trzeba dodać do pliku .bashrc (który powinien znajdować się w katalogu domowym, np. /home/user) następujący wpis:

export CPC_HOME=sciezka/do/copernicusa
export PATH=$PATH:$CPC_HOME

Dzięki temu zmienna środowiskowa PATH będzie pamiętać, gdzie jest Copernicus. Po dopisaniu tych linijek i uruchomieniu terminala powinny działać następujące komendy:

cpcc -h
cpc-server -h
cpc-worker -h

Uwaga ogólna: przy okazji można dodać do pliku .bashrc linijkę source /usr/local/gromacs/bin/GMXRC, wtedy nie trzeba jej będzie wklepywać za każdym razem od nowa.

Uwaga dla korzystających z Cygwina: katalog domowy znajduje się tam gdzie Cygwin, np. jeśli Cygwin jest bezpośrednio na dysku C, plik .bashrc powinien być w katalogu C:\cygwin\home\user. Zapisując w pliku .bashrc ścieżkę w jakiej zainstalowaliśmy Copernicusa (np. C:\copernicus) trzeba pamiętać jak wygląda ona w Cygwinie (np. w tym przypadku wpisujemy export CPC_HOME=/cygdrive/c/copernicus, druga linijka bez zmian).

Tutorial instalacji Gromacsa pod Linuxem (wg strony Gromacsa):

Najpierw ściągnij Gromacsa i zapisz go w jakimś katalogu, a następnie otwórz w tym katalogu terminal. Rozpakuj Gromacsa, np. poleceniem:

tar xfz gromacs-5.1.2.tar.gz

Następnie przejdź do rozpakowanego katalogu, utwórz podkatalog build i przejdź do niego:

cd gromacs-5.1.2
mkdir build
cd build

Teraz najważniejszy krok, konfiguracja instalacji:

cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON

Opcję BUILD_OWN_FFTW warto zaznaczyć, bo w przeciwnym wypadku trzeba byłoby instalować bibliotekę FFTW oddzielnie, albo sprawdzać czy instalacja obecna na komputerze zgadza się z Gromacsem. Opcja ściągania REGRESSIONTEST ściąga duży plik zawierający testy, które po instalacji Gromacsa sprawdzą, czy program dobrze działa. Czas na instalację:

make
make check
sudo make install

Oczywiście komendy należy wywoływać jedna po drugiej, samo make może trwać dłużej niż godzinę. Aby komendy Gromacsa można było wywoływać z każdego katalogu, należy wpisać komendę, która to umożliwia:

source /usr/local/gromacs/bin/GMXRC

Ścieżka usr/local/gromacs/bin/ wynika z tego, że w cmake nie powiedzieliśmy, gdzie dokładnie zainstalować Gromacsa, więc powinien być zapisany w /usr/local/gromacs/. Może się jednak zdarzyć, że plik GMXRC jest w innym miejscu. Trzeba go wtedy znaleźć i podać po source poprawną ścieżkę. Tę ostatnią komendę należy wpisywać za każdym razem, gdy od nowa otwieramy terminal (albo dopisać ją do ~/.bashrc). Teraz Gromacs powinien być już zainstalowany. Powinno być rozpoznawane np. polecenie:

gmx mdrun

Tutorial instalacji Gromacsa pod Windowsem

Podany poniżej tutorial korzysta z rady ze strony Gromacsa:

Try to avoid needing to remember that you're on a Windows machine. Life will be much better if you do all your GROMACS work using the Cygwin shells (e.g. for setting environment variables) [...]

Dlatego pierwszym etapem jest zainstalowanie Cygwina. Instalacja jest prosta, wystarczy klikać "dalej", z jednym wyjątkiem. W pewnym momencie pojawi się okno wyboru, z czym ma być zainstalowany Cygwin. Należy zadbać, aby zainstalowane były: gcc, cmake, gdb, tcsh, tar. Poza ostatnimi dwoma wszystkie są w zakładce "Devel", więc jeśli ma się trochę czasu i miejsca na dysku, można zainstalować wszystko z "Devel". Alternatywnie można wpisywać w pole na górze jedno słowo kluczowe po drugim i zaznaczać, aby były zainstalowane. Uwaga: kliknięcie "enter" spowoduje przejście do instalacji, więc w okienku wyszukiwania nie należy klikać enter (po wpisaniu słowa wyniki same się wyświetlą). Jak już wszystko co trzeba będzie wybrane, znowu klikamy "dalej", aż Cygwin zostanie zainstalowany. Jeśli zapomnieliśmy o czymś, ponowne uruchomienie instalatora umożliwi doinstalowanie brakujących rzeczy.

Po zainstalowaniu Cygwina, można z niego robić wiele rzeczy tak jak w linuxowym terminalu. Dlatego instalacja Gromacsa pod Cygwinem (zakładając że mamy cmake, gcc itd.) powinna być podobna do tej linuxowej, z paroma wyjątkami:

  1. Po uruchomieniu Cygwin znajduje się w specjalnym katalogu. Aby przeglądać rzeczy na dysku, należy zacząć od "cd C:" (albo od innej litery odpowiadającej dyskowi). Potem można już zmieniać katalogi poleceniem "cd". Jeśli ma się ustawione np. zabezpieczenia przed zapisem na dysku C, może być konieczne uruchomienie Cygwina jako administrator.
  2. Zamiast polecenia 
    cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON

    trzeba użyć polecenia:

    cmake .. -DGMX_BUILD_SHARED_EXE=OFF -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON
  3. Jeśli po przejściu wszystkich kroków z linuxowego tutoriala pod Cygwinem Gromacs nie zostanie poprawnie zainstalowany, warto usunąć wszystko z katalogu "build", ściągnąć FFTW (wersję linuxową, z końcówką .tar.gz) i zainstalować FFTW (po rozpakowaniu, najlepiej do c:\fftw) poleceniami:

    cd c:\fftw
    ./configure --enable-threads --enable-sse --enable-float
    make
    make install

     Potem należy ponownie spróbować zainstalować Gromacsa. Cały punkt 3. nie powinien być jednak konieczny, jeśli było zaznaczone "-DGMX_BUILD_OWN_FFTW=ON" (należy pamiętać, aby podczas instalacji mieć dostęp do Internetu).

Poza tymi trzema wyjątkami instalacja Gromacsa pod Cygwinem jest taka sama jak pod Linuxem. Gromacs może zajmować więcej miejsca i być odrobinę wolniejszy niż pod Linuxem, ale na warsztatach nie powinno to mieć żadnego znaczenia. Dla zainteresowanych wyjaśnienie różnic: FFTW pod Windowsem domyślnie używa double zamiast float, więc może nie działać. Flaga "-DGMX_BUILD_SHARED_EXE=OFF" wyłącza "dynamic linking" dzięki któremu Gromacs może korzystać z już istniejących w Linuxie bibliotek. Ponieważ Cygwin to jednak nie Linux, tych bibliotek chyba nie ma (albo nie umiem ich znaleźć). Podczas tworzenia tutoriala korzystałem ze starszego tutoriala, którego unowocześniłem do wersji 5.1.2.

Tutorial pokazywania białka w VMD

VMD jest darmowe, ale trzeba podać swojego maila, imię i nazwisko (jako afiliację można wpisać WWW albo Academic, cel Personal, warsztaty nie są finansowane przez NIH :). Od paru lat nie dostałem od nich żadnego spamu, więc sądzę że warto zaryzykować. Jeśli ktoś nie chce, nie radzę korzystać z serwisów oferujących plik instalacyjny bez ograniczeń (może mieć dołączony adware), tylko wysłać maila, a w odpowiedzi przyślę odpowiedni plik. Instalacja powinna być bezproblemowa. Po wpisaniu w terminal VMD pojawią się dwa okna: czarne okno z kolorowymi literami VMD oraz okienko "VMD Main". Należy w nim wybrać File->New Molecule->Load, znaleźć plik .pdb z białkiem i kliknąć Load. W drugim oknie pojawi się białko. Teraz wystarczy zrobić printscreen albo wybrać File->Render... aby zapisać obrazek. Białko można obracać myszą. Po kliknięciu klawisza S można je powiększać/zmniejszać, a po naciśnięciu klawisza T przesuwać. Aby wrócić do obracania, trzeba wcisnąć R (we wszystkich przypadkach aktywne musi być okno z białkiem).

Footnotes

  1. ^ Do warsztatów wiedza biologiczna nie jest potrzebna, wszystko co trzeba będzie wytłumaczone w trakcie. Jedyne co warto wiedzieć, to że białka to łańcuchy, składające się z połączonych jeden za drugim aminokwasów.