gtmio / gtm /lib /python3.12 /site-packages /pysam /libcalignmentfile.pxd
geored's picture
Upload folder using huggingface_hub
fe41391 verified
raw
history blame
3.56 kB
# 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
from pysam.libcfaidx cimport faidx_t, FastaFile
from pysam.libcalignedsegment cimport AlignedSegment
from pysam.libchtslib cimport *
from cpython cimport array
cimport cython
cdef extern from *:
ctypedef char* const_char_ptr "const char*"
cdef extern from "htslib_util.h":
char * pysam_bam_get_qname(bam1_t * b)
####################################################################
# Utility types
ctypedef struct __iterdata:
htsFile * htsfile
bam_hdr_t * header
hts_itr_t * iter
faidx_t * fastafile
int tid
char * seq
int seq_len
int min_mapping_quality
int flag_require
int flag_filter
bint compute_baq
bint redo_baq
bint ignore_orphans
int adjust_capq_threshold
cdef class AlignmentHeader(object):
cdef bam_hdr_t *ptr
cdef class AlignmentFile(HTSFile):
cdef readonly object reference_filename
cdef readonly AlignmentHeader header
# pointer to index
cdef hts_idx_t *index
# current read within iteration
cdef bam1_t * b
cdef bam1_t * getCurrent(self)
cdef int cnext(self)
# write an aligned read
cpdef int write(self, AlignedSegment read) except -1
cdef class IteratorRow:
cdef int retval
cdef bam1_t * b
cdef AlignmentFile samfile
cdef htsFile * htsfile
cdef hts_idx_t * index
cdef AlignmentHeader header
cdef int owns_samfile
cdef class IteratorRowRegion(IteratorRow):
cdef hts_itr_t * iter
cdef bam1_t * getCurrent(self)
cdef int cnext(self)
cdef class IteratorRowHead(IteratorRow):
cdef int max_rows
cdef int current_row
cdef bam1_t * getCurrent(self)
cdef int cnext(self)
cdef class IteratorRowAll(IteratorRow):
cdef bam1_t * getCurrent(self)
cdef int cnext(self)
cdef class IteratorRowAllRefs(IteratorRow):
cdef int tid
cdef IteratorRowRegion rowiter
cdef class IteratorRowSelection(IteratorRow):
cdef int current_pos
cdef positions
cdef bam1_t * getCurrent(self)
cdef int cnext(self)
cdef class IteratorColumn:
# result of the last plbuf_push
cdef IteratorRowRegion iter
cdef int tid
cdef int pos
cdef int n_plp
cdef uint32_t min_base_quality
cdef const bam_pileup1_t * plp
cdef bam_mplp_t pileup_iter
cdef __iterdata iterdata
cdef AlignmentFile samfile
cdef FastaFile fastafile
cdef stepper
cdef int max_depth
cdef bint ignore_overlaps
cdef int cnext(self)
cdef char * get_sequence(self)
cdef _setup_iterator(self,
int tid,
int start,
int stop,
int multiple_iterators=?)
cdef _setup_raw_rest_iterator(self)
cdef reset(self, tid, start, stop)
cdef _free_pileup_iter(self)
# backwards compatibility
cdef char * getSequence(self)
cdef class IteratorColumnRegion(IteratorColumn):
cdef int start
cdef int stop
cdef int truncate
cdef class IteratorColumnAllRefs(IteratorColumn):
pass
cdef class IteratorColumnAll(IteratorColumn):
pass
cdef class IndexedReads:
cdef AlignmentFile samfile
cdef htsFile * htsfile
cdef object index
cdef int owns_samfile
cdef AlignmentHeader header