⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug_funcs.c

📁 马尔科夫模型的java版本实现
💻 C
📖 第 1 页 / 共 2 页
字号:
{  int i,j;  struct letter_s *seqsp;  printf("seqs dump\n");  for(i = 0; i < seq_infop->nr_seqs; i++) {    seqsp = (seq_infop->seqs + i)->seq;    printf("seq_name = %s\n", (seq_infop->seqs + i)->name);    printf("seq_length = %d\n", (seq_infop->seqs + i)->length);    while(seqsp->letter[0] != '\0') {      j = 0;      while(seqsp->letter[j] != '\0') {	printf("%c", seqsp->letter[j]);	j++;      }      printf(";");      seqsp++;    }    printf("\n");  }}void dump_seqs_multi(struct sequences_multi_s *seq_infop){  int i,j,k;  struct letter_s *seqsp;    printf("multi alphabet seqs dump\n");  printf("nr_seqs = %d\n", seq_infop->nr_seqs);  printf("longest_seq = %d\n", seq_infop->longest_seq);  printf("shortest_seq = %d\n", seq_infop->shortest_seq);  printf("avg_seq_len = %d\n", seq_infop->avg_seq_len);  for(i = 0; i < seq_infop->nr_seqs; i++) {    for(k = 0; k < seq_infop->nr_alphabets; k++) {      if(k == 0) {	seqsp = (seq_infop->seqs + i)->seq_1;      }      if(k == 1) {	seqsp = (seq_infop->seqs + i)->seq_2;      }      if(k == 2) {	seqsp = (seq_infop->seqs + i)->seq_3;      }      if(k == 3) {	seqsp = (seq_infop->seqs + i)->seq_4;      }      printf("seq_name = %s\n", (seq_infop->seqs + i)->name);      printf("seq_length = %d\n", (seq_infop->seqs + i)->length);      while(seqsp->letter[0] != '\0') {	j = 0;	while(seqsp->letter[j] != '\0') {	  printf("%c", seqsp->letter[j]);	  j++;	}	printf(";");	seqsp++;      }      printf("\n");    }  }}void dump_labeled_seqs_multi(struct sequences_multi_s *seq_infop){  int i,j,k;  struct letter_s *seqsp;  printf("seqs dump\n");  for(i = 0; i < seq_infop->nr_seqs; i++) {    for(k = 0; k < seq_infop->nr_alphabets; k++) {      if(k == 0) {	seqsp = (seq_infop->seqs + i)->seq_1;      }      if(k == 1) {	seqsp = (seq_infop->seqs + i)->seq_2;      }      if(k == 2) {	seqsp = (seq_infop->seqs + i)->seq_3;      }      if(k == 3) {	seqsp = (seq_infop->seqs + i)->seq_4;      }      printf("seq_name = %s\n", (seq_infop->seqs + i)->name);      printf("seq_length = %d\n", (seq_infop->seqs + i)->length);      while(seqsp->letter[0] != '\0') {	j = 0;	while(seqsp->letter[j] != '\0') {	  printf("%c", seqsp->letter[j]);	  j++;	}	if(k == 0) {	  printf("/%c",seqsp->label);	}	printf(";");	seqsp++;      }      printf("\n");    }  }}void dump_labeled_seqs(struct sequences_s *seq_infop){  int i,j;  struct letter_s *seqsp;  printf("seqs dump\n");  for(i = 0; i < seq_infop->nr_seqs; i++) {    seqsp = (seq_infop->seqs + i)->seq;    printf("seq_name = %s\n", (seq_infop->seqs + i)->name);    printf("seq_length = %d\n", (seq_infop->seqs + i)->length);    while(seqsp->letter[0] != '\0') {      j = 0;      while(seqsp->letter[j] != '\0') {	printf("%c", seqsp->letter[j]);	j++;      }      printf("/%c",seqsp->label);      printf(";");      seqsp++;    }    printf("\n");  }}void dump_msa_seqs(struct msa_sequences_s *msa_seq_infop, int a_size){  int i,j;  int *cur_pos;  cur_pos = (int*)(msa_seq_infop->gaps + msa_seq_infop->msa_seq_length);  printf("msa seqs dump:\n");  printf("nr_seqs = %d\n", msa_seq_infop->nr_seqs);  printf("msa_seq_length = %d\n", msa_seq_infop->msa_seq_length);  printf("nr_lead_columns = %d\n", msa_seq_infop->nr_lead_columns);  for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {    printf("pos %d: ", i+1);    printf("\n");    printf("label: %c\n", (msa_seq_infop->msa_seq + get_mtx_index(i,0,a_size+1))->label);    for(j = 0; j < a_size+1; j++) {      printf("%f ",(msa_seq_infop->msa_seq + get_mtx_index(i,j,a_size+1))->nr_occurences);     }    printf("\n");    for(j = 0; j < a_size+1; j++) {      printf("%f ",(msa_seq_infop->msa_seq + get_mtx_index(i,j,a_size+1))->share);     }    printf("\n");    for(j = 0; j < a_size+1; j++) {      printf("%f ",(msa_seq_infop->msa_seq + get_mtx_index(i,j,a_size+1))->prior_share);     }    printf("\n");  }  printf("\n");  printf("gaps:\n");  for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {    printf("pos %d: ",i+1);    while(*cur_pos != END) {      printf("%d ", *cur_pos);      cur_pos++;    }    printf("\n");    cur_pos++;  }  printf("lead columns: ");  i = 0;  while(*(msa_seq_infop->lead_columns_start + i) != END) {    printf("%d ", *(msa_seq_infop->lead_columns_start + i));    i++;  }  printf("\n");  printf("gap_shares: ");  for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {    printf("%f ", *(msa_seq_infop->gap_shares + i));  }  printf("\n\n");}void dump_msa_seqs_multi(struct msa_sequences_multi_s *msa_seq_infop, struct hmm_multi_s *hmmp){  int i,j;  int *cur_pos;  cur_pos = (int*)(msa_seq_infop->gaps + msa_seq_infop->msa_seq_length);  printf("msa seqs dump:\n");  printf("nr_seqs = %d\n", msa_seq_infop->nr_seqs);  printf("msa_seq_length = %d\n", msa_seq_infop->msa_seq_length);  printf("nr_lead_columns = %d\n\n", msa_seq_infop->nr_lead_columns);    printf("Alphabet 1\n");  for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {    printf("pos %d: ", i+1);    printf("\n");    printf("label: %c\n", (msa_seq_infop->msa_seq_1 + get_mtx_index(i,0,hmmp->a_size+1))->label);    for(j = 0; j < hmmp->a_size+1; j++) {      printf("%f ",(msa_seq_infop->msa_seq_1 + get_mtx_index(i,j,hmmp->a_size+1))->nr_occurences);     }    printf("\n");    for(j = 0; j < hmmp->a_size+1; j++) {      printf("%f ",(msa_seq_infop->msa_seq_1 + get_mtx_index(i,j,hmmp->a_size+1))->share);     }    printf("\n");    for(j = 0; j < hmmp->a_size+1; j++) {      printf("%f ",(msa_seq_infop->msa_seq_1 + get_mtx_index(i,j,hmmp->a_size+1))->prior_share);     }    printf("\n");  }  printf("\n");    if(hmmp->nr_alphabets > 1) {    printf("Alphabet 2\n");    for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {      printf("pos %d: ", i+1);      printf("\n");      printf("label: %c\n", (msa_seq_infop->msa_seq_2 + get_mtx_index(i,0,hmmp->a_size_2+1))->label);      for(j = 0; j < hmmp->a_size_2+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_2 + get_mtx_index(i,j,hmmp->a_size_2+1))->nr_occurences);       }      printf("\n");      for(j = 0; j < hmmp->a_size_2+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_2 + get_mtx_index(i,j,hmmp->a_size_2+1))->share);       }      printf("\n");      for(j = 0; j < hmmp->a_size_2+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_2 + get_mtx_index(i,j,hmmp->a_size_2+1))->prior_share);       }      printf("\n");    }    printf("\n");  }  if(hmmp->nr_alphabets > 2) {    printf("Alphabet 3\n");    for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {      printf("pos %d: ", i+1);      printf("\n");      printf("label: %c\n", (msa_seq_infop->msa_seq_3 + get_mtx_index(i,0,hmmp->a_size_3+1))->label);      for(j = 0; j < hmmp->a_size_3+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_3 + get_mtx_index(i,j,hmmp->a_size_3+1))->nr_occurences);       }      printf("\n");      for(j = 0; j < hmmp->a_size_3+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_3 + get_mtx_index(i,j,hmmp->a_size_3+1))->share);       }      printf("\n");      for(j = 0; j < hmmp->a_size_3+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_3 + get_mtx_index(i,j,hmmp->a_size_3+1))->prior_share);       }      printf("\n");    }    printf("\n");  }  if(hmmp->nr_alphabets > 3) {    printf("Alphabet 4\n");    for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {      printf("pos %d: ", i+1);      printf("\n");      printf("label: %c\n", (msa_seq_infop->msa_seq_4 + get_mtx_index(i,0,hmmp->a_size_4+1))->label);      for(j = 0; j < hmmp->a_size_4+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_4 + get_mtx_index(i,j,hmmp->a_size_4+1))->nr_occurences);       }      printf("\n");      for(j = 0; j < hmmp->a_size_4+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_4 + get_mtx_index(i,j,hmmp->a_size_4+1))->share);       }      printf("\n");      for(j = 0; j < hmmp->a_size_4+1; j++) {	printf("%f ",(msa_seq_infop->msa_seq_4 + get_mtx_index(i,j,hmmp->a_size_4+1))->prior_share);       }      printf("\n");    }    printf("\n");  }    printf("gaps:\n");    for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {    printf("pos %d: ",i+1);    while(*cur_pos != END) {      printf("%d ", *cur_pos);      cur_pos++;    }    printf("\n");    cur_pos++;  }    printf("lead columns: ");  i = 0;  while(*(msa_seq_infop->lead_columns_start + i) != END) {    printf("%d ", *(msa_seq_infop->lead_columns_start + i));    i++;  }  printf("\n");  printf("gap_shares: ");  for(i = 0; i < msa_seq_infop->msa_seq_length; i++) {    printf("%f ", *(msa_seq_infop->gap_shares + i));  }  printf("\n\n");}void dump_replacement_letters(struct replacement_letter_s *replacement_letters, int a_size){  int i,j;  int nr_rows, nr_cols;  double *prob_mtx;  prob_mtx = replacement_letters->probs;  nr_rows = replacement_letters->nr_rl;  nr_cols = a_size;      printf("replacement letter dump:\n");  printf("nr_letters = %d\n", replacement_letters->nr_rl);  printf("letters: ");  for(i = 0; i < nr_rows;i++) {    printf("%c ", (*(replacement_letters->letters + i)));  }  printf("\nprobs:\n");  for(i = 0; i < nr_rows; i++) {    for(j = 0; j < nr_cols; j++) {      printf("%f  ", *prob_mtx);      prob_mtx++;;    }    printf("\n");  }  printf("\n");}void dump_replacement_letters_multi(struct replacement_letter_multi_s *replacement_letters, int alphabet, int a_size){  int i,j;  int nr_rows, nr_cols;  double *prob_mtx;  if(alphabet == 1) {    prob_mtx = replacement_letters->probs_1;    nr_rows = replacement_letters->nr_rl_1;  }  if(alphabet == 2) {    prob_mtx = replacement_letters->probs_2;    nr_rows = replacement_letters->nr_rl_2;  }  if(alphabet == 3) {    prob_mtx = replacement_letters->probs_3;    nr_rows = replacement_letters->nr_rl_3;  }  if(alphabet == 4) {    prob_mtx = replacement_letters->probs_4;    nr_rows = replacement_letters->nr_rl_4;  }  nr_cols = a_size;      printf("replacement letter dump:\n");  if(alphabet == 1) {    printf("nr_letters = %d\n", replacement_letters->nr_rl_1);  }  if(alphabet == 2) {    printf("nr_letters = %d\n", replacement_letters->nr_rl_2);  }  if(alphabet == 3) {    printf("nr_letters = %d\n", replacement_letters->nr_rl_3);  }  if(alphabet == 4) {    printf("nr_letters = %d\n", replacement_letters->nr_rl_4);  }  printf("letters: ");  for(i = 0; i < nr_rows;i++) {    if(alphabet == 1) {      printf("%c ", (*(replacement_letters->letters_1 + i)));    }    if(alphabet == 2) {      printf("%c ", (*(replacement_letters->letters_2 + i)));    }    if(alphabet == 3) {      printf("%c ", (*(replacement_letters->letters_3 + i)));    }    if(alphabet == 4) {      printf("%c ", (*(replacement_letters->letters_4 + i)));    }  }  printf("\nprobs:\n");  for(i = 0; i < nr_rows; i++) {    for(j = 0; j < nr_cols; j++) {      printf("%f  ", *prob_mtx);      prob_mtx++;;    }    printf("\n");  }  printf("\n");}void dump_calibration_matrix(int nr_rows, int nr_cols, int *mtx){  int i,j;  printf("calibration matrix dump:\n");  printf("nr rows: %d\n", nr_rows);  printf("nr columns: %d\n", nr_cols);  for(i = 0; i < nr_rows; i++) {    for(j = 0; j < nr_cols; j++) {      printf("%d  ", *mtx);      mtx++;    }    printf("\n");  }  printf("\n");}void dump_to_silent_trans_array(int nr_v, int **array){  int i;  int pos;  printf("To_silent_trans_array_dump:\n");  for(i = 0; i < nr_v; i++) {    printf("Transitions from vertex %d: ", i);    pos = 0;    while(*(*(array + i) + pos) != END) {      printf("%d ", *(*(array + i) + pos));      pos++;    }    printf("\n");  }  printf("\n");}void dump_aa_distrib_mtx(struct aa_distrib_mtx_s *aa_distrib_mtxp){  int i;  printf("aa_distrib_mtx_dump\n");  printf("a_size = %d\n", aa_distrib_mtxp->a_size);  for(i = 0; i < aa_distrib_mtxp->a_size;i++) {    printf("%f %f %f\n", *(aa_distrib_mtxp->inside_values + i), *(aa_distrib_mtxp->outside_values + i),	   *(aa_distrib_mtxp->membrane_values + i));  }}void dump_v_list(int *sorted_v_list){  int i = 0;  printf("v-list dump:\n");  while(*(sorted_v_list + i) != -99) {    if(*(sorted_v_list + i) == -9) {      printf(" | ");    }    else {      printf("%d ", *(sorted_v_list + i));    }    i++;  }  printf("\n");}void dump_labeling(char *labeling, int c){  int i;    printf("labeling dump:\n");  if(labeling == NULL) {    printf("NULL\n");    return;  }  for(i = 1; i <= c; i++) {    printf("%c",labeling[i]);  }  printf("\n");}void dump_label_tmp_list(int *list){  int i;  printf("label_list_dump: \n");    for(i = 0; list[i] != TOT_END;i++) {    printf("%d ",list[i]);  }  printf("\n");}void dump_labels(char *labels, int nr_labels){  int i;  printf("label_dump: \n");  for(i = 0; i < nr_labels; i++) {    printf("%c ", labels[i]);  }  printf("\n");}void check_for_corrupt_values(int nr_rows, int nr_cols, double *mtx, char *name){  int v,w;  int x;  /* test if this matrix contains strange values */  for(v = 0; v < nr_rows; v++) {    for(w = 0; w < nr_cols; w++) {      x = get_mtx_index(v,w,nr_cols);      if(*(mtx + x) < 0.0) {	printf("%s[%d][%d] = %f\n", name, v,w,*(mtx + x));	if(*(mtx + x) == 0.0) {	}      }      else if(!(*(mtx + x) <= 1000000000000.0)) {	printf("%s[%d][%d] = %f\n", name, v,w,*(mtx + x));      }      else {	//printf("%s[%d][%d] = %f\n", name, v,w,*(mtx + x));      }    }  } }void dump_weights(double *weights, int nr_seqs){  int i;  printf("weight dump:\n");  for(i = 0; i < nr_seqs; i++) {    printf("%f\n", *(weights + i));  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -