Wrapper around `predCrossVarsA()` for predicting all trait variances and trait-trait covariances across multiple families . Input a data.frame of crosses to predict. NOTE: Marker effects should represent allele substitution effects. Either by fitting an additive-only model OR an genotypic-partitioned additive+dominance model, with allele sub effects computed as a+d(q-p), where q and p are allele freqs in the training pop. used.

runMtCrossVarPredsA(
  outprefix = NULL,
  outpath = NULL,
  predType = "VPM",
  CrossesToPredict,
  AlleleSubEffectList,
  haploMat,
  recombFreqMat,
  ncores = 1,
  ...
)

Arguments

outprefix

string, prefix for *.rds file to be written to disk with output. DEFAULT = NULL (no disk write)

outpath

string, path to disk location where files should be written. Can be left DEFAULT = NULL (no disk write)

predType

Default = "VPM". string, "VPM" or "PMV" Choose option "VPM" if you have REML marker effect estimates (or posterior-means from MCMC) one set of marker effect estimates per trait. Variance of posterior means is faster but the alternative predType=="PMV" is expected to be less biassed. PMV requires user to supply a (probably LARGE) variance-covariance matrix of effects estimates.

CrossesToPredict

data.frame or tibble, col/colnames: sireID, damID. sireID and damID must both be in the haploMat.

AlleleSubEffectList

List of of ALLELE SUBSTITUTION EFFECT matrices. One matrix per trait. Each element of the list is named with a string identifying the trait and the colnames of each matrix are labelled with snpIDs. If users effects are from REML or posterior-means MCMC, matrices will be of dimension 1 x N SNP. If users chose predType="PMV", each matrix will be dimension N thinned-MCMC sample x N SNP.

haploMat

matrix of phased haplotypes, 2 rows per sample, cols = loci, 0,1, rownames assumed to contain GIDs with a suffix, separated by "_" to distinguish haplotypes

recombFreqMat

a square symmetric matrix with values = (1-2*c1), where c1=matrix of expected recomb. frequencies. The choice to do 1-2c1 outside the function was made for computation efficiency; every operation on a big matrix takes time.

ncores

Default = 1. If ncores set > 1 parallelizes across families, but beware it is memory intensive and options(future.globals.maxSize=___) may need to be adjusted.

...

Value