External Documentation
Program parameters:
Input files: Datafile and Pedfile in SuperLinkMap format.
In the Datafile program code 11 should be specified.
1. Determine the elimination order of the given problem.
2. If the Complexity Coefficient of the problem is higher than the defined threshold MIN_COMPLEXITY, go to 3. Else, perform the exact inference and go to 7.
3. Clipping markers in order to reduce the Complexity Coefficient of the problem without influence on the final LOD score:
Clip all less informative markers having percent of non information higher than PERCENT_BOUND and distance ratio higher than INFO_DISTANCE_BOUND.
Clip all the close markers having recombination value lower than the defined THETA_BOUND .
Clip all farthest markers until half of the original total number of markers.
4. Determine the elimination order of the current problem.
5. If the Complexity Coefficient of the problem is higher than the defined threshold, go to 6. Else, continue on to computing the likelihood and go to 7.
6. Clip the farthest marker and go to 4.
7. End.
Added functions:
calcLikelihoodSuperLinkmapApprox - The function that performs the main likelihood computation using if needed the approximation methods described above. If there's no need in approximation (the problem complexity is low enough) the function works just like the function calcLikelihoodSuperLinkmap that performs exact inference. The function works according to the Final Algorithm. When the function performs approximate calculation, there's some deviation from the exact LOD score, which depends on how much bigger the real complexity of the input data from the defined MIN_COMPLEXITY. The bigger the difference between the real complexity and the MIN_COMPLEXITY , the more markers are clipped, so the probability of deviation from the exact score increases.
Secondary Functions:
FindFarthestLocus- The function finds the farthest marker from the iterated locus and returns it's index on the map and it's distance from the varied locus in CM.
clipMarker - The function clips given marker from the map by updating map to data structures and changes relevant recombination value between neighbors of clipped marker.
findDistanceRatio - The function computes the distance ratio of the given marker by finding the distance from it to varied locus divided by given maximum distance.
Modification performed to the original code of SUPERLINK:
In the file LociData.c in function readLocusFile was added condition to swich that reads program specific data:
case SUPER_LINKMAP_APPROX_PROG.
The code that performs in this case is identical to the code of case SUPER_LINKMAP_PROG ( original superLinkMap program).
MIN_COMPLEXITY = 7
INFO_DISTANCE_BOUND = 0.4
PERCENT_BOUND = 0.4
THETA_BOUND = 0.01
RATIO_BOUND = 0.3