VMD 1.8.3, Wizualizacja Struktury Makrocząsteczek

Maciej Butscher

Poniższy artykuł stra się przybliżyć czytelnikowi mozliwości programu VMD. Program służy głownie do greficznej prezentacji makrolmolekul ale posiada też pewne narzędzia do analizy struktury cząteczek. VMD jest objętościowo bardzo niewielki (jak na swoje potencjalne możliwości) bo zajmuje okolo 8mb i całkowicie darmowy. Forma pracy to samuoczek a tekst to w większości zapis prostych przykładów jak szybko i łatwo używać VMD. Ukończenie w całości samouczka nie powinno przekroczyć 1,5h.

1. Wprowadzenie

VMD jest programem ściśle zaprojektowanym na potrzeby wizualizacji dynamiki i analizy biocząstek oraz skomplikowanych układów biologicznych (kwasy nukleinowe, błony lipidowe, białka itp.). VMD jest całkowicie darmowy i łatwo dostępny. Z uwagi na nieograniczony dostęp do zasobów serwera PDB (Protein Data Bank) na ekranie własnego komputera użytkownik jest w stanie symulować dowolne poznane dotąd procesy i układy biologiczne. VMD wyposażony jest w narzędzia do zaawansowanego zarządzania sposobem wizualizacji i renderowania biomolekuł w bardzo wysokiej jakości. Może być również wykorzystany do tworzenia bardzo skomplikowanych animacji i analizy zachowań animowanych układów.

Z uwagi na docelowy charakter tej pracy prezentacja (wybranych możliwości) programu VMD odbędzie się po przez proste przykłady. Na wstępie przedstawię podstawowe opcje VMD. Później odbędzie się wprowadzenie do bardziej skomplikowanego i ciekawszego zastosowania VMD.

2. Podstawowe funkcje i opcje VMD

2.1 Ładowanie danych do programu

Po uruchomieniu programu pojawią się 3 okna. Okno trybu tekstowego (VMD 1.8.3), okno wizualizacji (OpenGL Display) oraz menu programu (VMD Main).

- W oknie VMD Main wybierz New Molecule. W polu File Name należy wpisać 4 znakowy kod konkretnej molekuły.

W tym miejscu należy zapoznać użytkownika z faktem istnienia 4 znakowego kodu służącego do identyfikacji pozycji w bibliotekach serwera PDB (www.rcsb.org). Każda pozycja w bazie danych serwera ma swoją reprezentacje w postaci kodu 4 znakowego. VMD został tak zaprojektowany, że po wpisaniu kodu program sam automatycznie ściąga daną pozycję z serwera PDB i wyświetla ją na ekranie naszego komputera. Jest to duże ułatwienie ale niestety system ten działa wyłącznie w przypadku stałego dostępu do internetu.

Pojawia się bardzo konkretne pytanie: "jak ściągnąć np. dane dotyczące hemoglobiny gdy nie wiem jaki jest kod hemoglobiny?". W takim przypadku należy udać się na stronę PDB www.rcsb.org i odszukać interesującą nas pozycję korzystając z dostępnego skryptu wyszukiwarki (Quick Search). Jest to bardzo proste i pouczające.

- Wpisz w polu File Name , "1UBQ" i naciśnij enter. Następnie aby zobaczyć cząsteczkę ubikwityny na ekranie komputera kliknij.

W pliku załadowanym przez program VMD znajdują się informacje o dokładnej pozycji każdego z atomów tworzących strukturę w przestrzeni. VMD przetwarza te dane i prezentuje w postaci cząsteczki na ekranie. Załadowana do programu ubikwityna powinna pokazać się w oknie OpenGl Display.

Teraz gdy dane zostały załadowane przyjrzyj się swojej ubikwitynie ...

2.2 Oglądanie molekuły

- W oknie VMD Main wybierz zakładkę Mouse. Pierwsze trzy pozycje w menu oznaczają możlilwości podglądu ubikwityny:

  • Rysunek 1. Main Menu

Nie wchodząc do menu Mouse można otrzymać ten sam efekt stosując skróty klawiszowe r (obróć), t (przenieś), s (zbliż/oddal).

