|
LIBRARY#include <biolibc/fasta.h> -lbiolibc -lxtend SYNOPSISint bl_fasta_read(bl_fasta_t *record, FILE *fasta_stream)ARGUMENTSfasta_stream FILE stream from which FASTA data are read record Pointer to a bl_fasta_t structure to receive data DESCRIPTIONRead a FASTA record from a FILE stream. Each record must begin with a description line (beginning with '>'), which is then followed by one or more lines of sequence data. The end of the sequence is marked either by the next description line or EOF. If desc_len and seq_len are 0 (e.g. the structure is initialized with BL_FASTA_INIT or bl_fasta_init(3), or has been freed with bl_fasta_free(3), then memory is allocated for the description and sequence.Otherwise, the existing allocated buffers are reused. Hence, when reading many FASTA records of the same length, only one allocation is needed. In any case, the buffers are automatically enlarged if they become full and automatically trimmed to the actual data size after reading is complete. Buffer memory should be freed as soon as possible by calling bl_fasta_free(3). RETURN VALUESBL_READ_OK upon successful read of description and sequence BL_READ_BAD_DATA if something is amiss with input format BL_READ_EOF if no more data are availableEXAMPLESbl_fasta_t rec = BL_FASTA_INIT; while ( bl_fasta_read(stdin, &rec) != BL_READ_EOF ) bl_fasta_write(stdout, &rec, BL_FASTA_LINE_UNLIMITED); bl_fasta_free(&rec); SEE ALSObl_fasta_write(3), bl_fastq_read(3), bl_fastq_write(3), bl_fasta_free(3) Visit the GSP FreeBSD Man Page Interface. |