ELEKTROTEHNI ˇ SKI VESTNIK 90(1-2): 60–68, 2023 IZVIRNI ZBNANSTVENI ˇ CLANEK Uporaba heterogenih raˇ cunalniˇ skih sistemov za molekulsko sidranje Davor Sluga 1 , Tine Erent 1 , Marko Juki´ c 2, 3 , ˇ Crtomir Podlipnik 4 , Nejc Ilc 1 1 Univerza v Ljubljani, Fakulteta za raˇ cunalniˇ stvo in informatiko, Veˇ cna pot 113, 1000 Ljubljana, Slovenija 2 Univerza v Mariboru, Fakulteta za kemijo in kemijsko tehnologijo, Smetanova ulica 17, 2000 Maribor, Slovenija 3 Univerza na Primorskem, Fakulteta za matematiko, naravoslovje in informacijske tehnologije, Glagoljaˇ ska ulica 8, 6000 Koper, Slovenija 4 Univerza v Ljubljani, Fakulteta za kemijo in kemijsko tehnologijo, Veˇ cna pot 113, 1000 Ljubljana, Slovenija E-poˇ sta: nejc.ilc@fri.uni-lj.si Povzetek. Razvili smo prototip vzporednega algoritma za in silico molekulsko sidranje, ki omogoˇ ca izrabo heterogenih raˇ cunalniˇ skih arhitektur in poslediˇ cno raˇ cunsko moˇ c modernih osebnih raˇ cunalnikov in superraˇ cunalniˇ skih gruˇ c. Uporabili smo programsko ogrodje OpenCL, ki podpira strojno opremo razliˇ cnih proizvajalcev. Vzporedni algoritem iˇ sˇ ce optimalno pozo oziroma konformacijo molekule v receptorskem mestu beljakovine, kar imenujemo molekulsko sidranje, pri tem pa uporablja empiriˇ cno cenilno funkcijo za ocenjevanje reˇ sitev. Reˇ sitev smo preizkusili na veˇ c beljakovinskih kompleksih in dobljene rezultate primerjali z referenˇ cno implementacijo programa CmDock. Analizirali smo optimalnost dobljenih konformacij molekul in hitrost algoritma. Vzporedni algoritem izkazuje izrazito hitrejˇ se delovanje na grafiˇ cnih procesnih enotah. Za uˇ cinkovitejˇ so izrabo strojne opreme in veˇ cje pohitritve je treba algoritem dodatno optimizirati ter izpopolniti cenilno funkcijo za pridobitev ustreznih vezavnih konformacij ligandov. Programska koda bo dostopna na https://gitlab.com/Jukic/cmdock/. Kljuˇ cne besede: molekulsko sidranje, molekulsko modeliranje, naˇ crtovanje uˇ cinkovin, genetski algoritem, OpenCL, heterogena raˇ cunalniˇ ska arhitektura, grafiˇ cne procesne enote, GPE, uHTVS Employing heterogeneous computer systems for molecular docking We have developed a prototype parallel molecular docking algorithm that enables exploitation of heterogeneous computer architectures and thus the computational power of modern PCs and supercomputer clusters. We employed the OpenCL soft- ware framework that supports hardware from multiple vendors. The parallel algorithm searches for the optimal pose of molecu- les/ligands in the protein receptor site in an in silico experiment named molecular docking. We are using an empirical scoring function to evaluate solutions. The developed algorithm was tested on several protein complexes, and the results were compared with the reference implementation of the CmDock software. We analysed the quality of the resulting ligand poses and the speed of the algorithm to demonstrate a significantly faster performance on GPUs. The reported algorithm leaves space for additional optimizations and development of the scoring function to obtain the optimal ligand poses. The source will be made available at the https://gitlab.com/Jukic/cmdock/. 1 In silico MOLEKULSKO SIDRANJE Pri razvoju novih zdravilnih uˇ cinkovin raziskovalni la- boratoriji uporabljajo robotizirano opremo za visokoz- mogljivo reˇ setanje (angl. high-throughput screening), ki omogoˇ ca avtomatizirano eksperimentalno in vitro Prejet 21. december, 2022 Odobren 24. februar, 2023 bioloˇ sko vrednotenje razliˇ cnih spojin z zmogljivostjo veˇ c sto tisoˇ c spojin [1]. Gre za razmeroma drag in zapleten postopek, ki pa ga s hitrim razvojem raˇ cunalniˇ ske zna- nosti dopolnjujejo in nadomeˇ sˇ cajo raˇ cunalniˇ ska orodja za molekulsko modeliranje. Podobno kot eksperimente izvajamo in vivo ali in vitro, tako govorimo o eksperi- mentih in silico oz. v siliciju. Sidranje molekul uvrˇ sˇ camo med metode molekulskega modeliranja in je postalo nepogreˇ sljivo orodje in silico odkrivanja novih zdravil ter drugih farmacevtsko-kemijskih raziskav [2]. V kon- tekstu molekulskega sidranja govorimo tudi o postopkih ”navideznega”visokozmogljivega reˇ setanja (angl. high- throughput virtual screening – HTVS), kjer se preiˇ sˇ ce ustreznost veˇ c milijonov oziroma dandanes veˇ c milijard spojin [3]. In silico eksperimenti nam tako ˇ ze v zgodnjih fazah razvoja novih zdravil pomagajo razumeti interak- cije molekul zdravil z ustreznimi terapevtskimi tarˇ cami. Sidranje molekule je postopek vezave molekule oz. liganda v vezavno mesto druge molekule, imenovane receptor ali tarˇ ca. Ligand je tipiˇ cno majhna molekula z nekaj deset atomi, lahko pa sidramo tudi veˇ cje, kot so peptidi ali beljakovine z veˇ c tisoˇ c atomi. Receptor je navadno makromolekula, denimo beljakovina ali nu- kleinska kislina [4]. Slika 1 prikazuje primer molekule liganda v vezavnem mestu receptorja. Na voljo je bogat nabor programskih reˇ sitev za mo- UPORABA HETEROGENIH RA ˇ CUNALNI ˇ SKIH SISTEMOV ZA MOLEKULSKO SIDRANJE 61 Slika 1: Primer molekule liganda v vezavnem mestu belja- kovine. Aktivno vezavno mesto je prikazano s polprosojno plastjo. lekulsko sidranje, ki za ugotavljanje optimalne poze li- ganda v sidriˇ sˇ cu receptorja uporabljajo raznolike iskalne algoritme in optimizacijske postopke [5]. Tu navajamo nekaj predstavnikov, ki smo jih razdelili v skupine glede na dostopnost in z zvezdico oznaˇ cili tiste, ki imajo podporo za grafiˇ cne procesne enote: • odprtokodni: AutoDock Vina [6], AutoDock- GPU* [7], GeauxDock [8], EDock [9], rDock/rxDock [10], CmDock [11], • prosti za akademsko rabo: PLANTS [12], UCSF DOCK6 [13], LeDock [14], MedusaDock* [15], AMIDE v2* [16], • plaˇ cljivi: Glide [17], GOLD [18], MOE [19], Surflex-Dock [20]. Primerjalne ˇ studije kaˇ zejo, da so prosto dostopne reˇ sitve primerljive s plaˇ cljivimi – predvsem to velja za sidranje majhnih ligandov [21]. Bolj oˇ citne razlike v korist komercialnim produktom se pokaˇ zejo pri sidranju veˇ cjih molekul, kot so peptidi ali beljakovine [22]. Proces molekulskega sidranja je raˇ cunsko zelo zah- teven problem, saj moramo preiskati ˇ cim veˇ cji pro- stor moˇ znih poz oz. konformacij liganda, poleg tega v raziskavah HTVS preverjamo na milijone/milijarde razliˇ cnih ligandov. Na sreˇ co lahko problem enostavno razbijemo na medsebojno neodvisne izraˇ cune ustreznosti konformacij in tako omogoˇ cimo izrabo porazdeljenih in vzporednih raˇ cunalniˇ skih arhitektur. Eden od modelov porazdeljenega raˇ cunanja, ki se je v praksi izkazal kot zelo zmogljiv za reˇ sevanje takˇ snih problemov, se ime- nuje prostovoljsko raˇ cunalniˇ stvo (ang. volunteer compu- ting), kjer raˇ cunska vozliˇ sˇ ca predstavljajo raˇ cunalniˇ ske naprave v lasti prostovoljcev. Ta model izhaja iz ˇ sirˇ sega koncepta skupnostne znanosti (angl. citizen science), ki govori o naˇ cinih in naˇ celih sodelovanja ˇ sirˇ se javnosti v znanstveno- raziskovalni dejavnosti [23]. Posameznik ima tako priloˇ znost, da se dejavno vkljuˇ ci v raziskovalne projekte in tam prispeva svojo strojno opremo, znanje, intelek- tualne sposobnosti in druge vire za doseganje skupnih druˇ zbenih ciljev. ”Skupnostna znanost in boj proti korona virusu – Co- vid.si” je aktualen projekt slovenskih znanstvenikov, ki od leta 2020 prek raˇ cunskih zmogljivosti prostovoljcev izvajajo molekulsko sidranje na potencialnih terapev- tskih tarˇ cah SARS-CoV-2 [11]. Projekt je prerasel v mednarodno sodelovanje in pod imenom SiDock@home zaˇ cel gostovati na platformi BOINC (Berkeley Open Infrastructure for Desktop Computing) [24], kjer ga je posvojila ˇ sirˇ sa skupnost ljubiteljskih znanstvenikov. Projekt SiDock@home je tudi eden od prvih znan- stvenih porazdeljenih projektov na platformah mreˇ znih usmernikov v kontekstu paradigme interneta stvari. Na platformi BOINC je ˇ ze 20 let prisoten eden bolj znanih znanstvenih projektov Folding@home, namenjen zvija- nju beljakovin, ki je znan tudi kot eden najzmogljivejˇ sih raˇ cunalniˇ skih sistemov na svetu [25] – v aprilu 2020 je dosegel hitrost 2,43 eksaflopsa, kar je veˇ c kot prvih 500 najhitrejˇ sih superraˇ cunalnikov skupaj, in tako postal prvi sistem, ki je presegel mejo eksaflopsa [26]. V zadnjem desetletju se na podroˇ cju visokozmo- gljivega raˇ cunalniˇ stva vse bolj premika od klasiˇ cnih raˇ cunalniˇ skih arhitektur, kjer celoten posel obdela cen- tralna procesna enota, proti heterogenim sistemom. Mo- derne heterogene sisteme navadno sestavljajo veˇ cjedrne centralne procesne enote (CPE), grafiˇ cne procesne enote (GPE) in drugi pospeˇ sevalniki, denimo programirljivo polje logiˇ cnih vrat (FPGA). Med najhitrejˇ simi 500 su- perraˇ cunalniki jih 170 izkoriˇ sˇ ca pospeˇ sevalnike, med katerimi izrazito prednjaˇ cijo GPE [27]. Slednje trenutno prispevajo 37 % skupne raˇ cunske moˇ ci, pri ˇ cemer so energijsko bistveno uˇ cinkovitejˇ se kot CPE. Najhitrejˇ si in hkrati energijsko najuˇ cinkovitejˇ si superraˇ cunalnik, ameriˇ ski Frontier, sestavljajo vozliˇ sˇ ca z eno CPE in ˇ stirimi GPE, pri ˇ cemer slednje prispevajo veˇ c kot 99 % raˇ cunske moˇ ci. Poleg tega okoli 92 % zmogljivosti porazdeljenega sistema BOINC izvira iz projektov, ki izrabljajo GPE, kar vidimo na sliki 2. Velik potencial heterogenih raˇ cunalniˇ skih arhitektur je trenutno na podroˇ cju molekulskega sidranja skorajda neizkoriˇ sˇ cen, kar velja tudi za orodje CmDock, ki se uporablja v projektu SiDock@home. Gre za programsko opremo, ki teˇ ce na enem jedru CPE in bi ji razvita pod- pora za izvajanje na pospeˇ sevalnikih omogoˇ cila znatne pohitritve. V ˇ clanku opisujemo zaˇ cetni razvoj in prve rezultate vzporednega algoritma za molekulsko sidranje, ki temelji na genetskem algoritmu. V naslednjem poglavju predstavimo postopek sidranja z orodjem CmDock. V poglavju 3 opiˇ semo predlagani vzporedni algoritem, v poglavju 4 ga ovrednotimo in v poglavju 5 povzamemo prispevke ter podamo izhodiˇ sˇ ca za nadaljnje delo. 62 SLUGA, ERENT, JUKI ´ C, PODLIPNIK, ILC Collatz Conjecture 5.437,55 31,6 % PrimeGrid 3.481,82 20,2 % Einstein@Home 3.256,73 18,9 % MilkyWay@Home 1.566.60 9,1 % Amicable Num. SRBase Moo! Wrapper GPUGRID GPE ostali Universe@Home CPE ostali Rosetta@Home GPE CPE 778,98 535,20 524,60 190,89 129,81 623,82 608,21 070,83 4,5 % 3,1 % 3,0 % 1,1 % 0,8 % 3,6 % 3,5 % 0,4 % TFLOPS Slika 2: Statistika raˇ cunske moˇ ci projektov BOINC, zajeta 8. 7. 2022. Poimensko prikazujemo prvih deset projektov glede na zmogljivost v teraflopsih. 2 MOLEKULSKO SIDRANJE Z ORODJEM CMDOCK CmDock je odprtokodno orodje za molekulsko sidranje, alternativa znanemu programu AutoDock [28]. V na- sprotju z njim CmDock podpira transparentno uporabo vhodnih molekulskih podatkov, je naˇ crtovan modularno in podpira zelo visoko stopnjo modifikacije eksperimen- tov ter omogoˇ ca naˇ crtovanje protokolov navideznega visokozmogljivega reˇ setanja. Je edini predstavnik spe- cifiˇ cno naˇ crtovanih orodij za izvajanje sidranja z uporabo nukleinskih kislin. Sledimo zgledu avtorjev AutoDock, ki so svojemu orodju nedavno dodali podporo za izva- janje na GPE [7]. Pri molekulskem sidranju tako konformacijo molekule doloˇ cata poloˇ zaj in orientacija njenih atomov v prostoru. Zaradi velikega ˇ stevila moˇ znih translacijskih, rotacij- skih in konformacijskih premikov liganda in receptorja je problemski prostor velik. Pogosto si pomagamo s poenostavitvijo, kjer je receptor togo telo, katerega konformacija se ne spreminja. Ta, delno proˇ zni model, pogosto predpostavlja tudi program CmDock. Glede na izraˇ cunano vrednost cenilne funkcije lahko sklepamo o ustreznosti interakcij med ligandom in tarˇ co ter posta- vimo izhodiˇ sˇ ca za nadaljnje laboratorijske raziskave [2]. Proces molekulskega sidranja tako razdelimo na dva osnovna koraka: 1. napoved ali vzorˇ cenje konformacije molekule liganda (angl. sampling) in 2. ocena ustrezno- sti interakcije (angl. scoring). Za napoved konformacij redkeje uporabljamo sistematiˇ cne pristope, pogosteje pa razliˇ cne optimizacijske algoritme. ˇ Ce jih naˇ stejemo le nekaj, ti temeljijo na geometrijskem ujemanju molekul, postopni konstrukciji na podlagi fragmentov, iskanju z veˇ ckratnimi kopijami ali stohastiˇ cnem preiskovanju po metodi Monte Carlo ter z vzorci gibanja ˇ zivali oziroma z uporabo genetskega algoritma [29]. Za iskanje global- nega optimuma CmDock uporablja genetski algoritem, zatem pa ˇ se fino optimizacijo konformacije liganda z metodo simuliranega ohlajanja in hevristiˇ cnim algorit- mom Nelder-Mead [30]. Vezavno energijo napovedane konformacije liganda ocenjujemo s cenilno funkcijo oziroma cenilko – vsoto interakcij med ligandom in re- ceptorjem. Upoˇ stevamo pa lahko tudi interakcije znotraj molekule liganda in interakcije z razliˇ cnimi topili. 2.1 Genetski algoritem Genetski algoritem spada med evolucijske metode, ki iterativno izboljˇ sujejo zaˇ cetno nakljuˇ cno populacijo osebkov z operacijami mutacije in kriˇ zanja [31]. V kontekstu molekulskega sidranja je osebek konformacija liganda. Vsak osebek je doloˇ cen s kromosomom, se- stavljenim iz genov. Gen, po analogiji z ˇ zivim svetom, kodira eno izmed lastnosti osebka. V primeru liganda geni kodirajo njegov poloˇ zaj, orientacijo in rotacijo morebitnih vrtljivih vezi. Mutacija povzroˇ ci nakljuˇ cno spremembo gena, kriˇ zanje pa zamenjavo nakljuˇ cnega zaporedja genov med dvema kromosomoma. Velikost populacije osebkov je odvisna od dolˇ zine kromosoma, ta pa od ˇ stevila vrtljivih vezi. Za zapis kromosoma porabimo tri ˇ stevila v plavajoˇ ci vejici za poloˇ zaj, tri za orientacijo in po eno za vsako vrtljivo vez. Velikost populacije je doloˇ cena kot (6 +r L )∗ 50, pri ˇ cemer je r L ˇ stevilo vrtljivih vezi liganda. V vsakem koraku genetskega algoritma se najprej na podlagi izbrane cenilke izbere mnoˇ zica najboljˇ sih oseb- kov, ki postanejo starˇ si novi generaciji. Nad posame- znim parom kromosomov izvedemo operaciji mutacije in kriˇ zanja ter pridobimo dva nova osebka. Tako nastale osebke nato ocenimo in uredimo skupaj z njihovimi starˇ si. Najboljˇ se nato prenesemo v nov korak algoritma. Koraki se izvajajo, dokler ni izpolnjen ustavitveni pogoj – najboljˇ sa ocena osebka se ne izboljˇ suje veˇ c ali pa doseˇ zemo vnaprej doloˇ ceno ˇ stevilo korakov. Rezultat genetskega algoritma je tako osebek z najboljˇ so oceno, ki predstavlja konformacijo liganda z najniˇ zjo vezavno energijo. Velika veˇ cina raˇ cunskega ˇ casa genetskega algoritma se porabi za ocenjevanje osebkov, kjer je treba izraˇ cunati interakcije med atomi liganda in receptorja ter atomi znotraj liganda. Za ocenjevanje osebkov lahko upora- bimo poljubno cenilno funkcijo, ki lahko identificira morebiti ugodne ali neprimerne konformacije ligandov. Cenilka orodja CmDock razdeli vezavno energijo v veˇ c ˇ clenov, ki opisujejo van der Waalsov potencial, polarne interakcije in morebitne interakcije s topilom. UPORABA HETEROGENIH RA ˇ CUNALNI ˇ SKIH SISTEMOV ZA MOLEKULSKO SIDRANJE 63 2.2 Cenilna funkcija na osnovi linearnega potenci- ala – PLP Za laˇ zji razvoj vzporednega algoritma smo izbrali cenilko PLANTS PLP , ki je med drugim del orodja za sidranje PLANTS [12]. Cenilka predpostavlja model interakcije med atomi, ki za osnovo vzame odsekoma linearno funkcijo potenciala (angl. Piecewise Linear Potential – PLP). Cenilko sestavlja vsota ˇ stirih ˇ clenov: f PLANTS =f plp +f clash +f tors +c site . (1) Prvi ˇ clen,f plp , opisuje interakcije med atomi liganda in atomi receptorja. Odvisen je od razdalje med paroma atomov in vrsto interakcije. Vrednost celotnega ˇ clena je vsota prispevkov vsakega para, kar teoretiˇ cno pomeni n L × n R izraˇ cunov, kjer sta n L oziroma n R ˇ stevilo ato- mov liganda oziroma receptorja. ˇ Ce upoˇ stevamo predpo- stavko, da je receptor togo telo in se med simulacijo ne spreminja, lahko uporabimo poenostavitev izraˇ cuna [32]. Vezavno mesto vzorˇ cimo z mreˇ zo vnaprej doloˇ cene gostote. Nato v vsaki toˇ cki mreˇ ze vnaprej izraˇ cunamo prispevke f plp za vse moˇ zne vrste interakcij. Ko potem v procesu genetskega algoritma ocenjujemo osebek, njegove atome preslikamo na mreˇ zo preko tri-linearne interpolacije in glede na razred posameznih atomov pridobimo njihov vnaprej izraˇ cunan energijski prispevek k celokupni vrednosti cenilne funkcije. ˇ Clen f clash opisuje interakcije znotraj molekule li- ganda in naj bi prepreˇ ceval superimpozicije atomov. Upoˇ steva razdaljo med parom atomov liganda in vrsto interakcije med njima. Ta je odvisna od ˇ stevila vezi med atomoma in od njune vrste. Vrednost celotnega ˇ clena je vsota prispevkov vsakega para. Trenutno raˇ cunamo interakcije med vsemi pari atomov, ki so vsaj tri vezi narazen. Poleg tega upoˇ stevamo samo t.i. teˇ zke atome. Raˇ cunska zahtevnost je kvadratna glede na ˇ stevilo teˇ zkih atomov liganda, O(n L 2 ). ˇ Cas, potreben za izraˇ cun ce- nilke, je tako v veliki meri odvisen od hitrosti izraˇ cuna tega ˇ clena. Tretji ˇ clen, f tors , opisuje torzijski potencial, ki ga izraˇ cunamo za vse vrtljive vezi liganda. Uporabili smo implementacijo torzijskega potenciala, doloˇ ceno v [33], ki upoˇ steva vezi in tip atomov, ki si vez delita. Vrednost celotnega ˇ clena je vsota prispevkov vsake vezi. ˇ Cetrti ˇ clen, c site , kaznuje poze/konformacije liganda, ki so zunaj vezavnega mesta receptorja. Slednji je vo- lumen poljubne oblike. V nasprotju z [12], kjer so uporabili kroglo, smo kot pribliˇ zek vezavnega mesta vzeli kvader, ki v celoti vsebuje vezavno mesto. ˇ Ce je neki teˇ zek atom liganda zunaj tega kvadra, celotni oceni osebka dodamo kazenski pribitek. Tukaj je moˇ zna nadaljnja optimizacija izraˇ cuna mreˇ ze in volumna ve- zavnega mesta. Cilj genetskega algoritma je minimizacija funkcije f PLANTS , ki predstavlja vezavno energijo liganda. 3 VZPOREDNI ALGORITEM Naˇ s cilj je razviti odprtokodno reˇ sitev za sidranje mo- lekul, ki bo omogoˇ cala uˇ cinkovito uHTVS ali ultra- visokozmogljivo reˇ setanje knjiˇ znic spojin. ˇ Zelimo vi- soko stopnjevanost, prilagodljivost in elastiˇ cnost, kar pomeni, da bo izdelana programska oprema lahko dobro izkoriˇ sˇ cala heterogene raˇ cunalniˇ ske arhitekture tudi na nivoju visokozmogljivih, superraˇ cunalniˇ skih kapacitet. Poleg tega stremimo k neodvisnosti od proizvajalcev strojne opreme in podpori razliˇ cnim operacijskim siste- mom. Iz teh razlogov smo kot programski vmesnik iz- brali OpenCL in celoten projekt osredinili na programski jezik C++. 3.1 Standard OpenCL OpenCL (angl. Open Computing Language) je uve- ljavljen odprti standard za programiranje heterogenih raˇ cunalniˇ skih sistemov, ki ga razvija neprofitna orga- nizacija Khronos Group [34]. Standard podpira veˇ cina najveˇ cjih proizvajalcev strojne opreme, zato je program- ska oprema razvita v OpenCL prenosljiva med napra- vami. Ogrodje OpenCL predpostavlja enega gostitelja, na katerem se izvaja gostiteljski program, in eno ali veˇ c naprav (soprocesorjev, pospeˇ sevalnikov), ki so z njim povezane in na katerih se izvaja eden ali veˇ c ˇ sˇ cepcev (angl. kernel) [35]. ˇ Sˇ cepec je torej programska koda, ki jo na napravi vzporedno izvaja mnoˇ zica niti. Gostitelj v vrsto na napravi vstavlja ukaze, denimo izvedi ˇ sˇ cepec, kopiraj podatke na napravo ali na gostitelja itd., ki se nato na napravi izvedejo zaporedno. ˇ Sˇ cepci se lahko izvajajo na raznolikih napravah, kot so: veˇ cjedrne CPE, GPE, vezja FPGA, procesne enote Tensor in procesorji za digitalno obdelavo signalov [34]. V tem delu smo se osredotoˇ cili na GPE, ki so najpogostejˇ si pospeˇ sevalnik sodobnih visokozmogljivih raˇ cunalniˇ skih sistemov. Delo ˇ sˇ cepca je razdeljeno v delovne skupine (angl. work-group) in delavce (angl. work-item), ki jim pra- vimo tudi niti (angl. threads). Doloˇ citi moramo celotno ˇ stevilo delavcev in ˇ stevilo delavcev v eni delovni sku- pini. Delavci znotraj ene delovne skupine si delijo hiter lokalni pomnilnik, med sabo pa jih lahko sinhroniziramo s pomoˇ cjo preprek. Naˇ s vzporedni algoritem izkoriˇ sˇ ca naravno vzpore- dnost optimizacije z genetskim algoritmom. Slednji je namreˇ c stohastiˇ cni proces, zato izvedemo nekaj deset njegovih neodvisnih zagonov. Naˇ sa reˇ sitev izvaja vse neodvisne zagone hkrati, pri ˇ cemer vzporedno obdeluje vse osebke v eni populaciji. ˇ Stevilo delavcev je torej zmnoˇ zek ˇ stevila zagonov genetskega algoritma in veli- kosti populacije. S tem zagotovimo visoko izkoriˇ sˇ cenost GPE, ki lahko vzporedno izvaja na tisoˇ ce niti. Za generiranje psevdo-nakljuˇ cnih ˇ stevil smo uporabili knjiˇ znico RandomCL [36], ki je namenjena izvajanju na GPE in je nekajkrat hitrejˇ sa od primerljivih metod. 64 SLUGA, ERENT, JUKI ´ C, PODLIPNIK, ILC 3.2 Program na gostitelju Gostitelj prebere in obdela vhodne datoteke, ki vsebu- jejo podatke o molekulah liganda in receptorja ter defi- nicijo vezavnega mesta. Te podatke prenese na napravo. Prebere tudi datoteke s programsko kodo ˇ sˇ cepcev in jih prevede. Nato v vrsto naprave dodaja ˇ sˇ cepce v izvajanje in na koncu iz naprave prenese podatke o najboljˇ sem osebku posameznega zagona genetskega algoritma. Iz- bere reˇ sitev z najbolje ocenjeno konformacijo liganda in jo zapiˇ se v standardnem formatu za shranjevanje kemijskih struktur, SDF (ang. structural data file). 3.3 Pregled ˇ sˇ cepcev Na napravi se najprej samo enkrat izvede skupina ˇ sˇ cepcev, ki nastavi generator psevdo-nakljuˇ cnih ˇ stevil, doloˇ ci tipe interakcij med atomi in med receptorjevimi atomi izbere samo tiste, ki so v vezavnem mestu ali bliˇ znji okolici. Tu upoˇ stevamo dejstvo, da se z veˇ canjem razdalje med atomoma vpliv med njima zmanjˇ suje in na neki razdalji postane zanemarljiv. Nato vnaprej izraˇ cunamo vse moˇ zne prispevke ˇ clena f plp v toˇ ckah mreˇ ze kot smo opisali v poglavju 2.2. Sledi ustvarjanje in ocenjevanje zaˇ cetne populacije osebkov s cenilko. Korak genetskega algoritma je sestavljen iz ˇ sˇ cepcev, ki izvedejo naslednje operacije: ustvarjanje novih po- tomcev s kriˇ zanjem in mutacijo, preslikava kromosomov osebkov na prostorski model molekule liganda, ocenje- vanje osebkov, njihovo urejanje in izloˇ cevanje dvojnikov ter poroˇ canje gostitelju o najboljˇ si oceni v populaciji. Ta podatek potrebujemo, da ugotovimo konvergenco algoritma: ˇ ce se v nekaj korakih genetskega algoritma najboljˇ sa ocena ne spremeni veˇ c, ustavimo optimizacijo. Na koncu zaˇ zenemo ˇ sˇ cepec, ki najboljˇ se osebke vsake populacije preslika na model liganda, da se lahko nato prenesejo na gostitelja. 4 REZULTATI Implementacijo genetskega algoritma v kombinaciji s cenilko PLANTS PLP na GPE smo preizkusili na na- boru beljakovinskih kompleksov razliˇ cnih zahtevnosti sidranja. Na zahtevnost vplivajo ˇ stevilo teˇ zkih atomov receptorja (n R ) in liganda(n L ) ter ˇ stevilo vrtljivih vezi liganda (r L ). Lastnosti posameznih kompleksov so za- pisane v tabeli 1. Podatkovna baza uporabljenih kom- pleksov je dostopna na https://pdbe.org. Referenca je kristalografsko doloˇ cena eksperimentalna konformacija ligandov. Uporabljeni kompleksi so: • 3PTB: protein tripsin in zaviralec benzamidin, • 3CS9: tirozinska kinaza BCR-ABL1 in zaviralec nilotinib – uporablja se pri zdravljenju kroniˇ cne mieloiˇ cne levkemije, • 6O0K: regulator apopotoze BCL-2 in zaviralec ve- netoklaks, ki je uˇ cinkovina za zdravljenje kroniˇ cne limfocitne levkemije, limfocitnega limfoma ali aku- tne mieloiˇ cne levkemije, • 3NJG: aspartilna proteaza bakterije Shewanella oneidensis s peptidnim substratom. Oznaka PDB n R n L r L 3PTB 1630 9 1 3CS9 2153 39 6 6O0K 1175 61 12 3NJG 5306 58 25 Tabela 1: Testni nabor makromolekulskih kompleksov, kjer je nR ˇ stevilo teˇ zkih atomov receptorja innL terrL ˇ stevilo teˇ zkih atomov oziroma vrtljivih vezi liganda. Z eksperimenti poskuˇ samo ugotoviti, kako se algori- tem na GPE primerja z referenˇ cnim algoritmom, ki je uporabljen znotraj CmDock in zna izrabljati samo eno jedro CPE. Zanimali sta nas optimalnost konformacij in hitrost izvajanja. V ta namen smo merili odstopanje konformacije ligandov od referenˇ cnih eksperimentalnih konformacij, ki ga izraˇ cunamo kot koren vsote kvadratov razdalj ujemajoˇ cih atomov (RMSD). Merili smo tudi ˇ cas za izvedbo enega koraka genetskega algoritmat nad eno populacijo osebkov in povpreˇ cno ˇ stevilo korakov genet- skega algoritma k, potrebnih za konvergenco konforma- cije liganda. Iz zadnjih dveh podatkov lahko izraˇ cunamo tudi efektivno pohitritev S e vzporednega algoritma na GPE v primerjavi z referenˇ cnim algoritmom CmDock na CPE: S e = t CPE ∗ k CPE t GPE ∗ k GPE . (2) Ta nam sluˇ zi kot glavno merilo hitrosti vzporednega algoritma, saj upoˇ steva dejstvo, da je hitrost konvergence primerjanih algoritmov razliˇ cna zaradi uporabe razliˇ cnih cenilk. Eksperimente smo izvajali na razliˇ cnih sistemih, da bi zaobjeli ˇ sirˇ si spekter strojne opreme, ki se lahko uporablja za poganjanje orodja CmDock. Vkljuˇ cili smo procesor, namenjen prenosnikom, Intel i7 9750H [37] s frekvenco ure 2,6 GHz, streˇ zniˇ ski procesor AMD EPYC 7702P [38] s frekvenco ure 2 GHz, igriˇ carsko grafiˇ cno kartico Nvidia GTX 1080 Ti [39] in streˇ zniˇ sko grafiˇ cno kartico Nvidia Tesla V100 [40]. 3PTB 3CS9 6O0K 3NJG RMSD S CPE 0,610 0,519 1,784 7,750 GPE 1,752 0,898 4,385 12,429 RMSD min CPE 0,537 0,519 1,605 4,407 GPE 0,371 0,898 3,466 8,111 RMSD povp CPE 3,506 9,439 9,635 10,963 GPE 1,482 9,383 6,955 11,903 Tabela 2: Odstopanje konformacije liganda od referenˇ cne, merjene kot koren vsote kvadratov razdalj ujemajoˇ cih atomov – RMSD, pri 200 zagonih algoritma na CPE in GPE. Pri tem je RMSDS odstopanje konformacije najbolje ocenjenega osebka, RMSDmin najniˇ zje odstopanje izmed vseh zagonov in RMSDpovp povpreˇ cno odstopanje vseh zagonov. UPORABA HETEROGENIH RA ˇ CUNALNI ˇ SKIH SISTEMOV ZA MOLEKULSKO SIDRANJE 65 0,00 0,25 0,50 0,75 1,00 1,25 1,50 1,75 2,00 2,25 2,50 3PTB 3CS9 6O0K 3NJG Čas [ms] Kompleks Nvidia Tesla V100 Nvidia GTX 1080 Ti 0 10 20 30 40 50 60 70 80 3PTB 3CS9 6O0K 3NJG Čas [ms] Kompleks Intel i7 9750H AMD EPYC 7702P Slika 3: Povpreˇ cni ˇ casi za izvedbo enega koraka genetskega algoritma implementacije na eni populaciji za CPE (desno) in GPE (levo). Na GPE se je hkrati izvajala optimizacija nad 100 populacijami, medtem ko je bila na CPE aktivna samo ena populacija naenkrat. Iz tabele 2 vidimo, da konformacije liganda, dobljene z vzporednim algoritmom, bolj odstopajo od referenˇ cnih kot rezultati sidranja na CPE. RMSD S meri odsto- panje najbolje ocenjenega osebka od reference in je v primeru kompleksa 3CS9 primerljiv med izveden- kama. Najbolje ocenjene konformacije prikazuje slika 4, kjer vidimo, da je pri najenostavnejˇ sem kompleksu, 3PTB, reˇ sitev vzporednega algoritma zrcaljena opti- malna konformacija. Razlika med referenˇ cno konforma- cijo in konformacijo, dobljeno na GPE, je pri kompleksu 3NJG priˇ cakovano najveˇ cja – ligand se je sidral na popolnoma napaˇ cno mesto, ki pa je bilo sprejemljivo glede na poenostavljeno definicijo mesta sidranja cenilke PLANTS PLP . Rezultati so predvsem odraz enostavnosti cenilke PLANTS PLP , ki se uporablja pri algoritmu na GPE. Tako RMSD min kot RMSD povp kaˇ zeta podobno sliko, le da sta obe implementaciji glede na zadnjega precej bolj izenaˇ ceni. Tabela 3 prikazuje povpreˇ cno ˇ stevilo korakov, ki so potrebni, da genetski algoritem konvergira, torej da doseˇ ze optimalno konformacijo liganda. Konvergenca je doseˇ zena, kadar se v ˇ sestih zaporednih korakih najboljˇ sa ocena med vsemi osebki ne izboljˇ sa veˇ c. Vidimo, da algoritem na GPE potrebuje precej veˇ c korakov za izpolnitev tega pogoja, kar lahko pripiˇ semo preprosti cenilni funkciji, ki manj natanˇ cno opisuje interakcije med atomi. Uporaba GPE in enostavnejˇ se cenilne funkcije se odraˇ za v precej krajˇ sem ˇ casu, potrebnem za izvedbo enega koraka genetskega algoritma nad eno popula- cijo. Spomnimo, da zaradi stohastiˇ cnosti postopka ge- netski algoritem zaˇ zenemo nad veˇ c populacijami. Pro- gram na GPE obdeluje osebke veˇ c populacij hkrati in tako bolje izkoristi masovno-vzporedno arhitekturo GPE. Iz konˇ cnega nabora dobljenih osebkov izberemo najboljˇ sega. Na sliki 3 so prikazani ˇ casi za izvedbo enega koraka genetskega algoritma nad eno populacijo, pri ˇ cemer je bilo na GPE hkrati aktivnih 100 populacij, medtem ko je CPE izvajal genetski algoritem samo nad eno populacijo naenkrat. Posamezne populacije se torej na CPE optimizirajo zaporedoma. Iz primerjave ˇ casov na CPE vidimo, da se mobilni procesor Intel i7 9750H obnese bolje kot streˇ zniˇ ski AMD EPYC 7702P, predvsem na raˇ cun viˇ sje frekvence ure. Streˇ zniˇ ski pro- cesorji so optimizirani za izvajanje veˇ cjega ˇ stevila vzpo- rednih niti/procesov, in zato ne blestijo v aplikacijah, ki teˇ cejo na samo enem jedru procesorja, kot je primer pri CmDock. Primerjava ˇ casov na obeh grafiˇ cnih karticah nakazuje, da je streˇ zniˇ ska GPE, Nvidia Tesla V100, za faktor 2- do 3-krat hitrejˇ sa od igriˇ carske Nvidia GTX 1080 Ti. Slednja je osnovana na eno generacijo starejˇ si arhitekturi, tako da je rezultat priˇ cakovan. Poleg tega je tudi veliko cenejˇ sa (ob izdaji 700 USD proti 11000 USD za V100) in manj primerna za konstantno obremenitev v streˇ zniˇ skih okoljih. Iz grafa je razvidno tudi, da ˇ cas procesiranja hitreje naraˇ sˇ ca s kompleksnostjo problema pri Nvidia GTX 1080 Ti, predvsem na raˇ cun manjˇ se koliˇ cine procesnih enot (3584 proti 5120 jeder CUDA) in niˇ zje pasovne ˇ sirine pomnilnika. Primerjava med algoritmoma na CPE in GPE nam pokaˇ ze, da je slednji veliko hitrejˇ si tako na raˇ cun veˇ cje zmogljivosti procesiranja kot tudi enostavnejˇ se cenilke. Vendar je tu treba upoˇ stevati tudi ˇ stevilo korakov, po- trebnih za konvergenco. Bolj nazorno nam to prika- zuje tabela 4, v kateri najdemo efektivne pohitritve obeh grafiˇ cnih kartic v primerjavi s CPE. Efektivna pohitritev se precej spreminja v odvisnosti od zahtev- nosti problema. Na najenostavnejˇ sem kompleksu GPE doseˇ ze veˇ c kot 40-kratno pohitritev, medtem ko je ta pri najbolj kompleksnem 6,7-kratna. Tu se kaˇ zejo ozka 66 SLUGA, ERENT, JUKI ´ C, PODLIPNIK, ILC RMSD: 1,752 Å RMSD: 0,898 Å RMSD: 4,385 Å RMSD: 12,429 Å RMSD: 0,610 Å RMSD: 0,519 Å RMSD: 1,784 Å RMSD: 7,750 Å 3PTB 3CS9 6O0K 3NJG CPE GPE Slika 4: Odstopanje RMSDS najbolje ocenjene konformacije liganda (prikazano z belo) od referenˇ cne (prikazano s sivo) za razliˇ cne komplekse. Prva vrsta prikazuje rezultat sidranja na CPE, druga pa na GPE. grla izvedbe vzporednega algoritma, ki jih bo treba odpraviti z dodatnimi optimizacijami. Gre predvsem za razprˇ sene dostope do pomnilnika in nezadostno iz- koriˇ sˇ canje predpomnilnika na GPE. Kljub temu rezultati nakazujejo obetavnost uporabe GPE za pospeˇ sevanje molekulskega sidranja, saj ˇ ze trenutna implementacija obˇ cutno skrajˇ sa ˇ cas procesiranja. Z izboljˇ savo in do- polnitvijo cenilne funkcije ter dodatnimi optimizacijami pa lahko priˇ cakujemo ˇ se veliko boljˇ se rezultate, tako kvalitativno kot tudi ˇ casovno. 3PTB 3CS9 6O0K 3NJG CPE 46,1 44,2 43,4 47,5 GPE 705,0 908,8 760,9 554,8 Tabela 3: Povpreˇ cno ˇ stevilo korakov genetskega algoritma potrebnih za izpolnitev pogoja konvergence za posamezen kompleks. 3PTB 3CS9 6O0K 3NJG Tesla V100 40,5 14,1 6,4 6,7 GTX 1080 Ti 19,9 2,7 1,5 1,9 Tabela 4: Efektivna pohitritev Se v primerjavi s CPE Intel i7 9750H. Na GPE se je hkrati izvajala optimizacija nad 100 populacijami, medtem ko je bila na CPE aktivna samo ena populacija naenkrat. 5 ZAKLJU ˇ CEK Rezultat naˇ sega dela je prototip vzporednega algo- ritma za izvedbo molekulskega sidranja ter uHTVS, ki temelji na genetskem algoritmu in cenilni funk- ciji PLANTS PLP . Uporabili smo programsko ogrodje OpenCL, ki omogoˇ ca poganjanje algoritma na hetero- genih raˇ cunalniˇ skih sistemih in izkoriˇ sˇ canje grafiˇ cnih procesnih enot za pospeˇ sitev hitrosti izvajanja. Vzporedni in zaporedni algoritem, ki je del ob- stojeˇ cega orodja CmDock, smo testirali na raznovrstni strojni opremi in beljakovinskih kompleksih ter primer- jali rezultate kot tudi ˇ cas izvajanja obeh algoritmov. Rezultati so obetavni, saj se ˇ cas procesiranja zmanjˇ sa celo za faktor 40 v primerjavi z izvajanjem zaporednega algoritma na CPE. Pri razvoju vzporednega algoritma je ˇ se precej pro- stora za izboljˇ save, tako pri izpopolnitvi cenilne funkcije in definiciji prostora receptorja (izraˇ cun mreˇ ze) kot pri dodatnih optimizacijah kode, ki se izvaja na GPE. Upo- rabljena cenilka PLANTS PLP je preveˇ c enostavna, da bi lahko uˇ cinkovito vodila iskanje optimalne konformacije liganda, sploh ˇ ce gre za veˇ cje spojine. V nadaljnjem delu bomo za izvajanje na vzporednih arhitekturah prilagodili njeno izpopolnjeno razliˇ cico PLANTS CHEMPLP [12] in cenilko, ki je del orodja CmDock. Identificirali smo ozka grla in moˇ zne reˇ sitve za njihovo odpravo, kot so izboljˇ sanje vzorca dostopov do globalnega pomnilnika, boljˇ sa izraba predpomnilnika na GPE in zmanjˇ sanje UPORABA HETEROGENIH RA ˇ CUNALNI ˇ SKIH SISTEMOV ZA MOLEKULSKO SIDRANJE 67 ˇ casovne zahtevnosti izraˇ cuna ˇ clena f clash cenilne funk- cije. Naˇ s konˇ cni cilj je vkljuˇ citev podpore za GPE in druge pospeˇ sevalnike v aplikacijo CmDock in s tem boljˇ se izkoriˇ sˇ canje raˇ cunskih kapacitet, ki so na voljo na platformi BOINC in v superraˇ cunalniˇ skih gruˇ cah. ZAHVALA Raziskavo so sofinancirali Javna agencija za razisko- valno dejavnost Republike Slovenije v okviru programa P2-0241 – Sinergetika kompleksnih sistemov in pro- cesov in Republika Slovenija ter Evropska unija iz Evropskega socialnega sklada prek operacije ˇ Studenti UL v delovnem okolju. LITERATURA [1] V . Blay, B. Tolani, S. P. Ho in M. R. Arkin, “High- Throughput Screening: today’s biochemical and cell- based approaches”, Drug Discovery Today, let. 25, ˇ st. 10, str. 1807–1821, 2020. DOI: 10.1016/j.drudis. 2020.07.024. [2] L. Pinzi in G. Rastelli, “Molecular Docking: Shifting Paradigms in Drug Discovery”, International Journal of Molecular Sciences, let. 20, ˇ st. 18, str. 4331, 2019. DOI: 10.3390/ijms20184331. [3] N. Nikitina, M. Manzyuk, ˇ C. Podlipnik in M. Juki´ c, “V olunteer Computing Project SiDock@home for Vir- tual Drug Screening Against SARS-CoV-2”, v Compu- ter Science Protecting Human Society Against Epide- mics, A. Byrski, T. Czach´ orski, E. Gelenbe, K. Grochla in Y . Murayama, ur., zv. 616 IFIP, Cham: Springer International Publishing, 2021, str. 23–34, ISBN: 978- 3-030-86582-5. DOI: 10.1007/978-3-030-86582-5 3. [4] F. Stanzione, I. Giangreco in J. C. Cole, “Use of mole- cular docking computational tools in drug discovery”, v Progress in Medicinal Chemistry, D. R. Witty in B. Cox, ur., zv. 60, Elsevier, 2021, str. 273–343. DOI: 10.1016/bs.pmch.2021.01.004. [5] N. S. Pagadala, K. Syed in J. Tuszynski, “Software for molecular docking: a review”, Biophysical reviews, let. 9, ˇ st. 2, str. 91–102, 2017. [6] O. Trott in A. J. Olson, “AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading”, Journal of computational chemistry, let. 31, ˇ st. 2, str. 455–461, 2010. [7] D. Santos-Martins, L. Solis-Vasquez, A. F. Tillack, M. F. Sanner, A. Koch in S. Forli, “Accelerating Auto- Dock4 with GPUs and Gradient-Based Local Search”, Journal of Chemical Theory and Computation, let. 17, str. 1060–1073, 2 2021. DOI: 10.1021/acs.jctc.0c01006. [8] Y . Fang, Y . Ding, W. P. Feinstein in sod., “GeauxDock: Accelerating structure-based virtual screening with he- terogeneous computing”, PLoS ONE, let. 11, 7 2016. DOI: 10.1371/journal.pone.0158898. [9] W. Zhang, E. W. Bell, M. Yin in Y . Zhang, “EDock: blind protein–ligand docking by replica-exchange Monte Carlo simulation”, Journal of Cheminformatics, let. 12, ˇ st. 1, str. 37, 2020. DOI: 10.1186/s13321-020- 00440-9. [10] S. Ruiz-Carmona, D. Alvarez-Garcia, N. Foloppe in sod., “rDock: a fast, versatile and open source program for docking ligands to proteins and nucleic acids”, PLoS Comput Biol, let. 10, ˇ st. 4, e1003571, 2014. [11] M. Bahun, M. Juki´ c, D. Oblak in sod., “Inhibition of the SARS-CoV-2 3CLpro main protease by plant polyphenols”, Food Chemistry, let. 373, str. 131 594, 2022. DOI: 10.1016/j.foodchem.2021.131594. [12] O. Korb, T. Stutzle in T. E. Exner, “Empirical scoring functions for advanced protein-ligand docking with PLANTS”, Journal of chemical information and mo- deling, let. 49, ˇ st. 1, str. 84–96, 2009. [13] W. J. Allen, T. E. Balius, S. Mukherjee in sod., “DOCK 6: Impact of new features and current docking perfor- mance”, Journal of computational chemistry, let. 36, ˇ st. 15, str. 1132–1156, 2015. [14] H. Zhao in A. Caflisch, “Discovery of ZAP70 inhibitors by high-throughput docking into a conformation of its kinase domain generated by molecular dynamics”, Bioorganic & medicinal chemistry letters, let. 23, ˇ st. 20, str. 5721–5726, 2013. [15] M. Fan, J. Wang, H. Jiang in sod., “GPU-Accelerated Flexible Molecular Docking”, Journal of Physical Che- mistry B, let. 125, str. 1049–1060, 4 2021, MedusaDock GPU. DOI: 10.1021/acs.jpcb.0c09051. [16] P. Darme, M. Dauchez, A. Renard in sod., “AMIDE v2: High-Throughput Screening Based on AutoDock-GPU and Improved Workflow Leading to Better Performance and Reliability”, International Journal of Molecular Sciences, let. 22, str. 7489, 14 2021, Inverse docking with AMIDEv2 on GPU. DOI: 10.3390/ijms22147489. [17] R. A. Friesner, R. B. Murphy, M. P. Repasky in sod., “Extra Precision Glide: Docking and Scoring Incorpo- rating a Model of Hydrophobic Enclosure for Protein– Ligand Complexes”, Journal of Medicinal Chemistry, let. 49, ˇ st. 21, str. 6177–6196, 2006. DOI: 10 . 1021 / jm051256o. [18] G. Jones, P. Willett, R. C. Glen, A. R. Leach in R. Tay- lor, “Development and validation of a genetic algorithm for flexible docking11Edited by F. E. Cohen”, Journal of Molecular Biology, let. 267, ˇ st. 3, str. 727–748, 1997. DOI: 10.1006/jmbi.1996.0897. [19] C. R. Corbeil, C. I. Williams in P. Labute, “Variability in docking success rates due to dataset preparation”, Journal of computer-aided molecular design, let. 26, ˇ st. 6, str. 775–786, 2012. [20] R. Spitzer in A. N. Jain, “Surflex-Dock: Docking benchmarks and real-world application”, Journal of computer-aided molecular design, let. 26, ˇ st. 6, str. 687–699, 2012. DOI: 10.1007/s10822-011-9533-y. [21] Z. Wang, H. Sun, X. Yao in sod., “Comprehensive evaluation of ten docking programs on a diverse set of protein–ligand complexes: the prediction accuracy of sampling power and scoring power”, Physical Che- mistry Chemical Physics, let. 18, ˇ st. 18, str. 12 964– 12 975, 2016. [22] A. S. Hauser in B. Windsh¨ ugel, “LEADS-PEP: A Ben- chmark Data Set for Assessment of Peptide Docking Performance”, Journal of Chemical Information and Modeling, let. 56, ˇ st. 1, str. 188–200, 2016. DOI: 10. 1021/ACS.JCIM.5B00234/SUPPL FILE/CI5B00234 SI 001.PDF. [23] European Citizen Science Association, Ten Principles of Citizen Science, 2015. DOI: 10 . 17605 / OSF. IO / XPR2N. [24] D. P. Anderson, “BOINC: A Platform for V olunteer Computing”, Journal of Grid Computing, let. 18, ˇ st. 1, str. 99–122, 2020. DOI: 10.1007/s10723-019-09497-9. [25] V . Curtis, “Patterns of Participation and Motivation in Folding@home: The Contribution of Hardware Enthu- siasts and Overclockers”, Citizen Science: Theory and Practice, let. 3, ˇ st. 1, str. 1–14, 2018. 68 SLUGA, ERENT, JUKI ´ C, PODLIPNIK, ILC [26] M. I. Zimmerman, J. R. Porter, M. D. Ward in sod., “SARS-CoV-2 simulations go exascale to predict dra- matic spike opening and cryptic pockets across the pro- teome”, Nature Chemistry, let. 13, ˇ st. 7, str. 651–659, 2021. DOI: 10.1038/s41557-021-00707-0. [27] “TOP500.org - June 2022”. (7. jul. 2022), spletni naslov: https://www.top500.org/lists/top500/2022/06/. [28] G. M. Morris, R. Huey, W. Lindstrom in sod., “Auto- Dock4 and AutoDockTools4: Automated docking with selective receptor flexibility”, Journal of Computational Chemistry, let. 30, ˇ st. 16, str. 2785–2791, 2009. DOI: 10.1002/jcc.21256. [29] T. Meza Menchaca, C. Ju´ arez-Portilla in R. C. Zepeda, “Past, Present, and Future of Molecular Docking”, v Drug Discovery and Development - New Advances, V . Gaitonde, P. Karmakar in A. Trivedi, ur., London: IntechOpen, 2020, pogl. 2. DOI: 10.5772/intechopen. 90921. [30] W. Press, S. Teukolsky, W. Vetterling in B. Flannery, Numerical Recipes 3rd Edition: The Art of Scientific Computing. Cambridge University Press, 2007, ISBN: 9780521880688. [31] J. Brest, V . ˇ Zumer in M. Sepesy Mauˇ cec, “Velikost populacije pri algoritmu diferencialne evolucije”, Ele- ktrotehniˇ ski vestnik, let. 74, ˇ st. 1/2, str. 55–60, 2007. [32] G. Wu, D. H. Robertson, C. L. Brooks in M. Vieth, “Detailed analysis of grid-based molecular docking: A case study of CDOCKER - A CHARMm-based MD docking algorithm”, Journal of Computational Chemistry, let. 24, ˇ st. 13, str. 1549–1562, 2003. DOI: 10.1002/jcc.10306. [33] M. Clark, R. D. Cramer III in N. Van Opdenbosch, “Validation of the general purpose tripos 5.2 force field”, Journal of Computational Chemistry, let. 10, ˇ st. 8, str. 982–1012, 1989. DOI: https : / / doi . org / 10 . 1002/jcc.540100804. [34] “OpenCL - The Khronos Group Inc.” (7. jul. 2022), spletni naslov: https://www.khronos.org/opencl/. [35] I. Ramovˇ s, S. Gerkˇ siˇ c in U. Lotriˇ c, “Dualna hitra gradientna metoda na grafiˇ cnih procesnih enotah”, Ele- ktrotehniˇ ski Vestnik, let. 86, ˇ st. 4, str. 219–224, 2019. [36] T. Ciglariˇ c, R. ˇ Ceˇ snovar in E. ˇ Strumbelj, “An OpenCL library for parallel random number generators”, The Jo- urnal of Supercomputing, let. 75, ˇ st. 7, str. 3866–3881, 2019. DOI: 10.1007/s11227-019-02756-2. [37] Intel Corporation. “Intel Core i7 9750H”. (7. jul. 2022), spletni naslov: https://www.intel.com/content/www/us/ en/products/sku/191045/intel-core-i79750h-processor- 12m-cache-up-to-4-50-ghz/specifications.html. [38] Advanced Micro Devices Inc. “AMD EPYC 7702P”. (7. jul. 2022), spletni naslov: https://www.amd.com/ en/products/cpu/amd-epyc-7702p. [39] NVIDIA Corporation. “GEFORCE GTX 1080”. (7. jul. 2022), spletni naslov: https : / / www. nvidia . com / en - sg/geforce/products/10series/geforce-gtx-1080. [40] NVIDIA Corporation. “NVIDIA V100 Tensor Core GPU”. (7. jul. 2022), spletni naslov: https : / / www. nvidia.com/en-us/data-center/v100. Davor Sluga je leta 2017 doktoriral na Univerzi v Ljubljani s podroˇ cja raˇ cunalniˇ stva. Na Fakulteti za raˇ cunalniˇ stvo in informatiko Univerze v Ljubljani je zaposlen kot asistent. raziskovalno se ukvarja z vzporednim programiranjem, strojnim uˇ cenjem in visoko-zmogljivim raˇ cunalniˇ stvom. Tine Erent je leta 2022 diplomiral na Fakulteti za raˇ cunalniˇ stvo in informatiko Univerze v Ljubljani. Marko Juki´ c Marko Jukiˇ c je leta 2016 doktoriral in je docent s podroˇ cja farmacevtske kemije. Je ustanovitelj bioinformacijskega pod- jetja IntelliMol. Zaposlen je na Fakulteti za matematiko, naravoslovje in informacijske tehnologije Univerze na Primorskem in Fakulteti za kemijo in kemijsko tehnologijo Univerze v Mariboru ter se ukvarja z naˇ crtovanjem novih zdravilnih uˇ cinkovin, bioinformatiko in razvojem raˇ cunalniˇ skih orodij za naˇ crtovanje novih zdravil. ˇ Crtomir Podlipnik je leta 2003 doktoriral na Univerzi v Ljubljani s podroˇ cja teoretiˇ cne kemije. Od leta 2011 je docent na Fakulteti za kemijo in kemijsko tehnologijo Univerze v Ljubljani. Raziskovalno deluje na podroˇ cjih modeliranja molekul in kemoinformatike. Nejc Ilc je leta 2016 doktoriral na Univerzi v Ljubljani s po- droˇ cja raˇ cunalniˇ stva. Od leta 2021 dalje je docent na Fakulteti za raˇ cunalniˇ stvo in informatiko Univerze v Ljubljani. Na raziskovalnem podroˇ cju se zanima za strojno uˇ cenje, vzporedne raˇ cunalniˇ ske sisteme in bioinformatiko.