bl_vcf_read_static_fields(3)

NAME
bl_vcf_read_static_fields() - Read static VCF fields

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

SYNOPSIS
int     bl_vcf_read_static_fields(bl_vcf_t *vcf_call, FILE *vcf_stream,
vcf_field_mask_t field_mask)

ARGUMENTS
vcf_stream  FILE stream for VCF input
vcf_call    Pointer to bl_vcf_t structure to receive fields
field_mask  Bit mask indicating which fields should be stored

DESCRIPTION
Read static fields (columns 1 to 9) from one line of a VCF file. This function does not read any of the sample data in columns 10 and on. Samples can be read using a loop with tsv_read_field(3). If field_mask is not BL_VCF_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_VCF_FIELD_ALL BL_VCF_FIELD_CHROM BL_VCF_FIELD_POS BL_VCF_FIELD_ID BL_VCF_FIELD_REF BL_VCF_FIELD_ALT BL_VCF_FIELD_QUAL BL_VCF_FIELD_FILTER BL_VCF_FIELD_INFO BL_VCF_FIELD_FORMAT

RETURN VALUES
BL_READ_OK upon success BL_READ_TRUNCATED if EOF is encountered while reading a call BL_READ_EOF if EOF is encountered between calls as it should be

EXAMPLES
FILE        *stream;
bl_vcf_t  vcf_call;
char        sample_data[MAX_CHARS + 1];
size_t      len;
bl_vcf_read_static_fields(stream, &vcf_call, BL_VCF_FIELD_ALL);
while ( tsv_read_field(stream, sample_data, MAX_CHARS, &len) != 'n' )
{
    ...
}

SEE ALSO
bl_vcf_write_static_fields(3), bl_vcf_read_ss_call(3), bl_vcf_write_ss_call(3)