- Efficiency improvement. For example the internal Bernullitrials class could be improved but not storing pre-calculated bits in some cases.
- Implement a demography class that return a demographic function by adding events to a demographic model.
- Define a conditional genotype transmitter that use different transmitters to transmit genotype under certain conditions. This is however difficult to define because these will involve parental information (e.g. sex for sex-biased recombination), offspring information (e.g. haplodiploid population) and varying number of parents (e.g. using cloneMating() automatically if only one parent is available.). I assume a PyOperator is good enough for most cases.
- Implement a PrintIndividual class in utils module to help import and output.
- Move describe class to the Python level so that it can correctly handle derived classes. (e.g. allow RandomMating() to redefine describe() function.
- Add a debugging feature to output all mutation events.
- A bundled installer that includes R, rpy, wxPython etc.
- Use better in-memory storage of a large number of variables. (e.g. use carray or numpy array to store allele frequency.). Use better on-disk storage of a large number of variables.
- and, the simuPOP designer!
The simuPOP designer
A prototype of a simuPOP designer that allows users to create an evolutionary scenario interactively. The top right panel represents an evolutionary scenario including a demographic model (green trapezoid) and various operators. The left panel lists all simuPOP objects and their properties. Selection of an object (recombinator in this example) would highlight it and allow users to modify its properties. The right bottom panel displays various outputs.