al3c: high-performance software for parameter inference using Approximate Bayesian Computation

MOTIVATION The development of Approximate Bayesian Computation (ABC) algorithms for parameter inference which are both computationally efficient and scalable in parallel computing environments is an important area of research. Monte Carlo rejection sampling, a fundamental component of ABC algorithms, is trivial to distribute over multiple processors but is inherently inefficient. While development of algorithms such as ABC Sequential Monte Carlo (ABC-SMC) help address the inherent inefficiencies of rejection sampling, such approaches are not as easily scaled on multiple processors. As a result, current Bayesian inference software offerings that use ABC-SMC lack the ability to scale in parallel computing environments. RESULTS We present al3c, a C++ framework for implementing ABC-SMC in parallel. By requiring only that users define essential functions such as the simulation model and prior distribution function, al3c abstracts the user from both the complexities of parallel programming and the details of the ABC-SMC algorithm. By using the al3c framework, the user is able to scale the ABC-SMC algorithm in parallel computing environments for his or her specific application, with minimal programming overhead. AVAILABILITY AND IMPLEMENTATION al3c is offered as a static binary for Linux and OS-X computing environments. The user completes an XML configuration file and C++ plug-in template for the specific application, which are used by al3c to obtain the desired results. Users can download the static binaries, source code, reference documentation and examples (including those in this article) by visiting https://github.com/ahstram/al3c. CONTACT astram@usc.edu SUPPLEMENTARY INFORMATION Supplementary data are available at Bioinformatics online.

[1]  Gary K. Chen,et al.  Fast and flexible simulation of DNA sequence data. , 2008, Genome research.

[2]  Laurent Excoffier,et al.  ABCtoolbox: a versatile toolkit for approximate Bayesian computations , 2010, BMC Bioinformatics.

[3]  David Welch,et al.  Approximate Bayesian computation scheme for parameter inference and model selection in dynamical systems , 2009, Journal of The Royal Society Interface.

[4]  P. Marjoram,et al.  A Bayesian Approach to Social Structure Uncovers Cryptic Regulation of Group Dynamics in Drosophila melanogaster , 2015, The American Naturalist.

[5]  Kenny Q. Ye,et al.  An integrated map of genetic variation from 1,092 human genomes , 2012, Nature.

[6]  S. Filippi,et al.  Optimizing threshold-schedules for sequential approximate Bayesian computation: applications to molecular systems , 2013, Statistical applications in genetics and molecular biology.

[7]  Katalin Csill'ery,et al.  abc: an R package for approximate Bayesian computation (ABC) , 2011, 1106.2793.

[8]  Sarah Filippi,et al.  A framework for parameter estimation and model selection from experimental data in systems biology using approximate Bayesian computation , 2014, Nature Protocols.

[9]  Gabor T. Marth,et al.  Demographic history and rare allele sharing among human populations , 2011, Proceedings of the National Academy of Sciences.

[10]  Franck Jabot,et al.  EasyABC: performing efficient approximate Bayesian computation sampling schemes using R , 2013 .

[11]  M. Beaumont Approximate Bayesian Computation in Evolution and Ecology , 2010 .