From 5715c423ff52c91e013fc5524f64e48927a2fa11 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Sun, 17 Sep 2017 15:21:36 -0400 Subject: [PATCH] exposed timer and verbose-level to mappy --- python/cmappy.h | 12 ++++++++++++ python/cmappy.pxd | 4 ++++ python/mappy.pyx | 8 +++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/python/cmappy.h b/python/cmappy.h index 127fc68..c696a80 100644 --- a/python/cmappy.h +++ b/python/cmappy.h @@ -55,4 +55,16 @@ static inline void mm_fastx_close(kseq_t *ks) gzclose(fp); } +static inline int mm_verbose_level(int v) +{ + if (v >= 0) mm_verbose = v; + return mm_verbose; +} + +static inline void mm_reset_timer(void) +{ + extern double realtime(void); + mm_realtime0 = realtime(); +} + #endif diff --git a/python/cmappy.pxd b/python/cmappy.pxd index b4f821d..5e797ef 100644 --- a/python/cmappy.pxd +++ b/python/cmappy.pxd @@ -32,6 +32,7 @@ cdef extern from "minimap.h": int mini_batch_size int mm_set_opt(char *preset, mm_idxopt_t *io, mm_mapopt_t *mo) + int mm_verbose # # Indexing @@ -106,3 +107,6 @@ cdef extern from "cmappy.h": kseq_t *mm_fastx_open(const char *fn) void mm_fastx_close(kseq_t *ks) int kseq_read(kseq_t *seq) + + int mm_verbose_level(int v) + void mm_reset_timer() diff --git a/python/mappy.pyx b/python/mappy.pyx index 0b56673..649526e 100644 --- a/python/mappy.pyx +++ b/python/mappy.pyx @@ -2,6 +2,8 @@ from libc.stdint cimport uint8_t, int8_t from libc.stdlib cimport free cimport cmappy +cmappy.mm_reset_timer() + cdef class Alignment: cdef int _ctg_len, _r_st, _r_en cdef int _q_st, _q_en @@ -139,7 +141,11 @@ def fastx_read(fn): ks = cmappy.mm_fastx_open(str.encode(fn)) if ks is NULL: return None while cmappy.kseq_read(ks) >= 0: - qual = None if ks.qual.l > 0: qual = str(ks.qual.s) + else qual = None yield str(ks.name.s), str(ks.seq.s), qual cmappy.mm_fastx_close(ks) + +def verbose(v=None): + if v is None: v = -1 + return cmappy.mm_verbose_level(v)