There's more...

If you run multiple replicates, simuPOP allows you to take full advantage of a multicore computer because it can be configured to run multithreaded (check the documentation). In this case, the more you depend on simuPOP native operators, the better. Python-coded operators will be single-threaded because of Python Global Interpreter Lock (GIL). If you want to know more about the GIL refer to http://www.dabeaz.com/python/UnderstandingGIL.pdf.

While performing multiple replicates of complex models, I prefer to use a different strategy: I perform a single replicate per process, but run multiple processes. This has the advantage of scaling on a cluster, whereas simuPOP multithreaded code can only be used on a single computer. For ...

Get Bioinformatics with Python Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.