simuPOP OperatorsΒΆ
simuPOP is large, consisting of more than 70 operators and various functions that covers all important aspects of genetic studies. These includes mutation (k-allele, stepwise, generalized stepwise), migration (arbitrary, can create new subpopulation), recombination (uniform or nonuniform), gene conversion, quantitative trait, selection, penetrance (single or multi-locus, hybrid), ascertainment (case-control, affected sibpairs, random), statistics calculation (allele, genotype, haplotype, heterozygote number and frequency; expected heterozygosity; bi-allelic and multi-allelic \(D\), \(D'\) and \(r^{2}\) linkage disequilibrium measures; \(F_{st}\), \(F_{it}\) and \(F_{is}\)); pedigree tracing, visualization (using R or other Python modules). This chapter covers the basic and some not-so-basic usages of these operators, organized roughly by genetic factors.
- 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
InfoEval
andInfoExec
) * - 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
defdict
datatype- 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