Możesz teraz zobaczyć ubikwityne pod każdym kątem swobodnie obracając cząsteczką w przestrzeni za pomocą lewego przycisku myszy. Jeżeli system na którym pracujesz to jedna z nowszych wersji systemu Microsoft Windows a mysz posiada przycisk Scroll, to przycisk ten będzie automatycznie ekwiwalentem funkcji Scale Mode.

Menu Display oferuje pewne ciekawe funkcje nad którymi nie chciałbym się nazbyt rozwodzić ponieważ nie są one na tym poziomie znajomości VMD kluczowe. Z pewnością użytkownik sam po dokończeniu kursu z wielką łatwością odkryje dodatkowe funkcje programu VMD bez potrzeby ich omawiania.

Jak łatwo zauważyć twoja ubikwityna nie przedstawia się nazbyt okazale. Nie jesteś też w stanie od razu wyróżnić struktur 1 i 2 rzędowych...

2.3 Reprezentacja graficzna

2.3.1 Draw Style

- W oknie VMD Main wybierz zakładkę Graphics. Wybierz następnie Representations

  • Rysunek 2. Graphical Representations.

- W zakładce (b) Draw style, wybierz ResName w menu (c) Coloring Method oraz VDW (Van der Walls) w menu (d) Drawing Method.

Jeżeli opcja Apply Changes Automatically jest aktywna zmiany w graficznej reprezentacji ubikwityny powinne być automatycznie widoczne na ekranie OpenGl Display. Jeżeli nie należy potwierdzić wybór przyciskiem Apply.

Pole (e) przedstawia możliwe opcje dla konkretnej metody wybranej w menu Drawing Method. W przypadku wyboru VDW, użytkownik może dostosować wielkość sfer Van der Wallsa (Sphere Scale) jak i ich jakość (Sphere Resolution).

Taka konfiguracja ustawień przedstawia reszty aminokwasowe ubikwityny w zależności od ich promienia Van der Wallsa. Każada reszta aminokwasu ma swój została pokolorowana na inny kolor - możesz zatem zobaczyć jak różnorodny jest skład aminokwasowy białka.

Jest to oczywiście jeden z wielu możliwości przedstawienia ubikwityny. W tym miejscu użytkownik powinien sam popróbować różnych konfiguracji używając dostępnych opcji w zakładce Draw style obserwując jak zmienia się wygląd ubikwityny.

Oto niektóre z nich:

  • Rysunek 3. Przykłady graficznych reprezentacji.

2.3.2 Selections

- W zakładce Selections, w polu Selected Atoms, wymaż słowo all i wpisz helix. Potwierdź wybór klikając Apply.

  • Rysunek 4. Selections.

Teraz wyświetlone zostaną tylko helikalne fragmenty ubikwityny. Możesz w zakładce Draw Style, wybrać New Cartoon w menu Drawing Method a wybrane przez Ciebie fragmenty ubikwityny zostaną przedstawione jako helisy z zaznaczonym kierunkiem propagacji. W tej chwili bez trudu możesz wyróżnić 2 rzędowe struktury w ubikwitynie.

- Wymaż słowo helix z pola Selected Atoms i wpisz water (po każdej operacji potwierdzaj wybór klikając Apply).

Na ekranie przedstawione zostały tylko cząsteczki wody (dokładniej atomy tlenu). Dokonując takiej samej operacji ale dla słowa protein VMD wyświetli tylko same białko. Widać zatem jak łatwo można zarządzać tym co VMD ma wyświetlać na ekranie komputera. Jeżeli chcesz widzieć jednocześnie cząsteczki wody, różne 2 rzędowe struktury oraz resztę atomów budujących białko ale każde innym stylu innej kolorystyce musisz stworzyć dla nich osobne reprezentacje używając do tego celu przycisku Create Rep.

- Zakładając, że aktualnie na ekranie przedstawiane są same cząsteczki wody kliknij Create Rep aby utworzyć nową reprezentacje. Wpisz w polu Selected Atoms słowo (not helix) and (not water). VMD przedstawia teraz obraz dwóch reprezentacji: pierwsza to woda, druga to białko poza częściami helikalnymi. Możesz dobrać wedle swojego uznania kolor i styl w zakładce Draw Style dla każdej z dwóch reprezentacji. Klikając dwukrotnie na daną pozycję w liście reprezentacji możesz spowodować że stanie się niewidoczna. Ponowne dwukrotne kliknięcie uaktywni niewidoczną reprezentacje. Widzisz także, że możesz używać słów kluczowych (and, or, not) do zaawansowanego wyszczególnienia tego co ma być pokazane na ekranie. Zamiast wpisywać słowa w polu Selected Atoms masz możliwość opcjonalnie kilknięcia dwukrotnie na pozycję w liście (b) Singlewords, (c) Keyword, (d) Value co wywoła ten sam efekt. Oczywiście kliknięcie przycisku Delete Rep

