diff --git a/Assembly.cpp b/Assembly.cpp index e1bf52e..f43f486 100644 --- a/Assembly.cpp +++ b/Assembly.cpp @@ -1156,7 +1156,8 @@ int ha_assemble(void) if (asm_opt.load_index_from_disk && load_all_data_from_disk(&R_INF.paf, &R_INF.reverse_paf, asm_opt.output_file_name)) { ovlp_loaded = 1; fprintf(stderr, "[M::%s::%.3f*%.2f] ==> loaded corrected reads and overlaps from disk\n", __func__, yak_realtime(), yak_cpu_usage()); - if (!(asm_opt.flag & HA_F_SKIP_TRIOBIN)) ha_triobin(&asm_opt); + //if (!(asm_opt.flag & HA_F_SKIP_TRIOBIN)) ha_triobin(&asm_opt); + if (!(asm_opt.flag & HA_F_SKIP_TRIOBIN)&&!(asm_opt.flag&HA_F_VERBOSE_GFA)) ha_triobin(&asm_opt); if (asm_opt.flag & HA_F_WRITE_EC) Output_corrected_reads(); if (asm_opt.flag & HA_F_WRITE_PAF) Output_PAF(); } diff --git a/Overlaps.cpp b/Overlaps.cpp index a155c7c..4eae1f2 100644 --- a/Overlaps.cpp +++ b/Overlaps.cpp @@ -13467,9 +13467,10 @@ kvec_asg_arc_t_warp* new_rtg_edges) delete_useless_nodes(ug); - deduplicate(*ug, read_g, reverse_sources, 20, 100, 0.05, 0.2, ruIndex, 1); - - delete_useless_nodes(ug); + // purge_dups(*ug, read_g, coverage_cut, reverse_sources, ruIndex, new_rtg_edges, 0.75, 50, 50, 0.5, max_hang, + // min_ovlp, bubble_dist, drop_ratio, 1); + // deduplicate(*ug, read_g, reverse_sources, 20, 100, 0.05, 0.2, ruIndex, 1); + // delete_useless_nodes(ug); update_unitig_graph((*ug), read_g, reverse_sources, ruIndex, flag, drop_rate); @@ -13485,17 +13486,17 @@ kvec_asg_arc_t_warp* new_rtg_edges) renew_utg(ug, read_g, new_rtg_edges); + update_unitig_graph((*ug), read_g, reverse_sources, ruIndex, flag, drop_rate); + + renew_utg(ug, read_g, new_rtg_edges); + + delete_useless_nodes(ug); + purge_dups(*ug, read_g, coverage_cut, reverse_sources, ruIndex, new_rtg_edges, 0.75, 50, 50, 0.5, max_hang, + min_ovlp, bubble_dist, drop_ratio, 1); + delete_useless_nodes(ug); + + set_drop_trio_flag(*ug); - - - n_vtx = read_g->n_seq; - for (v = 0; v < n_vtx; v++) - { - if(read_g->seq[v].c == HAP_LABLE) - { - read_g->seq[v].c = PRIMARY_LABLE; - } - } /** kv_destroy(new_rtg_nodes.a); diff --git a/Purge_Dups.cpp b/Purge_Dups.cpp index 6588e38..0958404 100644 --- a/Purge_Dups.cpp +++ b/Purge_Dups.cpp @@ -3574,7 +3574,7 @@ uint32_t just_contain) asg_t *purge_g = NULL; purge_g = asg_init(); asg_t* nsg = ug->g; - uint32_t v, rId, uId, i, k, offset; + uint32_t v, rId, uId, i, offset; ma_utg_t* reads = NULL; // kvec_t_u64_warp u_vecs; @@ -3600,22 +3600,6 @@ uint32_t just_contain) asg_arc_t* p = NULL; int r; hap_alignment_struct_pip hap_buf; - - - - /****************************may have bugs********************************/ - for (v = 0; v < nsg->n_seq; ++v) - { - uId = v; - if(nsg->seq[uId].c != HAP_LABLE) continue; - reads = &(ug->u.a[uId]); - for (k = 0; k < reads->n; k++) - { - rId = reads->a[k]>>33; - read_g->seq[reads->a[k]>>33].c = HAP_LABLE; - } - } - /****************************may have bugs********************************/ for (v = 0; v < nsg->n_seq; v++) {