Mercurial > repos > rliterman > csp2
diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/pysam/libctabix.pxd @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/pysam/libctabix.pxd Tue Mar 18 16:23:26 2025 -0400 @@ -0,0 +1,128 @@ +# cython: language_level=3 +from libc.stdint cimport int8_t, int16_t, int32_t, int64_t +from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t +from libc.stdlib cimport malloc, calloc, realloc, free +from libc.string cimport memcpy, memcmp, strncpy, strlen, strdup +from libc.stdio cimport FILE, printf + +# Note: this replaces python "open"! +cdef extern from "fcntl.h": + int open(char *pathname, int flags) + +cdef extern from "unistd.h" nogil: + ctypedef int ssize_t + ssize_t read(int fd, void *buf, size_t count) + int close(int fd) + +from pysam.libchtslib cimport hts_idx_t, hts_itr_t, htsFile, \ + tbx_t, kstring_t, BGZF, HTSFile + + +# These functions are put here and not in chtslib.pxd in order +# to avoid warnings for unused functions. +cdef extern from "pysam_stream.h" nogil: + + ctypedef struct kstream_t: + pass + + ctypedef struct kseq_t: + kstring_t name + kstring_t comment + kstring_t seq + kstring_t qual + + kseq_t *kseq_init(BGZF *) + int kseq_read(kseq_t *) + void kseq_destroy(kseq_t *) + kstream_t *ks_init(BGZF *) + void ks_destroy(kstream_t *) + + # Retrieve characters from stream until delimiter + # is reached placing results in str. + int ks_getuntil(kstream_t *, + int delimiter, + kstring_t * str, + int * dret) + + +cdef class tabix_file_iterator: + cdef BGZF * fh + cdef kstream_t * kstream + cdef kstring_t buffer + cdef size_t size + cdef Parser parser + cdef int fd + cdef int duplicated_fd + cdef infile + + cdef __cnext__(self) + + +cdef class TabixFile(HTSFile): + # pointer to index structure + cdef tbx_t * index + + cdef readonly object filename_index + + cdef Parser parser + + cdef encoding + + +cdef class Parser: + cdef encoding + cdef parse(self, char * buffer, int len) + + +cdef class asTuple(Parser): + cdef parse(self, char * buffer, int len) + + +cdef class asGTF(Parser): + pass + + +cdef class asGFF3(Parser): + pass + + +cdef class asBed(Parser): + pass + + +cdef class asVCF(Parser): + pass + + +cdef class TabixIterator: + cdef hts_itr_t * iterator + cdef TabixFile tabixfile + cdef kstring_t buffer + cdef encoding + cdef int __cnext__(self) + + +cdef class TabixIteratorParsed(TabixIterator): + cdef Parser parser + + +cdef class GZIterator: + cdef object _filename + cdef BGZF * gzipfile + cdef kstream_t * kstream + cdef kstring_t buffer + cdef int __cnext__(self) + cdef encoding + + +cdef class GZIteratorHead(GZIterator): + pass + + +cdef class GZIteratorParsed(GZIterator): + cdef Parser parser + + +# Compatibility Layer for pysam < 0.8 +cdef class Tabixfile(TabixFile): + pass