est_rf_hmm_sequential | R Documentation |
Performs the multipoint analysis proposed by Mollinari and Garcia (2019) in a sequence of markers removing unlikely phases using sequential multipoint information.
est_rf_hmm_sequential(
input.seq,
twopt,
start.set = 4,
thres.twopt = 5,
thres.hmm = 50,
extend.tail = NULL,
phase.number.limit = 20,
sub.map.size.diff.limit = Inf,
info.tail = TRUE,
reestimate.single.ph.configuration = FALSE,
tol = 0.1,
tol.final = 0.001,
verbose = TRUE,
detailed.verbose = FALSE,
high.prec = FALSE
)
input.seq |
an object of class |
twopt |
an object of class |
start.set |
number of markers to start the phasing procedure (default = 4) |
thres.twopt |
the LOD threshold used to determine if the linkage
phases compared via two-point analysis should be considered
for the search space reduction (A.K.A. |
thres.hmm |
the LOD threshold used to determine if the linkage phases compared via hmm analysis should be evaluated in the next round of marker inclusion (default = 50) |
extend.tail |
the length of the chain's tail that should
be used to calculate the likelihood of the map. If |
phase.number.limit |
the maximum number of linkage phases of the sub-maps defined
by arguments |
sub.map.size.diff.limit |
the maximum accepted length
difference between the current and the previous sub-map defined
by arguments |
info.tail |
if |
reestimate.single.ph.configuration |
logical. If |
tol |
the desired accuracy during the sequential phase (default = 10e-02) |
tol.final |
the desired accuracy for the final map (default = 10e-04) |
verbose |
If |
detailed.verbose |
If |
high.prec |
logical. If |
This function sequentially includes markers into a map given an
ordered sequence. It uses two-point information to eliminate
unlikely linkage phase configurations given thres.twopt
. The
search is made within a window of size extend.tail
. For the
remaining configurations, the HMM-based likelihood is computed and
the ones that pass the HMM threshold (thres.hmm
) are eliminated.
A list of class mappoly.map
with two elements:
i) info: a list containing information about the map, regardless of the linkage phase configuration:
ploidy |
the ploidy level |
n.mrk |
number of markers |
seq.num |
a vector containing the (ordered) indices of markers in the map, according to the input file |
mrk.names |
the names of markers in the map |
seq.dose.p1 |
a vector containing the dosage in parent 1 for all markers in the map |
seq.dose.p2 |
a vector containing the dosage in parent 2 for all markers in the map |
chrom |
a vector indicating the sequence (usually chromosome) each marker belongs
as informed in the input file. If not available,
|
genome.pos |
physical position (usually in megabase) of the markers into the sequence |
seq.ref |
reference base used for each marker (i.e. A, T, C, G). If not available,
|
seq.alt |
alternative base used for each marker (i.e. A, T, C, G). If not available,
|
chisq.pval |
a vector containing p-values of the chi-squared test of Mendelian segregation for all markers in the map |
data.name |
name of the dataset of class |
ph.thres |
the LOD threshold used to define the linkage phase configurations to test |
ii) a list of maps with possible linkage phase configuration. Each map in the list is also a list containing
seq.num |
a vector containing the (ordered) indices of markers in the map, according to the input file |
seq.rf |
a vector of size ( |
seq.ph |
linkage phase configuration for all markers in both parents |
loglike |
the hmm-based multipoint likelihood |
Marcelo Mollinari, mmollin@ncsu.edu
Mollinari, M., and Garcia, A. A. F. (2019) Linkage analysis and haplotype phasing in experimental autopolyploid populations with high ploidy level using hidden Markov models, _G3: Genes, Genomes, Genetics_. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1534/g3.119.400378")}
mrk.subset <- make_seq_mappoly(hexafake, 1:20)
red.mrk <- elim_redundant(mrk.subset)
unique.mrks <- make_seq_mappoly(red.mrk)
subset.pairs <- est_pairwise_rf(input.seq = unique.mrks,
ncpus = 1,
verbose = TRUE)
subset.map <- est_rf_hmm_sequential(input.seq = unique.mrks,
thres.twopt = 5,
thres.hmm = 10,
extend.tail = 10,
tol = 0.1,
tol.final = 10e-3,
phase.number.limit = 5,
twopt = subset.pairs,
verbose = TRUE)
print(subset.map, detailed = TRUE)
plot(subset.map)
plot(subset.map, left.lim = 0, right.lim = 1, mrk.names = TRUE)
plot(subset.map, phase = FALSE)
## Retrieving simulated linkage phase
ph.P <- maps.hexafake[[1]]$maps[[1]]$seq.ph$P
ph.Q <- maps.hexafake[[1]]$maps[[1]]$seq.ph$Q
## Estimated linkage phase
ph.P.est <- subset.map$maps[[1]]$seq.ph$P
ph.Q.est <- subset.map$maps[[1]]$seq.ph$Q
compare_haplotypes(ploidy = 6, h1 = ph.P[names(ph.P.est)], h2 = ph.P.est)
compare_haplotypes(ploidy = 6, h1 = ph.Q[names(ph.Q.est)], h2 = ph.Q.est)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.