Ejemplo n.º 1
0
/**
 * Allocate new recalibration data.
 */
ERROR_CODE
recal_init_info(const int cycles, recal_info_t **out_data)
{
	recal_info_t *data;
	int vector_size = MAX_QUALITY - MIN_QUALITY;

	data = (recal_info_t *)malloc(sizeof(recal_info_t));

	//Struct initialization
	data->min_qual = MIN_QUALITY;
	data->num_quals = vector_size;
	data->num_cycles = cycles;
	data->num_dinuc = NUM_DINUC;

	//Total counters
	data->total_miss = 0;
	data->total_bases = 0;
	data->total_delta = 0;

	//Quality vectors
	new_vector(vector_size, SMOOTH_CONSTANT_MISS, &(data->qual_miss));
	new_vector(vector_size, SMOOTH_CONSTANT_BASES, &(data->qual_bases));
	new_vector_d(vector_size, 0.0, &(data->qual_delta));

	//Qual-Cycle matrix
	new_vector(vector_size * cycles, SMOOTH_CONSTANT_MISS, &(data->qual_cycle_miss));
	new_vector(vector_size * cycles, SMOOTH_CONSTANT_BASES, &(data->qual_cycle_bases));
	new_vector_d(vector_size * cycles, 0.0, &(data->qual_cycle_delta));

	//Qual-Dinuc matrix
	new_vector(vector_size * cycles, SMOOTH_CONSTANT_MISS, &(data->qual_dinuc_miss));
	new_vector(vector_size * cycles, SMOOTH_CONSTANT_BASES, &(data->qual_dinuc_bases));
	new_vector_d(vector_size * cycles, 0.0, &(data->qual_dinuc_delta));

	*out_data = data;

	return NO_ERROR;
}
Ejemplo n.º 2
0
eta_file* new_eta_file(int lp_rows) {
  eta_file* ef;
  int  i;

  ef = my_malloc(sizeof(eta_file));

  ef->lp_rows = lp_rows;

  ef->k = 0;

  ef->P = my_malloc(lp_rows*sizeof(int));

  ef->L = my_malloc(lp_rows*sizeof(eta_matrix*));
  for (i = 0; i < lp_rows; i ++) {
    ef->L[i] = new_eta_matrix(lp_rows);
  }
  ef->Ls = my_malloc(lp_rows*ETA_MAX*sizeof(eta_singleton*));
  for (i = 0; i < lp_rows*ETA_MAX; i ++) {
    ef->Ls[i] = new_eta_singleton();
  }

  ef->L_d = my_malloc(lp_rows*sizeof(eta_matrix_d*));
  for (i = 0; i < lp_rows; i ++) {
    ef->L_d[i] = new_eta_matrix_d(lp_rows);
  }
  ef->Ls_d = my_malloc(lp_rows*ETA_MAX*sizeof(eta_singleton_d*));
  for (i = 0; i < lp_rows*ETA_MAX; i ++) {
    ef->Ls_d[i] = new_eta_singleton_d();
  }

  ef->U = new_matrix(lp_rows, lp_rows);
  /* とりあえずこんだけ */

  ef->U_d = (EXLPvector_d**)my_malloc(lp_rows*sizeof(EXLPvector_d*));
  for (i = 0; i < lp_rows; i ++)
    ef->U_d[i] = new_vector_d(lp_rows);

  ef->Q = new_permutation_matrix(lp_rows);
  ef->R = new_permutation_matrix(lp_rows);

  return ef;
}