Wrapper for Clustal Omega.
[jabaws.git] / binaries / src / clustalo / src / squid / stockholm.h
1 #ifndef STOCKHOLM_H_INCLUDED
2 #define STOCKHOLM_H_INCLUDED
3
4 #include "gki.h"
5
6 typedef struct {
7   int   *linetype;              /* e.g. STOCKHOLM_GF_LINE; always valid */
8   int   *featurecode;           /* all markup codes: e.g. STOCKHOLM_GF_ID; 
9                                    nonmarkup: always set to STOCKHOLM_UNPARSED */
10   char **featurename;           /* all unparsed markup codes: string, e.g. "ID";
11                                    all other lines: NULL */
12   int   *seqidx;                /* all GS, GR, GC, sequence lines: which sequence;
13                                    other lines: 0 */
14   int   *len;                   /* all GR, GC, sequence lines: length of text field;
15                                    other lines: 0 */
16   char **text;                  /* all unparsed nonblank lines: rest of data
17                                    other lines: NULL */
18   int    nseqalloc;             /* current nseqs allocated for in aseqs and ainfo */
19   int    nlines;                /* number of lines in this skel */
20   int    nlinealloc;            /* current # of lines allocated for in this skel */
21   int    overall_line;          /* line # in file (important in files w/ >1 ali)*/
22 } alifile_skeleton;
23
24 #define STOCKHOLM_GF_LINE      0
25 #define STOCKHOLM_GS_LINE      1 
26 #define STOCKHOLM_GC_LINE      2
27 #define STOCKHOLM_GR_LINE      3
28 #define STOCKHOLM_SEQ_LINE     4
29 #define STOCKHOLM_BLANK_LINE   5
30 #define STOCKHOLM_COMMENT_LINE 6
31
32 #define STOCKHOLM_UNPARSED  0
33 #define STOCKHOLM_GF_ID     1
34 #define STOCKHOLM_GF_AC     2
35 #define STOCKHOLM_GF_DE     3
36 #define STOCKHOLM_GF_AU     4
37 #define STOCKHOLM_GF_GA     5
38 #define STOCKHOLM_GF_NC     6
39 #define STOCKHOLM_GF_TC     7
40 #define STOCKHOLM_GS_WT     100
41 #define STOCKHOLM_GS_AC     101
42 #define STOCKHOLM_GS_DE     102
43 #define STOCKHOLM_GC_CS     200
44 #define STOCKHOLM_GC_RF     201
45 #define STOCKHOLM_GR_SS     300
46 #define STOCKHOLM_GR_SA     301
47
48 #define SKEL_NSEQLUMP       10     /* allocate for new seqs in blocks of this size */
49 #define SKEL_LUMPSIZE       100    /* allocate for new lines in skel in blocks of this size */
50
51 #endif /*STOCKHOLM_H_INCLUDED*/