linkage
is used to calculate recombination frequency, LOD and phase within one type of marker or between two types of markers.
linkage(
dosage_matrix,
markertype1 = c(1, 0),
markertype2 = NULL,
target_parent = "P1",
other_parent = "P2",
G2_test = FALSE,
convert_palindrome_markers = TRUE,
LOD_threshold = 0,
ploidy,
ploidy2 = NULL,
pairing = c("random", "preferential"),
prefPars = c(0, 0),
combinations_per_iter = NULL,
iter_RAM = 500,
ncores = 1,
verbose = TRUE,
full_output = FALSE,
log = NULL
)
An integer matrix with markers in rows and individuals in columns.
A vector of length 2 specifying the first markertype to compare. The first element specifies the dosage in target_parent
, the second in other_parent
.
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 markertype1
.
The first element specifies the dosage in target_parent
, the second in other_parent
.
Character string specifying the target parent as provided in the columnnames of dosage_matrix
Character string specifying the other parent as provided in the columnnames of dosage_matrix
Apply a G2 test (LOD of independence) in addition to the LOD of linkage.
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.
Minimum LOD score of linkages to report. Recommended to use for large number (> millions) of marker comparisons in order to reduce memory usage.
Integer. The ploidy of parent 1. If parent 2 has the same ploidy level, then also the ploidy level of parent 2.
Integer, by default NULL
. If parental ploidies differ, use this to specify the ploidy of parent 2. Note that in cross-ploidy situations, ploidy2 must be smaller than ploidy.
Type of pairing. "random"
or "preferential"
.
The estimates for preferential pairing parameters for parent 1 and 2, in range 0 <= p < 2/3. By default this is c(0,0) (so, no preferential pairing).
See the function test_prefpairing
and the vignette for more details.
Optional integer. Number of marker combinations per iteration.
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.
Number of cores to use. Works both for Windows and UNIX (using doParallel
). Use parallel::detectCores()
to find out how many cores you have available.
Should messages be sent to stdout?
Logical, by default FALSE
. If TRUE
, the complete output over all phases and showing marker combination counts is returned.
Character string specifying the log filename to which standard output should be written. If NULL log is send to stdout.
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
# NOT RUN {
data("screened_data3")
SN_SN_P1 <- linkage(dosage_matrix = screened_data3,
markertype1 = c(1,0),
target_parent = "P1",
other_parent = "P2",
ploidy = 4,
pairing = "random",
ncores = 1
)
# }
Run the code above in your browser using DataLab