fitstahl                 package:qtl                 R Documentation

_F_i_t _S_t_a_h_l _i_n_t_e_r_f_e_r_e_n_c_e _m_o_d_e_l

_D_e_s_c_r_i_p_t_i_o_n:

     Fit the Stahl model for crossover inference (or the chi-square
     model, which is a special case).

_U_s_a_g_e:

     fitstahl(cross, chr, m, p, error.prob=0.0001, maxit=4000, tol=1e-4,
              maxm=15, verbose=TRUE)

_A_r_g_u_m_e_n_t_s:

   cross: An object of class 'cross'. See 'read.cross' for details.

     chr: Optional vector indicating the chromosomes to consider. This
          should be a vector of character strings referring to
          chromosomes by name; numeric values are converted to strings.
           Refer to chromosomes with a preceding '-' to have all
          chromosomes but those considered.  A logical (TRUE/FALSE)
          vector may also be used.

       m: Interference parameter (a non-negative integer); if
          unspecified, this is estimated.

       p: The proportion of chiasmata coming from the no interference
          mechanism in the Stahl model (0 <= p <= 1).  p=0 gives the
          chi-square model.  If unspecified, this is estimated.

error.prob: The genotyping error probability.  If = NULL, it is
          estimated.

   maxit: Maximum number of iterations to perform.

     tol: Tolerance for determining convergence.

    maxm: Maximum value of m to consider, if m is unspecified.

 verbose: Logical; indicates whether to print tracing information.

_D_e_t_a_i_l_s:

     This function is currently only available for backcrosses and
     intercrosses. 

     The Stahl model of crossover interference (of which the chi-square
     model is a special case) is fit.      In the chi-square model,
     points are tossed down onto the four-strand bundle according to a
     Poisson process, and every (m+1)st point is a chiasma.  With the
     assumption of no chromatid interference, crossover locations on a
     random meiotic product are obtained by thinning the chiasma
     process. The parameter m (a non-negative integer) governs the
     strength of crossover interference, with m=0 corresponding to no
     interference. 

     In the Stahl model, chiasmata on the four-strand bundle are a
     superposition of chiasmata from two mechanisms, one following a
     chi-square model and one exhibiting no interference.  An
     additional parameter, p, gives the proportion of chiasmata from
     the no interference mechanism.

     If all of 'm', 'p', and 'error.prob' are specified, any of them
     with length > 1 must all have the same length.  

     If 'm' is unspecified, we do a grid search starting at 0 and stop
     when the likelihood decreases (thus assuming a single mode), or
     'maxm' is reached.

_V_a_l_u_e:

     A matrix with four columns: m, p, error.prob, and the log
     likelihood.

     If specific values for m, p, error.prob are provided, the log
     likelihood for each set are given.

     If some are left unspecified, the maximum likelihood estimates are
     provided in the results.

_A_u_t_h_o_r(_s):

     Karl W Broman, kbroman@biostat.wisc.edu

_R_e_f_e_r_e_n_c_e_s:

     Armstrong, N. J., McPeek, M. J. and Speed, T. P. (2006)
     Incorporating interference into linkage analysis for experimental
     crosses. _Biostatistics_ *7*, 374-386.

     Zhao, H., Speed, T. P. and McPeek, M. S. (1995) Statistical
     analysis of crossover interference using the chi-square model. 
     _Genetics_ *139*, 1045-1056.

_S_e_e _A_l_s_o:

     'est.map', 'sim.cross'

_E_x_a_m_p_l_e_s:

     # Simulate genetic map: one chromosome of length 200 cM with
     # a 2 cM marker spacing
     mymap <- sim.map(200, 51, TRUE, FALSE, FALSE, TRUE)

     # Simulate data under the chi-square model, no errors
     mydata <- sim.cross(mymap, n.ind=250, type="bc",
                         error.prob=0, m=3, p=0)

     # Fit the chi-square model for specified m's
     output <- fitstahl(mydata, m=1:5, p=0, error.prob=0)
     plot(output$m, output$loglik, lwd=2, type="b")

     # Find the MLE of m in the chi-square model
     ## Not run: mle <- fitstahl(mydata, p=0, error.prob=0)

     ## Not run: 
     # Simulate data under the Stahl model, no errors
     mydata <- sim.cross(mymap, n.ind=250, type="bc",
                         error.prob=0, m=3, p=0.1)

     # Find MLE of m for the Stahl model with known p 
     mle.stahl <- fitstahl(mydata, p=0.1, error.prob=0)

     # Fit the Stahl model with unknown p and m,
     # get results for m=0, 1, 2, ..., 8
     output <- fitstahl(mydata, m=0:8, error.prob=0)
     plot(output$m, output$loglik, type="b", lwd=2)## End(Not run)

