📄 debug_funcs.c
字号:
{ 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 + -