bl_sam_read(3)

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

SYNOPSIS

int bl_sam_read(FILE *sam_stream, bl_sam_t *sam_alignment, sam_field_mask_t field_mask)

ARGUMENTS
sam_stream      A FILE stream from which to read the line
sam_alignment   Pointer to a bl_sam_t structure
field_mask      Bit mask indicating which fields to store in sam_alignment

DESCRIPTION
Read next alignment (line) from a SAM stream. If field_mask is not BL_SAM_FIELD_ALL, fields not indicated by a 1 in the bit mask are discarded rather than stored in sam_alignment. That field in the structure is then populated with an appropriate marker, such as '.'. Possible mask values are: BL_SAM_FIELD_ALL BL_SAM_FIELD_QNAME BL_SAM_FIELD_FLAG BL_SAM_FIELD_RNAME BL_SAM_FIELD_POS BL_SAM_FIELD_MAPQ BL_SAM_FIELD_CIGAR BL_SAM_FIELD_RNEXT BL_SAM_FIELD_PNEXT BL_SAM_FIELD_TLEN BL_SAM_FIELD_SEQ BL_SAM_FIELD_QUAL

RETURN VALUES
BL_READ_OK on successful read BL_READ_EOF if EOF is encountered after a complete feature BL_READ_TRUNCATED if EOF or bad data is encountered elsewhere

EXAMPLES
bl_sam_read(stdin, &sam_alignment, BL_SAM_FIELD_ALL);
bl_sam_read(sam_stream, &sam_alignment,
                   BL_SAM_FIELD_QNAME|BL_SAM_FIELD_POS|BL_SAM_FIELD_TLEN);

SEE ALSO
bl_sam_write(3)