upperband.h 963 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

#ifndef UPPERBAND_H_
#define UPPERBAND_H_

// TODO doc

#include <stdbool.h>
#include <stdio.h>

#include "obiblob.h"
#include "obiview.h"
#include "obidmscolumn.h"


typedef struct {
	unsigned char* table;      	// 4mer occurrence table built using the build_table function
	int32_t        over;        // count of 4mers with an occurrence greater than 255 (overflow)
} Kmer_table_t, *Kmer_table_p;


21 22
// TODO doc

23
Kmer_table_p hash_seq_column(Obiview_p view, OBIDMS_column_p seq_col, index_t seq_idx);
24 25
Kmer_table_p hash_two_seq_columns(Obiview_p view1, OBIDMS_column_p seq1_col, index_t seq1_idx,
								  Obiview_p view2, OBIDMS_column_p seq2_col, index_t seq2_idx);
26
void align_filters(Kmer_table_p ktable, Obi_blob_p seq1, Obi_blob_p seq2, index_t idx1, index_t idx2, double threshold, bool normalize, int reference, bool similarity_mode, double* score, int* LCSmin, bool can_be_identical);
27 28 29 30
void free_kmer_tables(Kmer_table_p ktable, size_t count);

#endif