Activates or desactivates the detection of ``equivalent'' orders on datasets merged using the dsmergor command.
The heapequiset command is invoked either as:
When two datasets are merged, it is often the case that the two data sets only share few markers. When the two such datasets are merged using dsmergor, many different orders correspond to equivalent situations on the two datasets and they will get the same log-likelihood. Imagine for example that the dataset 1 is informative on markers , , and and that the dataset 2 is informative on markers , and . Then the orders , and are equivalent and will get the same loglikelihhod since they both correspond to the two same orders: on dataset one and on the dataset 2.
This phenomenon will populate the heap with many equivalent maps and also severely limit the efficacy of the buildfw process we uses the heap structure internally to detect if two orders with close enough likelihoods exist. At saome point, It may be impossible to insert a marker in the framework map because equivalent orders (therefore with the same likelihood) exist in the heap. To avoid this, activate the heapequiset command. It is important to mention that as soon as the mode is activated, ``equivalent'' orders are expunged from the heap. The command is still in alpha stage.
# we load and merge two datasets CG> dsload Data/bc.cg ... CG> dsload Data/rh.cg ... CG> dsmergor 1 2 ... # we evaluate two different but equivalent orders CG> mrkselset {17 29 30 18 39 19} CG> sem Map -1 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 # we move the marker 18 which is only defined in the first dataset CG> mrkselset {17 29 18 30 39 19} CG> sem Map -1 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 # the two orders have entered the heap CG> heaprint Map 0 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 Map 1 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 # we now activate the detection of equivalent orders CG> heapequiset 1 # the equivalent order is expunged CG> heaprint Map 0 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 # we evaluate a third equivalent order CG> mrkselset {17 18 29 30 39 19} CG> sem Map -1 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 # it did not entered the heap CG> heaprint Map 0 : log10-likelihood = -164.94 -------: Set : Marker List ... 1 : MS17 MS18 MS19 2 : MS17 G9 G10 G19 MS19 CG>
Thomas Schiex 2009-10-27