mirror of
https://github.com/lh3/minimap2.git
synced 2026-10-05 14:08:12 +08:00
refactored --junc-bed
This commit is contained in:
@@ -748,16 +748,16 @@ mm_idx_intv_t *mm_idx_read_bed(const mm_idx_t *mi, const char *fn, int read_junc
|
|||||||
return I;
|
return I;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mm_idx_bed_read(mm_idx_t *mi, const char *fn, int read_junc)
|
static mm_idx_intv_t *mm_idx_bed_read_core(const mm_idx_t *mi, const char *fn, int read_junc)
|
||||||
{
|
{
|
||||||
long n = 0, n0 = 0;
|
long n = 0, n0 = 0;
|
||||||
int32_t i;
|
int32_t i;
|
||||||
if (mi->h == 0) mm_idx_index_name(mi);
|
mm_idx_intv_t *I;
|
||||||
mi->I = mm_idx_read_bed(mi, fn, read_junc);
|
I = mm_idx_read_bed(mi, fn, read_junc);
|
||||||
if (mi->I == 0) return -1;
|
if (I == 0) return 0;
|
||||||
for (i = 0; i < mi->n_seq; ++i) {
|
for (i = 0; i < mi->n_seq; ++i) {
|
||||||
int32_t j, j0, k;
|
int32_t j, j0, k;
|
||||||
mm_idx_intv_t *intv = &mi->I[i];
|
mm_idx_intv_t *intv = &I[i];
|
||||||
n0 += intv->n;
|
n0 += intv->n;
|
||||||
radix_sort_bed(intv->a, intv->a + intv->n);
|
radix_sort_bed(intv->a, intv->a + intv->n);
|
||||||
for (j = 1, j0 = 0; j <= intv->n; ++j) {
|
for (j = 1, j0 = 0; j <= intv->n; ++j) {
|
||||||
@@ -777,6 +777,13 @@ int mm_idx_bed_read(mm_idx_t *mi, const char *fn, int read_junc)
|
|||||||
}
|
}
|
||||||
if (mm_verbose >= 3)
|
if (mm_verbose >= 3)
|
||||||
fprintf(stderr, "[%s] read %ld introns, %ld of which are non-redundant\n", __func__, n0, n);
|
fprintf(stderr, "[%s] read %ld introns, %ld of which are non-redundant\n", __func__, n0, n);
|
||||||
|
return I;
|
||||||
|
}
|
||||||
|
|
||||||
|
int mm_idx_bed_read(mm_idx_t *mi, const char *fn, int read_junc)
|
||||||
|
{
|
||||||
|
if (mi->h == 0) mm_idx_index_name(mi);
|
||||||
|
mi->I = mm_idx_bed_read_core(mi, fn, read_junc);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,11 @@ typedef struct {
|
|||||||
mm128_t *a;
|
mm128_t *a;
|
||||||
} mm_seg_t;
|
} mm_seg_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int32_t off, off2;
|
||||||
|
int32_t is_rev;
|
||||||
|
} mm_jjump1_t;
|
||||||
|
|
||||||
double cputime(void);
|
double cputime(void);
|
||||||
double realtime(void);
|
double realtime(void);
|
||||||
long peakrss(void);
|
long peakrss(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user