BioExcel – Centre of Excellence for Computation Biomolecular Research

GROMACS (http://www.gromacs.org) är ett av de viktigaste programvarupaketen för simulering av biologiska makromolekyler. Det syftar till att utföra simulering av stora, biologiskt relevanta system, med fokus på att både vara effektivt och flexibelt för att möjliggöra forskning av ett antal olika system (se de exempel som ges längre ner på sidan). Programmet har använts av forskargrupper runt om i världen, och flera hundra publikationer som direkt eller indirekt bygger på programmet har publicerats under de senaste åren (se figuren nedan för resultatet av en sökning på programanvändning i Scopus).

Resultat av en sökning på termen ”GROMACS” i Scopus-databasen, som visar den ökande användningen under de senaste åren.

Licens

GROMACS är fri programvara; du kan distribuera den vidare och/eller ändra den enligt villkoren i GNU Lesser General Public License
som publicerats av Free Software Foundation; antingen version 2.1 av licensen, eller (efter eget val) någon senare version.

GROMACS distribueras i förhoppning om att den skall vara användbar, men utan någon som helst garanti; inte ens den underförstådda garantin om säljbarhet eller lämplighet för ett visst ändamål.

Se GNU Lesser General Public License för mer information. Den fullständiga licenstexten finns här.

Involvering i Bioexcel

GROMACS är en del av Bioexcel-drivkraften att tillhandahålla en ram för simulering av alla biomolekylära system, genom utveckling av verktyg som både är effektiva när det gäller att simulera biologiskt relevanta system, samtidigt som de ger flexibilitet för att kunna användas i olika användningsfall genom möjligheten att snabbt utöka funktionaliteten. GROMACS förmåga att simulera godtyckligt stora system gör det möjligt att kombinera den kunskap som tillhandahålls av de andra program som är involverade i programmet för att få en bättre förståelse för de system som studeras.

Fortsatt utveckling som en del av Bioexcel

Syftet är att utöka de befintliga funktionerna i GROMACS genom att tillhandahålla ett API-ramverk som andra program kan använda för att skapa ett gränssnitt mot den huvudsakliga simuleringsmotorn. Detta kommer att göra det möjligt att ytterligare utöka den möjliga användningen till mer biologiskt och kemiskt relevanta system, eftersom andra program kommer att kunna ha ett direkt gränssnitt mot de effektiva kärnrutiner som används för simuleringarna.

Ovanpå detta kommer både KTH:s och MPG:s partner att bidra till att förbättra prestanda, skalbarhet, kvalitet och användbarhet både för GROMACS och andra simuleringskoder:

  • QA, enhetstestning och ett allmänt bibliotek för biomolekylär modellering.
    GROMACS kommer att förvandlas till ett modernt modulbaserat C++-bibliotek med fullständig enhetstestning och uppdaterad användar- &utvecklardokumentation för alla moduler. Projektet övergår till en professionell QA-uppsättning genom att införa strikt kodgranskning (även från huvudutvecklarna) och automatisk kontinuerlig integration där alla patchar kompileras och enhetstestas på ett brett spektrum av hårdvara och kompilatorer för att QA-godkänna varje enskild ändring, och för att göra det möjligt för varje installationsplats att garantera kvaliteten på sin kompilerade installation.
  • Heterogen parallellisering.
    Vi kommer att utveckla en ny implementering av heterogen parallellisering där alla tillgängliga CPU-, accelerator- och kommunikationsresurser används parallellt på varje nod genom explicit multitrådning och lastbalansering på flera nivåer, samt nytt stöd för OpenCL och Xeon Phi-acceleratorer utöver CUDA.
  • Effektiva ensembletekniker.
    Några av de kraftfullaste tillvägagångssätten i dag bygger på att man använder hundratals eller tusentals simuleringar för ensembletekniker för sampling, t.ex. Markov-tillståndsmodeller eller beräkningar av fri energi. Vi kommer att göra dessa metoder tillgängliga för användare i allmänhet genom att fullt ut integrera vårt Copernicus-ramverk för ensemblesimulering med GROMACS (Pronk et al. 2011). Detta kommer att göra det möjligt att formulera problem med sampling på hög nivå och beräkning av fri energi som beräkningsproblem i en svart låda som kan använda hundratusentals processorer internt. Detta är särskilt viktigt för tillämpningar för screening av fri energi med hög genomströmning. Noterbart är att ramverket inte är begränsat till GROMACS, utan det kan användas med vilken kod som helst.
  • För att underlätta utbyte av data med andra tillämpningar och för att möjliggöra en helt automatiserad simulering med högt genomflöde utvecklar vi offentliga dataformat för att beskriva molekyler med XML, högt komprimerade banformat med stöd för digitala hash och signaturer för att garantera dataintegritet, och nya verktyg för att automatiskt skapa interaktionsbeskrivningar (topologier) för godtyckliga små molekyler som används e.t.ex. som läkemedelssubstanser som riktar sig mot ett antal olika kraftfält som CHARMM, GAFF eller OPLS-AA (Lundborg & Lindahl 2014).
  • Några av de mest lovande potentiella tillämpningarna av beräkningar av den fria energin är bland annat förutsägelser av aminosyreskanningsexperiment eller hur små molekyler bör ändras för att förbättra bindningen. För närvarande hindras detta av kravet att antingen beräkna absoluta fria energier för stora förändringar (vilket orsakar stora statistiska fel), eller att manuellt utforma topologier där rester eller läkemedel morphas direkt i relaterade molekyler. Som en del av BioExcel kommer vi att göra beräkningar av fri energi tillämpbara i dessa höggenomströmningsmiljöer genom att utveckla och integrera nya moduler för att automatiskt omvandla aminosyror till andra aminosyror och automatiskt omvandla läkemedelsföreningar till relaterade derivat, samtidigt som störningen hålls så liten som möjligt. I kombination med automatisk topologigenerering och ensemblesimulering kommer detta att göra molekylära simuleringar till ett verktyg som kan undersöka molekyl- och bindningsstabilitet på 24-48 timmar, med stora konsekvenser för läkemedelsdesign inom läkemedelsindustrin.

Utvecklingsinfrastruktur

För att säkerställa att programkoden och därmed simuleringsresultaten är korrekta, och för att driva utvecklingen med hjälp av både interna och externa bidrag, använder vi oss av de bästa metoderna för modern programvaruutveckling:

  • Källkodens versions- och revisionskontroll sker genom att git används som versionskontrollsystem, och GROMACS:s arkiv är tillgängligt för kontroll av källkoden med hjälp av
    git clone git://gitlab.com/gromacs/gromacs.git

    eller genom bläddring på https://github.com/gromacs/gromacs. Git möjliggör effektiv versionskontroll samtidigt som det möjliggör bidrag och utveckling från utvecklare runt om i världen.

  • GROMACS-koden granskas manuellt och automatiskt med hjälp av GitLab, vilket säkerställer att nya bidrag och ändringar i den befintliga kodbasen passerar inspektionen av flera kärnutvecklare innan de inkluderas i huvuddistributionen. GROMCAS kodgranskningsserver kan nås på https://gitlab.com/gromacs/gromacs.
  • Kontinuerliga integrationstester utförs på varje ändring före och efter att den inkluderats i huvudgrenen genom användning av GitLab CI. Detta säkerställer att varje ändring inte bara klarar ett antal tester av portabiliteten innan den inkluderas, utan också att ingen ändring kommer att införa fel genom omfattande tester av den befintliga funktionaliteten. GROMACS-testerna körs också med hjälp av GitLab.
  • Nya och befintliga delar av programmet testas utförligt med hjälp av vår infrastruktur för enhets- och regressionstestning som är integrerad i vårt system för kodgranskning och CI.
  • Dokumentationsstandarderna upprätthålls genom användning av Doxygen (doxygen.org) som standardverktyg för att dokumentera funktioner och inkludera dem i programmets referensmanual.
  • Vi använder det problemspårningssystem som är integrerat i GitLab, och problem kan öppnas på GROMACS problemspårare för att vi ska kunna identifiera programfel och arbeta tillsammans med användare och utvecklare för att åtgärda dem.

Utbildnings- och stödverksamhet

Vi tillhandahåller flera sätt för både användare och potentiella utvecklare av GROMACS att komma i kontakt med oss för att ställa frågor om tillämpningar och modifieringar.

  • Allmänna frågor om användning av GROMACS för simulering av system kan och bör ställas på GROMACS forum.
  • Frågor om utveckling av GROMACS och genomförande av ny funktionalitet bör ställas på utvecklarnas sändlista. Detta är också platsen för att få mer information om nya och kommande funktioner för framtida versioner.

Mjukvarubeskrivning

Simulering av biologiska makromolekyler har utvecklats från en nischad statistisk-mekanisk metod till ett av de mest använda biofysikaliska forskningsverktygen, och används långt utanför den teoretiska kemin. Superdatorer är nu lika viktiga som centrifuger eller provrör inom kemin. Som visades upp med Nobelpriset i kemi 2013 gör molekyldynamik baserad på statistisk mekanik det möjligt att simulera atomrörelser i realistiska miljöer vid rumstemperatur, för system som sträcker sig från materialkemi till proteiner, DNA, RNA och membran som innehåller miljontals atomer. Den grundläggande algoritmen för molekyldynamik utvärderar krafter på alla atomer i ett system och uppdaterar atomernas hastigheter och positioner enligt Newtons rörelseekvationer. Detta numeriska integrationsschema itereras i miljarder steg och genererar en serie prover som beskriver systemets termodynamiska ensemble. Detta är teknikens verkliga styrka, eftersom den förutsäger experiment: den kan noggrant beskriva hur molekyler, t.ex. proteiner, rör sig, men den gör det också möjligt att beräkna fria energier som beskriver kemiska reaktioner, t.ex. den fria bindningsenergin för en kandidatläkemedelsförening i en aktiv plats i ett protein eller hur en ligand kommer att stabilisera en viss konformation för att öppna eller stänga en jonkanal. Eftersom beräkning av krafter krävs för ett stort antal algoritmer använder flera andra paket verktygslådor för molekylär simulering som bibliotek för att utvärdera energier, t.ex. vid dockning eller vid förfining av strukturer med experimentella begränsningar, t.ex. röntgen-, NMR- eller Cryo-EM-data.gromacs skalning

Den här utvecklingen skulle inte ha varit möjlig utan betydande forskningsinsatser inom simuleringsalgoritmer, optimering och parallellisering. Framväxten av standardiserade paket för molekylär modellering som GROMACS, NAMD, AMBER och CHARMM har varit avgörande eftersom de har bidragit till att göra simuleringsforskningen kommersiell och gjort teknikerna tillgängliga för forskare som arbetar med tillämpningar inom biovetenskap och som inte är specialister på simuleringsutveckling. Alla dessa paket har kompletterande styrkor och profiler – området har gått från historisk konkurrens till ett omfattande utbyte av idéer. GROMACS är ett av de mest använda vetenskapliga programvarupaketen i världen med cirka 20 000 citeringar totalt (Hess et al. 2008, Pronk et al. 2013); det är det största programmet för fri programvara och öppen källkod inom biomolekylär forskning, och det enda av de större paketen för simulering av molekylär dynamik där utvecklingen leds i Europa.

Gromacs-projektet startade 1995 som en av de första parallella simuleringskoderna någonsin, det internationella utvecklingsteamet leds av KTH-partnern, och projektet är starkt inriktat på simuleringseffektivitet och generalitet. Det är det enda paketet som stöder alla vanliga kraftfält och har ett mycket brett utbud av simuleringsalgoritmer. Detta i kombination med den mycket liberala (och företagsvänliga) licensen är troligen en viktig faktor till varför det används som simulerings-, minimerings- och energiutvärderingsbibliotek av flera andra tillämpningar, t.ex. inom bioinformatik eller distribuerade dataprojekt som Folding@Home. Koden är portabel till ett mycket brett utbud av plattformar (inklusive inbyggda plattformar), den innehåller manuellt avstämda assemblerkärnor för ett dussintal olika arkitekturinstruktionsuppsättningar och stöd för acceleratorer både för Nvidias GPU:er med CUDA, AMD:s GPU:er med OpenCL och Xeon Phi-processorer nativt. Paketet använder state-of-the-art neutral territory domain decomposition och multi-level parallellisering för att möjliggöra skalning både till tiotusentals noder på superdatorer och effektiv höggenomsnittsberäkning med acceleratorer (Pall et al. 2014).

GROMACS kan redan nu använda tusentals kärnor och hundratals acceleratorer effektivt parallellt, även för ett enda ganska litet system. När man lägger till parallellisering på ensemble-nivå med Copernicus utökas den totala problemskalningen med ytterligare två storleksordningar.

Molekylär dynamiksimulering i allmänhet, och GROMACS i synnerhet, har gjort det möjligt att studera stora och komplexa biomolekylära system, såsom membraner och membranproteiner, och utforska atomära detaljer som inte är tillgängliga för några experimentella metoder. Molekylära simuleringar gav några av de första högupplösta modellerna av vilotillstånd hos jonkanaler baserade på röntgenstrukturer av öppna kanaler (Vargas et al. 2012), och de var avgörande för att modellera övergående intermediära konformationer under strukturella övergångar av membranproteiner (Henrion et al. 2012). GROMACS användes också för att förutsäga det första specifika molekylära erkännandet av lipider av membranproteiner (Contreras et al. 2012) och för de simuleringar som identifierade separata potentierande och hämmande bindningsställen i de ligandstyrda jonkanalerna i vårt nervsystem (Murail et al. 2012) – resultat som nu används av flera grupper i försöken att utforma bättre läkemedel.

Lämna ett svar

Din e-postadress kommer inte publiceras.