File: cmappy.pxd

package info (click to toggle)
minimap2 2.17%2Bdfsg-12
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,204 kB
  • sloc: ansic: 8,653; javascript: 2,301; makefile: 130; python: 91; sh: 42; perl: 29
file content (136 lines) | stat: -rw-r--r-- 3,325 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
from libc.stdint cimport int8_t, uint8_t, int32_t, int64_t, uint32_t, uint64_t

cdef extern from "minimap.h":
	#
	# Options
	#
	ctypedef struct mm_idxopt_t:
		short k, w, flag, bucket_bits
		int mini_batch_size
		uint64_t batch_size

	ctypedef struct mm_mapopt_t:
		int64_t flag
		int seed
		int sdust_thres
		int max_qlen
		int bw
		int max_gap, max_gap_ref
		int max_frag_len
		int max_chain_skip, max_chain_iter
		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
		float min_join_flank_ratio
		int a, b, q, e, q2, e2
		int sc_ambi
		int noncan
		int junc_bonus
		int zdrop, zdrop_inv
		int end_bonus
		int min_dp_max
		int min_ksw_len
		int anchor_ext_len, anchor_ext_shift
		float max_clip_ratio
		int pe_ori, pe_bonus
		float mid_occ_frac
		int32_t min_mid_occ
		int32_t mid_occ
		int32_t max_occ
		int mini_batch_size
		int64_t max_sw_mat
		const char *split_prefix

	int mm_set_opt(char *preset, mm_idxopt_t *io, mm_mapopt_t *mo)
	int mm_verbose

	#
	# 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, flag
		uint32_t n_seq
		mm_idx_seq_t *seq
		uint32_t *S
		mm_idx_bucket_t *B
		void *km
		void *h

	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)

	int mm_idx_index_name(mm_idx_t *mi)

	#
	# Mapping (key struct defined in cmappy.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)
	void *mm_tbuf_get_km(mm_tbuf_t *b)
	int mm_gen_cs(void *km, char **buf, int *max_len, const mm_idx_t *mi, const mm_reg1_t *r, const char *seq, int no_iden)
	int mm_gen_MD(void *km, char **buf, int *max_len, const mm_idx_t *mi, const mm_reg1_t *r, const char *seq)

#
# Helper header (because it is hard to expose mm_reg1_t with Cython)
#
cdef extern from "cmappy.h":
	ctypedef struct mm_hitpy_t:
		const char *ctg
		int32_t ctg_start, ctg_end
		int32_t qry_start, qry_end
		int32_t blen, mlen, NM, ctg_len
		uint8_t mapq, is_primary
		int8_t strand, trans_strand
		int32_t seg_id
		int32_t n_cigar32
		uint32_t *cigar32

	void mm_reg2hitpy(const mm_idx_t *mi, mm_reg1_t *r, mm_hitpy_t *h)
	void mm_free_reg1(mm_reg1_t *r)
	mm_reg1_t *mm_map_aux(const mm_idx_t *mi, const char *seq1, const char *seq2, int *n_regs, mm_tbuf_t *b, const mm_mapopt_t *opt)
	char *mappy_fetch_seq(const mm_idx_t *mi, const char *name, int st, int en, int *l)
	mm_idx_t *mappy_idx_seq(int w, int k, int is_hpc, int bucket_bits, const char *seq, int l)

	ctypedef struct kstring_t:
		unsigned l, m
		char *s

	ctypedef struct kstream_t:
		pass

	ctypedef struct kseq_t:
		kstring_t name, comment, seq, qual
		int last_char
		kstream_t *f

	kseq_t *mm_fastx_open(const char *fn)
	void mm_fastx_close(kseq_t *ks)
	int kseq_read(kseq_t *seq)

	char *mappy_revcomp(int l, const uint8_t *seq)
	int mm_verbose_level(int v)
	void mm_reset_timer()