linkage user's guide (version 5.2)


3.1 Constants

In the program, constants are set for routine linkage problems. It may be necessary to increase some constants for specific problems, or to decrease others to minimize memory usage on some computers. All the constants used in a program are declared at the start of the code. The meaning of most constants is easy to interpret from information given with the declaration. Values for two constants, MAXNEED and MAXCENSOR, cannot be determined prior to running programs. When one of the analytic programs terminates in an error, one of these constants may be too small.

All the programs contain a boolean constant DOSTREAM. This should be set to TRUE for use with the control program shell.

Constants for ILINK, MLINK, and LINKMAP

Several of the constants that are common to the programs for calculations in general pedigrees are related to the maximum number of alleles and loci to be considered in multilocus runs. These are:
     maxlocus  { MAXIMUM NUMBER OF LOCI }
     maxall    { MAXIMUM NUMBER OF ALLELES AT A SINGLE LOCUS }
     maxhap    { MAXIMUM NUMBER OF HAPLOTYPES }
The minimum value of MAXHAP required is the product of the maximum number of alleles at each locus.

Pedigrees, families and individuals are constrained by the following constants:

     maxind    { MAXIMUM NUMBER OF INDIVIDUALS IN ALL PEDIGREES }
     maxped    { MAXIMUM NUMBER OF PEDIGREES }
     maxchild  { MAXIMUM NUMBER OF FULLSIBS IN A SIBSHIP}

The constants controlling default values for phenotype codes are:

affall=2;      {DISEASE ALLELE FOR QUANTITATIVE TRAITS OR AFFECTION STATUS}

                    { QUANTITATIVE TRAIT }

maxtrait;      {MAXIMUM NUMBER OF QUANTITATIVE VARIABLES AT A SINGLE LOCUS}
missval=0.0;   {MISSING VALUES FOR QUANTITATIVE TRAITS}

                    { AFFECTION STATUS }

missaff=0;     {MISSING VALUE FOR AFFECTION STATUS}
affval = 2;    {CODE FOR AFFECTED INDIVIDUAL}
maxliab;       {MAXIMUM NUMBER OF LIABILITY CLASSES}

                    { BINARY (FACTOR UNION) SYSTEM }

maxfact;       {MAXIMUM NUMBER OF BINARY CODES AT A SINGLE LOCUS}
MAXTRAIT, MAXLIAB and MAXFACT can be varied to meet the requirements for various problems. The other default values should not be modified unless absolutely necessary. Modification of the default values may introduce problems of compatibility when data are transferred between program versions or installation sites.

MAXNEED and MAXCENSOR are variables that are difficult to determine prior to running the program. Probabilities of various recombination classes are stored in an array dimensioned by MAXNEED. If you compile the program with a large value of MAXNEED (e.g. 1000), a message giving the optimal value will be printed if all the probabilities are successfully stored within this limit. If MAXNEED is too small the program will terminate with an error message. MAXCENSOR dimensions an array that increases the efficiency of calculations. Small values will not cause a runtime error, but may increase computation times. The program will give a message to help optimize the choice of this value. The constant MININT is used with MAXCENSOR; it should be assigned the minimum value supported by the compiler.

MINFREQ is another constant that can improve the efficiency of calculations when dominant or codominant loci are being analyzed. Rare homozygotes will not be considered in the calculations if the gene frequency is less than MINFREQ. Heterozygote x heterozygote matings will also be excluded from the calculations in this case. For analyzing recessive traits, or pedigrees in which heterozygote x heterozygote matings occur, you should declare MINFREQ = 0.0. scale { SCALE FACTOR } scalemult { SCALE WEIGHT FOR EACH LOCUS } The values of SCALE and SCALEMULT can be increased (decreased) if underflow (overflow) occurs. The suggested default values are SCALE = 2.0 and SCALEMULT = 3.0. If overflow occurs, SCALEMULT should be reduced to 2.0. To correct problems of underflow, try increasing SCALE to 3.0. Further modifications should be tried if these values do not correct the problems.

Underflow is often not detected, but may result in the likelihood becoming zero. The logarithm of the likelihood is then replaced by:

     zerolike = -1.0E20; {FOR INCONSISTENT DATA OR RECOMBINATION}
resulting in the extreme negative values for the sum of the logarithms over all pedigrees. Such a result may also arise from errors in the data entry, so if the problem persists despite repeated modification of SCALE and SCALEMULT, please check your pedigree and genotypes carefully.

Constants for CILINK and CMAP

Prior to running CMAP and CILINK, the data are transformed by the CFACTOR program (see description Section 4.2). This program creates new "families" which contain fewer loci than the original but have the same total likelihood. MAXLOCUS is the maximum number of loci prior to data transformation. MAXSYSTEM, MAXRECTYPE, MAXALL, MAXIND and MAXPED are maximum values after transformation:


     { SEE THE OUTPUT FROM CFACTOR TO DETERMINE THE FOLLOWING }

maxlocus       {MAXIMUM NUMBER OF LOCI IN MAPPING PROBLEM}

     { THE FOLLOWING REFER TO VALUES AFTER TRANSFORMATION }

maxsystem      {MAXIMUM NUMBER OF LOCI IN ONE FAMILY AFTER TRANSFORMATION}
maxrectype     {MAXIMUM NUMBER OF DIFFERENT RECOMBINATION PATTERNS}
maxall         {MAXIMUM NUMBER OF ALLELES AT A SINGLE LOCUS}
maxind         {MAXIMUM NUMBER OF INDIVIDUALS}
maxped         {MAXIMUM NUMBER OF PEDIGREES}
maxfact        {BINARY (FACTOR UNION) SYSTEM}

previous: 3.0 overview
next: 3.2 ilink
up: 3.analysis programs