Esempio n. 1
0
void est_map_4way(int *n_ind, int *n_mar, int *geno, double *rf1, double *rf2,
		  double *error_prob, double *loglik, int *maxit, 
		  double *tol, int *sexsp, int *verbose)
{
  if(*sexsp) 
    est_map(*n_ind, *n_mar, 4, geno, rf1, rf2, *error_prob, 
	    init_4way, emit_4way, step_4way, nrec_4way1, nrec_4way2, 
	    loglik, *maxit, *tol, *sexsp, *verbose);
  else
    est_map(*n_ind, *n_mar, 4, geno, rf1, rf2, *error_prob, 
	    init_4way, emit_4way, step_4way, nrec_4way, nrec_4way, 
	    loglik, *maxit, *tol, *sexsp, *verbose);

}
Esempio n. 2
0
void est_map_f2(int *n_ind, int *n_mar, int *geno, double *rf, 
		double *error_prob, double *loglik, int *maxit, 
		double *tol, int *verbose)
{
  est_map(*n_ind, *n_mar, 4, geno, rf, rf, *error_prob, 
	  init_f2b, emit_f2b, step_f2b, nrec_f2b, nrec_f2b,
	  loglik, *maxit, *tol, 0, *verbose);
}
Esempio n. 3
0
/* for estimating map, must do things with recombination fractions on the RIL scale */
void est_map_ri8IRIP3(int *n_ind, int *n_mar, int *geno, double *rf, 
		     double *error_prob, double *loglik, int *maxit, 
		     double *tol, int *verbose)
{
  est_map(*n_ind, *n_mar, 8, geno, rf, rf, *error_prob, 
	  init_ri8selfIRIP3, emit_ri8selfIRIP3, step_ri8selfIRIP3, nrec_bc, nrec_bc,
	  loglik, *maxit, *tol, 0, *verbose);
}
Esempio n. 4
0
/* for estimating map, must do things with recombination fractions on the RIL scale */
void est_map_ri8self(int *n_ind, int *n_mar, int *geno, double *rf, 
		     double *error_prob, double *loglik, int *maxit, 
		     double *tol, int *verbose)
{
  int i;

  /* expand rf */
  for(i=0; i< *n_mar-1; i++) rf[i] = rf[i]*(1.0-rf[i])/(1.0+2.0*rf[i]);

  est_map(*n_ind, *n_mar, 8, geno, rf, rf, *error_prob, 
	  init_ri8self, emit_ri8self, step_special_ri8self, nrec_bc, nrec_bc,
	  loglik, *maxit, *tol, 0, *verbose);

  /* contract rf */
  for(i=0; i< *n_mar-1; i++) rf[i] = 2.0-rf[i]-sqrt(rf[i]*rf[i]-5.0*rf[i]+4.0);
}