]> git.donarmstrong.com Git - fastq-tools.git/blob - src/swsse2/swstriped.h
3cab0ba7fa5cffa7155cade8b810df3d741e3e97
[fastq-tools.git] / src / swsse2 / swstriped.h
1 /******************************************************************
2   Copyright 2006 by Michael Farrar.  All rights reserved.
3   This program may not be sold or incorporated into a commercial product,
4   in whole or in part, without written consent of Michael Farrar.  For 
5   further information regarding permission for use or reproduction, please 
6   contact: Michael Farrar at farrar.michael@gmail.com.
7 *******************************************************************/
8
9 /*
10   Written by Michael Farrar, 2006.
11   Please send bug reports and/or suggestions to farrar.michael@gmail.com.
12 */
13
14 #ifndef INCLUDE_SWSTRIPED_H
15 #define INCLUDE_SWSTRIPED_H
16
17 #include <emmintrin.h>
18
19 #include "swsse2.h"
20 #include "fastalib.h"
21
22 SW_DATA *
23 swStripedInit (unsigned char   *querySeq,
24                int              queryLength,
25                signed char     *matrix);
26
27
28 void 
29 swStripedScan (unsigned char   *querySeq,
30                int              queryLength,
31                FASTA_LIB       *dbLib,
32                void            *swData,
33                SEARCH_OPTIONS  *options,
34                SCORE_LIST      *scores);
35
36                     
37 void
38 swStripedComplete (SW_DATA *pSwData);
39
40 int
41 swStripedWord (unsigned char   *querySeq,
42                int              queryLength,
43                unsigned char   *dbSeq,
44                int              dbLength,
45                unsigned short   gapOpen,
46                unsigned short   gapExtend,
47                __m128i         *queryProf,
48                __m128i         *pvH1,
49                __m128i         *pvH2,
50                __m128i         *pvE);
51
52
53 int
54 swStripedByte (unsigned char   *querySeq,
55                int              queryLength,
56                unsigned char   *dbSeq,
57                int              dbLength,
58                unsigned short   gapOpen,
59                unsigned short   gapExtend,
60                __m128i         *queryProf,
61                __m128i         *pvH1,
62                __m128i         *pvH2,
63                __m128i         *pvE,
64                unsigned short   bias);
65
66 typedef struct {
67     __m128i        *pvbQueryProf;
68     __m128i        *pvsQueryProf;
69     __m128i        *pvH1;
70     __m128i        *pvH2;
71     __m128i        *pvE;
72     unsigned char  *pData;
73     unsigned short  bias;
74 } SwStripedData;
75
76
77
78 #endif /* INCLUDE_SWSTRIPED_H */