home | help
bl_gff3_in...ek_reverse(3)  Library Functions Manual  bl_gff3_in...ek_reverse(3)

NAME
     bl_gff3_index_seek_reverse() - Search backward through GFF3 index

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

SYNOPSIS
     int     bl_gff3_index_seek_reverse(bl_gff3_index_t *gi, FILE *stream,
     bl_gff3_t *feature, int64_t feature_count, int64_t max_nt)

ARGUMENTS
     gi 	     Pointer to the gff3_index_t object used to search
     feature	     Feature from which search starts
     feature_count   Number of indexed features to back up from feature
     max_nt	     Maximum number of nucleotides to back up

DESCRIPTION
     The  gff3_index_t	class maintains an in-memory index of GFF features, con-
     taining the GFF fields SEQ_ID, START, and END, and the offset into the file
     as reported by ftell(3), or by bl_gff3_read(3), which records the file  po-
     sition of each GFF feature it reads.

     bl_gff3_index_seek_reverse(3)   moved  the  FILE  pointer	stream	to  fea-
     ture_count indexed features upstream of feature, or to  the  most	upstream
     feature  within max_nt of feature.  A max_nt of 0 indicates no maximum dis-
     tance, i.e. the search will proceed to feature_count features  behind  fea-
     ture or to the beginning of the file, whichever is encontered first.

     The  max_nt  parameter  refers  to  the END of a feature, i.e.  bl_gff3_in-
     dex_seek_reverse() will back up to a feature that overlaps the position  of
     feature  minus max_nt.  The START position of the feature moved to could be
     more than max_nt nucleotides behind the START of feature.

     Note that this function counts only *indexed* features, i.e. those added to
     gi by bl_gff3_index_add(3), not all features in the GFF file.  An	applica-
     tion may only add genes to the index, for example, ignoring exons, etc.

RETURN VALUES
     The return value of fseek(), i.e. 0 upon success, -1 on error

EXAMPLES
     bl_gff3_index_t  gi;
     bl_gff3_t	      feature;
     long	     new_pos;

     new_pos = bl_gff3_index_seek_reverse(&gi, &feature, 4, 200000);

SEE ALSO
     bl_gff3_index_add(3), fseek(3), bl_gff3_read(3)

						      bl_gff3_in...ek_reverse(3)

home | help