Differences between revisions 22 and 23
Revision 22 as of 2024-08-15 13:54:39
Size: 9054
Editor: Valentina
Comment:
Revision 23 as of 2024-08-20 13:37:17
Size: 9040
Editor: Valentina
Comment:
Deletions are marked like this. Additions are marked like this.
Line 55: Line 55:
usage: gebvtest_2024A.py [-h] [-v] [-Z] [-C] [--target {DGEBV,VFEBV,GEBV,EBV,DEBV}] [--weight {ITB,LR}]
                        
[--min_byear MIN_BYEAR] [--fb {Y,N}] [--baseadj {GEBV,EBV,NONE}] [--power POWER]
                         [--baseincl BASEINCL] [--traitsincl TRAITSINCL] [--outdir OUTDIR] [-m] [-M MERGEDIR]
                        
[-s SAMPLES] [--accept_bias ACCEPT_BIAS]
usage: gebvtest_2024A.py [-h] [--version] [-v] [-Z] [-C] [--target {DGEBV,VFEBV,GEBV,EBV,DEBV}] [--weight {ITB,LR}] [--min_byear MIN_BYEAR] [--fb {Y,N}] [--baseadj {GEBV,EBV,NONE}] [--power POWER]
                         [--baseincl BASEINCL] [--traitsincl TRAITSINCL] [--outdir OUTDIR] [-m] [-M MERGEDIR] [-s SAMPLES] [--accept_bias ACCEPT_BIAS]
Line 63: Line 61:
  pop population code (same as country code except for DEA/DFS/FRM)   pop population code (same as country code except for CHR/DEA/DFS/FRR/FRM)
Line 68: Line 66:
  --version show version of this program
Line 71: Line 70:
  --target {DGEBV,DGPA,VFEBV,GEBV,EBV,DEBV}   --target {DGEBV,VFEBV,GEBV,EBV,DEBV}
Line 78: Line 77:
                        evaluation variable to use for base adjustments, options are: [EBV, GEBV, NONE](default=EBV)
  --power POWER specify a base for the power function weighting records in base adjustments, instead of
                       
optimizing the base from the data
  --baseincl BASEINCL comma-separated lists of restrictions on bulls to include for base adjustment estimates,[min,max byr : proof type list : proof status list : official Y/N ]
                        evaluation variable to use for base adjustments, options are: [ EBV, GEBV, NONE ] (default=EBV)
  --power POWER specify a base for the power function weighting records in base adjustments, instead of optimizing the base from the data
  --baseincl BASEINCL comma-separated lists of restrictions on bulls to include for base adjustment estimates, [ min,max byr : proof type list : proof status list : official Y/N ]
Line 93: Line 91:
See detailed instructions at: https://wiki.interbull.org/public/gebvtest_py?action=print See detailed instructions at: https://interbull.org/ib/gebvtest_software_2024

ibc_logo.jpg

GEBVtest Software

The GEBV test is a validation procedure described in the Interbull Code of Practice, Appendix VIII.

The software consists of a program (gebvtest.py) and utility module used by such program (ibutils.py). The gebvtest.py program will perform the GEBV validation tests for all traits for one breed and population and then create a zip file with the input and output files, ready for submission to the Interbull Centre.


Installation and testing

The program has been tested under Python 3 (minimum 3.6) . As a minimum, you will need to have this extra python module installed on your system: NumPy.

Please note that Python2 is no longer supported by developers.

Download the attached gebvtest2024.zip file.

Create a working directory and unzip the zip file in that directory. Three subdirectories will be created, programs, sample data and Results. Typing

  • python gebvtest_2024A.py --help

from a command line prompt, from within the programs directory, should print a brief help message if the installation has been successful.

Some sample data for breed HOL and population ABC are available in the sample_data directory. The program can be run from the programs directory as follows:

python gebvtest_2024A.py -v -m hol abc ../sample_data --outdir ../Results

In this example, input data are in the sample_data directory while results will be created in a dedicated new directory called "Results". Files can be read from other locations and output written to other locations as well. Please see the following sections for further information.

To better explain the additional tests that can be performed with the current enhanced software, an additional folder has been created within the "Results" one, called "users_options_combinations" and containing the results of possible additional tests. The folder includes output from 8 different variations of user option combinations, with all options used in each case being captured at the top of the respective log files.

The outputs should match those in the source zip file.


Program gebvtest.py - User Manual

Information about the program

The program gebvtest.py performs the GEBV validation tests for one breed-population combination, for all traits. At the end of the program a zip file is created with the input files and the result file, ready for submission to the ITBC. The ITBC will perform some additional data checks and re-run the program to check the results. The result file is a file735 format file.

