This commit is contained in:
chhylp123
2023-02-16 00:04:06 -05:00
parent f2da12a2ad
commit 286b897881
20 changed files with 66 additions and 18 deletions
+4
View File
@@ -1,3 +1,4 @@
#define __STDC_LIMIT_MACROS
#include <zlib.h> #include <zlib.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
@@ -54,6 +55,7 @@ static ko_longopt_t long_options[] = {
{ "s-base", ko_required_argument, 340}, { "s-base", ko_required_argument, 340},
{ "bin-only", ko_no_argument, 341}, { "bin-only", ko_no_argument, 341},
{ "ul-round", ko_required_argument, 342}, { "ul-round", ko_required_argument, 342},
{ "prt-raw", ko_no_argument, 343},
{ 0, 0, 0 } { 0, 0, 0 }
}; };
@@ -264,6 +266,7 @@ void init_opt(hifiasm_opt_t* asm_opt)
asm_opt->is_bub_trans = 1; asm_opt->is_bub_trans = 1;
asm_opt->bin_only = 0; asm_opt->bin_only = 0;
asm_opt->ul_clean_round = 1; asm_opt->ul_clean_round = 1;
asm_opt->prt_dbg_gfa = 0;
} }
void destory_enzyme(enzyme* f) void destory_enzyme(enzyme* f)
@@ -797,6 +800,7 @@ int CommandLine_process(int argc, char *argv[], hifiasm_opt_t* asm_opt)
} }
else if (c == 341) asm_opt->bin_only = 1; else if (c == 341) asm_opt->bin_only = 1;
else if (c == 342) asm_opt->ul_clean_round = atol(opt.arg); else if (c == 342) asm_opt->ul_clean_round = atol(opt.arg);
else if (c == 343) asm_opt->prt_dbg_gfa = 1;
else if (c == 'l') { ///0: disable purge_dup; 1: purge containment; 2: purge overlap else if (c == 'l') { ///0: disable purge_dup; 1: purge containment; 2: purge overlap
asm_opt->purge_level_primary = asm_opt->purge_level_trio = atoi(opt.arg); asm_opt->purge_level_primary = asm_opt->purge_level_trio = atoi(opt.arg);
} }
+3 -1
View File
@@ -1,10 +1,11 @@
#ifndef __COMMAND_LINE_PARSER__ #ifndef __COMMAND_LINE_PARSER__
#define __COMMAND_LINE_PARSER__ #define __COMMAND_LINE_PARSER__
#define __STDC_LIMIT_MACROS
#include <pthread.h> #include <pthread.h>
#include <stdint.h> #include <stdint.h>
#define HA_VERSION "0.18.6-r509" #define HA_VERSION "0.18.6-r513"
#define VERBOSE 0 #define VERBOSE 0
@@ -138,6 +139,7 @@ typedef struct {
uint8_t is_bub_trans; uint8_t is_bub_trans;
uint8_t bin_only; uint8_t bin_only;
int32_t ul_clean_round; int32_t ul_clean_round;
int32_t prt_dbg_gfa;
} hifiasm_opt_t; } hifiasm_opt_t;
extern hifiasm_opt_t asm_opt; extern hifiasm_opt_t asm_opt;
+22 -10
View File
@@ -1,3 +1,4 @@
#define __STDC_LIMIT_MACROS
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
@@ -15796,7 +15797,8 @@ int64_t extract_sub_cigar_err_rr(overlap_region *z, int64_t s, int64_t e, ul_ov_
int64_t wk = ovlp_cur_wid(*p), xk = ovlp_cur_xoff(*p), ck = ovlp_cur_coff(*p); int64_t wk = ovlp_cur_wid(*p), xk = ovlp_cur_xoff(*p), ck = ovlp_cur_coff(*p);
int64_t min_w = ovlp_min_wid(*p), max_w = ovlp_max_wid(*p);//[min_w, max_w] int64_t min_w = ovlp_min_wid(*p), max_w = ovlp_max_wid(*p);//[min_w, max_w]
bit_extz_t ez; window_list *m; int64_t bd = ovlp_bd(*p), s0, e0; bit_extz_t ez; window_list *m; int64_t bd = ovlp_bd(*p), s0, e0;
s0 = z->w_list.a[min_w].x_start + bd; e0 = z->w_list.a[max_w].x_end+1-bd; s0 = ((int64_t)(z->w_list.a[min_w].x_start)) + bd;
e0 = ((int64_t)(z->w_list.a[max_w].x_end))+1-bd;
if(s < s0) s = s0; if(e > e0) e = e0;///exclude boundary if(s < s0) s = s0; if(e > e0) e = e0;///exclude boundary
if(s >= e) return -1; if(s >= e) return -1;
@@ -15811,7 +15813,7 @@ int64_t extract_sub_cigar_err_rr(overlap_region *z, int64_t s, int64_t e, ul_ov_
xk = z->w_list.a[wk].x_start; ck = 0; xk = z->w_list.a[wk].x_start; ck = 0;
} }
while(wk <= max_w && z->w_list.a[wk].x_start < e) {///[s, e) while(wk <= max_w && z->w_list.a[wk].x_start < e) {///[s, e); [min_w, max_w]
m = &(z->w_list.a[wk]); m = &(z->w_list.a[wk]);
ws = m->x_start; we = m->x_end+1; ws = m->x_start; we = m->x_end+1;
os = MAX(s, ws); oe = MIN(e, we); os = MAX(s, ws); oe = MIN(e, we);
@@ -15851,6 +15853,7 @@ int64_t extract_sub_cigar_err_rr(overlap_region *z, int64_t s, int64_t e, ul_ov_
return err; return err;
} }
///[s, e)
uint64_t gen_region_phase_robust_rr(overlap_region* ol, uint64_t *id_a, uint64_t id_n, uint64_t s, uint64_t e, uint64_t dp, ul_ov_t *c_idx, asg64_v *buf) uint64_t gen_region_phase_robust_rr(overlap_region* ol, uint64_t *id_a, uint64_t id_n, uint64_t s, uint64_t e, uint64_t dp, ul_ov_t *c_idx, asg64_v *buf)
{ {
if(!id_n) return id_n; if(!id_n) return id_n;
@@ -16412,7 +16415,7 @@ void rphase_rr(overlap_region_alloc* ol, const ul_idx_t *uref, const ug_opt_t *u
m++; m++;
} }
z->w_list.n = m; z->w_list.n = m;
assert(zwn <= z->overlapLen); assert(zwn <= z->overlapLen);///zwn is the length with secondary-best alignment
z->align_length = z->overlapLen - zwn; z->align_length = z->overlapLen - zwn;
} }
} }
@@ -16799,7 +16802,7 @@ int64_t get_pe_diff(overlap_region *q, uint64_t *qmask, uint64_t qmask_n, overla
void retrieve_cigar_xcoord(bit_extz_t *ez, int64_t is, int64_t ie, int64_t *yk, int64_t *xk, int64_t *ck, int64_t *rxs, int64_t *rxe) void retrieve_cigar_xcoord(bit_extz_t *ez, int64_t is, int64_t ie, int64_t *yk, int64_t *xk, int64_t *ck, int64_t *rxs, int64_t *rxe)
{ {
if(!ez->cigar.n) return; if(!ez->cigar.n) return;
int64_t cn = ez->cigar.n, op; int64_t ws, we, ws0, we0; int64_t cn = ez->cigar.n, op; int64_t ws, we, ws0, we0, os, oe;
if(((*ck) < 0) || ((*ck) > cn)) {//(*ck) == cn is allowed if(((*ck) < 0) || ((*ck) > cn)) {//(*ck) == cn is allowed
(*ck) = 0; (*yk) = ez->ps; (*xk) = ez->ts; (*ck) = 0; (*yk) = ez->ps; (*xk) = ez->ts;
} }
@@ -16818,9 +16821,17 @@ void retrieve_cigar_xcoord(bit_extz_t *ez, int64_t is, int64_t ie, int64_t *yk,
if(op!=3) (*yk) += (ez->cigar.a[(*ck)]&(0x3fff)); if(op!=3) (*yk) += (ez->cigar.a[(*ck)]&(0x3fff));
if(op!=2) (*xk) += (ez->cigar.a[(*ck)]&(0x3fff)); if(op!=2) (*xk) += (ez->cigar.a[(*ck)]&(0x3fff));
we = (*yk); we0 = (*xk); we = (*yk); we0 = (*xk);
if(ws >= is && we <= ie) { if(ws >= is && we <= ie) {///the cigar is fully contained
if((*rxs) > ws0) (*rxs) = ws0; if((*rxs) > ws0) (*rxs) = ws0;
if((*rxe) < we0) (*rxe) = we0; if((*rxe) < we0) (*rxe) = we0;
} else if(op == 0 || op == 1) {///overlap, it is hard to handle indels
os = MAX(is, ws); oe = MIN(ie, we);
if(oe > os) {
ws0 += (os - ws);
we0 = ws0 + (oe - os);
if((*rxs) > ws0) (*rxs) = ws0;
if((*rxe) < we0) (*rxe) = we0;
}
} }
(*ck)++; (*ck)++;
} }
@@ -16904,7 +16915,7 @@ uint64_t extract_xcoordates(overlap_region *z, uint64_t *a, int64_t a_n, asg64_v
ovlp_cur_xoff(m) = z->w_list.a[w[0]].y_start; ///cur ypos ovlp_cur_xoff(m) = z->w_list.a[w[0]].y_start; ///cur ypos
ovlp_cur_coff(m) = 0; ///cur cigar off in cur window ovlp_cur_coff(m) = 0; ///cur cigar off in cur window
is = t[0]; ie = t[1]+1; is = t[0]; ie = t[1]+1; ///[is, ie)
for (a_z = a_i; a_z >= 0; a_z--) { for (a_z = a_i; a_z >= 0; a_z--) {
as = a[a_z]>>32; ae = (uint32_t)a[a_z]; as = a[a_z]>>32; ae = (uint32_t)a[a_z];
if(ae <= is) break; if(ae <= is) break;
@@ -17067,7 +17078,7 @@ void update_masks(asg64_v *in, overlap_region *qi, overlap_region *ti, int64_t b
} }
in_n1 = in->n; in_n1 = in->n;
radix_sort_bc64(in->a+in_n0, in->a+in_n1); radix_sort_bc64(in->a+in_n0, in->a+in_n1);///(uint32_t)in->a[]: 0-> original; 1-> mask
for (k = in_n0, dp = old_dp = dp_mask = old_dp_mask = 0, start = 0, end = -1; k < in_n1; ++k) {///[beg, end) but coordinates in idx is [, ] for (k = in_n0, dp = old_dp = dp_mask = old_dp_mask = 0, start = 0, end = -1; k < in_n1; ++k) {///[beg, end) but coordinates in idx is [, ]
///if idx->a.a[] is qe ///if idx->a.a[] is qe
old_dp = dp; old_dp_mask = dp_mask; old_dp = dp; old_dp_mask = dp_mask;
@@ -17150,7 +17161,8 @@ asg64_v* buf1, int64_t bd, ul_ov_t *res)
{ {
ul_ov_t *ref, r0, r1; uint32_t bn = buf->n, s, e; uint64_t is_exact = 0; ul_ov_t *ref, r0, r1; uint32_t bn = buf->n, s, e; uint64_t is_exact = 0;
overlap_region *q = &(a[qi]), *t = &(a[ti]); int64_t dis; overlap_region *q = &(a[qi]), *t = &(a[ti]); int64_t dis;
assert(q->y_id < t->y_id); assert(ovdb_idx < ov_db->n); assert(q->y_id < t->y_id);
assert(ovdb_idx < ov_db->n);///quickly jump to the related qn-tn pair ov_db[]
cal_x_ul_ovlp(ug, q, t, &r0); cal_x_ul_ovlp(ug, q, t, &r0);
r1 = r0; r1 = r0;
r1.qn = r0.tn; r1.tn = r0.qn; r1.qn = r0.tn; r1.tn = r0.qn;
@@ -17310,12 +17322,12 @@ int64_t rlen, mask_ul_ov_t *mk, idx_emask_t *mm, double len_diff)
///sort overlaps by yid for filtering ///sort overlaps by yid for filtering
kv_push(uint64_t, *idx, (((uint64_t)z->y_id)<<32)|((uint64_t)k)); kv_push(uint64_t, *idx, (((uint64_t)z->y_id)<<32)|((uint64_t)k));
} }
radix_sort_bc64(idx->a, idx->a+idx->n); radix_sort_bc64(idx->a, idx->a+idx->n); ///for filtering
radix_sort_bc64(buf->a, buf->a+buf->n);///sort by error; smaller first radix_sort_bc64(buf->a, buf->a+buf->n);///sort by error; smaller first
for (l = 0, k = 1; k <= buf->n; k++) { for (l = 0, k = 1; k <= buf->n; k++) {
if(k == buf->n || (buf->a[l]>>32) == (buf->a[k]>>32)) {///with equal number of normalized errors if(k == buf->n || (buf->a[l]>>32) == (buf->a[k]>>32)) {///with equal number of normalized errors
if((k - l) >1) { if((k - l) > 1) {
for (i = l; i < k; i++) { for (i = l; i < k; i++) {
z = &(ol->list[(uint32_t)buf->a[i]]); z = &(ol->list[(uint32_t)buf->a[i]]);
m0 = z->x_pos_e+1-z->x_pos_s; m0 = z->x_pos_e+1-z->x_pos_s;
+2
View File
@@ -1,5 +1,7 @@
#ifndef __CORRECT__ #ifndef __CORRECT__
#define __CORRECT__ #define __CORRECT__
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#include "Hash_Table.h" #include "Hash_Table.h"
#include "Levenshtein_distance.h" #include "Levenshtein_distance.h"
+1
View File
@@ -1,3 +1,4 @@
#define __STDC_LIMIT_MACROS
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
+2
View File
@@ -1,5 +1,7 @@
#ifndef __LEVENSHTEIN__ #ifndef __LEVENSHTEIN__
#define __LEVENSHTEIN__ #define __LEVENSHTEIN__
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#include "emmintrin.h" #include "emmintrin.h"
#include "nmmintrin.h" #include "nmmintrin.h"
+1
View File
@@ -1,6 +1,7 @@
#ifndef __OUTPUT__ #ifndef __OUTPUT__
#define __OUTPUT__ #define __OUTPUT__
#define __STDC_LIMIT_MACROS
#include<stdint.h> #include<stdint.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
+1 -1
View File
@@ -33703,7 +33703,7 @@ bub_label_t *b_mask_t, uint32_t is_trio, int32_t ul_aln_round, char *o_file, con
int32_t k, strl = strlen(bin_file)+1, kt, cl, sl; char *id = NULL; int32_t k, strl = strlen(bin_file)+1, kt, cl, sl; char *id = NULL;
renew_g(src, rev_src, n_read, readLen, cov, ruIndex, sg, mini_overlap_length, max_hang_length, renew_g(src, rev_src, n_read, readLen, cov, ruIndex, sg, mini_overlap_length, max_hang_length,
uopt, clean_round, min_ovlp_drop_ratio, max_ovlp_drop_ratio, asm_opt.max_short_tip, b_mask_t, uopt, clean_round, min_ovlp_drop_ratio, max_ovlp_drop_ratio, asm_opt.max_short_tip, b_mask_t,
is_trio, o_file, bin_file, (ul_aln_round<=1)?1:0, 1, 1); is_trio, o_file, bin_file, (ul_aln_round<=1)?1:0, 1, ((is_trio)?(0):(1))/**1**/);
gen_ug_opt_t(uopt, *src, *rev_src, max_hang_length, mini_overlap_length, gap_fuzz, min_dp, *readLen, gen_ug_opt_t(uopt, *src, *rev_src, max_hang_length, mini_overlap_length, gap_fuzz, min_dp, *readLen,
*cov, ruIndex, (asm_opt.max_short_tip*2), 0.15, 3, 0.05, 0.9, b_mask_t); *cov, ruIndex, (asm_opt.max_short_tip*2), 0.15, 3, 0.05, 0.9, b_mask_t);
ug_ext_gfa(uopt, *sg, ug_ext_len); ug_ext_gfa(uopt, *sg, ug_ext_len);
+2
View File
@@ -1,5 +1,7 @@
#ifndef __OVERLAPS__ #ifndef __OVERLAPS__
#define __OVERLAPS__ #define __OVERLAPS__
#define __STDC_LIMIT_MACROS
#include <stdio.h> #include <stdio.h>
#include <stdint.h> #include <stdint.h>
#include "kvec.h" #include "kvec.h"
+2
View File
@@ -1,5 +1,7 @@
#ifndef __POA_PARSER__ #ifndef __POA_PARSER__
#define __POA_PARSER__ #define __POA_PARSER__
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#include "Hash_Table.h" #include "Hash_Table.h"
#include "Process_Read.h" #include "Process_Read.h"
+1
View File
@@ -1,6 +1,7 @@
#ifndef __READ__ #ifndef __READ__
#define __READ__ #define __READ__
#define __STDC_LIMIT_MACROS
#include<stdint.h> #include<stdint.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
+2
View File
@@ -1,5 +1,7 @@
#ifndef __PURGEDUPS__ #ifndef __PURGEDUPS__
#define __PURGEDUPS__ #define __PURGEDUPS__
#define __STDC_LIMIT_MACROS
#include <stdio.h> #include <stdio.h>
#include <stdint.h> #include <stdint.h>
#include "kvec.h" #include "kvec.h"
+8 -2
View File
@@ -2568,6 +2568,13 @@ void post_rescue(ug_opt_t *uopt, asg_t *sg, ma_hit_t_alloc *src, ma_hit_t_alloc
uopt->min_ovlp, 10, uopt->gap_fuzz, b_mask_t, no_trio_recover); uopt->min_ovlp, 10, uopt->gap_fuzz, b_mask_t, no_trio_recover);
} }
void prt_dbg_gfa(ug_opt_t *uopt, asg_t *sg, char *o_file, const char *suffix)
{
char* gfa_name; MALLOC(gfa_name, strlen(o_file)+strlen(suffix)+50); sprintf(gfa_name, "%s.%s", o_file, suffix);
print_debug_gfa(sg, NULL, uopt->coverage_cut, gfa_name, uopt->sources, uopt->ruIndex, uopt->max_hang, uopt->min_ovlp, 0, 0, 1);
free(gfa_name);
}
void ul_clean_gfa(ug_opt_t *uopt, asg_t *sg, ma_hit_t_alloc *src, ma_hit_t_alloc *rev, R_to_U* rI, int64_t clean_round, double min_ovlp_drop_ratio, double max_ovlp_drop_ratio, void ul_clean_gfa(ug_opt_t *uopt, asg_t *sg, ma_hit_t_alloc *src, ma_hit_t_alloc *rev, R_to_U* rI, int64_t clean_round, double min_ovlp_drop_ratio, double max_ovlp_drop_ratio,
double ou_drop_rate, int64_t max_tip, int64_t gap_fuzz, bub_label_t *b_mask_t, int32_t is_ou, int32_t is_trio, uint32_t ou_thres, char *o_file) double ou_drop_rate, int64_t max_tip, int64_t gap_fuzz, bub_label_t *b_mask_t, int32_t is_ou, int32_t is_trio, uint32_t ou_thres, char *o_file)
{ {
@@ -2585,8 +2592,7 @@ double ou_drop_rate, int64_t max_tip, int64_t gap_fuzz, bub_label_t *b_mask_t, i
// exit(1); // exit(1);
// print_raw_u2rgfa_seq(&UL_INF, rI, 1); // print_raw_u2rgfa_seq(&UL_INF, rI, 1);
// exit(1); // exit(1);
if(asm_opt.prt_dbg_gfa) prt_dbg_gfa(uopt, sg, o_file, "raw");
// fprintf(stderr, "%.*s\tid::%u\tis_c::%u\n", // fprintf(stderr, "%.*s\tid::%u\tis_c::%u\n",
// (int)Get_NAME_LENGTH(R_INF, 10785), Get_NAME(R_INF, 10785), 10785, is_contain_r((*rI), 10785)); // (int)Get_NAME_LENGTH(R_INF, 10785), Get_NAME(R_INF, 10785), 10785, is_contain_r((*rI), 10785));
// fprintf(stderr, "%.*s\tid::%u\tis_c::%u\n", // fprintf(stderr, "%.*s\tid::%u\tis_c::%u\n",
+2
View File
@@ -1,5 +1,7 @@
#ifndef __HIC__ #ifndef __HIC__
#define __HIC__ #define __HIC__
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#include "Overlaps.h" #include "Overlaps.h"
+2
View File
@@ -1,5 +1,7 @@
#ifndef __HORDER__ #ifndef __HORDER__
#define __HORDER__ #define __HORDER__
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#include "hic.h" #include "hic.h"
+5 -4
View File
@@ -17753,7 +17753,7 @@ void gen_trans_base_count_comp(ug_trans_t *p, kv_u_trans_t *res)
double index_time = yak_realtime(); double index_time = yak_realtime();
// ha_flt_tab = NULL; // ha_flt_tab = NULL;
uint64_t i, k, l, occ, m, cc; kv_ul_ov_t *bl = NULL; uint64_t i, k, l, occ, m, cc; kv_ul_ov_t *bl = NULL;
u_trans_t *z; ha_mzl_t *tz; u_trans_t *z; ha_mzl_t *tz; double ww;
clean_u_trans_t_idx_adv(res, p->ug, p->rg); p->filter = res; clean_u_trans_t_idx_adv(res, p->ug, p->rg); p->filter = res;
// fprintf(stderr, "[M::%s::] ==> 0\n", __func__); // fprintf(stderr, "[M::%s::] ==> 0\n", __func__);
p->is_cnt = 1; p->is_ovlp = 0; p->is_cnt = 1; p->is_ovlp = 0;
@@ -17834,7 +17834,7 @@ void gen_trans_base_count_comp(ug_trans_t *p, kv_u_trans_t *res)
} }
} }
// fprintf(stderr, "[M::%s::] ==> 5\n", __func__); // fprintf(stderr, "[M::%s::] ==> 5\n", __func__);
kt_for(p->n_thread, worker_for_sysm_trans_ovlp, p, p->ug->u.n); // kt_for(p->n_thread, worker_for_sysm_trans_ovlp, p, p->ug->u.n);///not correct
// assert(p->srt_a.n <= p->ug->u.n); // assert(p->srt_a.n <= p->ug->u.n);
// radix_sort_ha_mzl_t_srt(p->srt_a.a, p->srt_a.a + p->srt_a.n); // radix_sort_ha_mzl_t_srt(p->srt_a.a, p->srt_a.a + p->srt_a.n);
kv_resize(u_trans_t, *res, occ); kv_resize(u_trans_t, *res, occ);
@@ -17846,13 +17846,14 @@ void gen_trans_base_count_comp(ug_trans_t *p, kv_u_trans_t *res)
assert(bl->a[k].qn == (tz->x>>32)); assert(bl->a[k].qn == (tz->x>>32));
for (; (k < bl->n) && (bl->a[k].qn == (tz->x>>32)); k++) { for (; (k < bl->n) && (bl->a[k].qn == (tz->x>>32)); k++) {
if(bl->a[k].qn == bl->a[k].tn) continue; if(bl->a[k].qn == bl->a[k].tn) continue;
if(bl->a[k].qs == (uint32_t)-1 && bl->a[k].qe == (uint32_t)-1) continue; ww = cal_trans_ov_w(&(bl->a[k]));
if(ww <= 0) continue;
kv_pushp(u_trans_t, *res, &z); kv_pushp(u_trans_t, *res, &z);
z->f = RC_3; z->rev = bl->a[k].rev; z->del = 0; z->f = RC_3; z->rev = bl->a[k].rev; z->del = 0;
z->qn = bl->a[k].qn; z->qs = bl->a[k].qs; z->qe = bl->a[k].qe; z->qn = bl->a[k].qn; z->qs = bl->a[k].qs; z->qe = bl->a[k].qe;
z->tn = bl->a[k].tn; z->ts = bl->a[k].ts; z->te = bl->a[k].te; z->tn = bl->a[k].tn; z->ts = bl->a[k].ts; z->te = bl->a[k].te;
z->nw = cal_trans_ov_w(&(bl->a[k])); assert(z->nw > 0); z->nw = ww;
// if(z->qn == 56 || z->qn == 160 || z->tn == 56 || z->tn == 160) { // if(z->qn == 56 || z->qn == 160 || z->tn == 56 || z->tn == 160) {
// fprintf(stderr, ">>>utg%.6u%c\t%u\t%u\t%u\t%c\tutg%.6u%c\t%u\t%u\t%u\tnw::%f\n", // fprintf(stderr, ">>>utg%.6u%c\t%u\t%u\t%u\t%c\tutg%.6u%c\t%u\t%u\t%u\tnw::%f\n",
// z->qn+1, "lc"[p->ug->u.a[z->qn].circ], p->ug->u.a[z->qn].len, z->qs, z->qe, "+-"[z->rev], // z->qn+1, "lc"[p->ug->u.a[z->qn].circ], p->ug->u.a[z->qn].len, z->qs, z->qe, "+-"[z->rev],
+1
View File
@@ -1,6 +1,7 @@
#ifndef KSW2_H_ #ifndef KSW2_H_
#define KSW2_H_ #define KSW2_H_
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#define KSW_NEG_INF -0x40000000 #define KSW_NEG_INF -0x40000000
+1
View File
@@ -1,3 +1,4 @@
#define __STDC_LIMIT_MACROS
#include <pthread.h> #include <pthread.h>
#include <stdlib.h> #include <stdlib.h>
#include <limits.h> #include <limits.h>
+2
View File
@@ -1,5 +1,7 @@
#ifndef __RCUT__ #ifndef __RCUT__
#define __RCUT__ #define __RCUT__
#define __STDC_LIMIT_MACROS
#include <stdio.h> #include <stdio.h>
#include <stdint.h> #include <stdint.h>
#include "kvec.h" #include "kvec.h"
+2
View File
@@ -1,5 +1,7 @@
#ifndef __TOVLP__ #ifndef __TOVLP__
#define __TOVLP__ #define __TOVLP__
#define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
#include "Overlaps.h" #include "Overlaps.h"