File: sequence.h

package info (click to toggle)
squizz 0.99b%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 6,648 kB
  • ctags: 8,291
  • sloc: sh: 12,012; ansic: 2,607; lex: 1,944; yacc: 1,659; makefile: 119
file content (41 lines) | stat: -rw-r--r-- 897 bytes parent folder | download | duplicates (2)
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
/* sequence.h - Generic sequence functions */

#ifndef __SEQUENCE_H_
#define __SEQUENCE_H_

#include <stdio.h>


/* Types definitions */

typedef struct {
  char *nam, *dsc, *str;
  char **acc, **kwd;
  size_t strlen;
  int ver, gi;
  int keycnt;
} sequence_t;

typedef enum {
  SEQFMT_UNKWN, SEQFMT_SPROT, SEQFMT_EMBL, SEQFMT_GENBANK, SEQFMT_CODATA,
  SEQFMT_NBRF, SEQFMT_GDE, SEQFMT_IG, SEQFMT_FASTA, SEQFMT_GCG, SEQFMT_RAW,
  SEQFMT_NONE } seqfmt_t;

typedef enum {
  SEQTYP_UNKWN, SEQTYP_NUC, SEQTYP_PRO, SEQTYP_NONE } seqtyp_t;

/* Functions prototypes */

sequence_t *sequence_new(void);
void sequence_free(sequence_t *);

sequence_t *sequence_parse(FILE *, seqfmt_t);
int sequence_check(FILE *, seqfmt_t);

int sequence_strict(sequence_t *);
void sequence_print(FILE *, sequence_t *, seqfmt_t);

seqfmt_t sequence_format(FILE *);
seqtyp_t sequence_type(char *);

#endif /* __SEQUENCE_H_ */