-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBW_preprocess.h
executable file
·63 lines (49 loc) · 2.46 KB
/
BW_preprocess.h
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
/*
bwa_gpu a set of tools which allow short sequence alignment using the Burrows-Wheeler
transform usign both CPU and GPU approaches.
Copyright (C) 2011 Jose Salavert Torres, Ignacio Blanquer Espert,
Andres Tomas Dominguez, Vicente Hernandez Garcia,
Ignacio Medina Castello, Joaquin Tarraga Gimenez,
Joaquin Dopazo Blazquez
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _BW_PREPROCESS_
#define _BW_PREPROCESS_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<limits.h>
#include"BW_io.h"
#define MAX_SEARCH 200
//--------------------------------------------------------------------------------------
// In case the build is being compiled with all optimizations disabled (ie: debug build)
// inline functions must be forward declared to enable the compiler to find the appropriate
// simbols to link into them on all the translation units.
// - Date: 14 / 11 / 2016
// - Who: Cesar
#ifdef __GNUC__
#ifdef __NO_INLINE__
unsigned int ternary_quicksort_start(unsigned int*, char*, unsigned int*, unsigned int, unsigned int, size_t);
void ternary_quicksort(unsigned int*, unsigned int*, int*, unsigned int, unsigned int, size_t);
#endif
#endif
void calculateBWT(byte_vector *B, comp_vector *S, byte_vector *X, int reverse, exome *ex, char *reference);
void calculateBWTdebug(byte_vector *B, comp_vector *S, byte_vector *X, int reverse);
void calculateR(comp_vector *S, comp_vector *R);
void calculateSRcomp(comp_vector *SR, comp_vector *SRcomp, unsigned int ratio);
void calculateC(vector *C, vector *C1, byte_vector *B, size_t offset);
void calculateO(comp_matrix *O, byte_vector *B);
int my_sort(const void *a, const void *b);
#endif