Efficiency in population genetics simulations: A tale of two memory representations in the simulator Nemo

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

48

Series

Abstract

When population geneticists study how mutations pass through and accumulate in populations, computer simulations are increasingly being used in favour of (or in addition to) the traditional analytic approach. Forward-in-time simulations model genetics rather explicitly and as a result are often resource intensive to run. In this work I study the efficiency, in terms of the memory and runtime requirements, of a new memory representation of the genetics of a population in the simulation software Nemo. To this end I have implemented a new system for keeping track of mutations, based on an implementation found from the literature, which I have modified to integrate it with Nemo. I conduct measurements on the overhead of running Wright--Fisher simulations with varying parameter combinations on a supercomputer and present results. My findings indicate that the new implementation has a wider range of memory and runtime requirements, meaning that for some parameter combinations the simulation performance is improved, while for others it is worse. In the new implementation the memory required for running the simulations is determined by the size of a buffer needed to store references to mutations at segregating sites. This size is determined by the simulation scenario, but in this case the relationship is 𝑂(𝑥^2 ln(𝑥)) in the number of individuals, and linear in both the number of simulated genetic loci and the mutation rate. The runtime is heavily dependent on the memory used, as there is extra bookkeeping involved in keeping track of an increased amount of mutations.

Kun populaatiogeneetikot tutkivat kuinka mutaatioita ilmestyy ja kertyy populaatioihin, sekä poistuu niistä, tietokonesimulaatioita käytetään yhä enenevissä määrin perinteisten analyyttisten menetelmien sijaan ja niiden lisäksi. Ajassa eteenpäin katsovat simulaatiot mallintavat geneettisiä prosesseja varsin eksplisiittisesti, minkä seurauksena niiden ajaminen vaatii paljon laskennallisia resursseja. Tässä työssä tutkitaan uutta tapaa esittää esittää populaation perimää tietokoneen muistissa – erityisesti sen tehokkuutta sekä muistinkäytön, että ajoajan suhteen. Tähän tarkoitukseen olen toteuttanut Nemo simulaattoriin uuden tavan pitää kirjaa mutaatioista, joka perustuu kirjallisuudesta löytyvään aiempaan toteutukseen, ja josta olen muokannut Nemoon yhteensopivan version. Tässä työssä mittaan Wright–Fisher simulaatioiden ajamisen resurssivaatimuksia supertietokoneella vaihtelevilla parametriarvoilla ja esitän saamani tulokset. Löydökseni osoittavat, että uuden implementaation muisti- ja ajoaikavaatimukset kattavat vanhaa laajemman välin, mikä tarkoittaa, että joillakin parametrikombinaatioilla simulaation tehokkuus parantui mutta toisilla huononi. Uudessa toteutuksessa simulaatioiden ajamiseen tarvittavan muistin määrä riippuu siitä, minkä kokoinen puskuri vaaditaan, jotta voidaan säilöä viittaukset sellaisiin mutaatioihin, jotka ovat vain osalla populaatiosta. Vaadittava koko riippuu siitä, minkälainen simulaatioskenaario milloinkin on kyseessä, mutta tämän työn tapauksessa puskurin koko on 𝑂(𝑛^2 ln(𝑛)) suhteessa simuloitujen yksilöiden määrään, ja lineaarinen suhteessa niin simuloitujen geneettisten sijaintien määrään kuin mutaatioiden todennäköisyyteen. Ajoaika riippuu vahvasti muistinkäytöstä, mikä johtuu siitä, että kun mutaatioiden määrä kasvaa, myös tarvittavan kirjanpidon laskennalliset kustannukset kasvavat.

Description

Supervisor

Suomela, Jukka

Thesis advisor

Guillaume, Frédéric

Other note

Citation