Input files:

  • traits - GEBV_test options file(Format: traits)

  • file300Cf - national official genetic evaluations, written in trait-independent format (Format: File300)

  • file300Cr - reduced conventional genetic evaluation file, written in trait-independent format

  • file300Gr - reduced genomic evaluation file, written in trait-independent format

  • file300Gf - national official genomic evaluation file, written in trait-independent format

  • file736 - file with birth dates (Format: File736)

Running the program

The program should be run from within the programs directory. Typing

python gebvtest.py --help

will give a summary of the program usage:

usage: gebvtest_2024A.py [-h] [--version] [-v] [-Z] [-C] [--target {DGEBV,VFEBV,GEBV,EBV,DEBV}] [--weight {ITB,LR}] [--min_byear MIN_BYEAR] [--fb {Y,N}] [--baseadj {GEBV,EBV,NONE}] [--power POWER]
                         [--baseincl BASEINCL] [--traitsincl TRAITSINCL] [--outdir OUTDIR] [-m] [-M MERGEDIR] [-s SAMPLES] [--accept_bias ACCEPT_BIAS]
                         brd pop datadir

positional arguments:
  brd                   evaluation breed code (BSW/GUE/JER/HOL/RDC/SIM)
  pop                   population code (same as country code except for CHR/DEA/DFS/FRR/FRM)
  datadir               absolute or relative path to data files

optional arguments:
  -h, --help            show this help message and exit
  --version             show version of this program
  -v, --verbose         increase output verbosity
  -Z, --no-zip          do not create a zip file (eg. for preliminary testing or usage at ITBC)
  -C, --cleanup         delete all files successfully added to the zip file
  --target {DGEBV,VFEBV,GEBV,EBV,DEBV}
                        validation target options are: [ DGEBV, VFEBV, GEBV, EBV, DEBV ] (default=DGEBV)
  --weight {ITB,LR}     Options are: [ ITB or LR ], for the Interbull weighted-regression test or Legarra-Reverter un-weighted regression, respectively (default=ITB)
  --min_byear MIN_BYEAR
                        specify a minimum birth year to use instead of using the value specified in the traits file
  --fb {Y,N}            specify Y or N to include foreign bulls in the validation group, instead of Y/N from the traits file
  --baseadj {GEBV,EBV,NONE}
                        evaluation variable to use for base adjustments, options are: [ EBV, GEBV, NONE ] (default=EBV)
  --power POWER         specify a base for the power function weighting records in base adjustments, instead of optimizing the base from the data
  --baseincl BASEINCL   comma-separated lists of restrictions on bulls to include for base adjustment estimates, [ min,max byr : proof type list : proof status list : official Y/N ]
  --traitsincl TRAITSINCL
                        comma-separated list of traits to process
  --outdir OUTDIR       absolute or relative path to write output files (default=.)
  -m, --mergefiles      write merged data files (for independent data checks)
  -M MERGEDIR, --mergedir MERGEDIR
                        absolute or relative path for merged data files (default=DATADIR/merged)
  -s SAMPLES, --samples SAMPLES
                        number of bootstrap samples for R-squared test (default=1000)
  --accept_bias ACCEPT_BIAS
                        standardized ignorable bias accepted in practice (default=0.25)

See detailed instructions at: https://interbull.org/ib/gebvtest_software_2024

More detail on the -m --mergefiles options is available here.

Output files

  • file735 - results from the GEBV test for all traits tested (Format: File735 , Examples) . Additional results are provided in the following extra files: file735_ABCHOL.csv (comma separated format), file735adj_ABCHOL (specific results pertaining to the base adjustment)

  • gebvtest_log - summary of the calculations (Example)

  • Submission zip file - gebvtest.py generates a zip file including all input and output files which should be sent to the Interbull Centre as the official data submission for the GEBV test. The zip file will be named gtYYMM_POPBRD.zip, where YY and MM are year and month of test date, POP is the population code and BRD is the breed code.


GEBV test data submission

Interbull customers willing to participate in the GEBV test must send to the Interbull Centre the following files to interbull@slu.se :

  • Submission zip file - generated by the gebvtest.py program.

  • Form GENO - one form for each trait group validated.


Troubleshooting/FAQ

  • Double check your data files and make sure the file formats are ok.
    • In some cases special characters in bull names make the program crash. A hint is to leave out the bull names as they are not used anyway.
    • All your files should contain a field of “country sending this information” and the code should be consistent for all files. Leaving a blank instead of a code for “country sending this information” has the effect that the file is not read.
  • Make sure to use the -v flag and check the log files carefully (look for files with 0 records, for example)
  • If python crashes with an error message:
    • if any "import" statement causes an error, Python or one of the modules is not correctly installed
  • If bulls seem to be missing or in excess in the candidate or test groups, use -v -m options, but not -C, and check the link merged files.


If you need assistance, please do not hesitate to contact us at interbull@slu.se .

public/GEBVtest_enhanced2024 (last edited 2025-06-04 09:23:15 by Valentina)