Title: | Merging Linkage Maps by Linear Programming |
---|---|
Description: | Creates a consensus genetic map by merging linkage maps from different populations. The software uses linear programming (LP) to efficiently minimize the mean absolute error between the consensus map and the linkage maps. This minimization is performed subject to linear inequality constraints that ensure the ordering of the markers in the linkage maps is preserved. When marker order is inconsistent between linkage maps, a minimum set of ordinal constraints is deleted to resolve the conflicts. |
Authors: | Jeffrey Endelman |
Maintainer: | Jeffrey Endelman <[email protected]> |
License: | GPL-3 |
Version: | 1.7 |
Built: | 2024-10-24 02:57:23 UTC |
Source: | https://github.com/cran/LPmerge |
This package creates a consensus genetic map by merging linkage maps from different populations. The software uses linear programming (LP) to efficiently minimize the mean absolute error between the consensus map and the linkage maps. This minimization is performed subject to linear inequality constraints that ensure the ordering of the markers in the linkage maps is preserved. When marker order is inconsistent between linkage maps, a minimum set of ordinal constraints is deleted to resolve the conflicts.
LPmerge(Maps, max.interval = 1:3, weights = NULL)
LPmerge(Maps, max.interval = 1:3, weights = NULL)
Maps |
List of |
max.interval |
A whole number ( |
weights |
Optional vector of length |
Map positions in the ith linkage map are denoted by , and consensus map positions are denoted by
. Within linkage map i, the markers are ordered from j = 1 to
, and the map distance between the jth and (j+q)th markers is
. Letting
denote the consensus map bin containing marker j from map i, the corresponding distance in the consensus map is
. The total error across
maps with maximum interval size
is
where is the number of error terms for map i, and
are the weights (equal to 1 by default). At the end of the linkage map, where the sum j+q exceeds
, the expression is evaluated as if the map were circular rather than linear. These "wrap-around" error terms keep the total consensus map length commensurate with the average length of the linkage maps.
Linear inequality constraints are used to ensure the marker order in the consensus map is consistent with the order in the linkage maps. When the linkage maps are not consistent, a minimum set of constraints is deleted to resolve the conflicts. See the reference for more details. The deleted constraints are printed to the standard output.
One way to select the maximum interval size is based on the principle of minimizing the root mean-squared error (RMSE) between the consensus map and the linkage maps. The RMSE for each linkage map, and the overall mean, is displayed for convenience. Since the consensus map length can vary with
, this is another factor to consider when selecting this parameter. See the tutorial at http://potatobreeding.cals.wisc.edu/software for a detailed example.
A list with length equal to the length of the max.interval parameter. Each entry in the list is a data frame containing the consensus map and the component linkage maps.
Endelman, JB, and C Plomion. 2014. LPmerge: An R package for merging genetic maps by linear programming. Bioinformatics 30:1623-1624.
mapI <- data.frame(marker=c("A","B","C","D","E","F","G"),position=0:6) mapII <- data.frame(marker=c("A","C","B","D","E","F","G"),position=0:6) mapIII <- data.frame(marker=c("A","B","C","D","E","G","F"),position=0:6) mapIV <- data.frame(marker=c("B","A","C","D","E","F","G"),position=0:6) maps <- list(I=mapI,II=mapII,III=mapIII,IV=mapIV) ans <- LPmerge(maps)
mapI <- data.frame(marker=c("A","B","C","D","E","F","G"),position=0:6) mapII <- data.frame(marker=c("A","C","B","D","E","F","G"),position=0:6) mapIII <- data.frame(marker=c("A","B","C","D","E","G","F"),position=0:6) mapIV <- data.frame(marker=c("B","A","C","D","E","F","G"),position=0:6) maps <- list(I=mapI,II=mapII,III=mapIII,IV=mapIV) ans <- LPmerge(maps)