Changes in version 2.1.0 (2025-11-08) *changed R6 and methods from Depends to Imports to match current best practices for R packages *Change order of call to finalizePop in .newPop to allow access to recombination tracking data *added parentAverage and mendelianSampling functions *fixed bug in c for RawPop, MapPop, and NamedMapPop *changed popVar to an R wrapper to automate casting of vectors to matrices *corrected bibliography entry month from sept to sep Changes in version 2.0.0 (2025-09-01) *added names to SP$recHist *added asCategorical to convert a normal (Gaussian) trait to an ordered categorical (threshold) trait *improved computational performance of simulations with multiple traits *added support for data.frames in SimParam genetic map switching functions *changed finalizePop function call in .newPop to pass simParam as an argument *updated version numbering to follow tidyverse format with a major version indicating backwards compatibility has been broken Changes in version 1.6.1 (2024-11-01) *fixed bug in mergePops and [ (subset) methods - they were failing for populations that had a misc slot with a matrix - we now check if a misc slot element is a matrix and rbind them for mergePops and subset rows for [ (assuming the first dimension represents individuals) Changes in version 1.6.0 (2024-08-17) *exported meanEBV and added varEBV to complement meanP/varP and meanG/varG *Changed all parameters of the CATTLE demographic model to exactly match Macleod et al. (2013) - specifically reducing the mutation rate from 2.5e-8 (from human literature) to 1.2e-8 (used in Macleod et al., 2013) and recombination rate from 1e-8 (generic) to 9.26e-9 (used in Macleod et al., 2013). These changes will reduce number of segregating sites to ~240K per chromosome for 100 samples and will run faster. *changed misc slot in Pop class from a list organised as ind x nodes to to a list organised as nodes x ind (this simplified code and increased speed) *removed setMisc and getMisc because the new misc slot structure makes it easy to set and get misc components with base R code *added length method for Pop class that returns number of individuals (like nInd) *added length method for MultiPop class that returns number of populations *fixed bug in quadrivalent pairing resulting in distribution of double reductions not respecting the centromere Changes in version 1.5.3 (2023-12-01) *fixed bug in SimParam$restrSegSites with excluding sites at end of chromosome Changes in version 1.5.2 (2023-11-01) *fix SimParam examples for CRAN Changes in version 1.5.1 *deleted bad example code for setMisc *changed examples to use a single thread for CRAN testing this change is not shown in the documentation Changes in version 1.5.0 *renamed MegaPop to MultiPop *fixed bug in writePlink to correctly export map positions in cM *fixed bug in writeRecords due to removed reps slot in pops *added altAddTraitAD for specifying traits with dominance effects using dominance variance and inbreeding depression *add miscPop slot to class Pop Changes in version 1.4.2 (2023-03-27) *updated MaCS citation to https site Changes in version 1.4.1 *Changed citation to use bibentry instead of citEntry Changes in version 1.4.0 *fixed a bug in IBD tracking *add setFounderHap to SimParam for applying custom haplotypes to founders *added addSnpChipByName to SimParam for defining SNP chips by marker names Changes in version 1.3.4 (2022-12-09) *changed C++ using sprintf to use snprintf Changes in version 1.3.3 *fixed bug in calculation of genic variance *fixed importHaplo not passing ploidy to newMapPop *fixed bug with correlated error variances Changes in version 1.3.2 (2022-11-02) *fixed column name bug with multiple traits in setEBV *fixed CTD caused by runMacs when too many segSites are requested *fixed missing names in GV when using resetPop *fixed bug in importTrait *popVar now deals with matrices having 1 row Changes in version 1.3.1 (2022-08-25) *updated link to Gaynor, 2017 Changes in version 1.3.0 *added ability to exclude loci by name in SimParam$restrSegSites *pullMarkerGeno and pullMarkerHaplo now work with a MapPop class *added setMarkerHaplo to manually change genotypes in a Pop or MapPop *added addSegSite for manually adding segregating sites to a MapPop class *simParam$setCorE has been deprecated in favor of a corE argument in simParam$setVarE *setPheno now takes corE as an argument *setPheno now allows the user to set phenotypes for a subset of traits *add newEmptyPop to create populations with zero individuals *removed reps slot from populations and heterogeneous residual variance GS models *added h2, H2, and corE to setPhenoGCA and setPhenoProgTest *the "EUROPEAN" species history was removed from runMacs due to lengthy runtime Changes in version 1.2.2 *added getPed to quick extract a population's pedigree *added getGenMap to pull a genetic map in data.frame format Changes in version 1.2.1 (2022-07-05) *fixed bugs relating to importData functions *fixed writePlink errors and no longer requires equal length chromosomes Changes in version 1.2.0 *added importGenMap to format genetic maps for AlphaSimR *added importInbredGeno and importHaplo to make it easier to create a simulation from external data *added importSnpChip, importTrait to SimParam to make it easier to manually define traits *added pullMarkerGeno and pullMarkerHaplo to make it easier to extract genotypes and haplotypes of specific loci without defining a trait or SNP chip *reduceGenome, mergeGenome and doubleGenome should really now work with pedigree and recombination tracking Changes in version 1.1.2 (2022-02-17) *added missing #ifdef _OPENMP to OCS.cpp Changes in version 1.1.1 *removed use of PI variable in C++ code due to it being compiler specific Changes in version 1.1.0 *added snpChip argument to pullIbdHaplo for backwards compatibility *exposed internal mixed model solvers *all selection functions now return a warning when there are not enough individuals *fixed error in pullIbdHaplo when chr isn't NULL *fixed an error with assigning 1 QTL and/or SNP *changed geno slot from matrix to list to support future RcppArmadillo changes *doubleGenome and reduceGenome now work with IBD tracking Changes in version 1.0.4 (2021-09-08) *fixed errors in implementation of Gamma Sprinkling model Changes in version 1.0.3 (2021-07-29) *fixed formatting error in genetic maps created by runMacs that broke genotype extraction functions Changes in version 1.0.2 (2021-07-28) *added h2 and H2 to setPhenoGCA *pullGeno and pullHaplo functions now report marker names from the genetic map Changes in version 1.0.1 (2021-05-14) *removed lazyData field in DESCRIPTION Changes in version 1.0.0 *AlphaSimR manuscript has been published in G3 (citation added) *changed to a Gamma Sprinkling model for crossovers, default is still a Gamma model *change default interference parameter (v) to 2.6 to be consistent with the Kosambi mapping function (was 1, consistent with the Haldane mapping function) *new internal id (iid) that allows user to freely change id slot in populations *runMacs2 now adjusts Ne for autopolyploids *parent populations are now passed to finalizePop *check added that throws an error when use of discontinued "gender" argument is detected *added experimental MegaPop-class Changes in version 0.13.0 (2020-10-11) *references to gender have been changed to the more appropriate terms sex or sexes *added misc slot to populations *added finalizePop to SimParam *added physical positions to getSnpMap and getQtlMap *you can now use h2 and H2 to specify error variance in setPheno *SimParam$setVarE now accepts a matrix for varE *fixed a bug in editGenome when making multiple edits *adding merging of centromere vector in cChr Changes in version 0.12.2 (2020-05-19) *GxE traits now default to random sampling of p-values *fixed a bug in restrSegSites Changes in version 0.12.1 (2020-03-30) *fixed a bug in selection of segSites Changes in version 0.12.0 *changed output of genParam to match Bulmer, 1976 *nProgeny added to makeCross and makeCross2 *all SimParam documentation is now in ?SimParam *non-overlapping QTL and SNP is now the default *new interface for restrSegSites in SimParam *fixed subset by id for populations *fixed major bug in newMapPop Changes in version 0.11.1 (2020-01-13) *switched to a circular design for the balance option in randCross and randCross2 *added reduceGenome and doubleGenome for changing ploidy levels *added minSnpFreq to SimParam_addSnpChip for any reference population *the c function now merges individuals for MapPop objects (was chromosomes before) *the cChr function new merges chromosomes for MapPop objects *fixed broken SimParam_addStructuredSnpChip *removed broken pullMultipleSnpGeno and pullMultipleSnpHaplo *fixed broken writePlink Changes in version 0.11.0 (2019-10-11) *rework of setEBV (breaks some scripts) *genotype data now stored as bits (was bytes) *implemented a gamma model for crossover interference *added the mutate function to model random mutations *added a vignette explaining the biological model for traits *GS models now handle polyploids *heterogenous error variance is now optional in GS models (default is homogeneous error) *improved gene drop functionality of pedigreeCross *added keepParents option to makeDH and self (indirectly extends selectFam and selectWithinFam) *added RRBLUP_SCA2 *set methods for the "show" function when applied to populations *fixed a bug returning the first individual when selecting 0 *fixed error in recombination track when using makeDH *fixed error causing epistatic effects to mask GxE effects *fixed an error with pullSegSiteGeno and pullSegSiteHaplo with variable number of sites per chromosome Changes in version 0.10.0 (2019-03-15) *added traits with epistasis *Max number of threads automatically detected *added RRBLUP_D2 *added version tracking to SimParam *removed trackHaploPop (super-ceded by pullIbdHaplo) *added fastRRBLUP *fixed faulty double crossover logic *fixed broken writePlink *fixed broken pullIbdHaplo *mergePops no longer assumes diploidy Changes in version 0.9.0 (2019-02-07) *added support for autopolyploids *added RRBLUP_GCA2 *randCross2 can now "balance" crossing when not using gender *fixed recombination tracking bug in createDH2 *removed bug in setEBV with append=TRUE Changes in version 0.8.2 (2018-10-15) *fixed ambiguous overloading in optimize.cpp Changes in version 0.8.1 (2018-10-12) *setPheno (not setPhenoGCA) passes the number of reps to populations *fixed bug in editGenomeTopQtl *fixed bug in RRBLUP_D *fixed bug in resetPop *fixed bug in SimParam_rescaleTraits *removed unimplemented SimParam_restrSnpSites and SimParam_restrQtlSites *add error message for no traits in calcGCA Changes in version 0.8.0 *added GxE traits with zero environmental variance *faster trait scaling *faster calculation of genetic values *dsyevr now called via arma_fortran *added OpenMP support *parallelized cross2 *parallelized runMacs *parallelized calculation of genetic values *variance calculations now account for inbreeding *fixes for male selection in selectOP Changes in version 0.7.1 *add fixEff to setPhenoGCA Changes in version 0.7.0 *added default runMacs option to return all segSites *added ability to specify separate male and female genetic maps *pullGeno and pullHaplo functions can now specify chromosomes *added RRBLUP2 for special GS cases *improved speed by replacing Rcpp random number generators *changed available MaCS species *GS functions now use populations directly *added pullIbdHaplo *added writePlink *fixed population sub-setting checks to prevent invalid selections *fixed slow calcGCA *fixed error in addTraitAG preventing multiple traits *fixed bug with mergePops when merging ebv *fixed bug in setVarE when using H2 and multiple traits Changes in version 0.6.1 *selectFam now handles half-sib families *selectWithinFam now handles half-sib families *Removed restriction on varE=NULL in setPhenoGCA Changes in version 0.6.0 *Added NEWS file *Added selectOP to model selection in open pollinating plants *Added runMacs2 as a wrapper for runMacs *Fixed error when using H2 in SimParam_setVarE