simuPOP Changelog

What's new in simuPOP 1.1.5

Apr 24, 2015
  • BUG FIX:
  • Fix a memory leak bug (caused by circular reference) that was incorrectly fixed in 1.1.2.
  • NEW FEATURE:
  • support installation through command pip (pypi)
  • create binary distributions for conda.
  • Add parameter allowSelfing to CombinedParentsChooser
  • Add HermaphroditicMating
  • Allow the use of parameter infoFields to specify which information fields to output for operator Dumper and function dump.
  • Add parameter reverse=false to function Population.sortIndividuals() to allow sorting individuals in reverse order.

New in simuPOP 1.1.4 (Oct 17, 2014)

  • NEW FEATURES:
  • Expose type defdict so that users can use this type directly.
  • Add event based demographic models.
  • BUG FIXES:
  • Fix a bug with MultiStageModel when the population does not start from generation 0.

New in simuPOP 1.1.3 (Jul 30, 2014)

  • Add a new mating scheme ConditionalMating to apply different matings schemes to populations with different properties.
  • Allow the passing of mutants (non-zero alleles) as a dictionary to user-provided function in call-back functions of PySelector, PyQuanTrait, and PyPenetrance. This can be more efficient for large genomes with few mutants.
  • Allow the use of (chr,pos) pair to specify loci when parameter loci is accepted.
  • Allow the pass of a function to parameter loci of many operators. This allows dynamic determination of loci to be applied.
  • Add an operator RevertIf to revert the evolving population to a saved state.

New in simuPOP 1.1.2 (Feb 17, 2014)

  • In addition to a few minor bug fixes and new features, this feature comes with a new module simuPOP.demography, which provides a uniform interface to demographic models, and a few demographic models for instant population size change, linear and exponential population growth (or decline) with carrying capacity, and a method to construct more complex demographic models from these simple models.

New in simuPOP 1.1.1 (May 14, 2013)

  • NEW FEATURES:
  • Add an operator OffspringTagger to track the index of offspring in their familes.
  • Allow mutators to output details of each mutant.
  • Add parameter byName to function Population.addLociFrom.
  • Use R package kinship2 instead of kinship in simuPOP.sampling because the kinship package is now deprecated.

New in simuPOP 1.1.0 (Feb 12, 2013)

  • NEW FEATURES:
  • Implement temporal estimates of effective population size for sampling plan 1. Add variables Ne_tempoFS_P1, Ne_tempoFS_P2, Ne_waples97_P1 and Ne_waples97_P2. Variables Ne_tempoFS and Ne_waples97 are now deprecated.
  • A new file format to improve efficiency and reduce memory footprint of save/load of simuPOP populations.
  • BUGS:
  • Fix setOption(version) for minor simuPOP releases with version string ending with a, b, etc.
  • Fix lociPos for positions that are very close to each other.
  • Fix a bug in mutator that crashes with low mutation rate.
  • Fix a bug in recombinator that crashes with low recombination intensity.

New in simuPOP 1.0.9 (Dec 7, 2012)

  • Major New Features:
  • Add parameter effectiveSize to operator Stat to calculate effective population size. Currently based on the moment method of Waples 1989, TempoFS method of Jorde & Ryman 2007, a LD-based method from Waples 2006, and an esimate of the demographic effectize size.
  • New Feature:
  • Rename PER_LOCI to PER_ALLELE in InitLineage. PER_LOCI can still be used for backward compatibility.
  • Allow empty value list in InitLineage. In this case, unique values will be provided for each case.
  • Allow export in PED, MAP and Phylip format in operator utils.Exporter and function utils.export.
  • BUG:
  • Fix a HWE test crash when one of the homozygote count is zero.
  • Result of homoFreq should be a dictionary. A list is returned in the current version.
  • Fix InitGenotype(haplotypes) in multi-thread mode of the binary module

New in simuPOP 1.0.8 (Sep 6, 2012)

  • Major New Features:
  • Add an operator Exporter and function export to export a simuPOP population in STRUCTURE, GenePop, FStat and CSV formats.
  • MAJOR BUG:
  • Fix a bug that prevents females from selected correctly during random mating. The bug was introduced in simuPOP 1.0.6.
  • BUG:
  • Quit with proper error message when Population.save fails to write
  • Fix a bug where applicability parameters in operators in parameter ops for operators MlSelector and MlPenetrance are ignored.
  • Results from Stat(heteroFreq) are now set one by one, and not as a default dictionary
  • Fix a bug in Population.removeLoci() that will lead to incorrect population genotype.
  • Fix compatibility bug with SWIG 2.0.8
  • Allow IdTagger to work properly in Self mating when two parents have the same IDs

