Recent Posts
- Principles of biological computation: from circadian clock to evolution
- The science and engineering of biological computation: from process to software to DNA-based neural networks
- Elements of biological computation & stochastic thermodynamics of life
- Rationality, the Bayesian mind and their limits
- Web of C-lief: conjectures vs. model assumptions vs. scientific beliefs
- Idealization vs abstraction for mathematical models of evolution
- Allegory of the replication crisis in algorithmic trading
- 671,072 views
Join 2,752 other subscribers
Contributing authors
-
Abel Molina
-
Alexandru Strimbu
-
Alexander Yartsev
-
Eric Bolo
-
David Robert Grimes
-
Forrest Barnum
-
Jill Gallaher
-
Julian Xue
-
Artem Kaznatcheev
-
Keven Poulin
-
Marcel Montrey
-
Matthew Wicker
-
Dan Nichol
-
Philip Gerlee
-
Piotr MigdaĆ
-
Robert Vander Velde
-
Rob Noble
-
Sergio Graziosi
-
Max Hartshorn
-
Thomas Shultz
-
Vincent Cannataro
-
Yunjun Yang
Quick introduction: Evolutionary game assay in Python
February 16, 2019 by Artem Kaznatcheev 4 Comments
It’s been a while since I’ve shared or discussed code on TheEGG. So to avoid always being too vague and theoretical, I want to use this post to explain how one would write some Python code to measure evolutionary games. This will be an annotated sketch of the game assay from our recent work on measuring evolutionary games in non-small cell lung cancer (Kaznatcheev et al., 2019).
The motivation for this post came about a month ago when Nathan Farrokhian was asking for some advice on how to repeat our game assay with a new experimental system. He has since done so (I think) by measuring the game between Gefitinib-sensitive and Gefitinib-resistant cell types. And I thought it would make a nice post in the quick introductions series.
Of course, the details of the system don’t matter. As long as you have an array of growth rates (call them yR and yG with corresponding errors yR_e and yG_e) and initial proportions of cell types (call them xR and xG) then you could repeat the assay. To see how to get to this array from more primitive measurements, see my old post on population dynamics from time-lapse microscopy. It also has Python code for your enjoyment.
In this post, I’ll go through the two final steps of the game assay. First, I’ll show how to fit and visualize fitness functions (Figure 3 in Kaznatcheev et al., 2019). Second, I’ll transform those fitness functions into game points and plot (Figure 4b in Kaznatcheev et al., 2019). I’ll save discussions of the non-linear game assay (see Appendix F in Kaznatcheev et al., 2019) for a future post.
Read more of this post
Filed under Commentary, Meta, Preliminary, Technical Tagged with empirical, mathematical oncology, operationalization, Python