Function to improve a simulated breeding population by one cycle. This version is adjusted relative to the original popImprov1Cyc function, which drew candidates from the full records$F1 (excluding potentially indivs only scored during the current year, if useCurrentPhenoTrain=FALSE). My changes:

  • nTrainPopCycles: draw additional training pop clones only from this number of recent cycles.

  • nYrsAsCandidates: candidates for selection only from this number of recent years

  • maxTrainingPopSize: From the lines in the most recent cycles (indicated by nTrainPopCycles), subsample this number of lines for training data. This is in addition to the "check" (bsp$checks@id) and the lines indicates as selection `candidates` according to the setting of `nYrsAsCandidates`. All "historical" data will always be used, but the number of maximum training lines will be held constant. Replaces the stage-specific `bsp$trainingPopCycles`, which will be unused in this pipeline, but not deleted from the package.

  • The selection criteria parentSelCritBLUP and parentSelCritGEBV will allow both `candidates` and the additional training pop lines to be selected for crossing. Previous version only allowed selection of the `candidates`.

popImprovByParentSel(records, bsp, SP)

Arguments

records

The breeding program records object. See fillPipeline for details

bsp

A list of breeding scheme parameters

SP

The AlphaSimR SimParam object

Value

A records object with a new F1 Pop-class object of progeny coming out of a population improvement scheme

Details

This function uses penotypic records coming out of the product pipeline to choose individuals as parents to initiate the next breeding cycle