Table of Contents
INBUPGF90
INBUPGF90 is a program to calulate inbreeding coefficients.
Written by Ignacio Aguilar & Ignacy Misztal, 06/2006 - 08/2012
Instituto Nacional de Investigacion Agropecuaria, Uruguay
University of Georgia, US
Summary
This program calculate inbreeding coefficients using a recursive algorithm assuming non-zero inbreeding for unknown parents as presented in Aguilar & Misztal 2008, JDS 91:1669-1672.
The methodology to calculate inbreeding accounting for missing parents is based on VanRaden, 1992.
Pedigree files not need to be in a particular order.
Alphanumeric identification of individuals are supported, with a default length of 20 characters (see below to change it).
Pedigree file should contain information for Individual Id, Sire Id and Dam Id.
Year of birth is not required to calculate inbreeding coefficients, but inbreeding for individuals with missing parents wont be calculated if year of birth is not provided.
Usage
inbupgf90 --pedfile <file_name> [ ... ]
pedfile is assumed to have 3 fields with identification for animal, sire and dam, separated by at least one space.
Missing sire or dam identification should be coded as '0', but in case of reading with fixed format (see below) blank spaces are supported.
Individuals with missing sire and dam are not required to be listed in the pedigree file.
Optional command arguments
--help
print information of available arguments
--method <n>
Several methods can be used:
1 - recursive as in Aguilar & Misztal, 2008
2 - recursive but with coefficients stored in memory, faster with large number of generations but more memory requirements (default)
3 - method as in Meuwissen & Luo 1992
--yob
indicate that year of birth should be read in the 4th column.
Checks based on year or birth will be performed between the individual and their parents.
Non-zero inbreeding for animals with missing parents could be calculated if more than one iteration is used (see niter)
--ngen <n>
Indicate the generation interval to assign missing year of birth.
default 3
--mngen <n>
Indicate the generation interval to check parents
default 0
--niter <n>
specify maximun number of iterations to assign non-zero inbreeding for individuals with missing parents. default is 1 i.e. zero inbreeding for individuals with missing parents.
--alpha_size <n>
change the maximun length of characters for alphanumeric Ids.
--fmt <fmt>
to read pedigree file with fixed format. Variables are assumed to be alphanumeric, e.g. '(3a8)'
Misc
--prnrenped
with this option, a renumbered pedigree (where parent ID precedes their progeny ID) will be printed to a file. If any, pedigree loops will be removed from this file.
Inbreeding coefficients are not calculated!!!
Calculation of inbreeding and relationship coefficients for specific animals/matings
Calculations of future inbreeding for potential matings or for specific list of animals could be achived using the following command arguments.
Two files should be provided sfile and dfile, with nsire and ndam rows respectively.
All relationship between nsire with ndam will be computed.
Only inbreeding for required animals will be calculated!!
--sire_file <SireFile>
indicate the name of a file that contains a list of nsire individuals to be used as 'sires'
--dam_file <DamFile>
indicate the name of a file that contains a list of ndam individuals to be used as 'dams'
--nrmcoeff
the matrix of relationship information between nsire*ndam with printed out in a file “SireFile_DamFile.nrmcoeff” format of file is sireId, damId, relationship coefficient
--matings
for each dam the sire that results in a mating with the minimun inbreeding is listed as well as the inbreeding resulting from the other sires. format of file is DamId, SIreWithMinimunInb,SireID1….SireIDn
--allped
Perform calculation of inbreeding coefficients for all individuals.
--nrmcoeff_list <ListFile>
statistics of relationship information between all individuals in ListFile were calculated and printed out in a file “ListFile.nrmcoeff” format of file is Id_i, Id_j, relationship coefficient
Example
The following example is based on the pedigree provided by Emik & Terril, 1949. J. Hered. 40:51–55, modified with year of birth information.
Here code for missing sire/dam is space, so fixed format is need to read the file properly !!!!
Pedigree file: pedet
1646RW 619RW 719RW 99 619RW 3340R 2475R 96 719RW 438WP 3840R 96 3840R 3340R 2695R 92 3340R 2220R 2320R 91 2220R 823R 1277R 87 2695R 823R 1475R 80 2320R 823R 1829R 85 1277R 382R 83 1475R 823R 1072R 73 1829R 823R 1338R 81 2475R 823R 1052R 92 382R 3180R 79 1072R 164R 69 823R 59R 218R 68 1338R 67R 368R 78 1052R K4465 85 368R K4465 75 67R LOWE6 70 59R LOWE6 65 164R LOWE6 65 3180R LOWE6 75
Using INBUPGF90 to get regular inbreding coefficients
Command
inbupgf90 --pedfile pedet --fmt '(3a8)'
Log output
Options
--pedfile pedet
--fmt (3a8,a3)
Fields to read: animal, sire, dam
Maximum length for alphanumeric fields: 20
Ordering will be performed by: Parents with relationships first
table expanded from 37 to 74 records
Elapsed time for reading and hash: .002
Pedigree file "pedet": 22 records
Total number of animals in pedigre: 26
Elapsed time after checks: 0.149E-03
Elapsed time for renumber using Parent First: 0.200E-05
Calculating Inbreeding coefficients with Recursive method
Round: 1 elapsed time: 0.11000E-04
Average inbreeding (%): 5.26921 - # of animals: 26
Distribution of animals by inbreeding coefficients
Inbreeding (%) class N %
-------------------------------------
= 0.00 17 65.38
0.00 - 6.25 3 11.54
6.25 - 12.50 0 0.00
12.25 - 18.75 2 7.69
18.75 - 25.00 2 7.69
> 25.00 2 7.69
Creating output file: pedet.solinb
Inbreeding coefficients file: pedet.solinb
2695R 0.2656250 218R 0.0000000 719RW 0.0000000 3840R 0.2470703 67R 0.0000000 1646RW 0.1502686 1475R 0.0312500 382R 0.0000000 59R 0.0000000 3340R 0.1992188 1277R 0.0000000 368R 0.0000000 LOWE6 0.0000000 823R 0.0000000 619RW 0.1640625 164R 0.0000000 438WP 0.0000000 1829R 0.0312500 2475R 0.0000000 2220R 0.0156250 1338R 0.0000000 1072R 0.0000000 1052R 0.0000000 2320R 0.2656250 3180R 0.0000000 K4465 0.0000000
Using INBUPGF90 to get inbreeding coefficients assuming nonzero inbreeding of unknown parents
inbupgf90 --pedfile pedet --fmt '(3a8,a3)' --yob --niter 10
Log output
Options
--pedfile pedet
--niter 10
--yob
--fmt (3a8,a3)
Fields to read: animal, sire, dam ,yob
Maximum length for alphanumeric fields: 20
Ordering will be performed by: Year of Birth
table expanded from 37 to 74 records
Elapsed time for reading and hash: .003
Pedigree file "pedet": 22 records
Total number of animals in pedigre: 26
Min YOB: 62 - Max YOB: 99
Elapsed time after checks: 0.226E-03
Calculating Inbreeding coefficients with Recursive method based on: YOB
Round: 1 elapsed time: 0.190E-04 convergence: 0.52692E-01
Average inbreeding (%): 5.26921 # of animals: 26
Round: 2 elapsed time: 0.170E-04 convergence: 0.18517E-01
Average inbreeding (%): 7.12092 # of animals: 26
Round: 3 elapsed time: 0.130E-04 convergence: 0.0000
Average inbreeding (%): 7.12092 # of animals: 26
Average inbreeding (%) by YOB
code num_anim avg_inb
--------------------------
62 1 0.000
63 0 0.000
64 0 0.000
65 3 0.000
66 0 0.000
67 0 0.000
68 1 0.000
69 1 0.000
70 1 0.000
71 0 0.000
72 1 0.000
73 1 3.125
74 0 0.000
75 2 0.000
76 0 0.000
77 0 0.000
78 1 0.000
79 1 0.000
80 1 26.562
81 1 3.125
82 0 0.000
83 1 0.000
84 0 0.000
85 2 13.281
86 0 0.000
87 1 1.562
88 0 0.000
89 0 0.000
90 0 0.000
91 1 19.922
92 2 18.994
93 1 0.000
94 0 0.000
95 0 0.000
96 2 11.523
97 0 0.000
98 0 0.000
99 1 16.687
Distribution of animals by inbreeding coefficients
Inbreeding (%) class N %
-------------------------------------
= 0.00 15 57.69
0.00 - 6.25 3 11.54
6.25 - 12.50 0 0.00
12.25 - 18.75 2 7.69
18.75 - 25.00 3 11.54
> 25.00 3 11.54
Creating output file: pedet.solinb
Inbreeding coefficients file: pedet.solinb
2695R 0.2656250 218R 0.0000000 719RW 0.0000000 3840R 0.2470703 67R 0.0000000 1646RW 0.1668701 1475R 0.0312500 382R 0.0000000 59R 0.0000000 3340R 0.1992188 1277R 0.0000000 368R 0.0000000 LOWE6 0.0000000 823R 0.0000000 619RW 0.2304688 164R 0.0000000 438WP 0.0000000 1829R 0.0312500 2475R 0.1328125 2220R 0.0156250 1338R 0.0000000 1072R 0.0000000 1052R 0.2656250 2320R 0.2656250 3180R 0.0000000 K4465 0.0000000
