Mercurial > repos > rliterman > csp2
diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/pysam/libcfaidx.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/libcfaidx.pxd Tue Mar 18 16:23:26 2025 -0400 @@ -0,0 +1,81 @@ +# 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 +cimport cython + +from cpython cimport array +from pysam.libchtslib cimport faidx_t, kstring_t, BGZF + +# 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 FastaFile: + cdef bint is_remote + cdef object _filename, _references, _lengths, reference2length + cdef faidx_t* fastafile + cdef char* _fetch(self, char* reference, + int start, int end, int* length) except? NULL + + +cdef class FastqProxy: + cdef kseq_t * _delegate + cdef cython.str to_string(self) + cdef cython.str tostring(self) + cpdef array.array get_quality_array(self, int offset=*) + + +cdef class FastxRecord: + """ + Python container for pysam.libcfaidx.FastqProxy with persistence. + """ + cdef public str comment, quality, sequence, name + cdef cython.str to_string(self) + cdef cython.str tostring(self) + cpdef array.array get_quality_array(self, int offset=*) + +cdef class FastxFile: + cdef object _filename + cdef BGZF * fastqfile + cdef kseq_t * entry + cdef bint persist + cdef bint is_remote + + cdef kseq_t * getCurrent(self) + cdef int cnext(self) + + +# Compatibility Layer for pysam 0.8.1 +cdef class FastqFile(FastxFile): + pass + + +# Compatibility Layer for pysam < 0.8 +cdef class Fastafile(FastaFile): + pass +