From: ftp-bimas.cit.nih.gov Last mod: June 27, 1999 FASTLINK, version 2.3P and beyond This file describes some modifications to the UNKNOWN preprocessor program introduced in FASTLINK 2.3P and beyond. We have improved the error reporting capability and fixed some bugs. A scholarly description of what UNKNOWN does can be found in unknown.ps. One purpose of UNKNOWN is to catch violations of Mendelian rules of inheritance. Previous versions of UNKNOWN reported an error by identifying the pedigree and locus of the error. The new version tries to identify the nuclear family/families in which errors occur. When an error occurs at least one nuclear family will be identified either by a child or parent. For any pedigree-locus pair, the first nuclear family identified is guaranteed to contain an error. Subsequent nuclear families identified may or may not contain errors. If you want to see only the first nuclear family with an error, then change the constant ONE_ERROR_ONLY from 0 to 1. I fixed a printing bug that arose when the number of liability classes was greater than 99. As a result the output of UNKNOWN will be spaced differently than before. Thanks to Margaret Gelder Ehm for reporting the bug. Lots of other aspects of UNKNOWN are explained in the documents unknown.ps and loops.ps, including subsequent changes to UNKNOWN. Both FASTLINK 3.0P and 4.0P introduced fundamental, drastic changes to UNKNOWN that are best explained in a longer, more scholarly document. These changes make the interesting part of UNKNOWN incompatible with previous versions of FASTLINK and LINKAGE. However, extra computation is done for the sake of backwards compatibility. Version 3.0P introduced much better inference for looped pedigrees including for the first time the ability to detect Mendelian inconsistencies in looped pedigrees. Version 4.1P improved some of the loop breaker genotype inference algorithms. Information about possible genotypes for different loop breaker vectors is kept in the file loopfile.dat. See README.loopfile for a description of the syntax. Version 4.0P introduced the ability to improve on the user's choice of loop breakers. For looped pedigrees UNKNOWN chooses a provably optimal loop breaker set. For looped pedigrees with multiple marriages UNKNOWN and the main programs can now use one loop breaker to break multiple loops. In version 4.1P these methods were enhanced with a better algorithm for pedigrees with multiple marriages, and the ability to select loop breakers from scratch without having to rely on the makeped and LOOPS preprocessor programs. For a scholarly description of the loop breaker selection methods see paper6.ps, and paper7.ps. For a scholarly description on what loop breakers are all about see loops.ps. For a simple practical method to choose loop breakers see README.lselect.