linkage {polymapR} | R Documentation |
Calculate recombination frequency, LOD and phase
Description
linkage
is used to calculate recombination frequency, LOD and phase within one type of marker or between two types of markers.
Usage
linkage(
dosage_matrix,
markertype1 = c(1, 0),
markertype2 = NULL,
parent1 = "P1",
parent2 = "P2",
which_parent = 1,
ploidy,
ploidy2 = NULL,
G2_test = FALSE,
convert_palindrome_markers = TRUE,
LOD_threshold = 0,
pairing = "random",
prefPars = c(0, 0),
combinations_per_iter = NULL,
iter_RAM = 500,
ncores = 1,
verbose = TRUE,
full_output = FALSE,
log = NULL
)
Arguments
dosage_matrix |
An integer matrix with markers in rows and individuals in columns. |
markertype1 |
A vector of length 2 specifying the first markertype to compare. The first element specifies the dosage in |
markertype2 |
A vector of length 2 specifying the first markertype to compare. This argument is optional. If not specified, the function will calculate
linkage within the markertype as specified by |
parent1 |
Character string specifying the name of parent1 as provided in the column-names of dosage_matrix. By default, "P1". |
parent2 |
Character string specifying the other parent as provided in the column-names of dosage_matrix. By default, "P2". |
which_parent |
Integer, either 1 or 2, with default 1, where 1 or 2 refers to parent1 or parent2 respectively. For example, if you wish to estimate linkage between markers with alleles that are polymorphic (i.e. segregating) and originates from parent1, then which_parent = 1. A bi-parental marker is a marker such as a 1x1 marker, so having a segregating allele in both parents. For linkage estimation between pairs of bi-parental markers, the result does not depend on this argument. For linkage estimation between e.g. a 1x0 and 1x1 marker, then which_parent should be 1. Similarly, to calculate linkage between 0x1 and 1x1 markers, which_parent should be 2. |
ploidy |
Integer. The ploidy of the parent 1. If parent2 has the same ploidy level, then also the ploidy level of parent 2. |
ploidy2 |
Integer, by default |
G2_test |
Apply a G2 test (LOD of independence) in addition to the LOD of linkage. |
convert_palindrome_markers |
Logical. Should markers that behave the same for both parents be converted to a workable format for that parent? E.g.: should 3.1 markers be converted to 1.3? If unsure, set to TRUE. |
LOD_threshold |
Minimum LOD score of linkages to report. Recommended to use for large number (> millions) of marker comparisons in order to reduce memory usage. |
pairing |
Type of chromosomal pairing behaviour during meiosis, either |
prefPars |
The estimates for preferential pairing parameters for the target and other parent, respectively, in range 0 <= p < 2/3. By default this is c(0,0) (so, no preferential pairing).
See the function |
combinations_per_iter |
Optional integer. Number of marker combinations per iteration. |
iter_RAM |
A (very) conservative estimate of working memory in megabytes used per core. It only takes the size frequency matrices into account. Actual usage is more, especially with large number of linkages that are reported. Reduce memory usage by using a higher LOD_threshold. |
ncores |
Number of cores to use. Works both for Windows and UNIX (using |
verbose |
Should messages be sent to stdout? |
full_output |
Logical, by default |
log |
Character string specifying the log filename to which standard output should be written. If NULL log is send to stdout. |
Value
Returns a data.frame with columns:
- marker_a
-
first marker of comparison. If markertype2 is specified, it has the type of markertype1.
- marker_b
-
second marker of comparison. It has the type of markertype2 if specified.
- r
-
(estimated) recombinations frequency
- LOD
-
(estimated) LOD score
- phase
-
phase between markers
Examples
data("screened_data3")
SN_SN_P1 <- linkage(dosage_matrix = screened_data3,
markertype1 = c(1,0),
which_parent = 1,
ploidy = 4,
pairing = "random",
ncores = 1
)