A GROMACS (http://www.gromacs.org) a biológiai makromolekulák szimulációjának egyik legfontosabb szoftvercsomagja. Célja nagyméretű, biológiailag releváns rendszerek szimulációjának elvégzése, a hangsúlyt arra helyezve, hogy egyszerre legyen hatékony és rugalmas, hogy lehetővé tegye számos különböző rendszer kutatását (lásd az oldalon lejjebb található példákat). A programot világszerte kutatócsoportok használják, az elmúlt években több száz, közvetlenül vagy közvetve rajta alapuló publikáció jelent meg (lásd az alábbi ábrán a Scopus adatbázisban a program használatára vonatkozó keresés eredményét).
Licenc
A GROMACS szabad szoftver; a Free Software Foundation által közzétett GNU Lesser General Public License
feltételei szerint terjeszthető és/vagy módosítható; a Licenc 2.1-es verziója vagy (az Ön választása szerint) bármely későbbi verziója.
A GROMACS abban a reményben kerül terjesztésre, hogy hasznos lesz, de MINDEN GARANCIA NÉLKÜL; még a MERCHANTABILITY vagy a FITNESS FOR A PARTICULAR PURPURPORTED PURPORTPOSE (Részleges célra való alkalmasság) hallgatólagos garanciája nélkül.
A további részletekért lásd a GNU Lesser General Public License-t. A licenc teljes szövege itt található.
Befogadás a Bioexcelben
A GROMACS része a Bioexcel törekvésének, hogy keretet biztosítson bármilyen biomolekuláris rendszer szimulációjához, olyan eszközök fejlesztésével, amelyek egyszerre hatékonyak a biológiailag releváns rendszerek szimulálásában, ugyanakkor a funkcionalitás gyors bővíthetősége révén rugalmasságot biztosítanak a különböző felhasználási esetekre való alkalmazáshoz. A GROMACS azon képessége, hogy tetszőlegesen nagy rendszereket képes szimulálni, lehetővé teszi a programban részt vevő más programok által nyújtott tudás kombinálását a vizsgált rendszerek jobb megértése érdekében.
Következő fejlesztések a Bioexcel részeként
A cél a GROMACS meglévő képességeinek bővítése egy olyan API keretrendszer biztosításával, amelyet más programok használhatnak a fő szimulációs motorral való kapcsolódáshoz. Ez lehetővé teszi a lehetséges felhasználás további kiterjesztését több biológiailag és kémiailag releváns rendszerre, mivel más programok közvetlenül kapcsolódhatnak a szimulációkhoz használt hatékony alaprutinokhoz.
Ezeken túlmenően mind a KTH, mind az MPG partnerei hozzájárulnak a teljesítmény, a skálázhatóság, a minőség és a használhatóság javításához mind a GROMACS, mind más szimulációs kódok esetében:
- QA, egységtesztelés és egy általános könyvtár a biomolekuláris modellezéshez.
A GROMACS egy korszerű modul alapú C++ könyvtárrá alakul át, teljes egységteszteléssel és naprakész felhasználói & fejlesztői dokumentációval minden modulhoz. A projekt egy professzionális QA beállítás felé mozdul el szigorú kódellenőrzés bevezetésével (beleértve a fő fejlesztőket is) és automatikus folyamatos integrációval, ahol minden javítást lefordítanak és egységtesztelnek a hardverek és fordítók széles skáláján, hogy minden egyes változtatást QA jóváhagyjanak, és hogy lehetővé tegyék bármely telepítőhely számára, hogy garantálja a lefordított telepítés minőségét. - Heterogén párhuzamosítás.
Kifejlesztünk egy új heterogén párhuzamosítási implementációt, ahol az összes rendelkezésre álló CPU-, gyorsító- és kommunikációs erőforrást párhuzamosan használjuk minden egyes csomóponton explicit többszálúság és többszintű terheléselosztás révén, valamint a CUDA mellett az OpenCL és a Xeon Phi gyorsítók új támogatását. - Eredményes ensemble technikák.
A mai leghatékonyabb megközelítések némelyike több száz vagy több ezer szimuláció használatán alapul az olyan ensemble mintavételi technikákhoz, mint a Markov-állapotmodellek vagy a szabadenergia-számítások. Ezeket a megközelítéseket általánosan elérhetővé tesszük a felhasználók számára azáltal, hogy az ensemble-szimulációra szolgáló Copernicus keretrendszerünket teljes mértékben integráljuk a GROMACS-ba (Pronk et al. 2011). Ez lehetővé teszi, hogy a magas szintű mintavételi és szabadenergia-számítási problémákat fekete dobozos számítási problémaként fogalmazzuk meg, amelyek belsőleg akár több százezer processzort is foglalkoztathatnak. Ez különösen fontos a nagy áteresztőképességű szabadenergia-szűrési alkalmazások számára. Figyelemre méltó, hogy a keretrendszer nem korlátozódik a GROMACS-ra, hanem bármilyen kóddal használható. - Az adatok más alkalmazásokkal való cseréjének megkönnyítése és a teljesen automatizált nagy áteresztőképességű szimuláció lehetővé tétele érdekében nyilvános adatformátumokat dolgozunk ki a molekulák XML segítségével történő leírására, nagymértékben tömörített trajektóriaformátumokat, amelyek támogatják a digitális hash-okat és aláírásokat az adatok integritásának garantálása érdekében, valamint új eszközöket a kölcsönhatásleírások (topológiák) automatikus létrehozására tetszőleges kis molekulákhoz használt e.pl. gyógyszerként célzottan különböző erőterek, például a CHARMM, a GAFF vagy az OPLS-AA segítségével (Lundborg & Lindahl 2014).
- A szabadenergia-számítás néhány legígéretesebb potenciális alkalmazása közé tartozik az aminosav-szkennelési kísérletek előrejelzése vagy az, hogy hogyan kell módosítani a kismolekulákat a kötődés javítása érdekében. Jelenleg ezt akadályozza az a követelmény, hogy vagy abszolút szabad energiákat kell kiszámítani a nagy változásokhoz (ami nagy statisztikai hibákat okoz), vagy manuálisan kell megtervezni olyan topológiákat, ahol a maradékokat vagy a hatóanyagokat közvetlenül a kapcsolódó molekulákba morfondírozzák. A BioExcel részeként a szabadenergia-számításokat ezekben a nagy áteresztőképességű beállításokban is alkalmazhatóvá tesszük azáltal, hogy új modulokat fejlesztünk ki és integrálunk, amelyek segítségével bármely aminosav automatikusan átalakítható másikká, és a gyógyszervegyületek automatikusan átalakíthatók kapcsolódó származékokká, miközben a perturbációt a lehető legkisebbre csökkentjük. Az automatikus topológia-generálással és együttes szimulációval kombinálva ez olyan eszközzé teszi a molekuláris szimulációkat, amely 24-48 óra alatt képes a molekulák és kötések stabilitásának szűrésére, ami nagy hatással lesz a gyógyszeripari gyógyszertervezésre.
Kifejlesztési infrastruktúra
A programkód és így a szimulációs eredmények helyességének biztosítása, valamint a fejlesztés belső és külső hozzájárulások révén történő ösztönzése érdekében a modern szoftverfejlesztéshez kapcsolódó legjobb gyakorlatokat alkalmazzuk:
- A forráskód verzió- és revíziós ellenőrzését a git mint verziókezelő rendszer használatával biztosítjuk, a GROMACS repository elérhető a forráskód megtekintéséhez a
git clone git://gitlab.com/gromacs/gromacs.git
segítségével vagy a https://github.com/gromacs/gromacs böngészéssel. A git egyszerre teszi lehetővé a hatékony verziókezelést, valamint a világ minden tájáról érkező fejlesztők hozzájárulását és fejlesztését.
- A GROMACS kódját a GitLab segítségével manuálisan és automatikusan ellenőrzik, biztosítva, hogy az új hozzájárulások és a meglévő kódbázis módosításai átmenjenek több fő fejlesztő ellenőrzésén, mielőtt bekerülnének a fő disztribúcióba. A GROMCAS kódellenőrző szerver elérhető a https://gitlab.com/gromacs/gromacs.
- A GitLab CI használatával minden változtatáson folyamatos integrációs tesztelés történik a fő ágba való felvétel előtt és után. Ez biztosítja, hogy minden egyes változtatás nem csak a hordozhatóságra vonatkozó számos teszten megy át a beillesztés előtt, hanem azt is, hogy a meglévő funkcionalitás kiterjedt tesztelése révén egyetlen változtatás sem vezet be hibákat. A GROMACS tesztjei is a GitLab segítségével futnak.
- A program új és meglévő részeit széleskörűen teszteljük a kódellenőrzési és CI rendszerünkbe integrált egység- és regressziós tesztelési infrastruktúránk segítségével.
- A dokumentációs szabványokat a Doxygen (doxygen.org), mint a funkciók dokumentálásának és a program referencia kézikönyvébe való felvételének szabványos eszköze révén érvényesítjük.
- A GitLabba integrált hibakövetési rendszert használjuk, és a GROMACS hibakövető rendszerén is lehet problémákat nyitni, hogy azonosítani tudjuk a programhibákat, és a felhasználókkal és a fejlesztőkkel együtt dolgozhassunk a javításukon.
Képzési és támogatási tevékenységek
A GROMACS felhasználói és potenciális fejlesztői számára is többféle lehetőséget biztosítunk arra, hogy kapcsolatba léphessenek velünk az alkalmazásokkal és módosításokkal kapcsolatos kérdéseikkel.
- A GROMACS rendszerek szimulálására való használatával kapcsolatos általános kérdéseket a GROMACS fórumon lehet és kell feltenni.
- A GROMACS fejlesztésével és az új funkciók megvalósításával kapcsolatos kérdéseket a fejlesztők levelezőlistáján kell feltenni. Ez az a hely, ahol további információkat kaphatunk a jövőbeli verziókban megjelenő új funkciókról.
Szoftverleírás
A biológiai makromolekulák szimulációja egy hiánypótló statisztikai-mechanikai módszerből az egyik legszélesebb körben alkalmazott biofizikai kutatási eszközzé fejlődött, és messze az elméleti kémián kívül is használják. A szuperszámítógépek ma már olyan fontos szerepet játszanak a kémiában, mint a centrifugák vagy a kémcsövek. Amint azt a 2013-as kémiai Nobel-díj is mutatja, a statisztikai mechanikán alapuló molekuláris dinamika lehetővé teszi az atomok mozgásának szimulálását valósághű környezetben, szobahőmérsékleten, az anyagi kémiától kezdve a több millió atomot tartalmazó fehérjékig, DNS-ig, RNS-ig és membránokig terjedő rendszerek esetében. A molekuladinamika alapvető algoritmusa a rendszerben lévő összes atomra ható erőket értékeli, és Newton mozgásegyenleteinek megfelelően frissíti az atomok sebességét és helyzetét. Ez a numerikus integrációs séma több milliárd lépésen keresztül ismétlődik, és a rendszer termodinamikai együttesét leíró minták sorozatát hozza létre. Ez a technika igazi erőssége, hiszen kísérleteket jósol meg: pontosan leírja, hogyan mozognak a molekulák, például a fehérjék, de lehetővé teszi a kémiai reakciókat leíró szabad energiák kiszámítását is, például egy gyógyszerjelölt vegyület kötési szabad energiáját egy fehérje aktív helyén, vagy azt, hogy egy ligandum hogyan stabilizál egy adott konformációt, hogy megnyisson vagy bezárjon egy ioncsatornát. Mivel az erők számítása számos algoritmushoz szükséges, számos más csomag könyvtárként használja a molekulaszimulációs eszközkészleteket az energiák kiértékeléséhez, például dokkoláskor vagy a szerkezetek finomításakor kísérleti korlátozásokkal, például röntgen-, NMR- vagy Cryo-EM-adatokkal.
Ez a fejlődés nem lett volna lehetséges a szimulációs algoritmusok, az optimalizálás és a párhuzamosítás terén tett jelentős kutatási erőfeszítések nélkül. Az olyan szabványosított molekulamodellező csomagok megjelenése, mint a GROMACS, a NAMD, az AMBER és a CHARMM, döntő fontosságú volt, mivel segítettek a szimulációs kutatások árucikké tételében, és elérhetővé tették a technikákat olyan élettudományi alkalmazáskutatók számára is, akik nem a szimulációfejlesztés specialistái. Mindezek a csomagok egymást kiegészítő erősségekkel és profilokkal rendelkeznek – a terület a történelmi versengésből az ötletek széles körű megosztása felé mozdult el. A GROMACS az egyik legszélesebb körben használt tudományos szoftvercsomag a világon, összesen mintegy 20 000 idézéssel (Hess et al. 2008, Pronk et al. 2013); ez a legnagyobb szabad szoftver és nyílt forráskódú alkalmazás a biomolekuláris kutatásban, és az egyetlen a nagy molekuladinamikai szimulációs csomagok közül, ahol a fejlesztést Európában vezetik.
A GROMACS projekt 1995-ben indult, a legelső párhuzamos szimulációs kódok egyikeként, a nemzetközi fejlesztőcsoportot a KTH partner vezeti, és a projekt erősen koncentrál a szimuláció hatékonyságára és általánosságára. Ez az egyetlen olyan csomag, amely támogatja az összes elterjedt erőteret, és a szimulációs algoritmusok igen széles skálájával rendelkezik. Ez a nagyon liberális (és üzletbarát) licenceléssel együtt valószínűleg nagyban hozzájárul ahhoz, hogy szimulációs, minimalizálási és energiaértékelési könyvtárként számos más alkalmazás is használja, pl. a bioinformatika vagy az olyan elosztott számítási projektek, mint a Folding@Home. A kód a platformok igen széles skálájára (beleértve a beágyazott platformokat is) hordozható, kézzel hangolt assembly kerneleket tartalmaz tucatnyi különböző architektúrájú utasításkészlethez és gyorsítótámogatást mind az Nvidia GPU-khoz CUDA-val, mind az AMD GPU-khoz OpenCL-lel, mind a Xeon Phi processzorokhoz natívan. A csomag a legkorszerűbb semleges területi területi dekompozíciót és többszintű párhuzamosítást használja, hogy lehetővé tegye mind a szuperszámítógépek több tízezer csomópontjára történő skálázást, mind a gyorsítókkal történő hatékony nagy áteresztőképességű számítást (Pall et al. 2014).
A GROMACS már egyetlen, meglehetősen kis rendszer esetében is hatékonyan képes több ezer magot és több száz gyorsítót párhuzamosan használni. Ha hozzáadjuk az együttes szintű párhuzamosítást a Copernicusszal, a teljes probléma skálázása további két nagyságrenddel bővül.
A molekuláris dinamikai szimuláció általában, és a GROMACS különösen, lehetővé tette nagy és összetett biomolekuláris rendszerek, például membránok és membránfehérjék vizsgálatát, és olyan atomi részletek szondázását, amelyek semmilyen kísérleti módszerrel nem érhetők el. A molekuláris szimulációk szolgáltatták az ioncsatornák nyugalmi állapotainak néhány első nagy felbontású modelljét, amelyek a nyitott csatornák röntgenstruktúráin alapultak (Vargas et al. 2012), és döntő fontosságúak voltak a membránfehérjék szerkezeti átmenetei során fellépő átmeneti köztes konformációk modellezésében (Henrion et al. 2012). A GROMACS-t használták továbbá a lipidek membránfehérjék általi első specifikus molekuláris felismerésének előrejelzéséhez (Contreras et al. 2012) és azokhoz a szimulációkhoz, amelyek külön potenciáló és gátló kötőhelyeket azonosítottak idegrendszerünk ligandumkapcsolt ioncsatornáiban (Murail et al. 2012) – olyan eredményekhez, amelyeket ma már több csoport is felhasznál jobb gyógyszerek tervezésére irányuló kísérletek során.