mirror of
https://github.com/lh3/minimap2.git
synced 2026-09-22 16:28:12 +08:00
first python version
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
from libc.stdint cimport uint8_t, int32_t, int64_t, uint32_t, uint64_t
|
||||
|
||||
cdef extern from "minimap.h":
|
||||
#
|
||||
# Options
|
||||
#
|
||||
ctypedef struct mm_idxopt_t:
|
||||
short k, w, is_hpc, bucket_bits
|
||||
int mini_batch_size
|
||||
uint64_t batch_size
|
||||
|
||||
ctypedef struct mm_mapopt_t:
|
||||
int sdust_thres
|
||||
int flag
|
||||
int bw
|
||||
int max_gap, max_gap_ref
|
||||
int max_chain_skip
|
||||
int min_cnt
|
||||
int min_chain_score
|
||||
float mask_level
|
||||
float pri_ratio
|
||||
int best_n
|
||||
int max_join_long, max_join_short
|
||||
int min_join_flank_sc
|
||||
int a, b, q, e, q2, e2
|
||||
int noncan
|
||||
int zdrop
|
||||
int min_dp_max
|
||||
int min_ksw_len
|
||||
float mid_occ_frac
|
||||
int32_t mid_occ
|
||||
int mini_batch_size
|
||||
|
||||
int mm_set_opt(char *preset, mm_idxopt_t *io, mm_mapopt_t *mo)
|
||||
|
||||
#
|
||||
# Indexing
|
||||
#
|
||||
ctypedef struct mm_idx_seq_t:
|
||||
char *name
|
||||
uint64_t offset
|
||||
uint32_t len
|
||||
|
||||
ctypedef struct mm_idx_bucket_t:
|
||||
pass
|
||||
|
||||
ctypedef struct mm_idx_t:
|
||||
int32_t b, w, k, is_hpc
|
||||
uint32_t n_seq
|
||||
mm_idx_seq_t *seq
|
||||
uint32_t *S
|
||||
mm_idx_bucket_t *B
|
||||
void *km
|
||||
|
||||
ctypedef struct mm_idx_reader_t:
|
||||
pass
|
||||
|
||||
mm_idx_reader_t *mm_idx_reader_open(const char *fn, const mm_idxopt_t *opt, const char *fn_out)
|
||||
mm_idx_t *mm_idx_reader_read(mm_idx_reader_t *r, int n_threads)
|
||||
void mm_idx_reader_close(mm_idx_reader_t *r)
|
||||
void mm_idx_destroy(mm_idx_t *mi)
|
||||
void mm_mapopt_update(mm_mapopt_t *opt, const mm_idx_t *mi)
|
||||
|
||||
#
|
||||
# Mapping (key struct defined in cminimap2.h below)
|
||||
#
|
||||
ctypedef struct mm_reg1_t:
|
||||
pass
|
||||
|
||||
ctypedef struct mm_tbuf_t:
|
||||
pass
|
||||
|
||||
mm_tbuf_t *mm_tbuf_init()
|
||||
void mm_tbuf_destroy(mm_tbuf_t *b)
|
||||
mm_reg1_t *mm_map(const mm_idx_t *mi, int l_seq, const char *seq, int *n_regs, mm_tbuf_t *b, const mm_mapopt_t *opt, const char *name)
|
||||
|
||||
cdef extern from "cminimap2.h":
|
||||
ctypedef struct mm_hitpy_t:
|
||||
const char *ctg
|
||||
int32_t ctg_start, ctg_end
|
||||
int32_t qry_start, qry_end
|
||||
int32_t n_cigar32
|
||||
uint8_t strand, mapq, is_primary
|
||||
uint32_t *cigar32
|
||||
|
||||
mm_hitpy_t *mm_reg2hitpy(const mm_idx_t *mi, int n_regs, mm_reg1_t *regs)
|
||||
void mm_free_reg1(mm_reg1_t *r)
|
||||
Reference in New Issue
Block a user