W tym miejscu znów odsyłam użytkownika do jego niezaspokojonej przez proste przykłady ciekawości. Znając algorytm działania użytkownik powinien sam dość szybko nauczyć się jak sprawnie operować i wybierać dowolne fragmenty danej molekuły. Warto w takim razie przećwiczyć różne warianty oferowane przez VMD w tym zakresie (w tym celu może okazać się niezbędna dobra znajomość praw logiki!).

Mnogość opcji w graficznej reprezentacji daje możliwość dokładnej analizy danej molekuły. W przypadku ubikwityny użytkownik może np. dowiedzieć się które aminokwasy w przypadku ubikwityny tworzą hydrofobowe jądro białka i jak w przestrzeni są umieszczone. Może zobaczyć gdzie dokładnie znajdują się wiązania wodorowe i gdzie umieszczone są poszczególne pierwiastki... itp

Jako przykłady wpisz następujące komendy w polu Selected Atoms i zobacz ich efekt: - (resid 1 76) and (not water), reszty aminokwasowe 1 i 76 - (resid 23 to 34) and (protein), reszty aminokwasowe od 23 do 34 - (water and within 3 of water), cząsteczki znajdujące się w odległości 3 angstremów od centrum białka - (hydrophobic) and (protein), hydrofobowe części białka.

2.4 Przeglądanie sekwencji aminokwasów

Bardzo przydatnym i użytecznym narzędziem jest Sequence Viewer. Dzięki niemu jesteś w stanie w bardzo szybki i prosty sposób zobaczyć jakie aminokwasy budują wyświetlaną molekułę.

- Wybierz w oknie VMD Main zakładkę Extensions a w niej Analysis. W menu Analysis, wybierz Sequence Viewer.

  • Rysunek 5. Sequence Viewer.

W kolumnie (a) znajdują się skróty 3 literowe aminokwasów które budują ubikwityne. Klikając myszą na jakąś pozycję w spisie podświetlisz ją żółtym kolorem a reprezentację graficzną wybranego aminokwasu ujrzysz na ekranie. Jeżeli wywołasz teraz okno Graphical Representations zobaczysz swój wybór jako osobną reprezentację w liście aktywnych reprezentacji. Będziesz mógł ją wyłączyć , włączyć lub usunąć dokładnie tak samo jak odbywało się to w punkcie 2.3.2.

Trzymając wciśnięty klawisz Shift na Twojej klawiaturze możesz zaznaczyć kilka naraz aminokwasów.

Kolumny (b) i (c) to charakterystyka danej reszty w zależności od ich cech. W polu (d) przedstawiona jest legenda dotycząca kolumn (b) i (c). Kolumna parametru B, B value odpowiedzialny jest za czynnik temperaturowy. Znaczenie liter w kolumnie Struct

  • litera

    Znaczennie

    T

    Skręt, obrót

    E

    Wydłużone konformacje (np.Beta harmonijki)

    B

    Mostki dwusiarczkowe

    H

    Alfa Helisy

    G

    3-10 Helisy

    I

    Pi Helisy

    C

    Spirale

    Tabela 1. Znaczenia liter w kolumnie Struct

2.5 Nadawanie obiektom etykiet

- Rozwiń w oknie VMD Main menu Mouse. W menu Mouse wybierz Label a potem bonds. Przejdź teraz do okna OpenGl Display. Napewno zauważyłeś, że kursor twojej myszy zmienił się z "strzałki" w "krzyżyk". Kliknij raz na jednym dowolnie wybranym przez Ciebie atomie ubikwityny i drugi raz na atomie z którym tworzy on wiązanie.

Na ekranie pokażą się zaznaczone dwa atomy i długość wiązania jakie one tworzą wyrażona w Angstremach.

