Simupop

Latest version: v1.1.17

Safety actively analyzes 714875 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 12

1.0.1

Bugs:
- Fix a typo that breaks the dryrun parameter of population.evolve().
- Fix a bug in population.recodeAlleles when a single locus is specified.
- Fix a memory leak bug when modifying an existing genotype structure.
- Fix parameter revision of function simuOpt.setOptions.
- Fix a bug for getting integer 'chooseFrom' values and the setting of default
True/False value. using Tkinter based parameter input dialog (simuOpt.Params),
- Fix a bug that crashes simuPOP when the recombination rate between
two loci are really small (e.g. 1e-17).
- Fix a bug and expand the use of parameter 'header' in function utils.saveCSV.
- Fix a bug that prevents proper cloning of Pedigree objects.

New features:
- Add parameter 'version' to function simuOpt.setOptions.
- Add pdf and cdf functions for binomial and beta distributions to module simuPOP.gsl.
- Accept ALL_AVAIL in sp or vsp in a virtual subpopulation list to go through
specific or all virtual subpopulation of specific or all subpopulations.
- Add functions pedigree.identifyAncestors and pedigree.identifyOffspring and pedigree.save.
- Add a mating scheme PedigreeMating.
- Allow operator PedigreeTagger to be applied to a population.
- Add function loadPedigree to load pedigrees saved by operator PedigreeTagger
and function Pedigree.save().
- Operator IfElse now accepts a user-defined function.
- Add parameter 'ancGen' to functions Population.popSize, Population.subPopSizes and
Population.subPopSize.

Regression (minor):
- Additional columns are added to files saved by operator PedigreeTagger.

New features (minor):
- Document base mating scheme MatingScheme() and allow it to be used explicitly.
- Accept float numbers as input when a list of integers is required.
- simuPOP.utils.migrSteppingStoneRates returns [[1]] when n=1 (instead of raising an Error).
- Send a proper error message when condition of an IfElse operator is failed to evaluate.
- Allow trajectory simulation program to handle float population size because float
population size is accepted in simuPOP core.
- Logging more useful information for the simulation of allele frequency trajectory.
- Add parameter 'infoFormatter' to function utils.saveCSV. Rename parameters
'genoCode', 'sexCode', and 'affectionCode' to 'genoFormatter', 'sexFormatter',
and 'affectionFormatter'. The old parameters can still be used.
- Allow the backward trajectory simulation algorithm to simulate from fixed alleles.
- Allow --param=True/False/1/0/true/false from command line for true/false options.
- Raise a ValueError when the number of rows of a migration matrix does not match
the number of subpopulations.

1.0.0

- 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.

0.9.9

- 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 *'.

0.9.8

- 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.

0.9.7

- BUG: Fix a population.extract() bug with the copy of existing information fields
when parameter pedFields is specified.
- BUG: Install to dist-packages instead of built-in site-packages under ubuntu/python2.6.
- BUG: Fix a bug in Dumper() when ancestral generations have different numbers of subpopulations
than the current generation.
- NEW: Add population.recodeAlleles to recode alleles.
- NEW: Allow the specification of locus-specific allele names. This affects functions
population, population.addChrom, population.addChromFrom, population.recodeAlleles,
population.addLoci, population.addLociFrom, and genotructure trait functions
alleleName and alleleNames.
- NEW (internal): Recycle unused genotypic structure to save some memory.
- BUG: Fix a bug for the calculation of Armitage trend tests.
- NEW: Use AllAvail as default parameters for parameters loci, reps and subPops
and use [] for its intended meaning: nothing.
- CHG: Merge functions AlleleType(), Optimized(), simuVer(), simuRev() to ModuleInfo().
- BUG: Fix the save/load of default dictionaries.
- CHG: TurnOnDebug/turnOnDebug and TurnOffDebug/turnOffDebug now accept string instead of
constants as input.
- CHG: Change how during mating operators are handled. Briefly, the rules have been
simplifed to a): during mating operators in mating schemes are applied first.
b): during mating operators in simulator.evolve are applied after. There is
no difference between a regular operator and a genotype transmitter.
- CHG: Remove tagger. Expand and document inheritTagger.
- CHG: Remove parentTagger and tidy up parentsTagger.
- NEW: Add pedigreeTagger.
- NEW: Add operator initInfo and its function form InitInfo.
- NEW: Add operator summaryTagger.
- CHG: move initSex() out of initByFreq and initByValue so initByFreq and initByValue
no longer initialize sex by default.
- CHG: Change long allele module to 32 bits to simulate infinite-sites models.
- NEW: Add function population.indByID to identify individuals, even ancestors, by individual ID.
- CHG: Revise trajectory simulation classes and functions. Adjust how
controlledOffspringGenerator takes input.
- NEW: Add support for VSP to pointMutator.
- CHG: Rename module simuUtil to simuPOP.utils, simuRPy to simuPOP.plotter.
- CHG: Rename class simuOpt.simuOpt to simuOpt.simuParam to avoid name conflict.

0.9.6

- NEW: Add a global function closeOutput to close '>>' or '>>>' output files used
in the function form of an operator.
- BUG: Fix a memory leak of LoadPopulation.
- CHG: Rename function rng() to GetRNG() for consistent naming of functions.
- NEW: Merge overloaded functions of population::setIndInfo, population::indInfo,
population::individual, population::individuals, population::vars,
simulator::vars, individual::setGenotype, individual::genotype,
individual::allele, individual::setAllele, individual::alleleChar,
individual::info, individual::setInfo to one function with more complex
input type and default parameter. This change allows keyword arguments for
all these functions.
- CHG: the parameter order of function population::ancestor has been changed!
- CHG: stat(popSize=True) accepts subPops parameter. It now output 'popSize' (a number),
'subPopSize' (a list) and subPop[vsp]['popSize'] (a number). By default, it does
not calculate population size for (virtual) subpopulations.
- CHG: Introduce parameter vars to operator stator. It will be used to replace all
blah_param parameters.
- CHG: Remove numOfAllele parameter of stat() operator.
- CHG: Parameter subPops now treats [] as no subpopulation, and accept AllSubPops as
its usual default parameter.
- CHG: Rename parameter rep to reps in all operators. This parameter now treats
input [] as no replicate and use AllReps as its default input.
- CHG: Remove expHetero statistics. Remove allele-level heterozygosity variable.
Rename heterozygosity variables.
- CHG: statGenoFreq now uses tuple (instead of string) as genotype indexes.
Parameter phase has been removed.
- CHG: statHaploFreq now uses tupe (instead of string) as loci and haplotype
indexes.
- NEW: Add statInfo to calculate sum, mean, var, max and min of information fields.
- CHG: rewrite statLD and change how primary alleles are handled. Please refer to
user's guide for details.
- NEW: add relationship SpouseAndOffspring to pedigree::locateRelatives.
- NEW: add parameter pedFields to population::extract.
- NEW: Introduce new type defdict for allele, genotype and haplotype counts
and frequencies.
- CHG: Disallow the use of nested list for parameter lociPos of population().
- NEW: Allow single-form parameter for parameters of function population().
- CHG: Rename paramter Fst of operator stat to structure, change associated
variable names. This leaves room for the implementation of other
structure related statistics.
- NEW: Add Nei's 1973 Gst statistics.
- NEW: Add parameter suffix to operator stator.

Page 3 of 12

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.