# Function to calculate fitness for each model for Bayesian Variant Selection Methods

### Description

This function takes one of the models and calculates the fitness/cost value of the model.

### Usage

1 2 |

### Arguments

`Z` |
a |

`data` |
a |

`forced` |
an optional |

`inform` |
if inform=TRUE corresponds to the iBMU algorithm of Quintana and Conti (Submitted) that incorporates user specified external predictor-level covariates into the variant selection algorithm. |

`cov` |
an optional |

`a1` |
a |

`rare` |
if rare=TRUE corresponds to the Bayesian Risk index (BRI) algorithm of Quintana and Conti (2011) that constructs a risk index based on the multiple rare variants within each model. The marginal likelihood of each model is then calculated based on the corresponding risk index. |

`mult.regions` |
when rare=TRUE if mult.regions=TRUE then we include multiple region specific risk indices in each model. If mult.regions=FALSE a single risk index is computed for all variants in the model. |

`regions` |
if mult.regions=TRUE regions is a |

`hap` |
if hap=TRUE we estimate a set of haplotypes from the multiple variants within each model and the marginal likelihood of each model is calculated based on the set of estimated haplotypes. |

`which` |
optional current which matrix of sampled models from sampleBVS that is used to see if a model has already been sampled so that that fitness does not have to be recalculated. |

`which.char` |
optional vector that identifies that current models that have been sampled from sampleBVS that is also used to determine if a model has already been sampled. |

### Details

Uses the glm function to calculate the marginal likelihood and fitness function of the model of interest. If rare = TRUE the marginal likelihood is based on the risk index produced from the subset of variants within the model of interest and if hap = TRUE the marginal likelihood is based on the estimated haplotypes produced from the subset of variants within the model of interest.

### Value

This function outputs a vector of the following values:

`coef` |
If rare=FALSE we report a vector where each value corresponds to the estimated coefficients for all variables within the model of interest. If rare=TRUE we report a value corresponding to the estimated coefficient of the risk index (or risk indices if multi.regions=TRUE) corresponding to each model of interest. |

`fitness` |
The value of the fitness function (log(Model likelihood) - log(Model Prior)) of the model of interest. |

`logPrM` |
The value of the log prior on the model of interest. |

### Author(s)

Melanie Quintana <maw27.wilson@gmail.com>

### References

Quintana M, Conti D (2011). *Incorporating Model Uncertainty in Detecting Rare Variants:
The Bayesian Risk Index*. Genetic Epidemiology 35:638-649.

Quintana M, Conti D (Submitted). *Integrative Variable Selection via Bayesian Model
Uncertainty*.

### Examples

1 2 3 4 5 6 |