mirror of
https://github.com/chhylp123/hifiasm.git
synced 2026-10-03 10:58:12 +08:00
backup trans_chain
This commit is contained in:
@@ -12115,32 +12115,24 @@ bub_label_t* b_mask_t)
|
||||
ma_ug_t *copy_ug = copy_untig_graph(ug);
|
||||
///asm_opt.purge_overlap_len = asm_opt.purge_overlap_len_hic;
|
||||
///asm_opt.purge_simi_thres = asm_opt.purge_simi_rate_hic;
|
||||
fprintf(stderr, "sb0sb\n");
|
||||
adjust_utg_by_primary(©_ug, copy_sg, TRIO_THRES, sources, reverse_sources, coverage_cut,
|
||||
tipsLen, tip_drop_ratio, stops_threshold, ruIndex, chimeric_rate, drop_ratio,
|
||||
max_hang, min_ovlp, &new_rtg_edges, &cov, b_mask_t, 1);
|
||||
fprintf(stderr, "sb1sb\n");
|
||||
ma_ug_destroy(copy_ug);
|
||||
asg_destroy(copy_sg);
|
||||
|
||||
fprintf(stderr, "sb2sb\n");
|
||||
ma_ug_print_bed(ug, sg, &R_INF, coverage_cut, sources, &new_rtg_edges,
|
||||
max_hang, min_ovlp, asm_opt.hic_inconsist_rate, NULL, NULL, cov);
|
||||
fprintf(stderr, "sb3sb\n");
|
||||
|
||||
|
||||
|
||||
|
||||
fprintf(stderr, "sb4sb\n");
|
||||
new_rtg_edges.a.n = 0;
|
||||
ma_ug_seq(ug, sg, &R_INF, coverage_cut, sources, &new_rtg_edges, max_hang, min_ovlp);
|
||||
///classify_untigs(ug, sg, coverage_cut, sources, reverse_sources, ruIndex, &new_rtg_edges, max_hang, min_ovlp);
|
||||
fprintf(stderr, "sb5sb\n");
|
||||
|
||||
hic_analysis(ug, sg, cov);
|
||||
|
||||
fprintf(stderr, "sb6sb\n");
|
||||
|
||||
destory_hap_cov_t(&cov);
|
||||
ma_ug_destroy(ug);
|
||||
kv_destroy(new_rtg_edges.a);
|
||||
@@ -28895,11 +28887,6 @@ void flat_bubbles(asg_t *sg, uint8_t* r_het)
|
||||
{
|
||||
asg_bub_pop1_primary_trio(ug->g, NULL, v, tLen, &b, (uint32_t)-1, (uint32_t)-1, 1, NULL, NULL, NULL, 0);
|
||||
n_pop++;
|
||||
// if(ug->g->seq[2031].c == ALTER_LABLE)
|
||||
// {
|
||||
// fprintf(stderr, "######round: %u, s-utg%.6ul, e-utg%.6ul\n",
|
||||
// round, (v>>1)+1, (b.S.a[0]>>1)+1);
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-48
@@ -4326,50 +4326,6 @@ hap_cov_t *cov)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
void collect_reverse_unitig_pair(hc_links* link, ma_ug_t *ug, hap_overlaps* t)
|
||||
{
|
||||
uint32_t i = 0, k = 0, rId_0, rId_1, pre_0, pre_1, b_0 = t->xUid, b_1 = t->yUid;
|
||||
uint64_t d = RC_2;
|
||||
ma_utg_t* u_b_0 = &(ug->u.a[b_0]);
|
||||
ma_utg_t* u_b_1 = &(ug->u.a[b_1]);
|
||||
if(u_b_0->n == 0) return;
|
||||
if(u_b_1->n == 0) return;
|
||||
|
||||
for (i = t->x_beg_id, pre_0 = (uint32_t)-1; i < t->x_end_id; i++)
|
||||
{
|
||||
rId_0 = u_b_0->a[i]>>33;
|
||||
if(link->u_idx[rId_0] == (uint32_t)-1) continue;
|
||||
if(pre_0 == link->u_idx[rId_0]) continue;
|
||||
pre_0 = link->u_idx[rId_0];
|
||||
|
||||
for (k = t->y_beg_id, pre_1 = (uint32_t)-1; k < t->y_end_id; k++)
|
||||
{
|
||||
rId_1 = u_b_1->a[k]>>33;
|
||||
if(link->u_idx[rId_1] == (uint32_t)-1) continue;
|
||||
if(pre_1 == link->u_idx[rId_1]) continue;
|
||||
pre_1 = link->u_idx[rId_1];
|
||||
push_hc_edge(&(link->a.a[pre_0]), pre_1, 1, 1, &d);
|
||||
push_hc_edge(&(link->a.a[pre_1]), pre_0, 1, 1, &d);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void collect_reverse_unitigs_purge(buf_t* b_0, hc_links* link, ma_ug_t *ug, hap_overlaps_list* all_ovlp)
|
||||
{
|
||||
if(b_0->b.n <= 1) return;
|
||||
uint32_t k;
|
||||
int index = 0;
|
||||
for (k = 0; k < b_0->b.n - 1; k++)
|
||||
{
|
||||
index = get_specific_hap_overlap(&(all_ovlp->x[b_0->b.a[k]>>1]), b_0->b.a[k]>>1, b_0->b.a[k+1]>>1);
|
||||
if(index == -1) continue;
|
||||
collect_reverse_unitig_pair(link, ug, &(all_ovlp->x[b_0->b.a[k]>>1].a.a[index]));
|
||||
}
|
||||
}
|
||||
**/
|
||||
|
||||
void print_het_ovlp(p_g_t *pg, ma_ug_t *ug, hap_overlaps_list* ha, double filter_rate)
|
||||
{
|
||||
uint32_t v, i, k, n_vtx = pg->pg_h_lev->n_seq * 2, nv, qn, qs, qe, tn, ts, te, as, ae, occ, ovlp, hetLen, homLen;
|
||||
@@ -4530,7 +4486,6 @@ void print_het_ovlp(p_g_t *pg, ma_ug_t *ug, hap_overlaps_list* ha, double filter
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void link_unitigs(asg_t *purge_g, ma_ug_t *ug, hap_overlaps_list* all_ovlp,
|
||||
R_to_U* ruIndex, ma_hit_t_alloc* reverse_sources, ma_sub_t *coverage_cut, asg_t *read_g,
|
||||
uint64_t* position_index, kvec_asg_arc_t_offset* u_buffer, kvec_t_i32_warp* tailIndex,
|
||||
@@ -5543,9 +5498,9 @@ void collect_purge_trans_cov(ma_ug_t *ug, hap_overlaps_list* ha, trans_chain* t_
|
||||
{
|
||||
for (i = 0; i < ha->x[v].a.n; i++)
|
||||
{
|
||||
if(x->yUid < x->xUid) continue;
|
||||
x = &(ha->x[v].a.a[i]);
|
||||
|
||||
if(x->yUid < x->xUid) continue;
|
||||
|
||||
q = &(ug->u.a[x->xUid]); s = x->x_beg_id; e = x->x_end_id; o = 0;
|
||||
for (k = s, p_uId = (uint32_t)-1; k < e; k++)
|
||||
{
|
||||
@@ -5755,7 +5710,6 @@ uint32_t just_coverage, hap_cov_t *cov, uint32_t collect_p_trans)
|
||||
destory_hap_overlaps_list(&back_all_ovlp);
|
||||
if(cov) memset(position_index, -1, sizeof(uint64_t)*read_g->n_seq);
|
||||
else free(position_index);
|
||||
|
||||
destory_hap_alignment_struct_pip(&hap_buf);
|
||||
destory_p_g_t(&pg);
|
||||
}
|
||||
|
||||
@@ -3796,15 +3796,6 @@ void write_hc_links(hc_links* link, const char *fn)
|
||||
|
||||
fwrite(&link->enzymes.n, sizeof(link->enzymes.n), 1, fp);
|
||||
fwrite(link->enzymes.a, sizeof(uint64_t), link->enzymes.n, fp);
|
||||
// fwrite(&link->r_num, sizeof(link->r_num), 1, fp);
|
||||
// fwrite(link->u_idx, sizeof(uint32_t), 1, fp);
|
||||
|
||||
// fwrite(&(link->bed.n), sizeof(link->bed.n), 1, fp);
|
||||
// for (k = 0; k < link->bed.n; k++)
|
||||
// {
|
||||
// fwrite(&(link->bed.a[k].n), sizeof(link->bed.a[k].n), 1, fp);
|
||||
// fwrite(link->bed.a[k].a, sizeof(uint64_t)*link->bed.a[k].n, 1, fp);
|
||||
// }
|
||||
|
||||
fclose(fp);
|
||||
free(buf);
|
||||
@@ -3844,21 +3835,6 @@ int load_hc_links(hc_links* link, const char *fn)
|
||||
flag += fread(&link->enzymes.n, sizeof(link->enzymes.n), 1, fp);
|
||||
link->enzymes.m = link->enzymes.n; MALLOC(link->enzymes.a, link->enzymes.n);
|
||||
flag += fread(link->enzymes.a, sizeof(uint64_t), link->enzymes.n, fp);
|
||||
// fread(&link->r_num, sizeof(link->r_num), 1, fp);
|
||||
// MALLOC(link->u_idx, link->r_num);
|
||||
// fread(link->u_idx, sizeof(uint32_t), 1, fp);
|
||||
|
||||
// kv_init(link->bed);
|
||||
// flag += fread(&(link->bed.n), sizeof(link->bed.n), 1, fp);
|
||||
// link->bed.m = link->bed.n; CALLOC(link->bed.a, link->bed.n);
|
||||
// for (k = 0; k < link->bed.n; k++)
|
||||
// {
|
||||
// flag += fread(&(link->bed.a[k].n), sizeof(link->bed.a[k].n), 1, fp);
|
||||
// link->bed.a[k].m = link->bed.a[k].n; MALLOC(link->bed.a[k].a, link->bed.a[k].n);
|
||||
// flag += fread(link->bed.a[k].a, sizeof(uint64_t)*link->bed.a[k].n, 1, fp);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
fclose(fp);
|
||||
free(buf);
|
||||
|
||||
Reference in New Issue
Block a user