Kolejne opcje w zakładce Lebel odnoszą się do nadania etykiety wybranemu atomowi (Atom), miary kąta pomiędzy 3 wybranymi atomami (Angel) oraz miary kąta dwuściennego pomiędzy 4 wybranymi atomami (Dihedrals).

Myślę, że dalsze znaczenie i zastosowanie opcji znajdujących się w pozostałych zakładkach (przy założeniu znajomości języka angielskiego) staję się w miarę jasna. Znów użytkownik w celu głębszego poznania programu VMD może sam wypróbować narzędzia znajdujące się w menu Mouse.

Wszystkie dokonane przez użytkownika operacje za pośrednictwem narzędzi w menu Mouse są przechowywane (niejako historia dokonanych zaznaczeń i operacji) do wglądu po wybraniu w oknie VMD Main menu Graphics a w nim Lebels. Są one posegregowane w zależności od typu operacji. Poniżej wyświetlone są dodatkowe informację odnoszące się do wykonanych zaznaczeń. Użytkownik może zarządzać etykietami używając przycisków Show, Hide, Delete.

Ważną i godną zaznaczenia cechą programu VMD która ujawnia się w tym momencie jest możliwość modelowania danej molekuły. Użytkownik za pomocą narzędzi znajdujących się w menu Mouse np. Add/Remove Bonds może dodawać w dowolnych miejscach wiązania pomiędzy atomami. Zakładka Move zawiera opcję zmiany organizacji w przestrzeni atomów ale i reszt aminokwasowych czy też całych fragmentów białka. W dalszej części pracy znajdzie się opis jak dodawać dane do już załadowanej molekuły dotyczące np. rozplatania się białka. Mając do dyspozycji aktualną wiedzę użytkownik może sam w zaciszu swojego komputera badać zachowanie się białka w przypadku gdy w nim zajdą dyskretne zmiany w organizacji przestrzennej. Jest też w stanie śledzić w czasie rzeczywistym

2.6 Rendering

VMD jest wyposażony w możliwość dokonania renderingu aktualnego stanu wyświetlanego na ekranie.

- W oknie VMD Main, wybierz menu File a w nim Render. W menu Render using wybierz snapshot. Podaj nazwę i określ miejsce na dysku gdzie ma być zapisany plik np. nazwa.bmp . Następnie kliknij Start Rendering. Jako wynik operacji w pliku nazwa.bmp

W przykładzie do renderingu została wybrana metoda snapshot. Użytkownik może spróbować użyć innych metod z pośród tych które są dostępne w programie.

2.7 Na koniec ...zapisywanie pracy

W VMD możesz zapisać aktualny stan swojej pracy wybierając w oknie VMD Main, menu File a w nim Save State. Oczywiście przed zapisem należy wyszczególnić gdzie i pod jaką nazwą chcesz zapisać stan. Masz również możliwość wczytania raz już zapisanego stanu wybierając w tym samym menu Load State

3. Ciekawy przykład na zaawansowane możliwości programu VMD

3.1 Wizualizacja badania elastycznych właściwości ubikwityny

Mając do dyspozycji nieprzebrane zasoby serwera PDB użytkownik ma możliwość zobaczyć fascynujące i wręcz porywające "rzeczy" na swoim komputerze. Mowa tu jest o opcji załadowania danych do molekuły. Wizualizacja białka czy też innej cząsteczki jest sprawą ciekawą ale importując do już załadowanej molekuły trajektorię procesu jej denaturacji i ponownego przejścia do formy natywnej czyni z statycznego obrazu niezwykle pouczająca animację.

Jako przykład użytkownik będzie mógł zbadać jak wygląda symulacji "rozciągania" ubikwityny. Będzie mógł śledzić w czasie rzeczywistym pewne parametry białka takie jak np. jak zmienia się długość wiązania pomiędzy konkretnymi atomami w trakcie symulacji denatracji.