New in simuPOP 1.0.7 (Apr 7, 2012)

  • Major New features:
  • Add MITOCHONDRIAL as a natural chromosome type so that operators such as Stat can handle them correctly.
  • A new allele type mutant that saves only non-zero alleles for efficient simulation of a large number of rare variants.
  • A new allele type lineage to track the lineage (origin of alleles) of alleles during evolution.
  • A new file format is introduced to accommodate the new features. This file format cannot be recognized by older versions of simuPOP.
  • New features:
  • New option numOfSegSites to operator Stat to calculate the number of segragating sites.
  • New option numOfMutants to operator Stat to count the number of mutants (non-zero alleles).
  • Extend Stat(structure) to handle haploid population and non-autosomal chromosomes.
  • New functions Individual.mutants() and Population.mutants() to return an iterator to iterate through all mutants of an individual or population.
  • New functions Individuals.alleleLineage(), Individuals.lineage(), Individual.setAlleleLineage(), Individual.setLineage(), Population.lineage(), and Population.setLineage() to handle allelic lineage in lineage modules.
  • BUG:
  • Fix a bug that prevents the correct handling of population structure when evolving populations with changing population structure.
  • Fix a bug that prevents MlPenetrance from being used in the evolve function.
  • Ensure 2^64 maximum allele states for the long module under 64 bit system
  • Fix a bug for the appending of suffix to subpopulation variables.
  • Allow parameter subPop of function Population.indInfo to accept (virtual) subpop names.
  • CloneGenoTransmitter also transmits affection status.

New in simuPOP 1.0.6 (Jul 13, 2011)

  • Major new feature:
  • Multi-thread support that allows simuPOP to take advantage of multi-core CPUs.
  • New features:
  • Expose function Population::virtualSplitter
  • Allow single input for parameters cutoff and values of operator InfoSplitter.
  • Allow the use of vsp name in function Population.individuals().
  • Support boost 1.45.0, 1.46.0. and 1.46.1.
  • Add option haploHomoFreq and haploHeteroFreq to calculate observed haplotype homozygosity and heterozygosity.
  • Let operator PyEval and PyExec support parameter subPops, which evaluates expressions in each subpopulation's local namespace.
  • BUG:
  • Fix a bug when population.removeLoci(keep=[]) fails to clear all loci.
  • Fix a bug where populations saved in binary module on a 64 bit system cannot be loaded under 32 bit systems.
  • Fix a bug in the handling of single input for list type when the parameter is not processed using GUI.

New in simuPOP 1.0.5 (Feb 21, 2011)

  • New features:
  • Support parameter subPops in during mating operators so that different operators can be applied to offspring with different opportunities.
  • Add operator DiscardIf to discard individuals if some condition is met.
  • Callback functions for PyOperator must return either True or False. A RuntimeError will be returned otherwise.
  • Allow simuOpt.valueOneOf(t1, t2, t3) in addition to simuOpt.valueOneOf(list).
  • Allow simuOpt.valueNot(value) in addition to simuOpt.valueNot(validator).
  • Add function Trajectory.mutants() in simuPOP.utils.
  • Allow operator SavePopulation to take an empty string.
  • Allow operator PyOperator to accept a function that is applied to each individual.
  • Add parameter stopAfter to operator TicToc to stop the evolution after specified time, and allow this operator to be used during-mating.
  • Bug:
  • Fix a bug in the handling of obsolete key 'arg' in parameter specification dictionary.
  • Fix a bug in the identifying of OUTBRED_SPOUSE when parentship of parents is unknown.
  • Fix a bug during the loading of tuples in a population's local name space.
  • Minor adjustment:
  • Parameter of type 'filename' and 'dirname' does not have to be a valid file or directory name.
  • Produce a warning message when one of the mating schemes in a heterogeneous mating scheme produces no offspring.

