New features:
- Add module simuPOP.sandbox as a place to store experimental and specialized classes and
functions.
- Add operators InfSitesSelector and InfSitesMutator to support mutation and selection
in mutational space.
- Population.recodeAllele does not raise an error if newAllele is not defined for
an allele. A warning will be given if DBG_WARNING is defined.
- Add option 'batch' to --gui, which will use default values for unspecified parameters.
- Allow user-specified function for operator PySelector and PyPenetrance to accept
parameter pop.
- Beautify wxPython based parameter dialog.
- Add validation function valueSumTo.
- Allow the use of expressions to validate options.
- Add name, type and validator to parameter definition dictionary.
- Add mode --gui=interactive which is repsented by --gui=False in previous
versions of simuPOP.
- Support Python 2.7, Python 3.0, boost 1.44.0 and swig 2.0.
- Allow the use of subpopulation and virtual subpopulation names in parameter subPops
and functions Population.subPopSize, Population.genotype,
Population.setGenotype, Population.setIndInfo.
- Allow the passing of object with __call__ object as a demographic function.
- Parameter sizes in function Population.splitSubPop can now be proportions.
Bugs:
- Regression: version 1.0.3 disallow invalid default value in parameter specification
dictionary. This seemed to be a logic change but it turned out that invalid
default value cannot always be avoided (e.g. a valid filename that cannot have
a valid default value). This version allows invalid default value again.
- Fix a bug that prevents types.TupleType and types.ListType of being used alone in
allowedTypes of simuOpt.
- Fix a bug in the parameter input dialog.
- (core) Fix a bug that prevents proper iteration through individuals in
virtual subpopulations under certain condition.
Regression (minor):
- User provided function in function Population.recodeAlleles will be called once
for each existing allele so it is now not possible to emit random alleles for
the same allele.
- The second parameter of function applyToIndividual, if specified, should now be a
population reference.
- Parameter usePopVars is now obsolete in operators InfoEval and InfoExec.
- Statements specified in operator InfoEval will also change values of individual
information fields.
- Mark validate, arg, longarg, chooseFrom, chooseOneOf in parameter definition
dictionary obsolete
- Mark parameter revision in simuOpt.setOptions as obsolete.
New features (minor):
- Add mode EXPONENTIAL to MlSelector.