1 
2 #ifndef _biolibc_h_
3 #include "biolibc.h"
4 #endif
5 
6 typedef struct
7 {
8     char    *desc;
9     char    *seq;
10     size_t  desc_array_size,
11 	    seq_array_size,
12 	    desc_len,
13 	    seq_len;
14 }   bl_fasta_t;
15 
16 #define BL_FASTA_INIT           { NULL, NULL, 0, 0, 0, 0 }
17 #define BL_FASTA_LINE_UNLIMITED 0
18 
19 /*
20  *  Generated by /home/bacon/scripts/gen-get-set
21  *
22  *  Accessor macros.  Use these to access structure members from functions
23  *  outside the bl_fasta_t class.
24  *
25  *  These generated macros are not expected to be perfect.  Check and edit
26  *  as needed before adding to your code.
27   */
28 
29 #define BL_FASTA_DESC(ptr)              ((ptr)->desc)
30 #define BL_FASTA_DESC_AE(ptr,c)         ((ptr)->desc[c])
31 #define BL_FASTA_SEQ(ptr)               ((ptr)->seq)
32 #define BL_FASTA_SEQ_AE(ptr,c)          ((ptr)->seq[c])
33 #define BL_FASTA_DESC_ARRAY_SIZE(ptr)   ((ptr)->desc_array_size)
34 #define BL_FASTA_SEQ_ARRAY_SIZE(ptr)    ((ptr)->seq_array_size)
35 #define BL_FASTA_DESC_LEN(ptr)          ((ptr)->desc_len)
36 #define BL_FASTA_SEQ_LEN(ptr)           ((ptr)->seq_len)
37 
38 /* fasta.c */
39 int bl_fasta_read(FILE *fasta_stream, bl_fasta_t *record);
40 int bl_fasta_write(FILE *fasta_stream, bl_fasta_t *record, size_t chars_per_line);
41 void bl_fasta_free(bl_fasta_t *record);
42 void bl_fasta_init(bl_fasta_t *record);
43