Simupop

Latest version: v1.1.17

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

Scan your dependencies

Page 2 of 12

1.0.7

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 accommendate the new features. This file format
cannot be recognized by older versions of simuPOP.
- 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.

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.

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.

1.0.6

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.

1.0.5

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.

1.0.4

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.

1.0.3

BUGS (minor):
- Fix error handling in the conversion of commandline input with incorrect allowedTypes.
- Raise an error when SequentialParentsChooser is applied to a population only male or
female individuals.
- Display 'None' instead of '' for default value None in parameter dialogs of module simuOpt.
- Clear parent IDs if a parent is not sampled in function sampling.plotPedigree.

New features:
- Add a CombinedParentsChooser that uses two parent choosers to choose parents from potentially
different virtual subpopulations.
- Add paremeter sexChoice to parent choosers SequentialParentChooser and RandomParentChooser.
- Allow parameter loci to accept loci names in addition to loci indexes so that they can
handle remove correct loci when loci indexes are variable.

New features (minor):
- Allow mixed number and sequence specification of matrix. For example, [1, 2, (1,2)] will be intepretted as [(1,), (2,), (1,2)].
- Add optional parameter start and stop to carray.index().
- Support gcc < 4.0 even if those compilers do not support tr1.
- Output warning for mismatch of genotype or haplotype length in operator InitGenotype.
- Silently ignore alleles n or higher in a MatrixMutator and KAlleleMutator if their mutation rates
are undefined (e.g. mutation matrix only has n rows). An error was triggered in the
previous version.
- Add parameter size to simuOpt.valueIsList and simuOpt.valueListOf to allow validation
of sequences according to sequence length.
- Make parameter loci in PySelector, PyQuanTrait and PyPenetrance accept value ALL_AVAIL.
- Allow parameter count in function utils.ProgressBar.update(count) to be None, meaning update by
an increment of 1.
- Allow parameter filter in Population.removeIndividuals and Population.extractIndividuals to
accept information fields as parameters.
- Allow parameters in Population.addChrom, Population.addLoci to accept single input for vector
parameters.
- Support Python 2.6.5 (fix setup.py).
- Add SEQUENCE_OF_SEX and GLOBAL_SEQUENCE_OF_SEX to option sexMode of class OffspringGenerator.
- Parameter sexMode and numOffspring in OffspringGenerator now accepts a generator function.
- Allow the use of single input in functions Population.setGenotype and Individual.setGenotype.

1.0.2

BUGS:
- The shifted distribution implemented for POISSON_DISTRIBUTION and
BINOMIAL_DISTRIBUTION for the specification of random number of
offspring is replaced with truncated distributions.

New features:
- Add parameter haplotypes to operator InitGenotype to allow initialization by
haplotype frequencies.
- Add parameter chroms to operator CloneGenoTransmitter to control which
chromosomes to copy.

Regression:
- Random number of offspring using Poisson and Binomial distribution
with get different distributions due to reinterpretation of
these parameters.

New features (minor):
- Expose class WeightedSampler to the user interface.
- Perform a limited number of parameter checkings in optimized modules, provided that
they do not hinder system performance.
- Add gsl_cdf_poisson_P, gsl_cdf_poisson_Q and gsl_ran_poisson_pdf to module simuPOP.gsl.
- Add a debug code DBG_WARNING that output warnings for certain use of simuPOP.
- Output warning messages for the use of Individual.genotype() and Population.genotype.

Page 2 of 12

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.