###############################################################################
# NAME: OPTIONS
# VERSION: 2.0.0b5 (15DECEMBER2005)
# AUTHOR: John B. Cole, PhD (jcole@aipl.arsusda.gov)
# LICENSE: LGPL
###############################################################################
# This file lists the options that can be used in PyPedal programs.  Options
# control things such as pedigree formats and output filenames.
###############################################################################

Option          Default     Note(s)
------          -------     -------
alleles_sepchar         '/' The character separating the two alleles in an
                            animal's allelotype.  'alleles_sepchar' must NOT be
                            the same as 'sepchar'!
counter                1000 How often should PyPedal write a progress message to
                            the screen when reading large pedigree files.
database_name     'pypedal' The name of the SQLite database in which a pedigree will
                            be stored.  The default should be acceptable to most users.
dbtable_name      <filetag> The name of the SQLite table in which a pedigree will
                            be stored.  The default should be acceptable to most users.
debug_messages            0 Indicates whether or not PyPedal should print
                            debugging information.
default_report    <filetag> Default report name for use by pyp_reports.
default_unit         'inch' The default unit of measurement for report generation
                            ('cm'|'inch').
f_computed                0 Indicates whether or not CoI have been computed for animals in
                            the current pedigree.  If the pedigree format string includes
                            'f' this will be set to 1; it is also set to 1 on a successful
                            return from pyp_nrm/inbreeding().
file_io                   1 When true, routines that can write results to output
                            files will do so and put messages in the program log
                            to that effect.
filetag             pedfile A filetag is a descriptive label attached to output files
                            created when processing a pedigree.  By default the
                            filetag is based on 'pedfile', minus its file
                            extension.
form_nrm                  0 Indicates whether or not to form a NRM and attach it
                            to the current pedigree object.  WARNING: if you are
                            working with a very large pedigree this may cause
                            problems depending on the maount of RAM your system
                            has.
gen_coeff                 0 When nonzero, calculate generation coefficients using
                            the method of Pattie (1965) and store them in the gencoeff
                            attribute of a NewAnimal object.  The inferred generation
                            stored in the igen attribute will be the gencoeff rounded
                            to the nearest 0.5.  When zero, the gen_coeff is -999.
log_long_filenames        0 When nonzero long logfile names will be used, which means that
                            logfilenames will include datestamps.
log_ped_lines             0 When > 0 indicates how many lines read from the pedigree file
                            should be printed in the log file for debugging purposes.
logfile         filetag.log The name of the file to which PyPedal should write messages
                            about its progress.
messages          'verbose' How many message should PyPedal provide;
                            only 'verbose' is currently implemented.
missing_bdate    '01011900' Default birth date.
missing_byear          1900 Default birth year.
missing_parent          '0' Indicates what code is used to identify
                            missing/unknown parents in the pedigree file.
nrm_method            'nrm' Indicates which method should be used to form the NRM.
                            By default the NRM is formed using the tabular method
                            with no correction for parental inbreeding.  To correct
                            for parental inbreeding use 'frm'.
paper_size         'letter' Default paper size for printed reports ('A4'|'letter').
pedfile                None File from which pedigree is read; must provide.
pedformat             'asd' See PEDIGREE_FORMAT_CODES for details.
pedigree_is_renumbered    0 Indicates whether or not the pedigree is
                            already renumbered.  If renumber
                            is set to '1' that setting will override
                            pedigree_is_renumbered.
pedigree_summary          1 Indicates whether or not the pedigree loading details and
                            summary are printed to STDOUT.  Output is only written if
                            message is set to `verbose'.
pedname          'Untitled' A name/title for your pedigree.
renumber                  0 Renumber the pedigree after reading from file (0/1).
sepchar                 ' ' The character separating columns of input in the
                            pedfile.
set_alleles               0 Assign alleles for use in gene-drop simulations (0/1).
set_ancestors             0 Iterate over the pedigree to assign ancestors lists to
                            parents in the pedigree (0/1).
set_generations           0 Iterate over the pedigree to infer generations (0/1).
set_offspring             0 Assigns offspring to their parent(s)'s unknown sex offspring
                            list.
set_sexes                 0 Iterate over the pedigree to assign sexes to all animals in the
                            pedigree (0/1).
slow_reorder              1 Use the slow, but more-correct, reordering routine
                            used by PyPedal by default (0/1). ONLY CHANGE THIS IF
                            YOU REALLY UNDERSTAND WHAT IT DOES!  Careless use of
                            this option can lead to erroneous results.