1 #ifndef _SEQMTRX_
2 
3 #define _SEQMTRX_
4 
5 #ifndef _NCBI_Seqres_
6 #include <objres.h>
7 #endif
8 
9 #ifndef _NCBI_Seq_
10 #include <objseq.h>
11 #endif
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /* defines */
18 
19 #define NA_MATRIX           0
20 #define NA_MATRIX_DONOR1    1
21 #define NA_MATRIX_DONOR2    2
22 #define NA_MATRIX_ACCEPT    3
23 #define NA_MATRIX_BRANCH    4
24 #define NA_MATRIX_HR        5
25 #define NA_MATRIX_USERDATA  6
26 
27 #define AA_MATRIX           100
28 
29 /* structures */
30 
31 typedef struct compilematrix
32 {
33   Int4    min;
34   Int4    max;
35   Int4    res[32];
36   struct  compilematrix PNTR next;
37 } ComMat, PNTR ComMatPtr;
38 
39 /* prototypes */
40 
41 extern ComMatPtr ComMatFree (ComMatPtr headcmtp);
42 extern ComMatPtr CompileMatrix (FloatHi scr[32][32], Int4 len, Int4 maxval);
43 extern void InvertMatrix (ComMatPtr cmtp, Int4 window);
44 extern Int4 ReadMatrix (CharPtr res, FloatHi scr[32][32],
45                         CharPtr filename);
46 
47 extern Int4 GridMatchSetUp (CharPtr seq);
48 extern Int4 GridMatch (CharPtr seqhead, Int4 cur, Int4 end, Int4 matlen,
49                        ComMatPtr cmtphead, Int4Ptr matval, Int4 maxval);
50 
51 extern SeqGraphPtr MatrixSeq (BioseqPtr bsp, SeqGraphPtr sgptr,
52                               ComMatPtr cmtp, Int4 window);
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif
59