diff --git a/hic.cpp b/hic.cpp index f1513eb..a5afba0 100644 --- a/hic.cpp +++ b/hic.cpp @@ -12282,7 +12282,7 @@ kvec_t_u32_warp* result, uint32_t e_flag, uint32_t ava_flag, kvec_t_u32_warp* re void clean_bubble_chain_by_hic(ma_ug_t* ug, kv_u_trans_t *ta, bubble_type* bub) { - double index_time = yak_realtime(); + // double index_time = yak_realtime(); ma_ug_t *bs_ug = bub->b_ug; uint32_t v, u, i, m, max_i, nv, rv, n_vx, root, flag_pri = 1, flag_aux = 2, flag_ava = 4, occ; double w, cutoff = 2; @@ -12476,12 +12476,12 @@ void clean_bubble_chain_by_hic(ma_ug_t* ug, kv_u_trans_t *ta, bubble_type* bub) free(vis); free(is_vis); free(is_used); free(dedup); free(b.b.a); free(e_w); free(e_occ); kv_destroy(stack.a); kv_destroy(result.a); kv_destroy(res_utg.a); kv_destroy(edges.a); ma_ug_destroy(back_bs_ug); - fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); + // fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); } void append_boundary_chain_hic(ma_ug_t* ug, kv_u_trans_t *ta, bubble_type* bub) { - double index_time = yak_realtime(); + // double index_time = yak_realtime(); ma_ug_t *bs_ug = bub->b_ug; uint32_t v, u, i, k, beg_idx, m, nv, n_vx, flag_pri = 1, flag_aux = 2, flag_ava = 4; uint32_t root, rId_0, ori_0, root_0, new_bub; @@ -12591,7 +12591,7 @@ void append_boundary_chain_hic(ma_ug_t* ug, kv_u_trans_t *ta, bubble_type* bub) free(vis); free(is_vis); free(is_used); free(dedup); free(b.b.a); kv_destroy(stack.a); kv_destroy(result.a); kv_destroy(res_utg.a); kv_destroy(edges.a); - fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); + // fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); } double get_specific_hic_weight_by_chain(uint32_t uid, kv_u_trans_t *ta, uint8_t* vis, uint8_t flag) @@ -12697,7 +12697,7 @@ uint8_t* vis, uint32_t n_utg, uint32_t chain_id) void reorder_bubbles(bubble_type* bub, kv_u_trans_t *ta, uint32_t n_utg) { - double index_time = yak_realtime(); + // double index_time = yak_realtime(); uint8_t* vis = NULL; MALLOC(vis, n_utg); bub_sort_vec w_stack; kv_init(w_stack); uint32_t i; @@ -12709,20 +12709,16 @@ void reorder_bubbles(bubble_type* bub, kv_u_trans_t *ta, uint32_t n_utg) } free(vis); kv_destroy(w_stack); - fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); + // fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); } void update_trans_g(ha_ug_index* idx, kv_u_trans_t *ta, bubble_type* bub) { - double index_time = yak_realtime(); + // double index_time = yak_realtime(); update_bubble_chain(idx->ug, bub, 0, 1); - // print_debug_bubble_graph(bub, idx->ug, "bub-0"); - resolve_bubble_chain_tangle(idx->ug, bub); - // print_debug_bubble_graph(bub, idx->ug, "bub-1"); - clean_bubble_chain_by_hic(idx->ug, ta, bub); // print_debug_bubble_graph(bub, idx->ug, "bub-2"); @@ -12730,7 +12726,7 @@ void update_trans_g(ha_ug_index* idx, kv_u_trans_t *ta, bubble_type* bub) append_boundary_chain_hic(idx->ug, ta, bub); reorder_bubbles(bub, ta, idx->ug->g->n_seq); - fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); + // fprintf(stderr, "[M::%s::%.3f]\n", __func__, yak_realtime()-index_time); } uint32_t get_max_unitig(H_partition* h, G_partition* g_p, hc_links* link, bubble_type* bub) @@ -13931,11 +13927,11 @@ int hic_short_align(const enzyme *fn1, const enzyme *fn2, ha_ug_index* idx) } renew_kv_u_trans(&k_trans, &link, &sl.hits, &(idx->t_ch->k_trans), idx, &bub, s->s, 0); - if(bub.round_id == 0) init_phase(idx, &k_trans, &bub, s); + // if(bub.round_id == 0) init_phase(idx, &k_trans, &bub, s); update_trans_g(idx, &k_trans, &bub); /*******************************for debug************************************/ mc_solve(NULL, NULL, &k_trans, idx->ug, idx->read_g, 0.8, R_INF.trio_flag, - /**(bub.round_id == 0? 1 : 0)**/0, s->s, 0, /**&bub**/NULL); + (bub.round_id == 0? 1 : 0), s->s, 0, /**&bub**/NULL); /*******************************for debug************************************/ label_unitigs_sm(s->s, idx->ug); /** diff --git a/rcut.cpp b/rcut.cpp index 51b5e0c..4970fce 100644 --- a/rcut.cpp +++ b/rcut.cpp @@ -1187,13 +1187,13 @@ double mc_solve_bp_cc(mc_bp_t *bp) void mc_reset_z_all(const mc_match_t *ma, mc_svaux_t *b) { - t_w_t z[2]; + // t_w_t z[2]; uint32_t k; for (k = 0; k < ma->n_seq; ++k) { uint32_t o = ma->idx.a[k] >> 32; uint32_t j, n = (uint32_t)ma->idx.a[k]; - z[0] = b->z[k].z[0]; z[1] = b->z[k].z[1]; + // z[0] = b->z[k].z[0]; z[1] = b->z[k].z[1]; b->z[k].z[0] = b->z[k].z[1] = 0; for (j = 0; j < n; ++j) { const mc_edge_t *e = &ma->ma.a[o + j]; @@ -1201,8 +1201,8 @@ void mc_reset_z_all(const mc_match_t *ma, mc_svaux_t *b) if (b->s[t] > 0) b->z[k].z[0] += e->w; else if (b->s[t] < 0) b->z[k].z[1] += e->w; } - if(z[0] != b->z[k].z[0]) fprintf(stderr, "ERROR1-all\n"); - if(z[1] != b->z[k].z[1]) fprintf(stderr, "ERROR2-all\n"); + // if(z[0] != b->z[k].z[0]) fprintf(stderr, "ERROR1-all\n"); + // if(z[1] != b->z[k].z[1]) fprintf(stderr, "ERROR2-all\n"); } } @@ -1227,8 +1227,10 @@ void mc_solve_bp(mc_bp_t *bp) void print_sc(const mc_opt_t *opt, const mc_match_t *ma, mc_svaux_t *b, t_w_t sc_opt, uint32_t n_iter) { + t_w_t w = mc_score(ma, b); + if(w != sc_opt) fprintf(stderr, "ERROR\n"); fprintf(stderr, "# iter: %u, sc_opt: %f, sc-local: %f, sc-global: %f\n", - n_iter, sc_opt, mc_score(ma, b), mc_score_all(ma, b)); + n_iter, sc_opt, w, mc_score_all(ma, b)); } uint32_t mc_solve_cc(const mc_opt_t *opt, const mc_g_t *mg, mc_svaux_t *b, uint32_t cc_off, uint32_t cc_size)