bl_bed_read(3)

NAME
bl_bed_read() - Read a BED record

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

SYNOPSIS
int     bl_bed_read(bl_bed_t *bed_feature, FILE *bed_stream,
bed_field_mask_t field_mask)

ARGUMENTS
bed_feature     Pointer to a bl_bed_t structure
bed_stream      A FILE stream from which to read the line
field_mask      Bit mask indicating which fields to store in bed_feature

DESCRIPTION
Read next entry (line) from a BED file. The line must have at least the first 3 fields (chrom, start, and end). It may have up to 12 fields, all of which must be in the correct order according to the BED specification. If field_mask is not BL_BED_FIELD_ALL, fields not indicated by a 1 in the bit mask are discarded rather than stored in bed_feature. Possible mask values are: BL_BED_FIELD_ALL BL_BED_FIELD_NAME BL_BED_FIELD_SCORE BL_BED_FIELD_STRAND BL_BED_FIELD_THICK BL_BED_FIELD_RGB BL_BED_FIELD_BLOCK The chrom, start, and end fields are required and therefore have no corresponding mask bits. The thickStart and thickEnd fields must occur together or not at all, so only a single bit BL_BED_FIELD_THICK selects both of them. Likewise, blockCount, blockSizes and blockStarts must all be present or omitted, so BL_BED_FIELD_BLOCK masks all three.

RETURN VALUES
BL_READ_OK on successful read BL_READ_EOF if EOF is encountered at the start of a line BL_READ_TRUNCATED if EOF or bad data is encountered elsewhere

EXAMPLES
bl_bed_read(stdin, &bed_feature, BL_BED_FIELD_ALL);
bl_bed_read(bed_stream, &bed_feature,
                 BL_BED_FIELD_NAME|BL_BED_FIELD_SCORE);

SEE ALSO
bl_bed_write(3)