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