|FREEWARE VERSION 1.0 - BETA VERSION|
FASTER is a program for reducing large families in linkage format that are further used in GENEHUNTER program.
Families must meet criteria 2N - F <= k where F is number of founders (individuals without parents), N is number of non-founders (individuals with at least one parent). k is a variable integer.
Program helps you to reduce family with keeping most valuable members. The value of k is variable - default is k=20.
This family has 32 members (black-filled are affected members). 7 of them are Founders(without parents), 25 are nonfounders. 2N-F=2*25-7=50-7=43.
But we need to meet critera 2N-F<= 20. We need to reduce the family. One way how to reduce family is to cut several members (e.g. 7, 12, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31). In this case we lose much information. It is better to split family into two parts e.g. in point 4(A).
First family (1, 2, 7, 9, 8, 12, 14, 13, 18, 17, 22, 23, 10, 11, 15, 16, 19, 20, 21) has 19 members, 5 founders, and 14 nonfounders. 2*14-5=23. This still doesn't meet criteria 2N-F<=20. So we need to cut two members (e.g. 22, 23) (B). 22 and 23 have many siblings, so FASTER decided they could be redundant. It depends how you set the weights. If you prefer "age weight", then probably (19 or 20 or 21) are removed. If you cut 22 and 23, then the rest of first family has 17 members: 5 founders and 12 nonfounders. 2*12-5=19 and it meets desired criteria.
The second part of family (24, 25, 3, 4, 26, 27, 28, 29, 30, 31, 32, 5, 6) has 13 members: 2 founders and 11 nonfounders. 2*11-2 = 20 and it meets desired criteria.
A Linkage format is supported as an input format. Linkage format is ASCII file containing columns and rows. TAB or SPACE char separates items in each row.
Exaple of items in one row separated by TAB char:
3 20 18 17
1 1 1 2 8 3 0 0 4
6 1 3 ...
Standard Cyrillic format .dat and linkage .pre formats are supported. For Linkage format see Input format. When exporting to standard Cyrillic format a Marker name "DUMMY" is being created. This is why it is necessary to define marker (as well as disease) name "DUMMY" in Cyrillic program before importing .dat file from FASTER.
Weights are measured as a percentage ratio. It means that only differences between weights have sense. Age=70%, Affected=70%, Markers=70% and Population=70% have the same effect as for instance Age=10%, Affected=10%, Markers=10% and Population= 10%
These weights are used in Split Family and Cut Individuals algorithm
The higher is the weight, the more important (more valuable) are older members of family. If age= 0, then the age of each person does not matter. Note: The age is determined from Individual ID# in input format. Program supposes the higher is the ID, the younger is the person.
The importance of affected status. The higher is the weight, the more valuable are affected members. See Split Family algorithm for further usage of this weight.
The higher is the weight, the more valuable are members with markers.
The higher is the weight, the more preferred members (for elimination) are siblings from larger families. See Split Family algorithm for further usage of this weight.
Open linkage file and then select family
Saves family as...
This window appears when you try to save family into existing file. Choose NO to insert family into the file and preserve all other content. Choose YES to overwrite file and save into it only currently open family. Choose CANCEL to cancel saving.
If there is no proband defined, you have to enter any member of the family that is not checked as an eliminated member -see below. Saving algorithm counts with this "Proband" as with the core of the family.
For instance: These two families are connected only with the relation between 3 and 4. If the proband is 1, then 1 and 2 are saved. If proband is e.g. 4, then 4, 5, 6 are saved.
List of all members of family . The four-digit integer means the member ID, the letter "N" means Non-affected, letter "A" means Affected, and (optional) letter "M" means the member has defined markers.
Check the member to eliminate him. Selected (checked) members will be removed when you save the family.
Unselect all button clears all selection. Inverse button inverse selection. Inverse button is very useful when you split family.
When you click Split family button, one part of family will be checked as "eliminated". You can save the first part of family. Then click Inverse button and save the second part of family.
"To split"list is the list of members, where the family is being divided. Members are sorted from the most proper - it means the top member should be the most proper.If the family is too large and to meet criteria (2N-F<= k) takes too much valuable members, it is useful to split the family into two parts. Either double-click on the member in the list "To split" or select the members and click Split family button.
Split family algorithm tries to split family into two parts, which are more or less of the same size (population weight supports this way) or most of affected members are gathered in only one part of divided family (this way supports affected weight).
Press Cut branches button to eliminate all "blind branches" with non-affected members without markers.
Cut individuals check the least proper member to be eliminated.
All indivs. Repeatedly checks members until the criterion 2N-F<=k is reached.
Diagnose button tries to find out the best solution for reducing family with preserving most valuable members (the meaning of "valuable" is variable by changing weights).
Solutions window with recommended actions will appear. Select the action and click Apply and save.
Note: Sometime the algorithm prefers to split family rather than to delete even one or two useless members. This is because the program tries to keep all members rather than to delete anybody. It is up to human user to consider what is better.
Author: Cyril Hoeschl, Prague, Czech republic. In cooperation with Martin Alda, MD, Dalhousie University, Halifax, Canada, September 2002