X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=pysam.git;a=blobdiff_plain;f=pysam%2Fctabix.pxd;fp=pysam%2Fctabix.pxd;h=a14016985a8eead0139c90b71d9bdb4ceae7d0b9;hp=7e15c43d068428d502b4c46d934d7a681747613d;hb=920cc77ed26707a0d92f9e436121b61d84bde627;hpb=8ab946e230447a6fe686edabc5e3cfa445da1721 diff --git a/pysam/ctabix.pxd b/pysam/ctabix.pxd index 7e15c43..a140169 100644 --- a/pysam/ctabix.pxd +++ b/pysam/ctabix.pxd @@ -76,7 +76,6 @@ cdef extern from "stdint.h": cdef extern from "Python.h": ctypedef struct FILE - FILE* PyFile_AsFile(object) char *fgets(char *str, int size, FILE *ifile) int feof(FILE *stream) size_t strlen(char *s) @@ -84,6 +83,7 @@ cdef extern from "Python.h": char *strstr(char *, char *) char *strchr(char *string, int c) int fileno(FILE *stream) + FILE *fdopen(int fd, char *mode) cdef extern from "bgzf.h": @@ -170,10 +170,53 @@ cdef extern from "tabix.h": # char *ti_iter_read(BGZF *fp, ti_iter_t iter, int *len) cdef class Tabixfile: - cdef char * _filename # pointer to tabixfile cdef tabix_t * tabixfile + # flag indicating whether file is remote + cdef int isremote + + cdef char * _filename + +cdef class TabixIterator: + cdef ti_iter_t iterator + cdef tabix_t * tabixfile + +cdef class TabixHeaderIterator: + cdef ti_iter_t iterator + cdef tabix_t * tabixfile + cdef class Parser: pass + +cdef class asTuple(Parser): + pass + +cdef class asGTF(Parser): + pass + +cdef class asBed(Parser): + pass + +cdef class asVCF(Parser): + pass + +cdef class TabixIteratorParsed: + cdef ti_iter_t iterator + cdef tabix_t * tabixfile + cdef Parser parser + +ctypedef class tabix_inplace_iterator: + cdef FILE * infile + cdef char * buffer + cdef size_t size + cdef Parser parser + + cdef __cnext__(self) + +ctypedef class tabix_copy_iterator: + cdef FILE * infile + cdef Parser parser + cdef __cnext__(self) +