- Pobierz następujące pliki [http://www.v-lo.krakow.pl/~munio/ubiquitin.psf ubiquitin.psf]pulling.dcd i zapisz go na dysku. Uruchom program VMD i wywołaj okno New Molecule. W polu File Name wpisz ubiquitin.psf i podaj ścieżkę dostępu do tego pliku klikając Browse. Potwierdź wybór klikając load. W oknie VMD Main zobaczysz jedna pozycję ubiqutin.psf. W menu File wybierz Load Date into Molecule. Na ekranie powinno pojawić się znane Ci już okno. W polu File Name wpisz pulling.dcd i za pomocą Browse podaj ścieżkę dostępu do pliku znajdującym się na Twoim dysku. Potwierdź wybór klikając load.

Efektem tych poleceń jest załadowanie do VMD animacji przedstawiającej podłużne rozciąganie się ubikwityny. W języku VMD nazywa się to Trajectory czyli trajektoria po której mają się przemieszczać wyświetlane atomy.

Pierwszą czynność którą użytkownik może teraz wykonać to odnalezienie symbolu który zawsze jest kojarzony z funkcją play czyli odgrywaj (a) w oknie VMD Main. Po wywołaniu jej animacja zacznie się odgrywać. Nie wyłączając animacji możemy równocześnie obserwować jak zachowuje się ubikwityna (w tym celu warto skorzystać z przedstawienia ubikwityny w stosowny do potrzeb sposób za pomocą graficznych reprezentacji) i odkrywać funkcję poniższego menu:

  • Rysunek 6. Time Line.

W miejscu gdzie jest wybrana opcja odgrywania loop'Rock lub OnceLoop oznacza, że animacja będzie odgrywana do końca i zacznie się znów od początku. Po wybraniu Rock symulacja będzie prezentowana najpierw tak jak Loop (od początku do końca) a po skończeniu się filmu zmieni się kierunek odgrywania: od końca do początku. Obie opcje zakładają nieskończoność w swoim działaniu (film będzie odgrywany bez "końca"). Jeżeli użytkownik chce zobaczyć animację tylko raz powinien wybrać Once.

W polu Step oraz Speed znajdują się narzędzia do sterowania płynnością i szybkością odgrywanej animacji.

Podłużny pasek umożliwia natomiast rozpoczęcie i zatrzymanie animacji w dowolnym momencie.

- Zatrzymaj animację na początku. Wybierz w oknie VMD Main -> Mouse -> Label -> Bonds. Zaznacz w białku dowolne jedno wiązanie (wiązanie pomiędzy atomami np. A oraz B) . Podobnie jak z Bonds wybierz Angels i oznacz kąt pomiędzy zaznaczonym już wiązaniem ( A - B ) oraz przyległym do niego drugim wiązaniem ( np. A - C , gdzie C to trzeci dowolny atom). Puść teraz animację.

W tym przykładzie użytkownik może oglądać pod dowolnym kątem jak zachowuje się zależność kątowa oraz długość konkretnego wiązania w trakcie symulacji w czasie rzeczywistym. Aby zobaczyć jak wyglądała by ta sama symulacja ale w przypadku gdy atom A ulegnie przemieszczeniu w przestrzeni wybierz VMD Main -> Mouse ->> Atom. VMD umożliwia również zasymulowania tego samego procesu jeżeli na atom A działa pewna zewnętrzną siła (uwaga plugin IMD jest wymagany!) VMD Main -> Mouse -> Forcel -> Atom. Inna ciekawą modyfikację którą można wprowadzić to wbudowanie w ubikwitynie nowego wiązania pomiędzy A oraz dowolnie wybranym atomem. Dzięki takim zmianom osiągalne jest zbadanie elastycznych właściwości ubikwityny w przypadkach gdy pojawią się nowe wiązania lub gdy pewne "stare" wiązania przestaną istnieć.

W trakcie kolejnych symulacji śledzono zachowanie się atomów ale warto jest wiedzieć, że VMD pozwala na modyfikację położenia np. reszt aminokwasowych lub całych grup atomów przynależących do zadeklarowanej graficznej reprezentacji (VMD Main -> Mouse -> Move -> ... ).

Na koniec aby jeszcze raz przyglądnąć się wykonanym modyfikacjom w strukturze ubikwityny można odwołać się do VMD Main ->> Labels by prześledzić np. zmianę długości wiązania między atomami A - B w czasie na wykresie. To kolejna bardzo przydatna funkcja VMD.

- Wybierz VMD Main -> Graphics -> Labels. W polu gdzie domyślnie wybrane jest Atoms wybierz Bonds. W spisie wiązań wybierz to którego czasowa ewolucja cię interesuje. Przejdź do zakładki Graph i kilknij Save by zapisać zależności długości wiązania od czasu w pliku dat lub kliknij show preview aby zobaczyć podgląd. Możesz też kliknąć Graph aby od razu zobaczyć wykres.

4. Podsumowanie. Uwagi. Komentarze

W ramach podsumowania chcę jedynie zakomunikować czytelnikowi o pewnych bardzo ciekawych opcjach VMD które nie zostały wyżej opisane. Może to skłonić czytelnika do głębszego zapoznania się z tematem programu VMD...

1.Konsola

Jedna z takich opcji jest możliwość wykonania wyżej przedstawionych ćwiczeń z poziomu konsoli. Ocenę jaki sposób jest prostszy: za pomocą konsoli czy przy użyciu myszki pozostawiam już w gestii czytelnika. Niepodważalnym faktem jest jednak to, że z poziomu konsoli możliwe są operacje niedostępne w okienkach menu programu. Jedna, bardzo ciekawa i zarazem użyteczna która nie została wyżej przytoczona to dopasowywanie dwóch molekuł wyświetlanych jednocześnie na ekranie. Inaczej: VMD umożliwia np. nanoszenie na wyświetlane już białko, to samo białko ale nieco zniekształcone w swojej strukturze. Używając konsoli i odpowiednich reprezentacji graficznych można w ten sposób czytelnie przedstawić na czym polegają dyskretne różnice w uporządkowaniu przestrzennym atomów (które na pierwszy rzut oka są bardzo trudne do zauważenia).

Pewnym i niewielkim mankamentem VMD jest jego stopień skomplikowania w obsłudze. O ile obsługa okienek z menu (np. Graphical Representations) jest trywialna i bardzo intuicyjna o tyle przedstawienie przestrzennego porównania dwóch molekuł wymaga już znajomości składni języka Tcl/Tk. Na VMD można zatem patrzyć jako użyteczny kompilator takich języków jak Phyton czy właśnie Tcl/Tk. Pełen wachlarz użytecznych i zaawansowanych operacji w VMD ujawnia się przed użytkownikiem dopiero po zapoznaniu się z dokumentacją języka Tcl/Tk. Adresy pod którymi można znaleźć materiały zostaną podane na końcu pracy. Dodatkowym jeszcze spostrzeżeniem może być fakt, że konsola choć odpalona pod systemem Windows działa zgodnie z wszystkimi komendami systemu Linux. Na pewno powinno to bardziej zachęcić użytkowników Linux-a do korzystania z konsoli z uwagi na znacznie szersze możliwości konsoli (nie tylko pisanie skryptów).

2.Kinomatografia

Poza przeprowadzaniem renderingów istnieje również opcja tworzenia animacji (filmów) w VMD. Odnosząc się do przykładu z punktu 3., wykonane w tym punkcie symulacje można przechowywać w plikach mpg jako filmy wykorzystując je poźniej jako interesujące demonstracje.

3.Koniec

Powyższa praca jedynie miała uzmysłowić czytelnikowi jak bardzo przydatny (w kontekście akademickim) i interesujący może być program zajmujący niewiele ponad 8mb. Trudno jest przecenić edukacyjne możliwości VMD patrząc na aktualne opcje programu w wersji 1.8.3 jak i perspektywy rozwoju tego projektu. Do VMD można "podmontować" wiele użytecznych wtyczek (plugin-ów) które znacznie zwiększają potencjalne możliwości programu. Atutami VMD jest jego dość łatwa obsługa na poziomie podstawowym i ogólna dostępność. Spędzając zaledwie 1h przed komputerem (przy dostępie do internetu) można nabrać całkiem dużej wprawy w badaniu i wizualizowaniu nieprzebranych otchłani danych serwera Protein Data Bank. Wszystkie potrzebne informacje dotyczące dokumentacji wewnętrznych języków skryptowych, wszelkich wtyczek ale i samego VMD czytelnik znajdzie na stronach internetowych podanych na końcu pracy. Adresy dostępnych w internecie Samouczków (tutoriali) również zostały zamieszczone. Gorąco zachęcam do głebszego zapoznania się z programem do wizualizacji dynamiki molekuł VMD.

Wykaz źródeł wykorzystanych w artykule i adresy stron www:


Kategorie: Unix