New in simuPOP 1.0.0 (Jan 18, 2010)

  • BUG: Fix a bug in simuOpt.valueListOf when a list of values is passed.
  • CHG: Using a new method to communicate with user-provided Python functions. Basically, parameter names are now used to tell simuPOP what information to sent to these functions. This leads to the removal of parameter offspringOnly from pyOperator.
  • CHG: pyPenetrance, pyQuanTrait and pySelector now accept functions with parameters ind.
  • CHG: Allow a penetrance operator to be applied to single individuals.
  • NEW: Add class withArgs to specify names of arguments when they cannot be specified from parameter names.
  • CHG: Remove functions AvailableRNGs() and DebugCodes(). The former is now ModuleInfo()['availableRNGs'], the latter is ModuleINfo()['debug'].keys().
  • CHG: Move mating scheme from simulator() to simulator.evolve(). This change simplifies the used of during mating operators but will cripple every simuPOP script again. :-(
  • NEW: The first parameter of simulator now accepts a list of populations.
  • NEW: Add global function Describe.
  • CHG: Remove rarely used operators turnOnDebug, turnOffDebug and setAncestralDepth.
  • CHG: Except for function form of operators, rename all global functions so that they start with small letter (LoadPopulation -> loadPopulation, ModuleInfo -> moduleInfo). This makes simuPOP conforms to the Python style guide better.
  • CHG: Merge initByFreq and initByValue to initGenotype.
  • CHG: Rename simuOpt.simuParam to simuOpt.Params and utils.simuProgress to utils.ProgressBar.
  • NEW: Enhance functions Indivdual.genotype and Individual.setGenotype.
  • CHG: Remove functions Individual.sexChar and Individual.affectionChar.
  • CHG: Remove alpha mating because it is merely a special kind of natural selection model.
  • NEW: Add parameter dryrun back to function evolve.
  • CHG: Remove global function setRNG.
  • NEW: Extend population.removeIndividuals and population.extractIndividuals.
  • NEW: Allow pedigree class to use many population functions that add/remove individuals.
  • NEW: Add parameter stealPop to the pedigree class.
  • CHG: Replace parameter ancGen to ancGens in many places.
  • NEW: Add function pedigree.identifyFamilies.
  • NEW: Add functions pedigree.asPopulation and population.asPedigree.

New in simuPOP 0.9.9 (Jan 7, 2010)

  • NEW: Allow controlledRandomMating to fall back to random mating if there is
  • no locus to control.
  • NEW: Allow the use of a fixed value in operator ifElse, and allow the use
  • of applicability parameters in ifOps and elseOps operators.
  • NEW: Allow Ctrl-C to interrupt an evolving process. (The solution does not work
  • under windows).
  • NEW: Add simuOpt.param() to allow a function style of inputting parameter
  • specification dictionaries. Allow single value input for key
  • allowedTypes in parameter specification dictionaries.
  • CHG: Remove parameter dryrun from simulator.describe() and add simulator.describe()
  • to describe an evolutionary process, including complex mating schemes.
  • NEW: Allow double index for population.individual, population.ancestor and
  • population.indByID. This makes it easier to locate individuals using index
  • or ID stored in information fields.
  • CHG: Change the way binary genotypes are saved to make the archive more portable.
  • NEW: Improve the precision of the ticToc operator (0.01s now).
  • NEW: Add utility module simuPOP.gsl.
  • BUG: Fix a bug in the activation of VSP defined by combinedSplitter.
  • NEW: Produce a warning when parameter subPopSize is used in a homogeneous mating
  • scheme in a heterogeneous mating scheme.
  • NEW: Add relationship OutbredSpouse to pedigree.locateRelatives. Replace relationship
  • SpouseAndOffspring with CommonOffspring.
  • CHG: Adjust the pedigree class. All function interfaces have been changed.
  • CHG: Add function population.removeInfoFields.
  • NEW: Allow nested use of vsp in population.individuals().
  • NEW: Add function population.extractIndividuals, population.extractSubPops,
  • remove population.extract.
  • NEW: Disable population manipulation functions of an pedigree object.
  • NEW: Add functions IndexToID, DrawPedigree and samplers nuclearFamilySampler,
  • threeGenFamilySampler, combinedSampler and their sampling functions to
  • the simuPOP.sampling class.
  • CHG: temporarily remove infoParentsChooser, consanguineousMating and pedigreeMating.
  • There is not enough time to implement these features nicely.
  • CHG: Rename ..OfMale to ..OfMales and ..OfFemale to ..OfFemales.
  • CHG: Capitalize all global constant variables.
  • CHG: Stop loading submodules when simuPOP is imported using 'from simuPOP import *'.

New in simuPOP 0.9.8 (Oct 29, 2009)

  • BUG: Fix a memory leak bug in pyParentsChooser.
  • CHG: mapSelector now accepts a dictionary of tuples, instead of strings.
  • CHG: mapPenetrance now accepts a dictionary of tuples, instead of strings.
  • CHG: Remove function individual.intInfo.
  • CHG: cloneGenoTransmitter accepts a list of information fields to be copied from parents to offspring. Default to all information fields.
  • CHG: Remove the stage feature of operators. Instead, operators should be passed explicitly to parameters preOps, duringOps, postOps of the evolve function. The existing preOps and postOps parameters are renamed to initOps and finalOps.
  • CHG: The second parameter of a demographic function is now the parental population itself, instead of parental population sizes.
  • CHG: Treat ancGen in population.indByID as suggested generation and will continue to check other generations if an individual with specified ID is not found in the suggested generation.
  • CHG: separate additional fields from infoFields to paramFields in operator pySelector.
  • CHG: Change parameter selectors to ops in operator pySelector.
  • CHG: Add support for virtual subpopulations to all penetrance operators.
  • CHG: Change parameter subPop to subPops in mating schemes.
  • CHG: Remove all quantitative trait opeartors except pyQuanTrait. Mofidy the interface of pyQuanTrait so that it can handle multiple trait fields and be applied during mating.
  • CHG: More sampling operators and functions to submodule sampling.
  • NEW: during-mating operators used in a mating scheme now supports parameters begin, step, end, at and reps.
  • NEW: add parameter vspMap to combinedSplitter that can define VSPs by union of VSPs.
  • NEW: add parameter ranges to infoSplitter.
  • NEW: add productSplitter that define VSPs by intersections of VSPs.
  • NEW: allow access individual information fields as attributes.
  • NEW: Add Chi-Squared distribution to the RNG() class. Remove some rarely used memeber functions of this class.
  • NEW: Allow selectors to be applied during mating to allow for natural selection through the selection of offspring.
  • NEW: Allow the specification of VSP names in splitters.
  • NEW: Add parameter freq to operator initByValue.
  • NEW: Add parameter maleProp to operator initSex.
  • NEW: Add support for haplodiploid population and sex chromosomes to mapSelector.
  • NEW: Add support of haploid population to maSelector.

New in simuPOP 0.9.3 (Apr 15, 2009)

  • BUG: Fix a bug with population::removeLoci when given keep loci are not in order.
  • NEW: Prevent the use of greater than one probabilities in Bernulli trails.
  • NEW: Add a Tkinter implementation for simuProgress.
  • BUG: Fix a bug where subpopulation names of merged population are not properly merged.
  • NEW: Allow specifying non-string values in 'chooseFrom' and 'chooseOneOf' in simuOpt parameter specification.
  • NEW: Allow operators to output to a Python function.
  • NEW: Allow the use of double-click to open a browse dialog for file and directory input in simuOpt.
  • BUG: Fix a memory leak bug related to infoEval and infoExec. Optimize infoExec for some simple statements.
  • CHG: change parameter formOffGenotype of pyOperator to isTransmitter as a result of merging concepts 'primary during mating operator' and 'genotype transmitter'.
  • CHG: Move all scripts under the scripts directory to online cookbook.
  • CHG: Change relatedness calculations in operator stat.
  • NEW: Add calculation of HWE p-value to the stat operator.
  • NEW: Test individual index in population::removeIndividuals
  • BUG: Fix a bug when no subpopulation is given in splitSubPops.
  • CHG: Merge stat(association) to stat(LD), in preparation for case-control association tests.
  • NEW: (experimental) Add case/control association chisq test to stat.
  • NEW: (experimental) Add Tajima's pi statistics (mean pairwise difference) to the stat() operator.

New in simuPOP 0.9.2 (Feb 21, 2009)

  • NEW: Allow populations in a simulator to have different genotype structure.
  • CHG: A simulator can no longer access genotypic structure information.
  • NEW: Add simulator::add to add new populations to a simulator.
  • CHG: Remove simulator::addInfoField and other functions because they can be applied to individual populations.
  • NEW: Allow the use of single form parameter in population::removeSubPops, removeIndividuals, addLoci, removeLoci and resize.
  • BUG: Fix a bug in adding locus to a population without any locus.
  • NEW: Alow the use of single form parameter in controlledOffspringGenerator. Handle single return value of allele frequency trajectory function.
  • NEW: Rename parameter fromSubPop to subPops and toSubPop to toSubPops for migrator, for naming consistency.
  • NEW: Add mode = ByIndInfo to migrator so that users can explicitly set migrate_to informatin field and migrate.
  • NEW: Remove pyMigrator from the core. The varying migration rate migrator can be easily implemented in a Python operator. The indFunc mode is not at all useful because it can be done by a Python operator plus mode=ByIndInfo.
  • NEW: Allow unordered lociPos specification in population(), lociNames will be rearranged accordingly.
  • NEW: Allow single parameter to parameters loci, ploidy in initByValue and initByFreq.
  • NEW: Remove parameter chrom from dumper(), allow single parameter input for parameter loci in this operator.
  • NEW: Add pause operator to accept specified keys.
  • CHG: Remove rarely used parameters preStmts and postStmts from operators pyEval and pyExec.
  • CHG: Polish operator infoEval and infoExec (they now supports virtual subpopulations). Document them in detail in user's guide and reference manual.
  • CHG: Remove hapMapUtil from the core. These functions belong more to the simuPOP cookbook than the core.
  • CHG: More scripts/loadHapMap to simuPOP online cookbook.
  • CHG: Polish and document simuOpt. getParam function now belongs to the simuOpt class.
  • CHG: Remove jump and jumpIfFalse from parameter specification.
  • CHG: Replace --noDialog with --gui=False (and allow for values such as Tkinter).
  • CHG: Polish operator splitSubPop, replace which to subPops, and add the feature to split subpopulations by information field. Rename this operator to splitSubPops.
  • CHG: population::splitSubPop can no longer split by proportion. Please use operator splitSubPops and its function form SplitSubPops instead.

New in simuPOP 0.9.1 (Jan 14, 2009)

  • NEW: Improve allele iterator so that stat(alleleFreq) can handle chromosome x and y.
  • CHG: Raise an error when there is no male or female in a diploid parents chooser.
  • CHG: Remove parameter newSubPopSizeExpr and rename newSubPopSize to subPopSize, and newSubPopSizeFunc to subPopSizeFunc.
  • CHG: Merge parameters subPopSize and subPopSizeFunc. This parameter can now take both a list and a function.
  • BUG: Fix population load/save under windows, add simulator equality test (__cmp__).
  • CHG: Merge parameters numOffspringFunc, numOffspringParam and mode to numOffspring in offspringGenerator.
  • CHG: Merge parameter sexParam to sexMode in offspringGenerator.
  • CHG: Rename mating scheme binomialSelection to randomSelection.
  • CHG: Merge parameters convProb, convMode and convParam to convMode in recombinator.
  • BUG: Fix option shuffleOffspring in heteroMating().
  • CHG: Change the default output of parentsTagger when only one parent is passed.
  • CHG: Remove parameter numParents from offspringGenerator and parent choosers.
  • CHG: Rename pyMating to homoMating. Remove unused parameters subPop and weight from heteroMating.
  • NEW: Allow a demographic function to return a number if there is only one subpopulation.
  • NEW: Allow pedigreeMating to set sex, affection status and some information fields from the pedigree object.
  • NEW: Allow random parent(s) choosers to set name of information field fitness.
  • CHG: Change interface for pedigree::locateRelatives. Rename setIndexOfRelatives to traceRelatives.
  • NEW: Allow replicate numbers in a simulator to refer to the last several _active_ populations.
  • CHG: Merge parameter output and outputExpr and use '!expr' for the expression case.
  • NEW: Allow parameter baseOperator::at to take a single number in addition to a list.
  • NEW: Disallow parameter alias locus to parameter loci in penetrance, selection and quantitative trait operators. Allow loci to accept a number.
  • NEW: Support other device types in varPlotter::saveAs.
  • NEW: dumper now supports virtual subpopulations.

New in simuPOP 0.9.0 (Jan 14, 2009)

  • CHG: add population::setSubPopByIndInfo to allow flexible migration.
  • CHG: migrator now uses an information field "migrate_to".
  • CHG: Add function population::extract.
  • CHG: Remove parameter ancGen from population::clone().
  • NEW: Dump() also display information fields.
  • NEW: Expose population::pushAndDiscard(pop) as population::push().
  • NEW: Add parameter subPops to all operators.
  • CHG: Move operators pySubset(), randomSample(), caseControlSample() and affectedSibpairSample from simuPOP core to simuUtil.py. Remove src/sampler.*.
  • CHG: Remove infoTagger, sexTagger and affectionTagger and will replace them by pedigreeTagger.
  • CHG: Remove population::removeEmptySubPops().
  • NEW: Add support for subpopulation names.
  • CHG: Remove intializer, spread and pyInit operators.
  • CHG: Add parameter initSex to initByFreq and initByValue.
  • NEW: Initializers now support virtual subpopulations.
  • CHG: Recombiantor no longer supports recombination by sex, and haplodiploid chromosomes.
  • CHG: Recombinator now supports different types of chromosomes.
  • NEW: Add ops parameter to mating schemes.
  • NEW: add mitochondrialGenoTransmitter.
  • NEW: add population::updateInfoFieldsFrom.
  • NEW: Add two examples in doc/cookbook, demonstrating the use of customized genotype transmitters and mitochondrialGenoTransmitter.

New in simuPOP 0.8.9 (Jan 14, 2009)

  • DOC: Adjust reference output for simuPOP classes.
  • CHG: Rename genoStruTrait::haplodiploid to isHaplodiploid.
  • CHG: Rename genoStruTrait::sexChrom to hasSexChrom.
  • CHG: Remove the maxAllele parameter of population.
  • CHG: Remove outputHelper operator, which has been replaced by pyOutput.
  • CHG: Remove read support for XML and Binary formats.
  • CHG: Completely change the way sex chromosomes are handled, and add initial support for customized chromosome.
  • CHG: Rename class vsp to vspID.
  • CHG: Merge population::subPopSize and population::virtualSubPopSize.
  • CHG: Change parameter of population::virtualSubPopName().
  • CHG: Merge population::individuals(sp) and population::individuals(sp, vsp).
  • CHG: Remove genoStruTrait::maxAllele(). Use MaxAllele() instead.
  • CHG: Make pedigree a subclass of population and move population::locateRelatives and population::setRelativeIndex to this class.
  • CHG: Temporarily disable all pedigree related features such as pedigree parent chooser, pedigree mating scheme, and all samplers.
  • CHG: Rename population::useAncestralPop to population::useAncestralGen.
  • CHG: Replace population::mergePopulation by population::addIndFromPop.
  • CHG: Replace population::mergePopulationByLoci by population::addChromFromPop and population::addLociFromPop.
  • CHG: Remove removeEmptySubPops parameter from population::mergeSubPops.
  • CHG: Adjust interface to population::removeLoci.
  • CHG: Adjust interface to population::removeSubPops.
  • NEW: Allow indInfo, setInfo etc to access virtual subpopulation.
  • CHG: Merge parameter virtualSubPop with subPop in mating schemes.
  • NEW: Add simuProgress class to simuUtl.
  • CHG: Remove simulator::applyOpToStoppedReps and simulator::stopIfOneRepStops
  • NEW: Add StopEvolution exception and add simulator::stopIfOneRepStops to terminators.
  • CHG: Remove operator terminator and continueIf.
  • CHG: Reset file format number. No longer support previous file formats.
  • NEW: add simulator::populations().
  • NEW: Allow the use of multiple replicates for an operator. Remove REP_ALL (now []), and REP_LAST (now -1).
  • CHG: Replace simulator::getPopulation by simulator::population and simulator::extract.

New in simuPOP 0.8.8 (Oct 30, 2008)

  • CHG: Remove the replicate group feature.
  • NEW: Allow mapSelector to work for all ploidy.
  • DOC: Add keyword applicability to indicate applicability of operators.
  • DOC: Document applicability of mating schemes.
  • DOC: Fix bibtex references of user's guide and reference manual.
  • CHG: indiviudal::arrGenotype, individual::arrInfo are marked obsolete and will be removed later.
  • NEW: add individual::genotype (previously called arrGenotype) and individual::arrGenotype.
  • CHG: genoStruTrait::arrLociPos is marked obsolete and will be removed later.
  • CHG: population arrGenotype are marked obsolete and will be removed later.
  • NEW: add population::genotype and population::setGenoytpe.
  • BUG: Fix a bug in simuRPy.py that prevents varPlotter from plotting images.