# BLUPF90

Yutaka Masuda

## Overview

You need the output of accf90 which is a program available under an agreement with UGA. A small script can compute VanRaden's (2009) deregressed proof based on PA, EBV, reliability of PA, and reliability of EBV.

### Procedure

First, run blupf90 or other IOD programs to save solutions. Then, run accf90 with the following option in the parameter file. It additionally calculates PA and its reliability.

OPTION parent_avg yes

The resulting sol_and_acc file has 10 columns.

1. Trait code
2. Effect code
3. Level code
4. EBV
5. Accuracy or reliability of EBV
6. Parent average (PA)
7. Unknown parent flag (1=both known; 2=sire unknown; 3=dam unknown; 4=both unknown)
8. Sire code
9. Dam code
10. Accuracy or reliability of PA

VanRaden et al. (2009) showed a deregressed proof of sire can be available from the following steps. It includes the consequence of previous studies e.g. VanRaden and Wiggans (1991). Note that the following instruction is approximated; the strict computation excludes the contribution of a daughter to its parent in the parent's EBV.

1. Compute $k_{d}=(4-2h^2)/h^2$ (VanRaden and Wiggans 1991).
2. Compute the daughter equivalent of EBV: $\mathrm{DE}_{\mathrm{EBV}}=k_{d}\mathrm{REL}_{\mathrm{EBV}}/(1-\mathrm{REL}_{\mathrm{EBV}})$.
3. Compute daughter equivalent of PA: $\mathrm{DE}_{\mathrm{PA}}=k_{d}\mathrm{REL}_{\mathrm{PA}}/(1-\mathrm{REL}_{\mathrm{PA}})$.
4. Compute the daughter equivalent of daughter contribution (i.e. EBV excluding PA): $\mathrm{DE}_{\mathrm{R}}=\mathrm{DE}_{\mathrm{EBV}}-\mathrm{DE}_{\mathrm{PA}}$.
5. Compute the reliability of daughter contribution: $R=\mathrm{DE}_{\mathrm{R}}/(\mathrm{DE}_{\mathrm{R}}+k_{d})$.
6. Compute the deregressed proof for this animal: $\mathrm{DRP}=\mathrm{PA}+(\mathrm{EBV}-\mathrm{PA})/R$.

The following AWK script computes the deregressed proof with above procedure.

pvr_drp.awk
#
# Computation of deregressed proof for sires.
#
# usage: awk -v h2=0.25 -f pvr_drp.awk sol_and_acc > drp.txt
#
# You can change the relitability as -v h2=value.
# The default heritability is 0.25.
#
BEGIN{
# default h2=0.25 equiv. kd=14
if(h2<=0){ h2=0.25 }
kd=(4-2*h2)/h2
print "h2=",h2,"; kd=",kd > "/dev/stderr"
}
NR>1{
DE_EBV = kd*$5/(1 -$5)
DE_PA  = kd*$10/(1 -$10)
DE_R   = DE_EBV - DE_PA
R = DE_R/(DE_R + kd)
if(R>0){
DRP = $6 + ($4-$6)/R } else { R = 0.0 DRP = 0.0 } print$0,DRP,R
}

If you need to compute a cows' deregressed proof, please consult Wiggans et al. (2012; JDS). 