R package to convert mouse genome positions between build 39 physical locations and the Cox genetic map positions. (See the Cox map version 3, updated for the build 39 physical map.)
The package is a reimplementation of part of the basic functionality of the mouse map converter web service from Gary Churchill’s group at the Jackson Lab.
Install the package from CRAN with
install.packages("mmconvert")
.
Alternatively, install the mmconvert package from GitHub using the remotes package:
install.packages("remotes")
remotes::install_github("rqtl/mmconvert")
mmconvert contains
two functions: mmconvert()
and
cross2_to_grcm39()
.
mmconvert()
mmconvert()
takes a set of positions as input, plus an
indication of whether they are basepairs or Mbp (in build 39) or
sex-averaged, female, or male cM from a slightly smoothed version of the
revised Cox genetic
map.
The input positions can be character strings like
"chr:position"
.
<- c(rs13482072="14:6738536", rs13482231="14:67215850", gnf14.117.278="14:121955310") input_char
Or they can be a list of marker positions, separated by chromosome.
<- list("14"=c(rs13482072=6738536, rs13482231=67215850, gnf14.117.278=121955310)) input_list
Or they can be a data frame with chromosome IDs as the first column and positions as the second column. Marker names can either be in a third column or included as row names.
<- data.frame(chr=c(14,14,14),
input_df pos=c(6738536, 67215850, 121955310),
marker=c("rs13482072", "rs13482231", "gnf14.117.278"))
For any of these cases, the output is a data frame with seven columns: marker, chromosome, sex-averaged cM, female cM, male cM, basepairs, and mega-basepairs.
library(mmconvert)
mmconvert(input_df)
## marker chr cM_coxV3_ave cM_coxV3_female cM_coxV3_male bp_grcm39 Mbp_grcm39
## rs13482072 rs13482072 14 0.3938878 0.4204617 0.3707116 6738536 6.738536
## rs13482231 rs13482231 14 28.7007118 34.8398609 22.8635376 67215850 67.215850
## gnf14.117.278 gnf14.117.278 14 59.5630160 64.5897950 55.0750080 121955310 121.955310
If you want to give the input positions in Mbp rather than basepairs,
use the argument input_type="Mbp"
.
$pos <- input_df$pos / 1e6
input_dfmmconvert(input_df, input_type="Mbp")
## marker chr cM_coxV3_ave cM_coxV3_female cM_coxV3_male bp_grcm39 Mbp_grcm39
## rs13482072 rs13482072 14 0.3938878 0.4204617 0.3707116 6738536 6.738536
## rs13482231 rs13482231 14 28.7007118 34.8398609 22.8635376 67215850 67.215850
## gnf14.117.278 gnf14.117.278 14 59.5630160 64.5897950 55.0750080 121955310 121.955310
The input positions can also be provided in sex-averaged, female, or male cM. But note that the bp or Mbp positions must be in mouse genome build 39, and cM positions must be according to the Cox Map V3.
cross2_to_grcm39()
cross2_to_grcm39()
takes a cross2 object from R/qtl2 with mouse genotype data
from one of the MUGA arrays and converts it to mouse genome build
GRCm39, by possibly subsetting the markers, reordering them according to
the GRCm39 build, and plugging in GRCm39 Mbp positions and the revised
Cox genetic map. See https://github.com/kbroman/MUGAarrays for the MUGA array
annotations and https://github.com/kbroman/CoxMapV3 for the revised Cox
genetic map.
<- paste0("https://raw.githubusercontent.com/rqtl/",
file "qtl2data/main/DOex/DOex.zip")
library(qtl2)
<- read_cross2(file)
DOex
<- cross2_to_grcm39(DOex) DOex_rev
Licensed under GPL-3.