- Front Matter
- Introduction
- Loading and running simuPOP
- Pythonic issues
from simuPOP import* v.s.import simuPOP- References and the
clone()member function - Zero-based indexes, absolute and relative indexes
- Ranges and iterators
- Empty,
ALL_AVAILand dynamic values for parametersloci,reps,ancGenandsubPops - User-defined functions and class
WithArgs* - Exception handling *
- Loading simuPOP modules
- Online help system
- Debug-related functions and operators *
- Random number generator *
- Pythonic issues
- Individuals and Populations
- Genotypic structure
- Individual
- Population
- Access and change individual genotype
- Subpopulations
- Virtual subpopulations and virtual splitters *
- Advanced virtual subpopulation splitters **
- Access individuals and their properties
- Attach arbitrary auxillary information using information fields
- Keep track of ancestral generations
- Change genotypic structure of a population
- Remove or extract individuals and subpopulations from a population
- Store arbitrary population information as population variables
- Save and load a population
- Import and export datasets in unsupported formats *
- simuPOP Operators
- Introduction to operators
- Initialization
- Expressions and statements
- Output a Python string (operator
PyOutput) - Execute Python statements (operator
PyExec) - Evaluate and output Python expressions (operator
PyEval) - Expression and statement involving individual information fields (operator
InfoEvalandInfoExec) * - Using functions in external modules in simuPOP expressions and statements
- Output a Python string (operator
- Demographic changes
- Genotype transmitters
- Generic genotype transmitters (operators
GenoTransmitter,CloneGenoTransmitter,MendelianGenoTransmitter,SelfingGenoTransmitter,HaplodiploidGenoTransmitter, andMitochondrialGenoTransmitter) * - Recombination (Operator
Recombinator) - Gene conversion (Operator
Recombinator) * - Tracking all recombination events **
- Generic genotype transmitters (operators
- Mutation
- Mutation models specified by rate matrixes (
MatrixMutator) - k-allele mutation model (
KAlleleMutator) - Diallelic mutation models (
SNPMutator) - Nucleotide mutation models (
AcgtMutator) - Mutation model for microsatellite markers (
StepwiseMutator) - Simulating arbitrary mutation models using a hybrid mutator (
PyMutator)* - Mixed mutation models (
MixedMutator) ** - Context-dependent mutation models (
ContextMutator)** - Manually-introduced mutations (
PointMutator) - Apply mutation to (virtual) subpopulations *
- Allele mapping **
- Mutation rate and transition matrix of a
MatrixMutator** - Infinite-sites model and other simulation techniques **
- Recording and tracing individual mutants **
- Mutation models specified by rate matrixes (
- Penetrance
- Quantitative trait
- Natural Selection
- Natural selection through the selection of parents
- Natural selection through the selection of offspring *
- Are two selection scenarios equivalent? **
- Map selector (operator
MapSelector) - Multi-allele selector (operator
MaSelector) - Multi-locus selection models (operator
MlSelector) - A hybrid selector (operator
PySelector) - Multi-locus random fitness effects (operator
PyMlSelector) - Alternative implementations of natural selection
- Frequency dependent or dynamic selection pressure *
- Support for virtual subpopulations *
- Natural selection in heterogeneous mating schemes **
- Tagging operators
- Inheritance tagger (operator
InheritTagger) - Summarize parental informatin fields (operator
SummaryTagger) - Tracking parents (operator
ParentsTagger) - Tracking index of offspring within families (operator
OffspringTagger) - Assign unique IDs to individuals (operator
IdTagger) - Tracking Pedigrees (operator
PedigreeTagger) - A hybrid tagger (operator
PyTagger) - Tagging that involves other parental information
- Inheritance tagger (operator
- Statistics calculation (operator
Stat)- How statistics calculation works
defdictdatatype- Support for virtual subpopulations
- Counting individuals by sex and affection status
- Number of segregating and fixed sites
- Allele count and frequency
- Genotype count and frequency
- Homozygote and heterozygote count and frequency
- Haplotype count and frequency
- Summary statistics of information fields
- Linkage disequilibrium
- Genetic association
- population structure
- Hardy-Weinberg equilibrium test
- Measure of Inbreeding
- Effective population size
- Other statistics
- Support for sex and customized chromosome types
- Conditional operators
- Miscellaneous operators
- Hybrid and Python operators
- Evolving populations
- Mating Schemes
- Control the size of the offspring generation
- Advanced use of demographic functions *
- Determine the number of offspring during mating
- Dynamic population size determined by number of offspring *
- Determine sex of offspring
- Monogamous mating
- Polygamous mating
- Asexual random mating
- Mating in haplodiploid populations
- Self-fertilization
- Heterogeneous mating schemes *
- Conditional mating schemes
- Simulator
- Non-random and customized mating schemes *
- Age structured populations with overlapping generations **
- Tracing allelic lineage *
- Pedigrees
- Evolve a population following a specified pedigree structure **
- Simulation of mitochondrial DNAs (mtDNAs) *
- Mating Schemes
- Utility Modules
- Module
simuOpt(functionsimuOpt.setOptions) - Module
simuPOP.utils- Trajectory simulation (classes
TrajectoryandTrajectorySimulator) - Graphical or text-based progress bar (class
ProgressBar) - Display population variables (function
viewVars) - Import simuPOP population from files in
GENEPOP, PHYLIPandFSTATformats (functionimportPopulation) - Export simuPOP population to files in
STRUCTURE, GENEPOP,FSTAT, Phylip, PED, MAP, MS,andCSVformats (functionexportand operatorExporter) - Export simuPOP population in csv format (function
saveCSV, deprecated)
- Trajectory simulation (classes
- Module
simuPOP.demography - Module
simuPOP.sampling- Introduction
- Sampling individuals randomly (class
RandomSampler, functionsdrawRandomSampleanddrawRandomSamples) - Sampling cases and controls (class
CaseControlSampler, functionsCaseControlSampleandCaseControlSamples) - Sampling Pedigrees (functions
indexToIDandplotPedigree) - Sampling affected sibpairs (class
AffectedSibpairSampler, functionsdrawAffectedSibpairSample(s)) - Sampling nuclear families (class
NuclearFamilySampler, functionsdrawNuclearFamilySampleanddrawNuclearFamilySamples) - Sampling three-generation families (class
ThreeGenFamilySampler, functionsdrawThreeGenFamilySample and drawThreeGenFamilySamples) - Sampling different types of samples (class
CombinedSampler, functionsdrawCombinedSampleanddrawCombinedSamples) - Sampling from subpopulations and virtual subpopulations *
- Module
simuPOP.gsl
- Module
- A real world example