GROMACS (http://www.gromacs.org) jest jednym z głównych pakietów oprogramowania do symulacji makromolekuł biologicznych. Jego celem jest wykonywanie symulacji dużych, biologicznie istotnych układów, z naciskiem na to, aby był zarówno wydajny, jak i elastyczny, aby umożliwić badanie wielu różnych układów (patrz przykłady podane w dalszej części strony). Program jest używany przez grupy badawcze na całym świecie, a w ciągu ostatnich kilku lat ukazało się kilkaset publikacji bezpośrednio lub pośrednio opartych na tym programie (patrz poniższy rysunek przedstawiający wyniki wyszukiwania użycia programu w bazie Scopus).
Licencja
GROMACS jest wolnym oprogramowaniem; możesz go redystrybuować i/lub modyfikować na warunkach licencji GNU Lesser General Public License
opublikowanej przez Free Software Foundation; albo w wersji 2.1 Licencji, albo (według własnego uznania) w dowolnej późniejszej wersji.
GROMACS jest rozpowszechniany w nadziei, że będzie użyteczny, ale BEZ ŻADNEJ GWARANCJI; nawet bez domniemanej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU.
Zobacz Mniejszą Powszechną Licencję Publiczną GNU, aby uzyskać więcej szczegółów. Pełny tekst licencji można znaleźć tutaj.
Zaangażowanie w Bioexcel
GROMACS jest częścią projektu Bioexcel, którego celem jest zapewnienie ram dla symulacji dowolnego systemu bio-molekularnego, poprzez rozwój narzędzi, które są zarówno wydajne w symulacji systemów biologicznie istotnych, jak również dają elastyczność w zastosowaniu do różnych przypadków użycia poprzez możliwość szybkiego rozszerzenia funkcjonalności. Zdolność GROMACS do symulowania arbitralnie dużych systemów umożliwia połączenie wiedzy dostarczanej przez inne programy zaangażowane w program w celu uzyskania lepszego zrozumienia badanych systemów.
Dalszy rozwój jako część Bioexcel
Celem jest rozszerzenie istniejących możliwości GROMACS poprzez dostarczenie ram API, które inne programy mogą wykorzystać do interfejsu z głównym silnikiem symulacyjnym. Umożliwi to dalsze rozszerzenie możliwych zastosowań do bardziej biologicznie i chemicznie istotnych systemów, ponieważ inne programy będą mogły bezpośrednio łączyć się z wydajnymi procedurami rdzeniowymi używanymi do symulacji.
Dodatkowo, zarówno partnerzy z KTH jak i MPG przyczynią się do poprawy wydajności, skalowalności, jakości i użyteczności zarówno GROMACS jak i innych kodów symulacyjnych:
- QA, testy jednostkowe i ogólna biblioteka do modelowania biomolekularnego.
GROMACS zostanie przekształcony w najnowocześniejszą modułową bibliotekę C++ z pełnymi testami jednostkowymi i aktualną dokumentacją dla wszystkich modułów. Projekt przechodzi na profesjonalną konfigurację QA poprzez wprowadzenie ścisłego przeglądu kodu (w tym od głównych deweloperów) i automatycznej ciągłej integracji, gdzie wszystkie poprawki są kompilowane i testowane jednostkowo na szerokiej gamie sprzętu i kompilatorów w celu zatwierdzenia każdej pojedynczej zmiany i umożliwienia każdemu miejscu instalacji zagwarantowania jakości ich skompilowanej instalacji. - Heterogeniczna równoległość.
Opracujemy nową implementację heterogenicznej równoległości, w której wszystkie dostępne zasoby procesora, akceleratora i komunikacji są wykorzystywane równolegle na każdym węźle poprzez jawną wielowątkowość i wielopoziomowe równoważenie obciążenia, a także nową obsługę akceleratorów OpenCL i Xeon Phi oprócz CUDA. - Wydajne techniki zespołowe.
Niektóre z najpotężniejszych obecnie podejść opierają się na wykorzystaniu setek lub tysięcy symulacji dla technik próbkowania zespołowego, takich jak modele stanów Markowa lub obliczenia energii swobodnej. Uczynimy te podejścia dostępnymi dla ogółu użytkowników poprzez pełną integrację naszego systemu Copernicus do symulacji zespołowych z GROMACS (Pronk et al. 2011). Pozwoli to na sformułowanie problemów wysokopoziomowego próbkowania i obliczania energii swobodnej jako problemów obliczeniowych typu black-box, które mogą wykorzystywać wewnętrznie setki tysięcy procesorów. Jest to szczególnie ważne dla wysokowydajnych zastosowań w badaniach przesiewowych energii swobodnej. Aby ułatwić wymianę danych z innymi aplikacjami i umożliwić w pełni zautomatyzowaną symulację o wysokiej wydajności, opracowujemy publiczne formaty danych do opisywania cząsteczek za pomocą XML, wysoce skompresowane formaty trajektorii, które obsługują cyfrowe hashe i podpisy w celu zagwarantowania integralności danych, oraz nowe narzędzia do automatycznego tworzenia opisów interakcji (topologii) dla dowolnych małych cząsteczek używanych np.np. jako związki farmakologiczne celujące w szereg różnych pól siłowych, takich jak CHARMM, GAFF, czy OPLS-AA (Lundborg & Lindahl 2014). - Niektóre z najbardziej obiecujących potencjalnych zastosowań obliczeń energii swobodnej obejmują przewidywanie eksperymentów skanowania aminokwasów lub tego, jak małe cząsteczki powinny być zmienione, aby poprawić wiązanie. Obecnie jest to utrudnione przez wymóg albo obliczania bezwzględnych energii swobodnych dla dużych zmian (co powoduje duże błędy statystyczne), albo ręcznego projektowania topologii, w których reszty lub leki są przekształcane bezpośrednio w powiązane cząsteczki. Jako część BioExcel’a, sprawimy, że obliczenia energii swobodnej znajdą zastosowanie w tych wysokowydajnych warunkach poprzez rozwój i integrację nowych modułów do automatycznego przekształcania dowolnego aminokwasu w inny, oraz automatycznego przekształcania związków farmakologicznych w pokrewne pochodne, utrzymując perturbacje na możliwie najniższym poziomie. W połączeniu z automatycznym generowaniem topologii i symulacjami zespołowymi, symulacje molekularne staną się narzędziem, które może zbadać stabilność molekularną i stabilność wiązań w ciągu 24-48 godzin, co będzie miało duży wpływ na projektowanie leków w przemyśle farmaceutycznym.
Infrastruktura rozwojowa
Aby zapewnić zarówno poprawność kodu programu, a tym samym wyników symulacji, jak i napędzać rozwój poprzez wewnętrzny i zewnętrzny wkład, stosujemy najlepsze praktyki związane z nowoczesnym rozwojem oprogramowania:
- Kontrola wersji i rewizji kodu źródłowego jest zapewniona przez użycie git jako systemu kontroli wersji, przy czym repozytorium GROMACS jest dostępne do sprawdzenia kodu źródłowego za pomocą
git clone git://gitlab.com/gromacs/gromacs.git
lub przez przeglądanie pod adresem https://github.com/gromacs/gromacs. git pozwala na wydajną kontrolę wersji, jak również umożliwia wkład i rozwój od deweloperów z całego świata.
- Kod GROMACS jest ręcznie i automatycznie sprawdzany przy użyciu GitLab, zapewniając, że nowy wkład i zmiany w istniejącej bazie kodu przechodzą kontrolę kilku głównych deweloperów, zanim zostaną włączone do głównej dystrybucji. Serwer przeglądu kodu GROMCAS jest dostępny pod adresem https://gitlab.com/gromacs/gromacs.
- Ciągłe testy integracyjne są przeprowadzane na każdej zmianie przed i po włączeniu do głównej gałęzi poprzez użycie GitLab CI. Gwarantuje to, że każda zmiana nie tylko przejdzie szereg testów przenośności przed włączeniem, ale także, że żadna zmiana nie wprowadzi błędów poprzez obszerne testowanie istniejącej funkcjonalności. Testy GROMACS są również uruchamiane przy użyciu GitLab.
- Nowe i istniejące części programu są intensywnie testowane przy użyciu naszej infrastruktury testów jednostkowych i regresyjnych zintegrowanej z naszym systemem przeglądu kodu i CI.
- Standardy dokumentacji są egzekwowane poprzez użycie Doxygen (doxygen.org) jako standardowego narzędzia do dokumentowania funkcji i włączania ich do podręcznika referencyjnego programu.
- Używamy systemu śledzenia problemów zintegrowanego z GitLab, a problemy mogą być otwierane na GROMACS issue tracker, aby umożliwić nam identyfikację błędów w programie i współpracę z użytkownikami i deweloperami nad ich naprawą.
Szkolenia i pomoc techniczna
Dostarczamy kilka sposobów zarówno użytkownikom jak i potencjalnym deweloperom GROMACS na skontaktowanie się z nami w celu zadania pytań dotyczących aplikacji i modyfikacji.
- Ogólne pytania dotyczące użycia GROMACS do symulacji systemów mogą i powinny być zadawane na forum GROMACS.
- Pytania dotyczące rozwoju GROMACS i implementacji nowych funkcji powinny być zadawane na liście dyskusyjnej deweloperów. Jest to również miejsce, gdzie można uzyskać więcej informacji o nowych funkcjach, które pojawią się w przyszłych wersjach.
Opis oprogramowania
Symulacja makrocząsteczek biologicznych ewoluowała z niszowej metody statystyczno-mechanicznej w jedno z najszerzej stosowanych narzędzi do badań biofizycznych i jest używana daleko poza chemią teoretyczną. Superkomputery są obecnie tak samo ważne jak wirówki czy probówki w chemii. Jak pokazuje nagroda Nobla 2013 w dziedzinie chemii, dynamika molekularna oparta na mechanice statystycznej umożliwia symulację ruchów atomów w realistycznych środowiskach w temperaturze pokojowej, dla systemów od chemii materiałowej do białek, DNA, RNA i membran zawierających miliony atomów. Podstawowy algorytm dynamiki molekularnej ocenia siły działające na wszystkie atomy w układzie i aktualizuje prędkości i pozycje atomów zgodnie z równaniami ruchu Newtona. Ten schemat numerycznej integracji jest iterowany przez miliardy kroków i generuje serię próbek, które opisują termodynamiczny zespół układu. To jest prawdziwa siła tej techniki, ponieważ przewiduje ona eksperymenty: może dokładnie opisać jak poruszają się cząsteczki takie jak białka, ale także umożliwia obliczenie energii swobodnych, które opisują reakcje chemiczne, na przykład energię swobodną wiązania kandydata na lek w miejscu aktywnym białka lub jak ligand ustabilizuje określoną konformację, aby otworzyć lub zamknąć kanał jonowy. Ponieważ obliczanie sił jest wymagane dla dużej liczby algorytmów, kilka innych pakietów używa zestawów narzędzi do symulacji molekularnej jako bibliotek do oceny energii, na przykład w dokowaniu lub podczas udoskonalania struktur z ograniczeniami eksperymentalnymi, takimi jak dane rentgenowskie, NMR lub Cryo-EM.
Rozwój ten nie byłby możliwy bez znaczących wysiłków badawczych w zakresie algorytmów symulacji, optymalizacji i paralelizacji. Pojawienie się standardowych pakietów do modelowania molekularnego, takich jak GROMACS, NAMD, AMBER i CHARMM było kluczowe, ponieważ pomogły one utowarowić badania symulacyjne, czyniąc te techniki dostępnymi dla naukowców zajmujących się zastosowaniami w naukach przyrodniczych, którzy nie są specjalistami w tworzeniu symulacji. Wszystkie te pakiety mają uzupełniające się mocne strony i profile – dziedzina przeszła od historycznej konkurencji do szerokiej wymiany pomysłów. GROMACS jest jednym z najczęściej używanych pakietów oprogramowania naukowego na świecie, z około 20 000 cytowań w sumie (Hess et al. 2008, Pronk et al. 2013); jest największym wolnym oprogramowaniem i aplikacją open source w badaniach biomolekularnych, i jedynym z głównych pakietów symulacji dynamiki molekularnej, gdzie rozwój jest prowadzony w Europie.
Projekt GROMACS rozpoczął się w 1995 roku jako jeden z pierwszych w historii równoległych kodów symulacyjnych, międzynarodowy zespół rozwojowy jest prowadzony przez partnera KTH, a projekt jest silnie skoncentrowany na wydajności symulacji i ogólności. Jest to jedyny pakiet, który obsługuje wszystkie popularne pola siłowe i posiada bardzo szeroki zakres algorytmów symulacyjnych. To w połączeniu z bardzo liberalnym (i przyjaznym dla biznesu) licencjonowaniem jest prawdopodobnie głównym czynnikiem, dlaczego jest on używany jako biblioteka symulacji, minimalizacji i oceny energii przez kilka innych aplikacji, np. w bioinformatyce lub projektach obliczeń rozproszonych, takich jak Folding@Home. Kod jest przenośny na bardzo szeroką gamę platform (w tym wbudowanych), zawiera ręcznie dostrajane jądra asemblerowe dla kilkunastu różnych zestawów instrukcji w architekturze oraz wsparcie akceleratorów zarówno dla procesorów graficznych Nvidia z CUDA, AMD z OpenCL, jak i natywnie dla procesorów Xeon Phi. Pakiet wykorzystuje najnowocześniejszą dekompozycję domeny neutralnego terytorium i paralelizację wielopoziomową, aby umożliwić skalowanie zarówno do dziesiątek tysięcy węzłów na superkomputerach, jak i wydajne obliczenia o wysokiej przepustowości z akceleratorami (Pall et al. 2014).
GROMACS może już efektywnie wykorzystywać równolegle tysiące rdzeni i setki akceleratorów, nawet dla pojedynczego, dość małego systemu. Po dodaniu paralelizacji na poziomie zespołu z Copernicus, całkowite skalowanie problemu rozszerza się o kolejne dwa rzędy wielkości.
Symulacje dynamiki molekularnej w ogóle, a GROMACS w szczególności, umożliwiły badanie dużych i złożonych układów biomolekularnych, takich jak błony i białka membranowe oraz sondowanie szczegółów atomowych, które nie są dostępne dla żadnych metod eksperymentalnych. Symulacje molekularne dostarczyły jednych z pierwszych wysokorozdzielczych modeli stanów spoczynkowych kanałów jonowych opartych na strukturach rentgenowskich otwartych kanałów (Vargas et al. 2012), a także okazały się kluczowe w modelowaniu przejściowych konformacji pośrednich podczas przemian strukturalnych białek membranowych (Henrion et al. 2012). GROMACS został również użyty do przewidywania pierwszego specyficznego rozpoznania molekularnego lipidów przez białka błonowe (Contreras et al. 2012) oraz do symulacji, które zidentyfikowały oddzielne miejsca wiązania potencjalizującego i hamującego w bramkowanych przez ligandy kanałach jonowych naszego układu nerwowego (Murail et al. 2012) – wyniki te są obecnie wykorzystywane przez wiele grup w próbach projektowania lepszych leków.
.