home | help
bl_fastq_read(3)	    Library Functions Manual		bl_fastq_read(3)

NAME
     bl_fastq_read() - Read a FASTQ record

LIBRARY
     #include <biolibc/fastq.h>
     -lbiolibc -lxtend

SYNOPSIS
     int     bl_fastq_read(bl_fastq_t *record, FILE *fastq_stream)

ARGUMENTS
     fastq_stream    FILE stream from which FASTQ data are read
     record	     Pointer to a bl_fastq_t structure to receive data

DESCRIPTION
     Read  a FASTQ record from a FILE stream.  Each record must begin with a de-
     scription line (beginning with '@'), which is then followed by one or  more
     lines  of sequence data, a separator line beginning with '+', and a line of
     quality scores.  The end of the sequence is marked either by the  next  de-
     scription	line  or EOF.  If desc_len and seq_len are 0 (e.g. the structure
     is initialized with BL_FASTQ_INIT or bl_fastq_init(3), has been freed  with
     bl_fastq_free(3), then memory is allocated for each line.

     Otherwise,  the existing allocated buffers are reused.  Hence, when reading
     many FASTQ 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_fastq_free(3).

RETURN VALUES
     BL_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 available

EXAMPLES
     bl_fastq_t  rec = BL_FASTQ_INIT;

     while ( bl_fastq_read(stdin, &rec) != BL_READ_EOF )
	 bl_fastq_write(stdout, &rec, BL_FASTQ_LINE_UNLIMITED);
     bl_fastq_free(&rec);

SEE ALSO
     bl_fastq_write(3), bl_fastq_read(3), bl_fastq_write(3), bl_fastq_free(3)

								bl_fastq_read(3)

home | help