bwa_perf/fmt_index.h

26 lines
917 B
C
Raw Normal View History

#ifndef FMT_INDEX_H_
#define FMT_INDEX_H_
#include "bwt.h"
// fm-index, extend twice in one search step (one memory access)
struct FMTIndex
{
bwtint_t primary; // S^{-1}(0), or the primary index of BWT
bwtint_t sec_primary; // second primary line
bwtint_t L2[5]; // C(), cumulative count
bwtint_t seq_len; // sequence length
bwtint_t bwt_size; // size of bwt, about seq_len/4
uint32_t *bwt; // BWT
// occurance array, separated to two parts
uint32_t cnt_table[5][256]; // 4对应原来的cnt_table0,1,2,3,分别对应该碱基的扩展
int sec_bcp; // base couple for sec primary line, AA=>0, AC=>1 ... TT=>15
int first_base; // 序列的第一个碱基2bit的int类型0,1,2,3
int last_base; // dollar转换成的base
// suffix array
int sa_intv;
bwtint_t n_sa;
uint8_t *sa;
};
#endif