Learn R Programming

BatchMap - A parallel implementation of the OneMap R package for fast computation of F1 linkage maps in outcrossing species

BatchMap is a fork of the OneMap software package for the construction of linkage maps. Specifically it aims to provide a framework that enables creating linkage maps from dense marker data (N>10,000).

Most of the non-core functionality of OneMap has been stripped and only a few functions are left at user-level. Further, this package is typically expected to be run on a headless server due to memory requirements, so all graphic functionality has also been removed.

Why use BatchMap

BatchMap employs a divide and conquer algorithm that manages to speed up the calculation of high density datasets and - additionally - scales well with higher marker numbers. It further features a routine inspired by OneMap's ripple.seq function that can adaptively reorder windows of markers to improve the order of sequences.

When not to use BatchMap

BatchMap is created specifically for F1 outcrossing populations. If your data is not that (e.g. backcross, F2, RIL), use OneMap.

Memory requirements

The twopoint table of recombination fractions and likelihoods will take 4 * 8 * N * N bytes in memory, where N is your marker number. If you have anything less than that, you need to either reduce the number of input markers, or rent a cloud server (Amazon EC2 provides high memory machines).

Installation

Install from GitHub

This will install the current development version, which is newest, but might include unstable code. If you're in doubt, install from CRAN.

install.packages("devtools")
library(devtools)
install_github("bschiffthaler/BatchMap")

Install from CRAN

This installs the latest stable version.

install.packages("BatchMap")

Note for Windows users

Windows is currently not able to parallelize R code using the parallel package. It is therefore highly recommended to use the docker container here.

Vignette - tutorial

After installation, you can read the user tutorial ('vignette') here.

Simulated experimental data is available at

Citation

This software depends whole-heartedly on the work done by all original and current authors of OneMap. We therefore ask you to cite both OneMap and BatchMap if you find BatchMap useful in your research.

Copy Link

Version

Install

install.packages('BatchMap')

Monthly Downloads

4

Version

1.0.2.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Bastian Schiffthaler

Last Published

November 11th, 2017

Functions in BatchMap (1.0.2.0)

create.data.bins

New dataset based on bins
create.dataframe.for.plot.outcross

Create a dataframe suitable for a ggplot2 graphic
draw.map

Draw a genetic map
drop.marker

Creates a new sequence by dropping markers.
order.seq

Search for the best order of markers combining compare and try.seq functions
pick.batch.sizes

Picking optimal batch size values
ug

Unidirectional Growth
print.onemap.segreg.test

Print segregation test result
print.outcross

Print read.outcross result
ripple.seq

Compares and displays plausible alternative orders for a given linkage group
ripple.window

Update linkage map with alternative orders at a given position
marker.type

Informs the segregation patterns of markers
onemap-internal

Internal onemap functions
print.rf.2pts

Print twopoint test result
print.try

Print try.seq result
record

Recombination Counting and Ordering
write.map

Write a genetic map to a file
record.parallel

Recombination Counting and Ordering
suggest.lod

Suggests a LOD Score for two point tests
test.segregation

test.segregation
est_map_hmm_out

C++ routine for multipoint analysis in outcrossing populations
example.out

Data from a full-sib family derived from two outbred parents
map.overlapping.batches

Mapping overlapping batches
map_func

Mapping functions Haldane and Kosambi
plot.by.segreg.type

Draw a graphic showing the number of markers of each segregation pattern.
plot.onemap

Draw a graphic of raw data for any OneMap population
rf.2pts

Two-point analysis between genetic markers
ripple.ord

Update linkage map with alternative orders at all positions
seriation

Seriation
set.map.fun

Defines the default mapping function
combine.onemap

Combine OneMap datasets
compare

Compare all possible orders (exhaustive search) for a given sequence of markers
make.seq

Create a sequence of markers
Bonferroni.alpha

Calculates individual significance level to be used to achieve a global alpha (with Bonferroni)
add.marker

Creates a new sequence by adding markers.
find.bins

Allocate markers into bins
map

Construct the linkage map for a sequence of markers
pseudo.testcross.split

Split a dataset into parent-specific subsets
rcd

Rapid Chain Delineation
read.mapmaker

Read data from a Mapmaker raw file
read.onemap

Read data from all types of progenies supported by OneMap
test.segregation.of.a.marker

test.segregation.of.a.marker
try.seq

Try to map a marker into every possible position between markers in a given map
group

Assign markers to linkage groups
plot.onemap.segreg.test

Plot p-values for chi-square tests of expected segregation
print.group

Print group result
read.outcross

Read data from a full-sib progeny (outcrossing populations)
read.outcross2

Read data from a full-sib progeny (outcrossing populations)
seeded.map

Construct the linkage map for a sequence of markers after seeding phases
select.segreg

Show markers with/without segregation distortion