/* Generated by Cython 0.17.2 on Mon Sep 23 10:08:08 2013 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. #elif PY_VERSION_HEX < 0x02040000 #error Cython requires Python 2.4+. #else #include /* For offsetof */ #ifndef offsetof #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) #endif #if !defined(WIN32) && !defined(MS_WINDOWS) #ifndef __stdcall #define __stdcall #endif #ifndef __cdecl #define __cdecl #endif #ifndef __fastcall #define __fastcall #endif #endif #ifndef DL_IMPORT #define DL_IMPORT(t) t #endif #ifndef DL_EXPORT #define DL_EXPORT(t) t #endif #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif #ifndef Py_HUGE_VAL #define Py_HUGE_VAL HUGE_VAL #endif #ifdef PYPY_VERSION #define CYTHON_COMPILING_IN_PYPY 1 #define CYTHON_COMPILING_IN_CPYTHON 0 #else #define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_CPYTHON 1 #endif #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; #define PY_SSIZE_T_MAX INT_MAX #define PY_SSIZE_T_MIN INT_MIN #define PY_FORMAT_SIZE_T "" #define CYTHON_FORMAT_SSIZE_T "" #define PyInt_FromSsize_t(z) PyInt_FromLong(z) #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o) #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ (PyErr_Format(PyExc_TypeError, \ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ (PyObject*)0)) #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ !PyComplex_Check(o)) #define PyIndex_Check __Pyx_PyIndex_Check #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) #define __PYX_BUILD_PY_SSIZE_T "i" #else #define __PYX_BUILD_PY_SSIZE_T "n" #define CYTHON_FORMAT_SSIZE_T "z" #define __Pyx_PyIndex_Check PyIndex_Check #endif #if PY_VERSION_HEX < 0x02060000 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) #define PyVarObject_HEAD_INIT(type, size) \ PyObject_HEAD_INIT(type) size, #define PyType_Modified(t) typedef struct { void *buf; PyObject *obj; Py_ssize_t len; Py_ssize_t itemsize; int readonly; int ndim; char *format; Py_ssize_t *shape; Py_ssize_t *strides; Py_ssize_t *suboffsets; void *internal; } Py_buffer; #define PyBUF_SIMPLE 0 #define PyBUF_WRITABLE 0x0001 #define PyBUF_FORMAT 0x0004 #define PyBUF_ND 0x0008 #define PyBUF_STRIDES (0x0010 | PyBUF_ND) #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); typedef void (*releasebufferproc)(PyObject *, Py_buffer *); #endif #if PY_MAJOR_VERSION < 3 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) #else #define __Pyx_BUILTIN_MODULE_NAME "builtins" #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \ PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) #endif #if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6 #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") #endif #if PY_MAJOR_VERSION >= 3 #define Py_TPFLAGS_CHECKTYPES 0 #define Py_TPFLAGS_HAVE_INDEX 0 #endif #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) #define Py_TPFLAGS_HAVE_NEWBUFFER 0 #endif #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) #define CYTHON_PEP393_ENABLED 1 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \ 0 : _PyUnicode_Ready((PyObject *)(op))) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) #else #define CYTHON_PEP393_ENABLED 0 #define __Pyx_PyUnicode_READY(op) (0) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) #define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i])) #endif #if PY_MAJOR_VERSION >= 3 #define PyBaseString_Type PyUnicode_Type #define PyStringObject PyUnicodeObject #define PyString_Type PyUnicode_Type #define PyString_Check PyUnicode_Check #define PyString_CheckExact PyUnicode_CheckExact #endif #if PY_VERSION_HEX < 0x02060000 #define PyBytesObject PyStringObject #define PyBytes_Type PyString_Type #define PyBytes_Check PyString_Check #define PyBytes_CheckExact PyString_CheckExact #define PyBytes_FromString PyString_FromString #define PyBytes_FromStringAndSize PyString_FromStringAndSize #define PyBytes_FromFormat PyString_FromFormat #define PyBytes_DecodeEscape PyString_DecodeEscape #define PyBytes_AsString PyString_AsString #define PyBytes_AsStringAndSize PyString_AsStringAndSize #define PyBytes_Size PyString_Size #define PyBytes_AS_STRING PyString_AS_STRING #define PyBytes_GET_SIZE PyString_GET_SIZE #define PyBytes_Repr PyString_Repr #define PyBytes_Concat PyString_Concat #define PyBytes_ConcatAndDel PyString_ConcatAndDel #endif #if PY_VERSION_HEX < 0x02060000 #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) #endif #ifndef PySet_CheckExact #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) #endif #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) #if PY_MAJOR_VERSION >= 3 #define PyIntObject PyLongObject #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) #define PyInt_FromString PyLong_FromString #define PyInt_FromUnicode PyLong_FromUnicode #define PyInt_FromLong PyLong_FromLong #define PyInt_FromSize_t PyLong_FromSize_t #define PyInt_FromSsize_t PyLong_FromSsize_t #define PyInt_AsLong PyLong_AsLong #define PyInt_AS_LONG PyLong_AS_LONG #define PyInt_AsSsize_t PyLong_AsSsize_t #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #endif #if PY_MAJOR_VERSION >= 3 #define PyBoolObject PyLongObject #endif #if PY_VERSION_HEX < 0x03020000 typedef long Py_hash_t; #define __Pyx_PyInt_FromHash_t PyInt_FromLong #define __Pyx_PyInt_AsHash_t PyInt_AsLong #else #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t #endif #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300) #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b) #else #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0))) #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1))) #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) #endif #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n))) #else #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n)) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_NAMESTR(n) ((char *)(n)) #define __Pyx_DOCSTR(n) ((char *)(n)) #else #define __Pyx_NAMESTR(n) (n) #define __Pyx_DOCSTR(n) (n) #endif #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) #else #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) #endif #ifndef __PYX_EXTERN_C #ifdef __cplusplus #define __PYX_EXTERN_C extern "C" #else #define __PYX_EXTERN_C extern #endif #endif #if defined(WIN32) || defined(MS_WINDOWS) #define _USE_MATH_DEFINES #endif #include #define __PYX_HAVE__cwindow #define __PYX_HAVE_API__cwindow #include "string.h" #include "stdlib.h" #include "stdio.h" #include "ctype.h" #include "unistd.h" #include "razf.h" #include "stdint.h" #include "bam.h" #include "sam.h" #include "pysam_util.h" #include "math.h" #ifdef _OPENMP #include #endif /* _OPENMP */ #ifdef PYREX_WITHOUT_ASSERTIONS #define CYTHON_WITHOUT_ASSERTIONS #endif /* inline attribute */ #ifndef CYTHON_INLINE #if defined(__GNUC__) #define CYTHON_INLINE __inline__ #elif defined(_MSC_VER) #define CYTHON_INLINE __inline #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define CYTHON_INLINE inline #else #define CYTHON_INLINE #endif #endif /* unused attribute */ #ifndef CYTHON_UNUSED # if defined(__GNUC__) # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) # define CYTHON_UNUSED __attribute__ ((__unused__)) # else # define CYTHON_UNUSED # endif # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) # define CYTHON_UNUSED __attribute__ ((__unused__)) # else # define CYTHON_UNUSED # endif #endif typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ /* Type Conversion Predeclarations */ #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s) #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s)) #define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); #if CYTHON_COMPILING_IN_CPYTHON #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) #else #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) #endif #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) #ifdef __GNUC__ /* Test for GCC > 2.95 */ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) #else /* __GNUC__ > 2 ... */ #define likely(x) (x) #define unlikely(x) (x) #endif /* __GNUC__ > 2 ... */ #else /* __GNUC__ */ #define likely(x) (x) #define unlikely(x) (x) #endif /* __GNUC__ */ static PyObject *__pyx_m; static PyObject *__pyx_b; static PyObject *__pyx_empty_tuple; static PyObject *__pyx_empty_bytes; static int __pyx_lineno; static int __pyx_clineno = 0; static const char * __pyx_cfilenm= __FILE__; static const char *__pyx_filename; static const char *__pyx_f[] = { "cwindow.pyx", "samtoolsWrapper.pxd", "fastafile.pxd", "bamfileutils.pxd", "variant.pxd", "chaplotype.pxd", }; /*--- Type declarations ---*/ struct __pyx_obj_7variant_VariantCandidateGenerator; struct __pyx_obj_10chaplotype_Haplotype; struct __pyx_obj_9fastafile_FastaFile; struct __pyx_obj_15samtoolsWrapper_AlignedRead; struct __pyx_obj_7cwindow_ReadArray; struct __pyx_obj_15samtoolsWrapper_IteratorRow; struct __pyx_obj_15samtoolsWrapper_Samfile; struct __pyx_obj_15samtoolsWrapper_IteratorRowAll; struct __pyx_obj_9fastafile_FastaIndex; struct __pyx_obj_12bamfileutils_MultiBamFileReader; struct __pyx_obj_12bamfileutils_MultiBamFileIterator; struct __pyx_obj_7cwindow_bamReadBuffer; struct __pyx_obj_7variant_Variant; struct __pyx_obj_12bamfileutils_BamFileIterator; struct __pyx_opt_args_15samtoolsWrapper_7Samfile__open; struct __pyx_opt_args_15samtoolsWrapper_7Samfile__parseRegion; struct __pyx_t_15samtoolsWrapper_cAlignedRead; typedef struct __pyx_t_15samtoolsWrapper_cAlignedRead __pyx_t_15samtoolsWrapper_cAlignedRead; /* "samtoolsWrapper.pxd":254 * cdef int _isOpen( self ) * cdef _hasIndex( self ) * cpdef _open(self, mode, loadIndex=*) # <<<<<<<<<<<<<< * cdef char* getrname(self, int tid) * cdef _parseRegion(self, reference=*, start=*, end=*, region=*) */ struct __pyx_opt_args_15samtoolsWrapper_7Samfile__open { int __pyx_n; PyObject *loadIndex; }; /* "samtoolsWrapper.pxd":256 * cpdef _open(self, mode, loadIndex=*) * cdef char* getrname(self, int tid) * cdef _parseRegion(self, reference=*, start=*, end=*, region=*) # <<<<<<<<<<<<<< * cpdef IteratorRow fetch(self, char* reference, int start, int end) * cpdef IteratorRowAll fetchAllReads(self) */ struct __pyx_opt_args_15samtoolsWrapper_7Samfile__parseRegion { int __pyx_n; PyObject *reference; PyObject *start; PyObject *end; PyObject *region; }; /* "samtoolsWrapper.pxd":311 * ################################################################################################### * * ctypedef struct cAlignedRead: # <<<<<<<<<<<<<< * char* seq * char* qual */ struct __pyx_t_15samtoolsWrapper_cAlignedRead { char *seq; char *qual; short *cigarOps; short *hash; short mateChromID; short cigarLen; short chromID; short rlen; int pos; int end; int insertSize; int matePos; int bitFlag; char mapq; }; struct __pyx_opt_args_10chaplotype_9Haplotype_getReferenceSequence; /* "chaplotype.pxd":47 * double* alignReads(self, int individualIndex, cAlignedRead** start, cAlignedRead** end, cAlignedRead** badReadStart, cAlignedRead** badReadsEnd, cAlignedRead** brokenReadsStart, cAlignedRead** brokenReadsEnd, int useMapQualCap, int printAlignments) * double alignSingleRead(self, cAlignedRead* theRead, int useMapQualCap, int printAlignments) * char* getReferenceSequence(self, prefix=*) # <<<<<<<<<<<<<< * char* getMutatedSequence(self) * dict vcfINFO(self) */ struct __pyx_opt_args_10chaplotype_9Haplotype_getReferenceSequence { int __pyx_n; PyObject *prefix; }; struct __pyx_opt_args_7cwindow_bisectReadsLeft; struct __pyx_opt_args_7cwindow_bisectReadsRight; /* "cwindow.pyx":257 * ################################################################################################### * * cdef int bisectReadsLeft(cAlignedRead** reads, int testPos, int nReads, int testMatePos=0): # <<<<<<<<<<<<<< * """ * Specialisation of bisection algorithm for array of */ struct __pyx_opt_args_7cwindow_bisectReadsLeft { int __pyx_n; int testMatePos; }; /* "cwindow.pyx":285 * ################################################################################################### * * cdef int bisectReadsRight(cAlignedRead** reads, int testPos, int nReads, int testMatePos=0): # <<<<<<<<<<<<<< * """ * Specialisation of bisection algorithm for array of */ struct __pyx_opt_args_7cwindow_bisectReadsRight { int __pyx_n; int testMatePos; }; /* "variant.pxd":42 * ################################################################################################### * * cdef class VariantCandidateGenerator: # <<<<<<<<<<<<<< * cdef int CIGAR_M * cdef int CIGAR_I */ struct __pyx_obj_7variant_VariantCandidateGenerator { PyObject_HEAD struct __pyx_vtabstruct_7variant_VariantCandidateGenerator *__pyx_vtab; int CIGAR_M; int CIGAR_I; int CIGAR_D; int CIGAR_N; int CIGAR_S; int CIGAR_H; int CIGAR_P; int minMapQual; int minBaseQual; int minFlank; int refId; int maxCoverage; int verbosity; int genSNPs; int genIndels; int maxReadLength; long rStart; long rEnd; long refSeqStart; long refSeqEnd; char *refSeq; PyObject *variantHeap; PyObject *pyRefSeq; PyObject *rname; struct __pyx_obj_9fastafile_FastaFile *refFile; PyObject *options; int qualBinSize; }; /* "chaplotype.pxd":14 * cdef int computeOverlapOfReadAndHaplotype(int hapStart, int hapEnd, cAlignedRead* theRead) * * cdef class Haplotype: # <<<<<<<<<<<<<< * cdef: * bytes refName */ struct __pyx_obj_10chaplotype_Haplotype { PyObject_HEAD struct __pyx_vtabstruct_10chaplotype_Haplotype *__pyx_vtab; PyObject *refName; int startPos; int endPos; int maxReadLength; int minVarPos; int maxVarPos; PyObject *variants; PyObject *haplotypeSequence; char *cHaplotypeSequence; struct __pyx_obj_9fastafile_FastaFile *refFile; PyObject *options; double *likelihoodCache; int lenCache; int lastIndividualIndex; PyObject *referenceSequence; int hash; int hapLen; int hasIndel; int nBaseChangesFromRef; int verbosity; int endBufferSize; char *cHomopolQ; short *localGapOpen; short *hapSequenceHash; short *hapSequenceNextArray; PyObject *indelErrorModel; int useIndelErrorModel; PyObject *localGapOpenQ; char *cLocalGapOpenQ; }; /* "fastafile.pxd":5 * cdef dict getRefs(self, int parseNCBI) * * cdef class FastaFile(object): # <<<<<<<<<<<<<< * cdef object theFile * cdef FastaIndex theIndex */ struct __pyx_obj_9fastafile_FastaFile { PyObject_HEAD struct __pyx_vtabstruct_9fastafile_FastaFile *__pyx_vtab; PyObject *theFile; struct __pyx_obj_9fastafile_FastaIndex *theIndex; PyObject *refs; PyObject *cache; PyObject *cacheRefName; PY_LONG_LONG cacheStartPos; PY_LONG_LONG cacheEndPos; }; /* "samtoolsWrapper.pxd":266 * ################################################################################################### * * cdef class AlignedRead: # <<<<<<<<<<<<<< * cdef bam1_t* _delegate * cdef int hashValue */ struct __pyx_obj_15samtoolsWrapper_AlignedRead { PyObject_HEAD struct __pyx_vtabstruct_15samtoolsWrapper_AlignedRead *__pyx_vtab; bam1_t *_delegate; int hashValue; int readEnd; char *_seq; char *_qual; }; /* "cwindow.pxd":14 * ################################################################################################### * * cdef class ReadArray: # <<<<<<<<<<<<<< * cdef cAlignedRead** array * cdef cAlignedRead** windowStart */ struct __pyx_obj_7cwindow_ReadArray { PyObject_HEAD struct __pyx_vtabstruct_7cwindow_ReadArray *__pyx_vtab; __pyx_t_15samtoolsWrapper_cAlignedRead **array; __pyx_t_15samtoolsWrapper_cAlignedRead **windowStart; __pyx_t_15samtoolsWrapper_cAlignedRead **windowEnd; int __pyx___size; int __pyx___capacity; int __pyx___longestRead; }; /* "samtoolsWrapper.pxd":225 * cdef class Samfile * * cdef class IteratorRow: # <<<<<<<<<<<<<< * cdef bam_fetch_iterator_t* bam_iter # iterator state object * cdef bam1_t* b */ struct __pyx_obj_15samtoolsWrapper_IteratorRow { PyObject_HEAD struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *__pyx_vtab; bam_fetch_iterator_t *bam_iter; bam1_t *b; int useIndex; }; /* "samtoolsWrapper.pxd":223 * * ################################################################################################### * cdef class Samfile # <<<<<<<<<<<<<< * * cdef class IteratorRow: */ struct __pyx_obj_15samtoolsWrapper_Samfile { PyObject_HEAD struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *__pyx_vtab; char *filename; samfile_t *samfile; bam_index_t *index; int isbam; PyObject *indexesByRegion; PyObject *lock; }; /* "samtoolsWrapper.pxd":233 * ################################################################################################### * * cdef class IteratorRowAll: # <<<<<<<<<<<<<< * cdef bam1_t* b * cdef samfile_t* fp */ struct __pyx_obj_15samtoolsWrapper_IteratorRowAll { PyObject_HEAD struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRowAll *__pyx_vtab; bam1_t *b; samfile_t *fp; }; /* "fastafile.pxd":1 * cdef class FastaIndex: # <<<<<<<<<<<<<< * cdef object theFile * cdef dict getRefs(self, int parseNCBI) */ struct __pyx_obj_9fastafile_FastaIndex { PyObject_HEAD struct __pyx_vtabstruct_9fastafile_FastaIndex *__pyx_vtab; PyObject *theFile; }; /* "bamfileutils.pxd":22 * ################################################################################################### * * cdef class MultiBamFileReader(object): # <<<<<<<<<<<<<< * cdef public object files * cpdef getRName(self, int refId) */ struct __pyx_obj_12bamfileutils_MultiBamFileReader { PyObject_HEAD struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader *__pyx_vtab; PyObject *files; }; /* "bamfileutils.pxd":14 * ################################################################################################### * * cdef class MultiBamFileIterator(object): # <<<<<<<<<<<<<< * cdef public list files * cdef list queue */ struct __pyx_obj_12bamfileutils_MultiBamFileIterator { PyObject_HEAD PyObject *files; PyObject *queue; int nReadsInQueue; struct __pyx_obj_15samtoolsWrapper_AlignedRead *lastRead; }; /* "cwindow.pxd":29 * ################################################################################################### * * cdef class bamReadBuffer: # <<<<<<<<<<<<<< * cdef char* chrom * cdef int chromID */ struct __pyx_obj_7cwindow_bamReadBuffer { PyObject_HEAD struct __pyx_vtabstruct_7cwindow_bamReadBuffer *__pyx_vtab; char *chrom; int chromID; int *filteredReadCountsByType; int isSorted; int startBase; int endBase; int windowStartBase; int windowEndBase; int maxReads; int minMapQual; int verbosity; int minGoodBases; __pyx_t_15samtoolsWrapper_cAlignedRead *lastRead; PyObject *sample; struct __pyx_obj_7cwindow_ReadArray *reads; struct __pyx_obj_7cwindow_ReadArray *badReads; struct __pyx_obj_7cwindow_ReadArray *brokenMates; }; /* "variant.pxd":16 * ################################################################################################### * * cdef class Variant: # <<<<<<<<<<<<<< * cdef: * public bytes refName */ struct __pyx_obj_7variant_Variant { PyObject_HEAD struct __pyx_vtabstruct_7variant_Variant *__pyx_vtab; PyObject *refName; PyObject *added; PyObject *removed; PyObject *bamAdded; PyObject *bamRemoved; int refPos; int bamMinPos; int bamMaxPos; int minRefPos; int maxRefPos; int nSupportingReads; int varSource; int hashValue; int nAdded; int nRemoved; int varType; }; /* "bamfileutils.pxd":7 * ################################################################################################### * * cdef class BamFileIterator(object): # <<<<<<<<<<<<<< * cdef public object iterator * cdef public AlignedRead currentValue */ struct __pyx_obj_12bamfileutils_BamFileIterator { PyObject_HEAD struct __pyx_vtabstruct_12bamfileutils_BamFileIterator *__pyx_vtab; PyObject *iterator; struct __pyx_obj_15samtoolsWrapper_AlignedRead *currentValue; }; /* "cwindow.pyx":121 * ################################################################################################### * * cdef class ReadArray: # <<<<<<<<<<<<<< * """ * Simple structure to wrap a raw C array, with some bounds */ struct __pyx_vtabstruct_7cwindow_ReadArray { int (*getSize)(struct __pyx_obj_7cwindow_ReadArray *); void (*append)(struct __pyx_obj_7cwindow_ReadArray *, __pyx_t_15samtoolsWrapper_cAlignedRead *); void (*setWindowPointers)(struct __pyx_obj_7cwindow_ReadArray *, int, int); void (*setWindowPointersBasedOnMatePos)(struct __pyx_obj_7cwindow_ReadArray *, int, int); int (*getLengthOfLongestRead)(struct __pyx_obj_7cwindow_ReadArray *); }; static struct __pyx_vtabstruct_7cwindow_ReadArray *__pyx_vtabptr_7cwindow_ReadArray; /* "cwindow.pyx":467 * ################################################################################################### * * cdef class bamReadBuffer(object): # <<<<<<<<<<<<<< * """ * Utility class for bufffering reads from a single BAM file, so we only make a single pass */ struct __pyx_vtabstruct_7cwindow_bamReadBuffer { void (*setWindowPointers)(struct __pyx_obj_7cwindow_bamReadBuffer *, int, int, int, int, char *, int); void (*recompressReadsInCurrentWindow)(struct __pyx_obj_7cwindow_bamReadBuffer *, int, int, char *, int, int); void (*addReadToBuffer)(struct __pyx_obj_7cwindow_bamReadBuffer *, __pyx_t_15samtoolsWrapper_cAlignedRead *); int (*countImproperPairs)(struct __pyx_obj_7cwindow_bamReadBuffer *); int (*countAlignmentGaps)(struct __pyx_obj_7cwindow_bamReadBuffer *); void (*sortReads)(struct __pyx_obj_7cwindow_bamReadBuffer *); void (*sortBrokenMates)(struct __pyx_obj_7cwindow_bamReadBuffer *); void (*logFilterSummary)(struct __pyx_obj_7cwindow_bamReadBuffer *); }; static struct __pyx_vtabstruct_7cwindow_bamReadBuffer *__pyx_vtabptr_7cwindow_bamReadBuffer; /* "fastafile.pxd":1 * cdef class FastaIndex: # <<<<<<<<<<<<<< * cdef object theFile * cdef dict getRefs(self, int parseNCBI) */ struct __pyx_vtabstruct_9fastafile_FastaIndex { PyObject *(*getRefs)(struct __pyx_obj_9fastafile_FastaIndex *, int); }; static struct __pyx_vtabstruct_9fastafile_FastaIndex *__pyx_vtabptr_9fastafile_FastaIndex; /* "samtoolsWrapper.pxd":223 * * ################################################################################################### * cdef class Samfile # <<<<<<<<<<<<<< * * cdef class IteratorRow: */ struct __pyx_vtabstruct_15samtoolsWrapper_Samfile { void (*clearHeader)(struct __pyx_obj_15samtoolsWrapper_Samfile *); void (*clearIndex)(struct __pyx_obj_15samtoolsWrapper_Samfile *); void (*createCache)(struct __pyx_obj_15samtoolsWrapper_Samfile *); void (*clearCache)(struct __pyx_obj_15samtoolsWrapper_Samfile *); int (*_isOpen)(struct __pyx_obj_15samtoolsWrapper_Samfile *); PyObject *(*_hasIndex)(struct __pyx_obj_15samtoolsWrapper_Samfile *); PyObject *(*_open)(struct __pyx_obj_15samtoolsWrapper_Samfile *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_15samtoolsWrapper_7Samfile__open *__pyx_optional_args); char *(*getrname)(struct __pyx_obj_15samtoolsWrapper_Samfile *, int); PyObject *(*_parseRegion)(struct __pyx_obj_15samtoolsWrapper_Samfile *, struct __pyx_opt_args_15samtoolsWrapper_7Samfile__parseRegion *__pyx_optional_args); struct __pyx_obj_15samtoolsWrapper_IteratorRow *(*fetch)(struct __pyx_obj_15samtoolsWrapper_Samfile *, char *, int, int, int __pyx_skip_dispatch); struct __pyx_obj_15samtoolsWrapper_IteratorRowAll *(*fetchAllReads)(struct __pyx_obj_15samtoolsWrapper_Samfile *, int __pyx_skip_dispatch); PyObject *(*close)(struct __pyx_obj_15samtoolsWrapper_Samfile *, int __pyx_skip_dispatch); void (*loadOffsetsForRegions)(struct __pyx_obj_15samtoolsWrapper_Samfile *, PyObject *); void (*openBAMFile)(struct __pyx_obj_15samtoolsWrapper_Samfile *, PyObject *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *__pyx_vtabptr_15samtoolsWrapper_Samfile; /* "chaplotype.pxd":14 * cdef int computeOverlapOfReadAndHaplotype(int hapStart, int hapEnd, cAlignedRead* theRead) * * cdef class Haplotype: # <<<<<<<<<<<<<< * cdef: * bytes refName */ struct __pyx_vtabstruct_10chaplotype_Haplotype { double *(*alignReads)(struct __pyx_obj_10chaplotype_Haplotype *, int, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **, int, int); double (*alignSingleRead)(struct __pyx_obj_10chaplotype_Haplotype *, __pyx_t_15samtoolsWrapper_cAlignedRead *, int, int); char *(*getReferenceSequence)(struct __pyx_obj_10chaplotype_Haplotype *, struct __pyx_opt_args_10chaplotype_9Haplotype_getReferenceSequence *__pyx_optional_args); char *(*getMutatedSequence)(struct __pyx_obj_10chaplotype_Haplotype *); PyObject *(*vcfINFO)(struct __pyx_obj_10chaplotype_Haplotype *); PyObject *(*getSequenceContext)(struct __pyx_obj_10chaplotype_Haplotype *, struct __pyx_obj_7variant_Variant *); int (*homopolymerLengthForOneVariant)(struct __pyx_obj_10chaplotype_Haplotype *, struct __pyx_obj_7variant_Variant *); PyObject *(*homopolymerLengths)(struct __pyx_obj_10chaplotype_Haplotype *); void (*annotateWithGapOpen)(struct __pyx_obj_10chaplotype_Haplotype *); }; static struct __pyx_vtabstruct_10chaplotype_Haplotype *__pyx_vtabptr_10chaplotype_Haplotype; /* "fastafile.pxd":5 * cdef dict getRefs(self, int parseNCBI) * * cdef class FastaFile(object): # <<<<<<<<<<<<<< * cdef object theFile * cdef FastaIndex theIndex */ struct __pyx_vtabstruct_9fastafile_FastaFile { PyObject *(*getCharacter)(struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PY_LONG_LONG); PyObject *(*getSequence)(struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PY_LONG_LONG, PY_LONG_LONG); void (*setCacheSequence)(struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PY_LONG_LONG, PY_LONG_LONG); }; static struct __pyx_vtabstruct_9fastafile_FastaFile *__pyx_vtabptr_9fastafile_FastaFile; /* "variant.pxd":16 * ################################################################################################### * * cdef class Variant: # <<<<<<<<<<<<<< * cdef: * public bytes refName */ struct __pyx_vtabstruct_7variant_Variant { double (*indelPrior)(struct __pyx_obj_7variant_Variant *, struct __pyx_obj_9fastafile_FastaFile *, int); double (*calculatePrior)(struct __pyx_obj_7variant_Variant *, struct __pyx_obj_9fastafile_FastaFile *); void (*addVariant)(struct __pyx_obj_7variant_Variant *, struct __pyx_obj_7variant_Variant *); int (*overlaps)(struct __pyx_obj_7variant_Variant *, struct __pyx_obj_7variant_Variant *); }; static struct __pyx_vtabstruct_7variant_Variant *__pyx_vtabptr_7variant_Variant; /* "samtoolsWrapper.pxd":233 * ################################################################################################### * * cdef class IteratorRowAll: # <<<<<<<<<<<<<< * cdef bam1_t* b * cdef samfile_t* fp */ struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRowAll { bam1_t *(*getCurrent)(struct __pyx_obj_15samtoolsWrapper_IteratorRowAll *); int (*cnext)(struct __pyx_obj_15samtoolsWrapper_IteratorRowAll *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRowAll *__pyx_vtabptr_15samtoolsWrapper_IteratorRowAll; /* "bamfileutils.pxd":22 * ################################################################################################### * * cdef class MultiBamFileReader(object): # <<<<<<<<<<<<<< * cdef public object files * cpdef getRName(self, int refId) */ struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader { PyObject *(*getRName)(struct __pyx_obj_12bamfileutils_MultiBamFileReader *, int, int __pyx_skip_dispatch); struct __pyx_obj_12bamfileutils_MultiBamFileIterator *(*fetch)(struct __pyx_obj_12bamfileutils_MultiBamFileReader *, char *, int, int, int __pyx_skip_dispatch); }; static struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader *__pyx_vtabptr_12bamfileutils_MultiBamFileReader; /* "samtoolsWrapper.pxd":266 * ################################################################################################### * * cdef class AlignedRead: # <<<<<<<<<<<<<< * cdef bam1_t* _delegate * cdef int hashValue */ struct __pyx_vtabstruct_15samtoolsWrapper_AlignedRead { PyObject *(*qname)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int __pyx_skip_dispatch); char *(*fastQName)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); char *(*seq)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); char *(*qual)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*tags)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*flag)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*rname)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*getCigarLength)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*pos)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*end)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*bin)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*getCigarOpCode)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int); int (*getCigarOpLength)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int); int (*rlen)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mapq)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int __pyx_skip_dispatch); int (*mrnm)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mpos)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*isize)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_paired)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_proper_pair)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_unmapped)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mate_is_unmapped)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_reverse)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mate_is_reverse)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_read1)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_read2)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_secondary)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_qcfail)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_duplicate)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*opt)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, PyObject *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_AlignedRead *__pyx_vtabptr_15samtoolsWrapper_AlignedRead; /* "variant.pxd":42 * ################################################################################################### * * cdef class VariantCandidateGenerator: # <<<<<<<<<<<<<< * cdef int CIGAR_M * cdef int CIGAR_I */ struct __pyx_vtabstruct_7variant_VariantCandidateGenerator { void (*addVariantToList)(struct __pyx_obj_7variant_VariantCandidateGenerator *, struct __pyx_obj_7variant_Variant *); void (*getSnpCandidatesFromReadSegment)(struct __pyx_obj_7variant_VariantCandidateGenerator *, __pyx_t_15samtoolsWrapper_cAlignedRead *, char *, char *, int, int, int, int, int); void (*getVariantCandidatesFromSingleRead)(struct __pyx_obj_7variant_VariantCandidateGenerator *, __pyx_t_15samtoolsWrapper_cAlignedRead *); void (*addCandidatesFromReads)(struct __pyx_obj_7variant_VariantCandidateGenerator *, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **); PyObject *(*getCandidates)(struct __pyx_obj_7variant_VariantCandidateGenerator *, int); PyObject *(*getListOfSnpPositions)(struct __pyx_obj_7variant_VariantCandidateGenerator *, struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*getListOfIndelPositions)(struct __pyx_obj_7variant_VariantCandidateGenerator *, struct __pyx_obj_15samtoolsWrapper_AlignedRead *); }; static struct __pyx_vtabstruct_7variant_VariantCandidateGenerator *__pyx_vtabptr_7variant_VariantCandidateGenerator; /* "bamfileutils.pxd":7 * ################################################################################################### * * cdef class BamFileIterator(object): # <<<<<<<<<<<<<< * cdef public object iterator * cdef public AlignedRead currentValue */ struct __pyx_vtabstruct_12bamfileutils_BamFileIterator { PyObject *(*next)(struct __pyx_obj_12bamfileutils_BamFileIterator *, int __pyx_skip_dispatch); }; static struct __pyx_vtabstruct_12bamfileutils_BamFileIterator *__pyx_vtabptr_12bamfileutils_BamFileIterator; /* "samtoolsWrapper.pxd":225 * cdef class Samfile * * cdef class IteratorRow: # <<<<<<<<<<<<<< * cdef bam_fetch_iterator_t* bam_iter # iterator state object * cdef bam1_t* b */ struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow { int (*cnext)(struct __pyx_obj_15samtoolsWrapper_IteratorRow *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *__pyx_vtabptr_15samtoolsWrapper_IteratorRow; #ifndef CYTHON_REFNANNY #define CYTHON_REFNANNY 0 #endif #if CYTHON_REFNANNY typedef struct { void (*INCREF)(void*, PyObject*, int); void (*DECREF)(void*, PyObject*, int); void (*GOTREF)(void*, PyObject*, int); void (*GIVEREF)(void*, PyObject*, int); void* (*SetupContext)(const char*, int, const char*); void (*FinishContext)(void**); } __Pyx_RefNannyAPIStruct; static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/ #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; #ifdef WITH_THREAD #define __Pyx_RefNannySetupContext(name, acquire_gil) \ if (acquire_gil) { \ PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ PyGILState_Release(__pyx_gilstate_save); \ } else { \ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \ } #else #define __Pyx_RefNannySetupContext(name, acquire_gil) \ __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) #endif #define __Pyx_RefNannyFinishContext() \ __Pyx_RefNanny->FinishContext(&__pyx_refnanny) #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) #else #define __Pyx_RefNannyDeclarations #define __Pyx_RefNannySetupContext(name, acquire_gil) #define __Pyx_RefNannyFinishContext() #define __Pyx_INCREF(r) Py_INCREF(r) #define __Pyx_DECREF(r) Py_DECREF(r) #define __Pyx_GOTREF(r) #define __Pyx_GIVEREF(r) #define __Pyx_XINCREF(r) Py_XINCREF(r) #define __Pyx_XDECREF(r) Py_XDECREF(r) #define __Pyx_XGOTREF(r) #define __Pyx_XGIVEREF(r) #endif /* CYTHON_REFNANNY */ #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ const char* function_name); /*proto*/ static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *); static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *); static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *); static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *); static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *); static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); static void __Pyx_WriteUnraisable(const char *name, int clineno, int lineno, const char *filename); /*proto*/ static int __Pyx_check_binary_version(void); static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ #if !defined(__Pyx_PyIdentifier_FromString) #if PY_MAJOR_VERSION < 3 #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) #else #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) #endif #endif static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ static void* __Pyx_GetVtable(PyObject *dict); /*proto*/ static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig); /*proto*/ static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/ typedef struct { int code_line; PyCodeObject* code_object; } __Pyx_CodeObjectCacheEntry; struct __Pyx_CodeObjectCache { int count; int max_count; __Pyx_CodeObjectCacheEntry* entries; }; static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); static PyCodeObject *__pyx_find_code_object(int code_line); static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); static void __Pyx_AddTraceback(const char *funcname, int c_line, int py_line, const char *filename); /*proto*/ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ /* Module declarations from 'cython' */ /* Module declarations from 'samtoolsWrapper' */ static PyTypeObject *__pyx_ptype_15samtoolsWrapper_Samfile = 0; static PyTypeObject *__pyx_ptype_15samtoolsWrapper_IteratorRow = 0; static PyTypeObject *__pyx_ptype_15samtoolsWrapper_IteratorRowAll = 0; static PyTypeObject *__pyx_ptype_15samtoolsWrapper_AlignedRead = 0; static struct __pyx_obj_15samtoolsWrapper_AlignedRead *(*__pyx_f_15samtoolsWrapper_makeAlignedRead)(bam1_t *); /*proto*/ static __pyx_t_15samtoolsWrapper_cAlignedRead *(*__pyx_f_15samtoolsWrapper_createRead)(bam1_t *, int, char **); /*proto*/ static void (*__pyx_f_15samtoolsWrapper_destroyRead)(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsReverse(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsProperPair(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsDuplicate(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsUnmapped(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_MateIsUnmapped(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_MateIsReverse(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsQCFail(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsReadOne(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsSecondaryAlignment(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsCompressed(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE void __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE void __pyx_f_15samtoolsWrapper_Read_SetCompressed(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static void (*__pyx_f_15samtoolsWrapper_compressRead)(__pyx_t_15samtoolsWrapper_cAlignedRead *, char *, int, int, int, int); /*proto*/ static void (*__pyx_f_15samtoolsWrapper_uncompressRead)(__pyx_t_15samtoolsWrapper_cAlignedRead *, char *, int, int, int); /*proto*/ /* Module declarations from 'fastafile' */ static PyTypeObject *__pyx_ptype_9fastafile_FastaIndex = 0; static PyTypeObject *__pyx_ptype_9fastafile_FastaFile = 0; /* Module declarations from 'bamfileutils' */ static PyTypeObject *__pyx_ptype_12bamfileutils_BamFileIterator = 0; static PyTypeObject *__pyx_ptype_12bamfileutils_MultiBamFileIterator = 0; static PyTypeObject *__pyx_ptype_12bamfileutils_MultiBamFileReader = 0; /* Module declarations from 'variant' */ static PyTypeObject *__pyx_ptype_7variant_Variant = 0; static PyTypeObject *__pyx_ptype_7variant_VariantCandidateGenerator = 0; static int *__pyx_vp_7variant_PLATYPUS_VAR = 0; #define __pyx_v_7variant_PLATYPUS_VAR (*__pyx_vp_7variant_PLATYPUS_VAR) static int *__pyx_vp_7variant_FILE_VAR = 0; #define __pyx_v_7variant_FILE_VAR (*__pyx_vp_7variant_FILE_VAR) static int *__pyx_vp_7variant_ASSEMBLER_VAR = 0; #define __pyx_v_7variant_ASSEMBLER_VAR (*__pyx_vp_7variant_ASSEMBLER_VAR) /* Module declarations from 'chaplotype' */ static PyTypeObject *__pyx_ptype_10chaplotype_Haplotype = 0; /* Module declarations from 'cerrormodel' */ static PyObject *(*__pyx_f_11cerrormodel_annotate_sequence_read)(PyObject *, PyObject *, int, int); /*proto*/ /* Module declarations from 'cfilter' */ /* Module declarations from 'variantFilter' */ static PyObject *(*__pyx_f_13variantFilter_getFilteredHaplotypes)(PyObject *, PyObject *, int, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, PyObject *); /*proto*/ /* Module declarations from 'cwindow' */ static PyTypeObject *__pyx_ptype_7cwindow_ReadArray = 0; static PyTypeObject *__pyx_ptype_7cwindow_bamReadBuffer = 0; static int __pyx_v_7cwindow_LOW_QUAL_BASES; static int __pyx_v_7cwindow_UNMAPPED_READ; static int __pyx_v_7cwindow_MATE_UNMAPPED; static int __pyx_v_7cwindow_MATE_DISTANT; static int __pyx_v_7cwindow_SMALL_INSERT; static int __pyx_v_7cwindow_DUPLICATE; static int __pyx_v_7cwindow_LOW_MAP_QUAL; static int __pyx_f_7cwindow_readPosComp(void *, void *); /*proto*/ static int __pyx_f_7cwindow_readMatePosComp(void *, void *); /*proto*/ static int __pyx_f_7cwindow_bisectReadsLeft(__pyx_t_15samtoolsWrapper_cAlignedRead **, int, int, struct __pyx_opt_args_7cwindow_bisectReadsLeft *__pyx_optional_args); /*proto*/ static int __pyx_f_7cwindow_checkAndTrimRead(__pyx_t_15samtoolsWrapper_cAlignedRead *, __pyx_t_15samtoolsWrapper_cAlignedRead *, int, int *, int); /*proto*/ #define __Pyx_MODULE_NAME "cwindow" int __pyx_module_is_main_cwindow = 0; /* Implementation of 'cwindow' */ static PyObject *__pyx_builtin_StandardError; static PyObject *__pyx_builtin_range; static int __pyx_pf_7cwindow_9ReadArray___init__(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self, int __pyx_v_size); /* proto */ static void __pyx_pf_7cwindow_9ReadArray_2__dealloc__(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self); /* proto */ static int __pyx_pf_7cwindow_13bamReadBuffer___init__(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self, char *__pyx_v_chrom, int __pyx_v_start, int __pyx_v_end, PyObject *__pyx_v_options); /* proto */ static void __pyx_pf_7cwindow_13bamReadBuffer_2__dealloc__(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self); /* proto */ static char __pyx_k_1[] = "Could not allocate memory for ReadArray"; static char __pyx_k_2[] = "Could not re-allocate ReadArray"; static char __pyx_k_3[] = "Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s"; static char __pyx_k_4[] = "There are %s reads here."; static char __pyx_k_5[] = "This should never happen. Read start pointer > read end pointer!!"; static char __pyx_k_6[] = "filterReadsWithUnmappedMates"; static char __pyx_k_7[] = "filterReadsWithDistantMates"; static char __pyx_k_8[] = "filterReadPairsWithSmallInserts"; static char __pyx_k_9[] = "Sample %s has %s good reads"; static char __pyx_k_10[] = "Sample %s has %s bad reads"; static char __pyx_k_11[] = "Sample %s has %s broken mates"; static char __pyx_k_12[] = "N low map quality reads = %s"; static char __pyx_k_13[] = "N low qual reads = %s"; static char __pyx_k_14[] = "N un-mapped reads = %s"; static char __pyx_k_15[] = "N reads with unmapped mates = %s"; static char __pyx_k_16[] = "N reads with distant mates = %s"; static char __pyx_k_17[] = "N reads pairs with small inserts = %s"; static char __pyx_k_18[] = "N duplicate reads = %s"; static char __pyx_k_19[] = "Found null read"; static char __pyx_k_21[] = "\nFast cython implementation of some windowing functions.\n"; static char __pyx_k__Log[] = "Log"; static char __pyx_k__end[] = "end"; static char __pyx_k__info[] = "info"; static char __pyx_k__math[] = "math"; static char __pyx_k__rlen[] = "rlen"; static char __pyx_k__size[] = "size"; static char __pyx_k__chrom[] = "chrom"; static char __pyx_k__debug[] = "debug"; static char __pyx_k__heapq[] = "heapq"; static char __pyx_k__range[] = "range"; static char __pyx_k__start[] = "start"; static char __pyx_k__bisect[] = "bisect"; static char __pyx_k__logger[] = "logger"; static char __pyx_k__heappop[] = "heappop"; static char __pyx_k__logging[] = "logging"; static char __pyx_k__options[] = "options"; static char __pyx_k____main__[] = "__main__"; static char __pyx_k____test__[] = "__test__"; static char __pyx_k__heappush[] = "heappush"; static char __pyx_k__maxReads[] = "maxReads"; static char __pyx_k__getLogger[] = "getLogger"; static char __pyx_k__verbosity[] = "verbosity"; static char __pyx_k__minMapQual[] = "minMapQual"; static char __pyx_k__bisect_left[] = "bisect_left"; static char __pyx_k__StandardError[] = "StandardError"; static char __pyx_k__filterDuplicates[] = "filterDuplicates"; static char __pyx_k__minGoodQualBases[] = "minGoodQualBases"; static PyObject *__pyx_kp_s_1; static PyObject *__pyx_kp_s_10; static PyObject *__pyx_kp_s_11; static PyObject *__pyx_kp_s_12; static PyObject *__pyx_kp_s_13; static PyObject *__pyx_kp_s_14; static PyObject *__pyx_kp_s_15; static PyObject *__pyx_kp_s_16; static PyObject *__pyx_kp_s_17; static PyObject *__pyx_kp_s_18; static PyObject *__pyx_kp_s_19; static PyObject *__pyx_kp_s_2; static PyObject *__pyx_kp_s_3; static PyObject *__pyx_kp_s_4; static PyObject *__pyx_kp_s_5; static PyObject *__pyx_n_s_6; static PyObject *__pyx_n_s_7; static PyObject *__pyx_n_s_8; static PyObject *__pyx_kp_s_9; static PyObject *__pyx_n_s__Log; static PyObject *__pyx_n_s__StandardError; static PyObject *__pyx_n_s____main__; static PyObject *__pyx_n_s____test__; static PyObject *__pyx_n_s__bisect; static PyObject *__pyx_n_s__bisect_left; static PyObject *__pyx_n_s__chrom; static PyObject *__pyx_n_s__debug; static PyObject *__pyx_n_s__end; static PyObject *__pyx_n_s__filterDuplicates; static PyObject *__pyx_n_s__getLogger; static PyObject *__pyx_n_s__heappop; static PyObject *__pyx_n_s__heappush; static PyObject *__pyx_n_s__heapq; static PyObject *__pyx_n_s__info; static PyObject *__pyx_n_s__logger; static PyObject *__pyx_n_s__logging; static PyObject *__pyx_n_s__math; static PyObject *__pyx_n_s__maxReads; static PyObject *__pyx_n_s__minGoodQualBases; static PyObject *__pyx_n_s__minMapQual; static PyObject *__pyx_n_s__options; static PyObject *__pyx_n_s__range; static PyObject *__pyx_n_s__rlen; static PyObject *__pyx_n_s__size; static PyObject *__pyx_n_s__start; static PyObject *__pyx_n_s__verbosity; static PyObject *__pyx_int_0; static PyObject *__pyx_k_tuple_20; static PyObject *__pyx_k_tuple_22; /* "cwindow.pyx":93 * ################################################################################################### * * cdef int readPosComp(void* x, void* y): # <<<<<<<<<<<<<< * """ * Comparison function for use in qsort, to sort reads by their mate positions, as long as */ static int __pyx_f_7cwindow_readPosComp(void *__pyx_v_x, void *__pyx_v_y) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readOne; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readTwo; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("readPosComp", 0); /* "cwindow.pyx":98 * the mates are on the same chromosome. * """ * cdef cAlignedRead** readOne = (x) # <<<<<<<<<<<<<< * cdef cAlignedRead** readTwo = (y) * */ __pyx_v_readOne = ((__pyx_t_15samtoolsWrapper_cAlignedRead **)__pyx_v_x); /* "cwindow.pyx":99 * """ * cdef cAlignedRead** readOne = (x) * cdef cAlignedRead** readTwo = (y) # <<<<<<<<<<<<<< * * # Sorting is broken for reads with mates on different chromosomes */ __pyx_v_readTwo = ((__pyx_t_15samtoolsWrapper_cAlignedRead **)__pyx_v_y); /* "cwindow.pyx":102 * * # Sorting is broken for reads with mates on different chromosomes * assert readOne[0].chromID == readTwo[0].chromID # <<<<<<<<<<<<<< * return readOne[0].pos - readTwo[0].pos * */ #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!((__pyx_v_readOne[0])->chromID == (__pyx_v_readTwo[0])->chromID))) { PyErr_SetNone(PyExc_AssertionError); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "cwindow.pyx":103 * # Sorting is broken for reads with mates on different chromosomes * assert readOne[0].chromID == readTwo[0].chromID * return readOne[0].pos - readTwo[0].pos # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = ((__pyx_v_readOne[0])->pos - (__pyx_v_readTwo[0])->pos); goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("cwindow.readPosComp", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":107 * ################################################################################################### * * cdef int readMatePosComp(void* x, void* y): # <<<<<<<<<<<<<< * """ * Comparison function for use in qsort, to sort reads by their mate positions, as long as */ static int __pyx_f_7cwindow_readMatePosComp(void *__pyx_v_x, void *__pyx_v_y) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readOne; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readTwo; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("readMatePosComp", 0); /* "cwindow.pyx":112 * the mates are on the same chromosome. * """ * cdef cAlignedRead** readOne = (x) # <<<<<<<<<<<<<< * cdef cAlignedRead** readTwo = (y) * */ __pyx_v_readOne = ((__pyx_t_15samtoolsWrapper_cAlignedRead **)__pyx_v_x); /* "cwindow.pyx":113 * """ * cdef cAlignedRead** readOne = (x) * cdef cAlignedRead** readTwo = (y) # <<<<<<<<<<<<<< * * # Sorting is broken for reads with mates on different chromosomes */ __pyx_v_readTwo = ((__pyx_t_15samtoolsWrapper_cAlignedRead **)__pyx_v_y); /* "cwindow.pyx":116 * * # Sorting is broken for reads with mates on different chromosomes * assert readOne[0].mateChromID == readTwo[0].mateChromID # <<<<<<<<<<<<<< * return readOne[0].matePos - readTwo[0].matePos * */ #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!((__pyx_v_readOne[0])->mateChromID == (__pyx_v_readTwo[0])->mateChromID))) { PyErr_SetNone(PyExc_AssertionError); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "cwindow.pyx":117 * # Sorting is broken for reads with mates on different chromosomes * assert readOne[0].mateChromID == readTwo[0].mateChromID * return readOne[0].matePos - readTwo[0].matePos # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = ((__pyx_v_readOne[0])->matePos - (__pyx_v_readTwo[0])->matePos); goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("cwindow.readMatePosComp", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_7cwindow_9ReadArray_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_7cwindow_9ReadArray___init__[] = "\n Allocate an array of size 'size', with initial values\n 'init'.\n "; #if CYTHON_COMPILING_IN_CPYTHON struct wrapperbase __pyx_wrapperbase_7cwindow_9ReadArray___init__; #endif static int __pyx_pw_7cwindow_9ReadArray_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_size; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__size,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_size = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("cwindow.ReadArray.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_7cwindow_9ReadArray___init__(((struct __pyx_obj_7cwindow_ReadArray *)__pyx_v_self), __pyx_v_size); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":126 * checking. * """ * def __init__(self, int size): # <<<<<<<<<<<<<< * """ * Allocate an array of size 'size', with initial values */ static int __pyx_pf_7cwindow_9ReadArray___init__(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self, int __pyx_v_size) { long __pyx_v_index; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); /* "cwindow.pyx":131 * 'init'. * """ * self.array = (malloc(size*sizeof(cAlignedRead*))) # <<<<<<<<<<<<<< * assert self.array != NULL, "Could not allocate memory for ReadArray" * */ __pyx_v_self->array = ((__pyx_t_15samtoolsWrapper_cAlignedRead **)malloc((__pyx_v_size * (sizeof(__pyx_t_15samtoolsWrapper_cAlignedRead *))))); /* "cwindow.pyx":132 * """ * self.array = (malloc(size*sizeof(cAlignedRead*))) * assert self.array != NULL, "Could not allocate memory for ReadArray" # <<<<<<<<<<<<<< * * self.__size = 0 # We don't put anything in here yet, just allocate memory */ #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!(__pyx_v_self->array != NULL))) { PyErr_SetObject(PyExc_AssertionError, ((PyObject *)__pyx_kp_s_1)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "cwindow.pyx":134 * assert self.array != NULL, "Could not allocate memory for ReadArray" * * self.__size = 0 # We don't put anything in here yet, just allocate memory # <<<<<<<<<<<<<< * self.__capacity = size * self.__longestRead = 0 */ __pyx_v_self->__pyx___size = 0; /* "cwindow.pyx":135 * * self.__size = 0 # We don't put anything in here yet, just allocate memory * self.__capacity = size # <<<<<<<<<<<<<< * self.__longestRead = 0 * self.windowStart = NULL */ __pyx_v_self->__pyx___capacity = __pyx_v_size; /* "cwindow.pyx":136 * self.__size = 0 # We don't put anything in here yet, just allocate memory * self.__capacity = size * self.__longestRead = 0 # <<<<<<<<<<<<<< * self.windowStart = NULL * self.windowEnd = NULL */ __pyx_v_self->__pyx___longestRead = 0; /* "cwindow.pyx":137 * self.__capacity = size * self.__longestRead = 0 * self.windowStart = NULL # <<<<<<<<<<<<<< * self.windowEnd = NULL * */ __pyx_v_self->windowStart = NULL; /* "cwindow.pyx":138 * self.__longestRead = 0 * self.windowStart = NULL * self.windowEnd = NULL # <<<<<<<<<<<<<< * * # Always initialise to NULL */ __pyx_v_self->windowEnd = NULL; /* "cwindow.pyx":141 * * # Always initialise to NULL * for index from 0 <= index < size: # <<<<<<<<<<<<<< * self.array[index] = NULL * */ __pyx_t_1 = __pyx_v_size; for (__pyx_v_index = 0; __pyx_v_index < __pyx_t_1; __pyx_v_index++) { /* "cwindow.pyx":142 * # Always initialise to NULL * for index from 0 <= index < size: * self.array[index] = NULL # <<<<<<<<<<<<<< * * def __dealloc__(self): */ (__pyx_v_self->array[__pyx_v_index]) = NULL; } __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("cwindow.ReadArray.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static void __pyx_pw_7cwindow_9ReadArray_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_7cwindow_9ReadArray_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_7cwindow_9ReadArray_2__dealloc__(((struct __pyx_obj_7cwindow_ReadArray *)__pyx_v_self)); __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":144 * self.array[index] = NULL * * def __dealloc__(self): # <<<<<<<<<<<<<< * """ * Free memory */ static void __pyx_pf_7cwindow_9ReadArray_2__dealloc__(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self) { int __pyx_v_index; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "cwindow.pyx":148 * Free memory * """ * cdef int index = 0 # <<<<<<<<<<<<<< * * if self.array != NULL: */ __pyx_v_index = 0; /* "cwindow.pyx":150 * cdef int index = 0 * * if self.array != NULL: # <<<<<<<<<<<<<< * for index from 0 <= index < self.__size: * if self.array[index] != NULL: */ __pyx_t_1 = (__pyx_v_self->array != NULL); if (__pyx_t_1) { /* "cwindow.pyx":151 * * if self.array != NULL: * for index from 0 <= index < self.__size: # <<<<<<<<<<<<<< * if self.array[index] != NULL: * destroyRead(self.array[index]) */ __pyx_t_2 = __pyx_v_self->__pyx___size; for (__pyx_v_index = 0; __pyx_v_index < __pyx_t_2; __pyx_v_index++) { /* "cwindow.pyx":152 * if self.array != NULL: * for index from 0 <= index < self.__size: * if self.array[index] != NULL: # <<<<<<<<<<<<<< * destroyRead(self.array[index]) * self.array[index] = NULL */ __pyx_t_1 = ((__pyx_v_self->array[__pyx_v_index]) != NULL); if (__pyx_t_1) { /* "cwindow.pyx":153 * for index from 0 <= index < self.__size: * if self.array[index] != NULL: * destroyRead(self.array[index]) # <<<<<<<<<<<<<< * self.array[index] = NULL * */ __pyx_f_15samtoolsWrapper_destroyRead((__pyx_v_self->array[__pyx_v_index])); /* "cwindow.pyx":154 * if self.array[index] != NULL: * destroyRead(self.array[index]) * self.array[index] = NULL # <<<<<<<<<<<<<< * * free(self.array) */ (__pyx_v_self->array[__pyx_v_index]) = NULL; goto __pyx_L6; } __pyx_L6:; } /* "cwindow.pyx":156 * self.array[index] = NULL * * free(self.array) # <<<<<<<<<<<<<< * * cdef int getSize(self): */ free(__pyx_v_self->array); goto __pyx_L3; } __pyx_L3:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":158 * free(self.array) * * cdef int getSize(self): # <<<<<<<<<<<<<< * """ * Return the size of the array */ static int __pyx_f_7cwindow_9ReadArray_getSize(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getSize", 0); /* "cwindow.pyx":162 * Return the size of the array * """ * return self.__size # <<<<<<<<<<<<<< * * cdef void append(self, cAlignedRead* value): */ __pyx_r = __pyx_v_self->__pyx___size; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":164 * return self.__size * * cdef void append(self, cAlignedRead* value): # <<<<<<<<<<<<<< * """ * Append a new value to the array, re-allocating if necessary. */ static void __pyx_f_7cwindow_9ReadArray_append(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self, __pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_value) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_temp; int __pyx_v_readStart; int __pyx_v_readEnd; int __pyx_v_readLength; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("append", 0); /* "cwindow.pyx":168 * Append a new value to the array, re-allocating if necessary. * """ * cdef cAlignedRead** temp = NULL # <<<<<<<<<<<<<< * * if self.__size == self.__capacity: */ __pyx_v_temp = NULL; /* "cwindow.pyx":170 * cdef cAlignedRead** temp = NULL * * if self.__size == self.__capacity: # <<<<<<<<<<<<<< * temp = (realloc(self.array, 2*sizeof(cAlignedRead*)*self.__capacity)) * */ __pyx_t_1 = (__pyx_v_self->__pyx___size == __pyx_v_self->__pyx___capacity); if (__pyx_t_1) { /* "cwindow.pyx":171 * * if self.__size == self.__capacity: * temp = (realloc(self.array, 2*sizeof(cAlignedRead*)*self.__capacity)) # <<<<<<<<<<<<<< * * if temp == NULL: */ __pyx_v_temp = ((__pyx_t_15samtoolsWrapper_cAlignedRead **)realloc(__pyx_v_self->array, ((2 * (sizeof(__pyx_t_15samtoolsWrapper_cAlignedRead *))) * __pyx_v_self->__pyx___capacity))); /* "cwindow.pyx":173 * temp = (realloc(self.array, 2*sizeof(cAlignedRead*)*self.__capacity)) * * if temp == NULL: # <<<<<<<<<<<<<< * raise StandardError, "Could not re-allocate ReadArray" * else: */ __pyx_t_1 = (__pyx_v_temp == NULL); if (__pyx_t_1) { /* "cwindow.pyx":174 * * if temp == NULL: * raise StandardError, "Could not re-allocate ReadArray" # <<<<<<<<<<<<<< * else: * self.array = temp */ __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_kp_s_2), 0, 0); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L4; } /*else*/ { /* "cwindow.pyx":176 * raise StandardError, "Could not re-allocate ReadArray" * else: * self.array = temp # <<<<<<<<<<<<<< * self.__capacity *= 2 * */ __pyx_v_self->array = __pyx_v_temp; /* "cwindow.pyx":177 * else: * self.array = temp * self.__capacity *= 2 # <<<<<<<<<<<<<< * * self.array[self.__size] = value */ __pyx_v_self->__pyx___capacity = (__pyx_v_self->__pyx___capacity * 2); } __pyx_L4:; goto __pyx_L3; } __pyx_L3:; /* "cwindow.pyx":179 * self.__capacity *= 2 * * self.array[self.__size] = value # <<<<<<<<<<<<<< * self.__size += 1 * */ (__pyx_v_self->array[__pyx_v_self->__pyx___size]) = __pyx_v_value; /* "cwindow.pyx":180 * * self.array[self.__size] = value * self.__size += 1 # <<<<<<<<<<<<<< * * cdef int readStart = value.pos */ __pyx_v_self->__pyx___size = (__pyx_v_self->__pyx___size + 1); /* "cwindow.pyx":182 * self.__size += 1 * * cdef int readStart = value.pos # <<<<<<<<<<<<<< * cdef int readEnd = value.end * cdef int readLength = readEnd - readStart */ __pyx_t_2 = __pyx_v_value->pos; __pyx_v_readStart = __pyx_t_2; /* "cwindow.pyx":183 * * cdef int readStart = value.pos * cdef int readEnd = value.end # <<<<<<<<<<<<<< * cdef int readLength = readEnd - readStart * */ __pyx_t_2 = __pyx_v_value->end; __pyx_v_readEnd = __pyx_t_2; /* "cwindow.pyx":184 * cdef int readStart = value.pos * cdef int readEnd = value.end * cdef int readLength = readEnd - readStart # <<<<<<<<<<<<<< * * if readLength > self.__longestRead: */ __pyx_v_readLength = (__pyx_v_readEnd - __pyx_v_readStart); /* "cwindow.pyx":186 * cdef int readLength = readEnd - readStart * * if readLength > self.__longestRead: # <<<<<<<<<<<<<< * self.__longestRead = readLength * */ __pyx_t_1 = (__pyx_v_readLength > __pyx_v_self->__pyx___longestRead); if (__pyx_t_1) { /* "cwindow.pyx":187 * * if readLength > self.__longestRead: * self.__longestRead = readLength # <<<<<<<<<<<<<< * * cdef void setWindowPointers(self, int start, int end): */ __pyx_v_self->__pyx___longestRead = __pyx_v_readLength; goto __pyx_L5; } __pyx_L5:; goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("cwindow.ReadArray.append", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":189 * self.__longestRead = readLength * * cdef void setWindowPointers(self, int start, int end): # <<<<<<<<<<<<<< * """ * Set the pointers 'windowStart' and 'windowEnd' to */ static void __pyx_f_7cwindow_9ReadArray_setWindowPointers(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self, int __pyx_v_start, int __pyx_v_end) { int __pyx_v_firstOverlapStart; int __pyx_v_startPosOfReads; int __pyx_v_endPosOfReads; __Pyx_RefNannyDeclarations int __pyx_t_1; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_2; int __pyx_t_3; long __pyx_t_4; long __pyx_t_5; int __pyx_t_6; int __pyx_t_7; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_8; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_9; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; PyObject *__pyx_t_15 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("setWindowPointers", 0); /* "cwindow.pyx":195 * the co-ordinates. * """ * cdef int firstOverlapStart = -1 # <<<<<<<<<<<<<< * cdef int startPosOfReads = -1 * cdef int endPosOfReads = -1 */ __pyx_v_firstOverlapStart = -1; /* "cwindow.pyx":196 * """ * cdef int firstOverlapStart = -1 * cdef int startPosOfReads = -1 # <<<<<<<<<<<<<< * cdef int endPosOfReads = -1 * */ __pyx_v_startPosOfReads = -1; /* "cwindow.pyx":197 * cdef int firstOverlapStart = -1 * cdef int startPosOfReads = -1 * cdef int endPosOfReads = -1 # <<<<<<<<<<<<<< * * # Set pointers for good reads */ __pyx_v_endPosOfReads = -1; /* "cwindow.pyx":200 * * # Set pointers for good reads * if self.__size == 0: # <<<<<<<<<<<<<< * self.windowStart = self.array * self.windowEnd = self.array */ __pyx_t_1 = (__pyx_v_self->__pyx___size == 0); if (__pyx_t_1) { /* "cwindow.pyx":201 * # Set pointers for good reads * if self.__size == 0: * self.windowStart = self.array # <<<<<<<<<<<<<< * self.windowEnd = self.array * else: */ __pyx_t_2 = __pyx_v_self->array; __pyx_v_self->windowStart = __pyx_t_2; /* "cwindow.pyx":202 * if self.__size == 0: * self.windowStart = self.array * self.windowEnd = self.array # <<<<<<<<<<<<<< * else: * firstOverlapStart = max(1, start - self.__longestRead) */ __pyx_t_2 = __pyx_v_self->array; __pyx_v_self->windowEnd = __pyx_t_2; goto __pyx_L3; } /*else*/ { /* "cwindow.pyx":204 * self.windowEnd = self.array * else: * firstOverlapStart = max(1, start - self.__longestRead) # <<<<<<<<<<<<<< * startPosOfReads = bisectReadsLeft(self.array, firstOverlapStart, self.__size) * endPosOfReads = bisectReadsLeft(self.array, end, self.__size) */ __pyx_t_3 = (__pyx_v_start - __pyx_v_self->__pyx___longestRead); __pyx_t_4 = 1; if ((__pyx_t_3 > __pyx_t_4)) { __pyx_t_5 = __pyx_t_3; } else { __pyx_t_5 = __pyx_t_4; } __pyx_v_firstOverlapStart = __pyx_t_5; /* "cwindow.pyx":205 * else: * firstOverlapStart = max(1, start - self.__longestRead) * startPosOfReads = bisectReadsLeft(self.array, firstOverlapStart, self.__size) # <<<<<<<<<<<<<< * endPosOfReads = bisectReadsLeft(self.array, end, self.__size) * */ __pyx_v_startPosOfReads = __pyx_f_7cwindow_bisectReadsLeft(__pyx_v_self->array, __pyx_v_firstOverlapStart, __pyx_v_self->__pyx___size, NULL); /* "cwindow.pyx":206 * firstOverlapStart = max(1, start - self.__longestRead) * startPosOfReads = bisectReadsLeft(self.array, firstOverlapStart, self.__size) * endPosOfReads = bisectReadsLeft(self.array, end, self.__size) # <<<<<<<<<<<<<< * * while startPosOfReads < self.__size and self.array[startPosOfReads].end <= start: */ __pyx_v_endPosOfReads = __pyx_f_7cwindow_bisectReadsLeft(__pyx_v_self->array, __pyx_v_end, __pyx_v_self->__pyx___size, NULL); /* "cwindow.pyx":208 * endPosOfReads = bisectReadsLeft(self.array, end, self.__size) * * while startPosOfReads < self.__size and self.array[startPosOfReads].end <= start: # <<<<<<<<<<<<<< * startPosOfReads += 1 * */ while (1) { __pyx_t_1 = (__pyx_v_startPosOfReads < __pyx_v_self->__pyx___size); if (__pyx_t_1) { __pyx_t_6 = ((__pyx_v_self->array[__pyx_v_startPosOfReads])->end <= __pyx_v_start); __pyx_t_7 = __pyx_t_6; } else { __pyx_t_7 = __pyx_t_1; } if (!__pyx_t_7) break; /* "cwindow.pyx":209 * * while startPosOfReads < self.__size and self.array[startPosOfReads].end <= start: * startPosOfReads += 1 # <<<<<<<<<<<<<< * * self.windowStart = self.array + startPosOfReads */ __pyx_v_startPosOfReads = (__pyx_v_startPosOfReads + 1); } /* "cwindow.pyx":211 * startPosOfReads += 1 * * self.windowStart = self.array + startPosOfReads # <<<<<<<<<<<<<< * self.windowEnd = min(self.array + endPosOfReads, self.array + self.__size) * */ __pyx_v_self->windowStart = (__pyx_v_self->array + __pyx_v_startPosOfReads); /* "cwindow.pyx":212 * * self.windowStart = self.array + startPosOfReads * self.windowEnd = min(self.array + endPosOfReads, self.array + self.__size) # <<<<<<<<<<<<<< * * if startPosOfReads > endPosOfReads: */ __pyx_t_2 = (__pyx_v_self->array + __pyx_v_self->__pyx___size); __pyx_t_8 = (__pyx_v_self->array + __pyx_v_endPosOfReads); if ((__pyx_t_2 < __pyx_t_8)) { __pyx_t_9 = __pyx_t_2; } else { __pyx_t_9 = __pyx_t_8; } __pyx_v_self->windowEnd = __pyx_t_9; /* "cwindow.pyx":214 * self.windowEnd = min(self.array + endPosOfReads, self.array + self.__size) * * if startPosOfReads > endPosOfReads: # <<<<<<<<<<<<<< * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) * logger.info("There are %s reads here." %(self.__size)) */ __pyx_t_7 = (__pyx_v_startPosOfReads > __pyx_v_endPosOfReads); if (__pyx_t_7) { /* "cwindow.pyx":215 * * if startPosOfReads > endPosOfReads: * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) # <<<<<<<<<<<<<< * logger.info("There are %s reads here." %(self.__size)) * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" */ __pyx_t_10 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyObject_GetAttr(__pyx_t_10, __pyx_n_s__info); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyInt_FromLong(__pyx_v_startPosOfReads); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyInt_FromLong(__pyx_v_endPosOfReads); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = PyTuple_New(4); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_10 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_3), ((PyObject *)__pyx_t_15)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_14)); __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_t_14)); __Pyx_GIVEREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __pyx_t_14 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_t_15), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* "cwindow.pyx":216 * if startPosOfReads > endPosOfReads: * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) * logger.info("There are %s reads here." %(self.__size)) # <<<<<<<<<<<<<< * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" * */ __pyx_t_14 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = PyObject_GetAttr(__pyx_t_14, __pyx_n_s__info); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyInt_FromLong(__pyx_v_self->__pyx___size); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_14); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_11)); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_t_11)); __Pyx_GIVEREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; __pyx_t_11 = PyObject_Call(__pyx_t_15, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* "cwindow.pyx":217 * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) * logger.info("There are %s reads here." %(self.__size)) * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" # <<<<<<<<<<<<<< * * cdef void setWindowPointersBasedOnMatePos(self, int start, int end): */ __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_kp_s_5), 0, 0); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; } __pyx_L3:; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); __Pyx_WriteUnraisable("cwindow.ReadArray.setWindowPointers", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":219 * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" * * cdef void setWindowPointersBasedOnMatePos(self, int start, int end): # <<<<<<<<<<<<<< * """ * Set the pointers 'windowStart' and 'windowEnd' to */ static void __pyx_f_7cwindow_9ReadArray_setWindowPointersBasedOnMatePos(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self, int __pyx_v_start, int __pyx_v_end) { int __pyx_v_firstOverlapStart; int __pyx_v_startPosOfReads; int __pyx_v_endPosOfReads; __Pyx_RefNannyDeclarations int __pyx_t_1; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_2; int __pyx_t_3; long __pyx_t_4; long __pyx_t_5; struct __pyx_opt_args_7cwindow_bisectReadsLeft __pyx_t_6; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_7; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("setWindowPointersBasedOnMatePos", 0); /* "cwindow.pyx":225 * the co-ordinates of the mates of the reads in this array. * """ * cdef int firstOverlapStart = -1 # <<<<<<<<<<<<<< * cdef int startPosOfReads = -1 * cdef int endPosOfReads = -1 */ __pyx_v_firstOverlapStart = -1; /* "cwindow.pyx":226 * """ * cdef int firstOverlapStart = -1 * cdef int startPosOfReads = -1 # <<<<<<<<<<<<<< * cdef int endPosOfReads = -1 * */ __pyx_v_startPosOfReads = -1; /* "cwindow.pyx":227 * cdef int firstOverlapStart = -1 * cdef int startPosOfReads = -1 * cdef int endPosOfReads = -1 # <<<<<<<<<<<<<< * * # Set pointers for good reads */ __pyx_v_endPosOfReads = -1; /* "cwindow.pyx":230 * * # Set pointers for good reads * if self.__size == 0: # <<<<<<<<<<<<<< * self.windowStart = self.array * self.windowEnd = self.array */ __pyx_t_1 = (__pyx_v_self->__pyx___size == 0); if (__pyx_t_1) { /* "cwindow.pyx":231 * # Set pointers for good reads * if self.__size == 0: * self.windowStart = self.array # <<<<<<<<<<<<<< * self.windowEnd = self.array * else: */ __pyx_t_2 = __pyx_v_self->array; __pyx_v_self->windowStart = __pyx_t_2; /* "cwindow.pyx":232 * if self.__size == 0: * self.windowStart = self.array * self.windowEnd = self.array # <<<<<<<<<<<<<< * else: * firstOverlapStart = max(1, start - self.__longestRead) */ __pyx_t_2 = __pyx_v_self->array; __pyx_v_self->windowEnd = __pyx_t_2; goto __pyx_L3; } /*else*/ { /* "cwindow.pyx":234 * self.windowEnd = self.array * else: * firstOverlapStart = max(1, start - self.__longestRead) # <<<<<<<<<<<<<< * startPosOfReads = bisectReadsLeft(self.array, firstOverlapStart, self.__size, 1) * endPosOfReads = bisectReadsLeft(self.array, end, self.__size, 1) */ __pyx_t_3 = (__pyx_v_start - __pyx_v_self->__pyx___longestRead); __pyx_t_4 = 1; if ((__pyx_t_3 > __pyx_t_4)) { __pyx_t_5 = __pyx_t_3; } else { __pyx_t_5 = __pyx_t_4; } __pyx_v_firstOverlapStart = __pyx_t_5; /* "cwindow.pyx":235 * else: * firstOverlapStart = max(1, start - self.__longestRead) * startPosOfReads = bisectReadsLeft(self.array, firstOverlapStart, self.__size, 1) # <<<<<<<<<<<<<< * endPosOfReads = bisectReadsLeft(self.array, end, self.__size, 1) * */ __pyx_t_6.__pyx_n = 1; __pyx_t_6.testMatePos = 1; __pyx_t_3 = __pyx_f_7cwindow_bisectReadsLeft(__pyx_v_self->array, __pyx_v_firstOverlapStart, __pyx_v_self->__pyx___size, &__pyx_t_6); __pyx_v_startPosOfReads = __pyx_t_3; /* "cwindow.pyx":236 * firstOverlapStart = max(1, start - self.__longestRead) * startPosOfReads = bisectReadsLeft(self.array, firstOverlapStart, self.__size, 1) * endPosOfReads = bisectReadsLeft(self.array, end, self.__size, 1) # <<<<<<<<<<<<<< * * #while startPosOfReads < self.__size and self.array[startPosOfReads].end <= start: */ __pyx_t_6.__pyx_n = 1; __pyx_t_6.testMatePos = 1; __pyx_t_3 = __pyx_f_7cwindow_bisectReadsLeft(__pyx_v_self->array, __pyx_v_end, __pyx_v_self->__pyx___size, &__pyx_t_6); __pyx_v_endPosOfReads = __pyx_t_3; /* "cwindow.pyx":241 * # startPosOfReads += 1 * * self.windowStart = self.array + startPosOfReads # <<<<<<<<<<<<<< * self.windowEnd = min(self.array + endPosOfReads, self.array + self.__size) * */ __pyx_v_self->windowStart = (__pyx_v_self->array + __pyx_v_startPosOfReads); /* "cwindow.pyx":242 * * self.windowStart = self.array + startPosOfReads * self.windowEnd = min(self.array + endPosOfReads, self.array + self.__size) # <<<<<<<<<<<<<< * * if startPosOfReads > endPosOfReads: */ __pyx_t_2 = (__pyx_v_self->array + __pyx_v_self->__pyx___size); __pyx_t_7 = (__pyx_v_self->array + __pyx_v_endPosOfReads); if ((__pyx_t_2 < __pyx_t_7)) { __pyx_t_8 = __pyx_t_2; } else { __pyx_t_8 = __pyx_t_7; } __pyx_v_self->windowEnd = __pyx_t_8; /* "cwindow.pyx":244 * self.windowEnd = min(self.array + endPosOfReads, self.array + self.__size) * * if startPosOfReads > endPosOfReads: # <<<<<<<<<<<<<< * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) * logger.info("There are %s reads here." %(self.__size)) */ __pyx_t_1 = (__pyx_v_startPosOfReads > __pyx_v_endPosOfReads); if (__pyx_t_1) { /* "cwindow.pyx":245 * * if startPosOfReads > endPosOfReads: * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) # <<<<<<<<<<<<<< * logger.info("There are %s reads here." %(self.__size)) * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" */ __pyx_t_9 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyObject_GetAttr(__pyx_t_9, __pyx_n_s__info); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyInt_FromLong(__pyx_v_startPosOfReads); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyInt_FromLong(__pyx_v_endPosOfReads); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyTuple_New(4); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_9 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_3), ((PyObject *)__pyx_t_14)); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_13)); __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_t_13)); __Pyx_GIVEREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __pyx_t_13 = PyObject_Call(__pyx_t_10, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "cwindow.pyx":246 * if startPosOfReads > endPosOfReads: * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) * logger.info("There are %s reads here." %(self.__size)) # <<<<<<<<<<<<<< * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" * */ __pyx_t_13 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyObject_GetAttr(__pyx_t_13, __pyx_n_s__info); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyInt_FromLong(__pyx_v_self->__pyx___size); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_13); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_10)); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_t_10)); __Pyx_GIVEREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0; __pyx_t_10 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; /* "cwindow.pyx":247 * logger.info("Start pos = %s. End pos = %s. Read start pos = %s. end pos = %s" %(start, end, startPosOfReads, endPosOfReads)) * logger.info("There are %s reads here." %(self.__size)) * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" # <<<<<<<<<<<<<< * * cdef int getLengthOfLongestRead(self): */ __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_kp_s_5), 0, 0); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L4; } __pyx_L4:; } __pyx_L3:; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_WriteUnraisable("cwindow.ReadArray.setWindowPointersBasedOnMatePos", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":249 * raise StandardError, "This should never happen. Read start pointer > read end pointer!!" * * cdef int getLengthOfLongestRead(self): # <<<<<<<<<<<<<< * """ * Simple wrapper function. */ static int __pyx_f_7cwindow_9ReadArray_getLengthOfLongestRead(struct __pyx_obj_7cwindow_ReadArray *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getLengthOfLongestRead", 0); /* "cwindow.pyx":253 * Simple wrapper function. * """ * return self.__longestRead # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_self->__pyx___longestRead; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":257 * ################################################################################################### * * cdef int bisectReadsLeft(cAlignedRead** reads, int testPos, int nReads, int testMatePos=0): # <<<<<<<<<<<<<< * """ * Specialisation of bisection algorithm for array of */ static int __pyx_f_7cwindow_bisectReadsLeft(__pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_reads, int __pyx_v_testPos, int __pyx_v_nReads, struct __pyx_opt_args_7cwindow_bisectReadsLeft *__pyx_optional_args) { int __pyx_v_testMatePos = ((int)0); int __pyx_v_low; int __pyx_v_high; int __pyx_v_mid; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("bisectReadsLeft", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_testMatePos = __pyx_optional_args->testMatePos; } } /* "cwindow.pyx":262 * read pointers. * """ * cdef int low = 0 # <<<<<<<<<<<<<< * cdef int high = nReads * cdef int mid = 0 */ __pyx_v_low = 0; /* "cwindow.pyx":263 * """ * cdef int low = 0 * cdef int high = nReads # <<<<<<<<<<<<<< * cdef int mid = 0 * */ __pyx_v_high = __pyx_v_nReads; /* "cwindow.pyx":264 * cdef int low = 0 * cdef int high = nReads * cdef int mid = 0 # <<<<<<<<<<<<<< * * while low < high: */ __pyx_v_mid = 0; /* "cwindow.pyx":266 * cdef int mid = 0 * * while low < high: # <<<<<<<<<<<<<< * * mid = (low + high) / 2 */ while (1) { __pyx_t_1 = (__pyx_v_low < __pyx_v_high); if (!__pyx_t_1) break; /* "cwindow.pyx":268 * while low < high: * * mid = (low + high) / 2 # <<<<<<<<<<<<<< * * if not testMatePos: */ __pyx_v_mid = ((__pyx_v_low + __pyx_v_high) / 2); /* "cwindow.pyx":270 * mid = (low + high) / 2 * * if not testMatePos: # <<<<<<<<<<<<<< * if reads[mid].pos < testPos: * low = mid + 1 */ __pyx_t_1 = (!__pyx_v_testMatePos); if (__pyx_t_1) { /* "cwindow.pyx":271 * * if not testMatePos: * if reads[mid].pos < testPos: # <<<<<<<<<<<<<< * low = mid + 1 * else: */ __pyx_t_1 = ((__pyx_v_reads[__pyx_v_mid])->pos < __pyx_v_testPos); if (__pyx_t_1) { /* "cwindow.pyx":272 * if not testMatePos: * if reads[mid].pos < testPos: * low = mid + 1 # <<<<<<<<<<<<<< * else: * high = mid */ __pyx_v_low = (__pyx_v_mid + 1); goto __pyx_L6; } /*else*/ { /* "cwindow.pyx":274 * low = mid + 1 * else: * high = mid # <<<<<<<<<<<<<< * else: * if reads[mid].matePos < testPos: */ __pyx_v_high = __pyx_v_mid; } __pyx_L6:; goto __pyx_L5; } /*else*/ { /* "cwindow.pyx":276 * high = mid * else: * if reads[mid].matePos < testPos: # <<<<<<<<<<<<<< * low = mid + 1 * else: */ __pyx_t_1 = ((__pyx_v_reads[__pyx_v_mid])->matePos < __pyx_v_testPos); if (__pyx_t_1) { /* "cwindow.pyx":277 * else: * if reads[mid].matePos < testPos: * low = mid + 1 # <<<<<<<<<<<<<< * else: * high = mid */ __pyx_v_low = (__pyx_v_mid + 1); goto __pyx_L7; } /*else*/ { /* "cwindow.pyx":279 * low = mid + 1 * else: * high = mid # <<<<<<<<<<<<<< * * return low */ __pyx_v_high = __pyx_v_mid; } __pyx_L7:; } __pyx_L5:; } /* "cwindow.pyx":281 * high = mid * * return low # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_low; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":285 * ################################################################################################### * * cdef int bisectReadsRight(cAlignedRead** reads, int testPos, int nReads, int testMatePos=0): # <<<<<<<<<<<<<< * """ * Specialisation of bisection algorithm for array of */ static int __pyx_f_7cwindow_bisectReadsRight(__pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_reads, int __pyx_v_testPos, int __pyx_v_nReads, struct __pyx_opt_args_7cwindow_bisectReadsRight *__pyx_optional_args) { int __pyx_v_testMatePos = ((int)0); int __pyx_v_low; int __pyx_v_high; int __pyx_v_mid; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("bisectReadsRight", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_testMatePos = __pyx_optional_args->testMatePos; } } /* "cwindow.pyx":290 * read pointers. * """ * cdef int low = 0 # <<<<<<<<<<<<<< * cdef int high = nReads * cdef int mid = 0 */ __pyx_v_low = 0; /* "cwindow.pyx":291 * """ * cdef int low = 0 * cdef int high = nReads # <<<<<<<<<<<<<< * cdef int mid = 0 * */ __pyx_v_high = __pyx_v_nReads; /* "cwindow.pyx":292 * cdef int low = 0 * cdef int high = nReads * cdef int mid = 0 # <<<<<<<<<<<<<< * * while low < high: */ __pyx_v_mid = 0; /* "cwindow.pyx":294 * cdef int mid = 0 * * while low < high: # <<<<<<<<<<<<<< * * mid = (low + high) / 2 */ while (1) { __pyx_t_1 = (__pyx_v_low < __pyx_v_high); if (!__pyx_t_1) break; /* "cwindow.pyx":296 * while low < high: * * mid = (low + high) / 2 # <<<<<<<<<<<<<< * * if not testMatePos: */ __pyx_v_mid = ((__pyx_v_low + __pyx_v_high) / 2); /* "cwindow.pyx":298 * mid = (low + high) / 2 * * if not testMatePos: # <<<<<<<<<<<<<< * if testPos < reads[mid].pos: * high = mid */ __pyx_t_1 = (!__pyx_v_testMatePos); if (__pyx_t_1) { /* "cwindow.pyx":299 * * if not testMatePos: * if testPos < reads[mid].pos: # <<<<<<<<<<<<<< * high = mid * else: */ __pyx_t_1 = (__pyx_v_testPos < (__pyx_v_reads[__pyx_v_mid])->pos); if (__pyx_t_1) { /* "cwindow.pyx":300 * if not testMatePos: * if testPos < reads[mid].pos: * high = mid # <<<<<<<<<<<<<< * else: * low = mid + 1 */ __pyx_v_high = __pyx_v_mid; goto __pyx_L6; } /*else*/ { /* "cwindow.pyx":302 * high = mid * else: * low = mid + 1 # <<<<<<<<<<<<<< * else: * if testPos < reads[mid].matePos: */ __pyx_v_low = (__pyx_v_mid + 1); } __pyx_L6:; goto __pyx_L5; } /*else*/ { /* "cwindow.pyx":304 * low = mid + 1 * else: * if testPos < reads[mid].matePos: # <<<<<<<<<<<<<< * high = mid * else: */ __pyx_t_1 = (__pyx_v_testPos < (__pyx_v_reads[__pyx_v_mid])->matePos); if (__pyx_t_1) { /* "cwindow.pyx":305 * else: * if testPos < reads[mid].matePos: * high = mid # <<<<<<<<<<<<<< * else: * low = mid + 1 */ __pyx_v_high = __pyx_v_mid; goto __pyx_L7; } /*else*/ { /* "cwindow.pyx":307 * high = mid * else: * low = mid + 1 # <<<<<<<<<<<<<< * * return low */ __pyx_v_low = (__pyx_v_mid + 1); } __pyx_L7:; } __pyx_L5:; } /* "cwindow.pyx":309 * low = mid + 1 * * return low # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_low; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":313 * ################################################################################################### * * cdef int checkAndTrimRead(cAlignedRead* theRead, cAlignedRead* theLastRead, int minGoodQualBases, int* filteredReadCountsByType, int minMapQual): # <<<<<<<<<<<<<< * """ * Performs various quality checks on the read, and trims read (i.e. set q-scores to zero). Returns */ static int __pyx_f_7cwindow_checkAndTrimRead(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead, __pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theLastRead, int __pyx_v_minGoodQualBases, int *__pyx_v_filteredReadCountsByType, int __pyx_v_minMapQual) { int __pyx_v_nQualsBelow20; int __pyx_v_index; int __pyx_v_absIns; int __pyx_v_cigarIndex; CYTHON_UNUSED int __pyx_v_j; int __pyx_v_cigarOp; CYTHON_UNUSED int __pyx_v_cigarLen; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; short __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; int __pyx_t_7; long __pyx_t_8; long __pyx_t_9; short __pyx_t_10; __Pyx_RefNannySetupContext("checkAndTrimRead", 0); /* "cwindow.pyx":318 * true if read is ok, and false otherwise. * """ * if Read_IsSecondaryAlignment(theRead): # <<<<<<<<<<<<<< * #logger.warning("Argh. Found secondary alignment") * return False */ __pyx_t_1 = __pyx_f_15samtoolsWrapper_Read_IsSecondaryAlignment(__pyx_v_theRead); if (__pyx_t_1) { /* "cwindow.pyx":320 * if Read_IsSecondaryAlignment(theRead): * #logger.warning("Argh. Found secondary alignment") * return False # <<<<<<<<<<<<<< * * if theRead.mapq < minMapQual: */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "cwindow.pyx":322 * return False * * if theRead.mapq < minMapQual: # <<<<<<<<<<<<<< * filteredReadCountsByType[LOW_MAP_QUAL] += 1 * Read_SetQCFail(theRead) */ __pyx_t_2 = (__pyx_v_theRead->mapq < __pyx_v_minMapQual); if (__pyx_t_2) { /* "cwindow.pyx":323 * * if theRead.mapq < minMapQual: * filteredReadCountsByType[LOW_MAP_QUAL] += 1 # <<<<<<<<<<<<<< * Read_SetQCFail(theRead) * return False */ __pyx_t_1 = __pyx_v_7cwindow_LOW_MAP_QUAL; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":324 * if theRead.mapq < minMapQual: * filteredReadCountsByType[LOW_MAP_QUAL] += 1 * Read_SetQCFail(theRead) # <<<<<<<<<<<<<< * return False * */ __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_v_theRead); /* "cwindow.pyx":325 * filteredReadCountsByType[LOW_MAP_QUAL] += 1 * Read_SetQCFail(theRead) * return False # <<<<<<<<<<<<<< * * # Filter out low quality reads, i.e. those with < minGoodQualBases with Q scores >= 20 */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L4; } __pyx_L4:; /* "cwindow.pyx":328 * * # Filter out low quality reads, i.e. those with < minGoodQualBases with Q scores >= 20 * cdef int nQualsBelow20 = 0 # <<<<<<<<<<<<<< * cdef int index = 0 * */ __pyx_v_nQualsBelow20 = 0; /* "cwindow.pyx":329 * # Filter out low quality reads, i.e. those with < minGoodQualBases with Q scores >= 20 * cdef int nQualsBelow20 = 0 * cdef int index = 0 # <<<<<<<<<<<<<< * * for index from 1 <= index <= theRead.rlen: */ __pyx_v_index = 0; /* "cwindow.pyx":331 * cdef int index = 0 * * for index from 1 <= index <= theRead.rlen: # <<<<<<<<<<<<<< * if theRead.qual[theRead.rlen - index] < 20: * nQualsBelow20 += 1 */ __pyx_t_3 = __pyx_v_theRead->rlen; for (__pyx_v_index = 1; __pyx_v_index <= __pyx_t_3; __pyx_v_index++) { /* "cwindow.pyx":332 * * for index from 1 <= index <= theRead.rlen: * if theRead.qual[theRead.rlen - index] < 20: # <<<<<<<<<<<<<< * nQualsBelow20 += 1 * */ __pyx_t_2 = ((__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) < 20); if (__pyx_t_2) { /* "cwindow.pyx":333 * for index from 1 <= index <= theRead.rlen: * if theRead.qual[theRead.rlen - index] < 20: * nQualsBelow20 += 1 # <<<<<<<<<<<<<< * * if theRead.rlen - nQualsBelow20 < minGoodQualBases: */ __pyx_v_nQualsBelow20 = (__pyx_v_nQualsBelow20 + 1); goto __pyx_L7; } __pyx_L7:; } /* "cwindow.pyx":335 * nQualsBelow20 += 1 * * if theRead.rlen - nQualsBelow20 < minGoodQualBases: # <<<<<<<<<<<<<< * filteredReadCountsByType[LOW_QUAL_BASES] += 1 * Read_SetQCFail(theRead) */ __pyx_t_2 = ((__pyx_v_theRead->rlen - __pyx_v_nQualsBelow20) < __pyx_v_minGoodQualBases); if (__pyx_t_2) { /* "cwindow.pyx":336 * * if theRead.rlen - nQualsBelow20 < minGoodQualBases: * filteredReadCountsByType[LOW_QUAL_BASES] += 1 # <<<<<<<<<<<<<< * Read_SetQCFail(theRead) * return False */ __pyx_t_1 = __pyx_v_7cwindow_LOW_QUAL_BASES; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":337 * if theRead.rlen - nQualsBelow20 < minGoodQualBases: * filteredReadCountsByType[LOW_QUAL_BASES] += 1 * Read_SetQCFail(theRead) # <<<<<<<<<<<<<< * return False * */ __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_v_theRead); /* "cwindow.pyx":338 * filteredReadCountsByType[LOW_QUAL_BASES] += 1 * Read_SetQCFail(theRead) * return False # <<<<<<<<<<<<<< * * # Remove unmapped reads */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L8; } __pyx_L8:; /* "cwindow.pyx":341 * * # Remove unmapped reads * if Read_IsUnmapped(theRead): # <<<<<<<<<<<<<< * filteredReadCountsByType[UNMAPPED_READ] += 1 * return False */ __pyx_t_1 = __pyx_f_15samtoolsWrapper_Read_IsUnmapped(__pyx_v_theRead); if (__pyx_t_1) { /* "cwindow.pyx":342 * # Remove unmapped reads * if Read_IsUnmapped(theRead): * filteredReadCountsByType[UNMAPPED_READ] += 1 # <<<<<<<<<<<<<< * return False * */ __pyx_t_1 = __pyx_v_7cwindow_UNMAPPED_READ; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":343 * if Read_IsUnmapped(theRead): * filteredReadCountsByType[UNMAPPED_READ] += 1 * return False # <<<<<<<<<<<<<< * * # Remove broken pairs, i.e. pairs where the mate is mapped to a different chromosome or the */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L9; } __pyx_L9:; /* "cwindow.pyx":347 * # Remove broken pairs, i.e. pairs where the mate is mapped to a different chromosome or the * # mate is unmapped * if filteredReadCountsByType[MATE_UNMAPPED] != -1: # <<<<<<<<<<<<<< * * if Read_IsPaired(theRead) and Read_MateIsUnmapped(theRead): */ __pyx_t_2 = ((__pyx_v_filteredReadCountsByType[__pyx_v_7cwindow_MATE_UNMAPPED]) != -1); if (__pyx_t_2) { /* "cwindow.pyx":349 * if filteredReadCountsByType[MATE_UNMAPPED] != -1: * * if Read_IsPaired(theRead) and Read_MateIsUnmapped(theRead): # <<<<<<<<<<<<<< * filteredReadCountsByType[MATE_UNMAPPED] += 1 * return False */ __pyx_t_1 = __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead); if (__pyx_t_1) { __pyx_t_4 = __pyx_f_15samtoolsWrapper_Read_MateIsUnmapped(__pyx_v_theRead); __pyx_t_2 = __pyx_t_4; } else { __pyx_t_2 = __pyx_t_1; } if (__pyx_t_2) { /* "cwindow.pyx":350 * * if Read_IsPaired(theRead) and Read_MateIsUnmapped(theRead): * filteredReadCountsByType[MATE_UNMAPPED] += 1 # <<<<<<<<<<<<<< * return False * */ __pyx_t_1 = __pyx_v_7cwindow_MATE_UNMAPPED; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":351 * if Read_IsPaired(theRead) and Read_MateIsUnmapped(theRead): * filteredReadCountsByType[MATE_UNMAPPED] += 1 * return False # <<<<<<<<<<<<<< * * if filteredReadCountsByType[MATE_DISTANT] != -1: */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L11; } __pyx_L11:; goto __pyx_L10; } __pyx_L10:; /* "cwindow.pyx":353 * return False * * if filteredReadCountsByType[MATE_DISTANT] != -1: # <<<<<<<<<<<<<< * * if Read_IsPaired(theRead) and (theRead.chromID != theRead.mateChromID or (not Read_IsProperPair(theRead))): */ __pyx_t_2 = ((__pyx_v_filteredReadCountsByType[__pyx_v_7cwindow_MATE_DISTANT]) != -1); if (__pyx_t_2) { /* "cwindow.pyx":355 * if filteredReadCountsByType[MATE_DISTANT] != -1: * * if Read_IsPaired(theRead) and (theRead.chromID != theRead.mateChromID or (not Read_IsProperPair(theRead))): # <<<<<<<<<<<<<< * filteredReadCountsByType[MATE_DISTANT] += 1 * return False */ if (__pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead)) { __pyx_t_2 = (__pyx_v_theRead->chromID != __pyx_v_theRead->mateChromID); if (!__pyx_t_2) { __pyx_t_5 = (!__pyx_f_15samtoolsWrapper_Read_IsProperPair(__pyx_v_theRead)); __pyx_t_6 = __pyx_t_5; } else { __pyx_t_6 = __pyx_t_2; } __pyx_t_2 = __pyx_t_6; } else { __pyx_t_2 = __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead); } if (__pyx_t_2) { /* "cwindow.pyx":356 * * if Read_IsPaired(theRead) and (theRead.chromID != theRead.mateChromID or (not Read_IsProperPair(theRead))): * filteredReadCountsByType[MATE_DISTANT] += 1 # <<<<<<<<<<<<<< * return False * */ __pyx_t_1 = __pyx_v_7cwindow_MATE_DISTANT; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":357 * if Read_IsPaired(theRead) and (theRead.chromID != theRead.mateChromID or (not Read_IsProperPair(theRead))): * filteredReadCountsByType[MATE_DISTANT] += 1 * return False # <<<<<<<<<<<<<< * * # If the insert size is < read length, then we almost certainly have adapter contamination, in which case we should */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L13; } __pyx_L13:; goto __pyx_L12; } __pyx_L12:; /* "cwindow.pyx":361 * # If the insert size is < read length, then we almost certainly have adapter contamination, in which case we should * # skip these reads, as they may be mapped to the wrong location in the genome. * if filteredReadCountsByType[SMALL_INSERT] != -1: # <<<<<<<<<<<<<< * * if Read_IsPaired(theRead) and (theRead.insertSize != 0 and abs(theRead.insertSize) < theRead.rlen): */ __pyx_t_2 = ((__pyx_v_filteredReadCountsByType[__pyx_v_7cwindow_SMALL_INSERT]) != -1); if (__pyx_t_2) { /* "cwindow.pyx":363 * if filteredReadCountsByType[SMALL_INSERT] != -1: * * if Read_IsPaired(theRead) and (theRead.insertSize != 0 and abs(theRead.insertSize) < theRead.rlen): # <<<<<<<<<<<<<< * filteredReadCountsByType[SMALL_INSERT] += 1 * Read_SetQCFail(theRead) */ if (__pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead)) { __pyx_t_2 = (__pyx_v_theRead->insertSize != 0); if (__pyx_t_2) { __pyx_t_6 = (abs(__pyx_v_theRead->insertSize) < __pyx_v_theRead->rlen); __pyx_t_5 = __pyx_t_6; } else { __pyx_t_5 = __pyx_t_2; } __pyx_t_2 = __pyx_t_5; } else { __pyx_t_2 = __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead); } if (__pyx_t_2) { /* "cwindow.pyx":364 * * if Read_IsPaired(theRead) and (theRead.insertSize != 0 and abs(theRead.insertSize) < theRead.rlen): * filteredReadCountsByType[SMALL_INSERT] += 1 # <<<<<<<<<<<<<< * Read_SetQCFail(theRead) * return False */ __pyx_t_1 = __pyx_v_7cwindow_SMALL_INSERT; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":365 * if Read_IsPaired(theRead) and (theRead.insertSize != 0 and abs(theRead.insertSize) < theRead.rlen): * filteredReadCountsByType[SMALL_INSERT] += 1 * Read_SetQCFail(theRead) # <<<<<<<<<<<<<< * return False * */ __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_v_theRead); /* "cwindow.pyx":366 * filteredReadCountsByType[SMALL_INSERT] += 1 * Read_SetQCFail(theRead) * return False # <<<<<<<<<<<<<< * * # Check if this read is actually a duplicate. TODO: store library tag and check. */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L15; } __pyx_L15:; goto __pyx_L14; } __pyx_L14:; /* "cwindow.pyx":369 * * # Check if this read is actually a duplicate. TODO: store library tag and check. * if filteredReadCountsByType[DUPLICATE] != -1: # <<<<<<<<<<<<<< * * if theLastRead != NULL: */ __pyx_t_2 = ((__pyx_v_filteredReadCountsByType[__pyx_v_7cwindow_DUPLICATE]) != -1); if (__pyx_t_2) { /* "cwindow.pyx":371 * if filteredReadCountsByType[DUPLICATE] != -1: * * if theLastRead != NULL: # <<<<<<<<<<<<<< * if theRead.pos == theLastRead.pos and theRead.rlen == theLastRead.rlen: * */ __pyx_t_2 = (__pyx_v_theLastRead != NULL); if (__pyx_t_2) { /* "cwindow.pyx":372 * * if theLastRead != NULL: * if theRead.pos == theLastRead.pos and theRead.rlen == theLastRead.rlen: # <<<<<<<<<<<<<< * * # For paired reads, check mate's position */ __pyx_t_2 = (__pyx_v_theRead->pos == __pyx_v_theLastRead->pos); if (__pyx_t_2) { __pyx_t_5 = (__pyx_v_theRead->rlen == __pyx_v_theLastRead->rlen); __pyx_t_6 = __pyx_t_5; } else { __pyx_t_6 = __pyx_t_2; } if (__pyx_t_6) { /* "cwindow.pyx":375 * * # For paired reads, check mate's position * if Read_IsPaired(theRead): # <<<<<<<<<<<<<< * * if theLastRead.matePos == theRead.matePos: */ __pyx_t_1 = __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead); if (__pyx_t_1) { /* "cwindow.pyx":377 * if Read_IsPaired(theRead): * * if theLastRead.matePos == theRead.matePos: # <<<<<<<<<<<<<< * filteredReadCountsByType[DUPLICATE] += 1 * Read_SetQCFail(theRead) */ __pyx_t_6 = (__pyx_v_theLastRead->matePos == __pyx_v_theRead->matePos); if (__pyx_t_6) { /* "cwindow.pyx":378 * * if theLastRead.matePos == theRead.matePos: * filteredReadCountsByType[DUPLICATE] += 1 # <<<<<<<<<<<<<< * Read_SetQCFail(theRead) * return False */ __pyx_t_1 = __pyx_v_7cwindow_DUPLICATE; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":379 * if theLastRead.matePos == theRead.matePos: * filteredReadCountsByType[DUPLICATE] += 1 * Read_SetQCFail(theRead) # <<<<<<<<<<<<<< * return False * */ __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_v_theRead); /* "cwindow.pyx":380 * filteredReadCountsByType[DUPLICATE] += 1 * Read_SetQCFail(theRead) * return False # <<<<<<<<<<<<<< * * # For single reads, just check pos and length of reads */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L20; } __pyx_L20:; goto __pyx_L19; } /*else*/ { /* "cwindow.pyx":384 * # For single reads, just check pos and length of reads * else: * filteredReadCountsByType[DUPLICATE] += 1 # <<<<<<<<<<<<<< * Read_SetQCFail(theRead) * return False */ __pyx_t_1 = __pyx_v_7cwindow_DUPLICATE; (__pyx_v_filteredReadCountsByType[__pyx_t_1]) = ((__pyx_v_filteredReadCountsByType[__pyx_t_1]) + 1); /* "cwindow.pyx":385 * else: * filteredReadCountsByType[DUPLICATE] += 1 * Read_SetQCFail(theRead) # <<<<<<<<<<<<<< * return False * */ __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_v_theRead); /* "cwindow.pyx":386 * filteredReadCountsByType[DUPLICATE] += 1 * Read_SetQCFail(theRead) * return False # <<<<<<<<<<<<<< * * ## Any read that gets passed here will be used, but low quality tails will be trimmed, and */ __pyx_r = 0; goto __pyx_L0; } __pyx_L19:; goto __pyx_L18; } __pyx_L18:; goto __pyx_L17; } __pyx_L17:; goto __pyx_L16; } __pyx_L16:; /* "cwindow.pyx":392 * * # Trim low-quality tails * for index from 1 <= index <= theRead.rlen: # <<<<<<<<<<<<<< * * if theRead.qual[theRead.rlen - index] < 5: */ __pyx_t_3 = __pyx_v_theRead->rlen; for (__pyx_v_index = 1; __pyx_v_index <= __pyx_t_3; __pyx_v_index++) { /* "cwindow.pyx":394 * for index from 1 <= index <= theRead.rlen: * * if theRead.qual[theRead.rlen - index] < 5: # <<<<<<<<<<<<<< * theRead.qual[theRead.rlen - index] = 0 * else: */ __pyx_t_6 = ((__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) < 5); if (__pyx_t_6) { /* "cwindow.pyx":395 * * if theRead.qual[theRead.rlen - index] < 5: * theRead.qual[theRead.rlen - index] = 0 # <<<<<<<<<<<<<< * else: * break */ (__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) = 0; goto __pyx_L23; } /*else*/ { /* "cwindow.pyx":397 * theRead.qual[theRead.rlen - index] = 0 * else: * break # <<<<<<<<<<<<<< * * # Trim low-quality heads */ goto __pyx_L22_break; } __pyx_L23:; } __pyx_L22_break:; /* "cwindow.pyx":400 * * # Trim low-quality heads * for index from 0 <= index < theRead.rlen: # <<<<<<<<<<<<<< * * if theRead.qual[index] < 5: */ __pyx_t_3 = __pyx_v_theRead->rlen; for (__pyx_v_index = 0; __pyx_v_index < __pyx_t_3; __pyx_v_index++) { /* "cwindow.pyx":402 * for index from 0 <= index < theRead.rlen: * * if theRead.qual[index] < 5: # <<<<<<<<<<<<<< * theRead.qual[index] = 0 * else: */ __pyx_t_6 = ((__pyx_v_theRead->qual[__pyx_v_index]) < 5); if (__pyx_t_6) { /* "cwindow.pyx":403 * * if theRead.qual[index] < 5: * theRead.qual[index] = 0 # <<<<<<<<<<<<<< * else: * break */ (__pyx_v_theRead->qual[__pyx_v_index]) = 0; goto __pyx_L26; } /*else*/ { /* "cwindow.pyx":405 * theRead.qual[index] = 0 * else: * break # <<<<<<<<<<<<<< * * cdef int absIns = abs(theRead.insertSize) */ goto __pyx_L25_break; } __pyx_L26:; } __pyx_L25_break:; /* "cwindow.pyx":407 * break * * cdef int absIns = abs(theRead.insertSize) # <<<<<<<<<<<<<< * * # Trim overlapping part of forward read, in pairs where the read length is greater than the insert size */ __pyx_v_absIns = abs(__pyx_v_theRead->insertSize); /* "cwindow.pyx":413 * # remove duplicate information, which gives systematic errors when pcr errors have occured in library prep. * * if Read_IsPaired(theRead) and absIns > 0 and (not Read_IsReverse(theRead)) and Read_MateIsReverse(theRead) and absIns < 2*theRead.rlen: # <<<<<<<<<<<<<< * for index from 1 <= index < min(theRead.rlen, (2*theRead.rlen - theRead.insertSize) + 1): * */ if (__pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead)) { __pyx_t_6 = (__pyx_v_absIns > 0); if (__pyx_t_6) { __pyx_t_2 = (!__pyx_f_15samtoolsWrapper_Read_IsReverse(__pyx_v_theRead)); if (__pyx_t_2) { if (__pyx_f_15samtoolsWrapper_Read_MateIsReverse(__pyx_v_theRead)) { __pyx_t_5 = (__pyx_v_absIns < (2 * __pyx_v_theRead->rlen)); __pyx_t_7 = __pyx_t_5; } else { __pyx_t_7 = __pyx_f_15samtoolsWrapper_Read_MateIsReverse(__pyx_v_theRead); } __pyx_t_5 = __pyx_t_7; } else { __pyx_t_5 = __pyx_t_2; } __pyx_t_2 = __pyx_t_5; } else { __pyx_t_2 = __pyx_t_6; } __pyx_t_6 = __pyx_t_2; } else { __pyx_t_6 = __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead); } if (__pyx_t_6) { /* "cwindow.pyx":414 * * if Read_IsPaired(theRead) and absIns > 0 and (not Read_IsReverse(theRead)) and Read_MateIsReverse(theRead) and absIns < 2*theRead.rlen: * for index from 1 <= index < min(theRead.rlen, (2*theRead.rlen - theRead.insertSize) + 1): # <<<<<<<<<<<<<< * * if theRead.qual[theRead.rlen - index] != 0: */ __pyx_t_8 = (((2 * __pyx_v_theRead->rlen) - __pyx_v_theRead->insertSize) + 1); __pyx_t_3 = __pyx_v_theRead->rlen; if ((__pyx_t_8 < __pyx_t_3)) { __pyx_t_9 = __pyx_t_8; } else { __pyx_t_9 = __pyx_t_3; } __pyx_t_8 = __pyx_t_9; for (__pyx_v_index = 1; __pyx_v_index < __pyx_t_8; __pyx_v_index++) { /* "cwindow.pyx":416 * for index from 1 <= index < min(theRead.rlen, (2*theRead.rlen - theRead.insertSize) + 1): * * if theRead.qual[theRead.rlen - index] != 0: # <<<<<<<<<<<<<< * theRead.qual[theRead.rlen - index] = 0 * */ __pyx_t_6 = ((__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) != 0); if (__pyx_t_6) { /* "cwindow.pyx":417 * * if theRead.qual[theRead.rlen - index] != 0: * theRead.qual[theRead.rlen - index] = 0 # <<<<<<<<<<<<<< * * # Trim the end of any read where the insert size is < read length. If these have not been */ (__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) = 0; goto __pyx_L30; } __pyx_L30:; } goto __pyx_L27; } /* "cwindow.pyx":422 * # already filtered out then they need trimming, as adapter contamination will cause a * # high FP rate otherwise. * elif Read_IsPaired(theRead) and absIns > 0 and absIns < theRead.rlen: # <<<<<<<<<<<<<< * * if Read_IsReverse(theRead): */ if (__pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead)) { __pyx_t_6 = (__pyx_v_absIns > 0); if (__pyx_t_6) { __pyx_t_2 = (__pyx_v_absIns < __pyx_v_theRead->rlen); __pyx_t_5 = __pyx_t_2; } else { __pyx_t_5 = __pyx_t_6; } __pyx_t_6 = __pyx_t_5; } else { __pyx_t_6 = __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_v_theRead); } if (__pyx_t_6) { /* "cwindow.pyx":424 * elif Read_IsPaired(theRead) and absIns > 0 and absIns < theRead.rlen: * * if Read_IsReverse(theRead): # <<<<<<<<<<<<<< * for index from 1 <= index < theRead.rlen - absIns + 1: * */ __pyx_t_1 = __pyx_f_15samtoolsWrapper_Read_IsReverse(__pyx_v_theRead); if (__pyx_t_1) { /* "cwindow.pyx":425 * * if Read_IsReverse(theRead): * for index from 1 <= index < theRead.rlen - absIns + 1: # <<<<<<<<<<<<<< * * if theRead.qual[theRead.rlen - index] != 0: */ __pyx_t_8 = ((__pyx_v_theRead->rlen - __pyx_v_absIns) + 1); for (__pyx_v_index = 1; __pyx_v_index < __pyx_t_8; __pyx_v_index++) { /* "cwindow.pyx":427 * for index from 1 <= index < theRead.rlen - absIns + 1: * * if theRead.qual[theRead.rlen - index] != 0: # <<<<<<<<<<<<<< * theRead.qual[theRead.rlen - index] = 0 * else: */ __pyx_t_6 = ((__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) != 0); if (__pyx_t_6) { /* "cwindow.pyx":428 * * if theRead.qual[theRead.rlen - index] != 0: * theRead.qual[theRead.rlen - index] = 0 # <<<<<<<<<<<<<< * else: * for index from absIns <= index < theRead.rlen: */ (__pyx_v_theRead->qual[(__pyx_v_theRead->rlen - __pyx_v_index)]) = 0; goto __pyx_L34; } __pyx_L34:; } goto __pyx_L31; } /*else*/ { /* "cwindow.pyx":430 * theRead.qual[theRead.rlen - index] = 0 * else: * for index from absIns <= index < theRead.rlen: # <<<<<<<<<<<<<< * * if theRead.qual[index] != 0: */ __pyx_t_3 = __pyx_v_theRead->rlen; for (__pyx_v_index = __pyx_v_absIns; __pyx_v_index < __pyx_t_3; __pyx_v_index++) { /* "cwindow.pyx":432 * for index from absIns <= index < theRead.rlen: * * if theRead.qual[index] != 0: # <<<<<<<<<<<<<< * theRead.qual[index] = 0 * */ __pyx_t_6 = ((__pyx_v_theRead->qual[__pyx_v_index]) != 0); if (__pyx_t_6) { /* "cwindow.pyx":433 * * if theRead.qual[index] != 0: * theRead.qual[index] = 0 # <<<<<<<<<<<<<< * * else: */ (__pyx_v_theRead->qual[__pyx_v_index]) = 0; goto __pyx_L37; } __pyx_L37:; } } __pyx_L31:; goto __pyx_L27; } /*else*/ { } __pyx_L27:; /* "cwindow.pyx":440 * # Check for soft-clipping (present in BWA reads, for example, but not Stampy). Soft-clipped * # sequences should be set to QUAL = 0, as they may include contamination by adapters etc. * index = 0 # <<<<<<<<<<<<<< * * cdef int cigarIndex = 0 */ __pyx_v_index = 0; /* "cwindow.pyx":442 * index = 0 * * cdef int cigarIndex = 0 # <<<<<<<<<<<<<< * cdef int j = 0 * cdef int cigarOp = -1 */ __pyx_v_cigarIndex = 0; /* "cwindow.pyx":443 * * cdef int cigarIndex = 0 * cdef int j = 0 # <<<<<<<<<<<<<< * cdef int cigarOp = -1 * cdef int cigarLen = -1 */ __pyx_v_j = 0; /* "cwindow.pyx":444 * cdef int cigarIndex = 0 * cdef int j = 0 * cdef int cigarOp = -1 # <<<<<<<<<<<<<< * cdef int cigarLen = -1 * */ __pyx_v_cigarOp = -1; /* "cwindow.pyx":445 * cdef int j = 0 * cdef int cigarOp = -1 * cdef int cigarLen = -1 # <<<<<<<<<<<<<< * * for cigarIndex in range(theRead.cigarLen): */ __pyx_v_cigarLen = -1; /* "cwindow.pyx":447 * cdef int cigarLen = -1 * * for cigarIndex in range(theRead.cigarLen): # <<<<<<<<<<<<<< * * cigarOp = theRead.cigarOps[2*cigarIndex] */ __pyx_t_3 = __pyx_v_theRead->cigarLen; for (__pyx_t_1 = 0; __pyx_t_1 < __pyx_t_3; __pyx_t_1+=1) { __pyx_v_cigarIndex = __pyx_t_1; /* "cwindow.pyx":449 * for cigarIndex in range(theRead.cigarLen): * * cigarOp = theRead.cigarOps[2*cigarIndex] # <<<<<<<<<<<<<< * cigarLen = theRead.cigarOps[2*cigarIndex + 1] * */ __pyx_v_cigarOp = (__pyx_v_theRead->cigarOps[(2 * __pyx_v_cigarIndex)]); /* "cwindow.pyx":450 * * cigarOp = theRead.cigarOps[2*cigarIndex] * cigarLen = theRead.cigarOps[2*cigarIndex + 1] # <<<<<<<<<<<<<< * * # Skip good sequence. 0 is match. 1 is insertion. */ __pyx_v_cigarLen = (__pyx_v_theRead->cigarOps[((2 * __pyx_v_cigarIndex) + 1)]); /* "cwindow.pyx":457 * * # 4 is soft-clipping * elif cigarOp == 4: # <<<<<<<<<<<<<< * # Set quals to zero across all sequence flagged as soft-clipped * for j in range(theRead.cigarOps[2*cigarIndex + 1]): */ switch (__pyx_v_cigarOp) { /* "cwindow.pyx":453 * * # Skip good sequence. 0 is match. 1 is insertion. * if cigarOp == 0 or cigarOp == 1: # <<<<<<<<<<<<<< * index += theRead.cigarOps[2*cigarIndex + 1] * */ case 0: case 1: /* "cwindow.pyx":454 * # Skip good sequence. 0 is match. 1 is insertion. * if cigarOp == 0 or cigarOp == 1: * index += theRead.cigarOps[2*cigarIndex + 1] # <<<<<<<<<<<<<< * * # 4 is soft-clipping */ __pyx_v_index = (__pyx_v_index + (__pyx_v_theRead->cigarOps[((2 * __pyx_v_cigarIndex) + 1)])); break; /* "cwindow.pyx":457 * * # 4 is soft-clipping * elif cigarOp == 4: # <<<<<<<<<<<<<< * # Set quals to zero across all sequence flagged as soft-clipped * for j in range(theRead.cigarOps[2*cigarIndex + 1]): */ case 4: /* "cwindow.pyx":459 * elif cigarOp == 4: * # Set quals to zero across all sequence flagged as soft-clipped * for j in range(theRead.cigarOps[2*cigarIndex + 1]): # <<<<<<<<<<<<<< * theRead.qual[index] = 0 * index += 1 */ __pyx_t_10 = (__pyx_v_theRead->cigarOps[((2 * __pyx_v_cigarIndex) + 1)]); for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_10; __pyx_t_4+=1) { __pyx_v_j = __pyx_t_4; /* "cwindow.pyx":460 * # Set quals to zero across all sequence flagged as soft-clipped * for j in range(theRead.cigarOps[2*cigarIndex + 1]): * theRead.qual[index] = 0 # <<<<<<<<<<<<<< * index += 1 * */ (__pyx_v_theRead->qual[__pyx_v_index]) = 0; /* "cwindow.pyx":461 * for j in range(theRead.cigarOps[2*cigarIndex + 1]): * theRead.qual[index] = 0 * index += 1 # <<<<<<<<<<<<<< * * return True */ __pyx_v_index = (__pyx_v_index + 1); } break; } } /* "cwindow.pyx":463 * index += 1 * * return True # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = 1; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_7cwindow_13bamReadBuffer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_7cwindow_13bamReadBuffer___init__[] = "\n Constructor.\n "; #if CYTHON_COMPILING_IN_CPYTHON struct wrapperbase __pyx_wrapperbase_7cwindow_13bamReadBuffer___init__; #endif static int __pyx_pw_7cwindow_13bamReadBuffer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { char *__pyx_v_chrom; int __pyx_v_start; int __pyx_v_end; PyObject *__pyx_v_options = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__chrom,&__pyx_n_s__start,&__pyx_n_s__end,&__pyx_n_s__options,0}; PyObject* values[4] = {0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__chrom)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__start)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__end)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__options)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); } __pyx_v_chrom = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_chrom) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_start = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_start == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_end = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_end == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_options = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("cwindow.bamReadBuffer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_7cwindow_13bamReadBuffer___init__(((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_v_self), __pyx_v_chrom, __pyx_v_start, __pyx_v_end, __pyx_v_options); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":472 * through the data in each BAM in the loop through windows. * """ * def __init__(self, char* chrom, int start, int end, options): # <<<<<<<<<<<<<< * """ * Constructor. */ static int __pyx_pf_7cwindow_13bamReadBuffer___init__(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self, char *__pyx_v_chrom, int __pyx_v_start, int __pyx_v_end, PyObject *__pyx_v_options) { int __pyx_v_initialSize; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; long __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; int __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); /* "cwindow.pyx":476 * Constructor. * """ * cdef int initialSize = max(100, ( (end - start) / options.rlen)) # <<<<<<<<<<<<<< * self.isSorted = True * self.reads = ReadArray(initialSize) */ __pyx_t_1 = PyInt_FromLong((__pyx_v_end - __pyx_v_start)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__rlen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = 100; __pyx_t_1 = PyInt_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; } else { __pyx_t_5 = PyInt_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __pyx_t_5; __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_initialSize = __pyx_t_7; /* "cwindow.pyx":477 * """ * cdef int initialSize = max(100, ( (end - start) / options.rlen)) * self.isSorted = True # <<<<<<<<<<<<<< * self.reads = ReadArray(initialSize) * self.badReads = ReadArray(initialSize) */ __pyx_v_self->isSorted = 1; /* "cwindow.pyx":478 * cdef int initialSize = max(100, ( (end - start) / options.rlen)) * self.isSorted = True * self.reads = ReadArray(initialSize) # <<<<<<<<<<<<<< * self.badReads = ReadArray(initialSize) * self.brokenMates = ReadArray(initialSize) */ __pyx_t_2 = PyInt_FromLong(__pyx_v_initialSize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7cwindow_ReadArray)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->reads); __Pyx_DECREF(((PyObject *)__pyx_v_self->reads)); __pyx_v_self->reads = ((struct __pyx_obj_7cwindow_ReadArray *)__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":479 * self.isSorted = True * self.reads = ReadArray(initialSize) * self.badReads = ReadArray(initialSize) # <<<<<<<<<<<<<< * self.brokenMates = ReadArray(initialSize) * self.filteredReadCountsByType = (calloc(7, sizeof(int))) */ __pyx_t_2 = PyInt_FromLong(__pyx_v_initialSize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7cwindow_ReadArray)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->badReads); __Pyx_DECREF(((PyObject *)__pyx_v_self->badReads)); __pyx_v_self->badReads = ((struct __pyx_obj_7cwindow_ReadArray *)__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":480 * self.reads = ReadArray(initialSize) * self.badReads = ReadArray(initialSize) * self.brokenMates = ReadArray(initialSize) # <<<<<<<<<<<<<< * self.filteredReadCountsByType = (calloc(7, sizeof(int))) * self.chrom = chrom */ __pyx_t_2 = PyInt_FromLong(__pyx_v_initialSize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7cwindow_ReadArray)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->brokenMates); __Pyx_DECREF(((PyObject *)__pyx_v_self->brokenMates)); __pyx_v_self->brokenMates = ((struct __pyx_obj_7cwindow_ReadArray *)__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":481 * self.badReads = ReadArray(initialSize) * self.brokenMates = ReadArray(initialSize) * self.filteredReadCountsByType = (calloc(7, sizeof(int))) # <<<<<<<<<<<<<< * self.chrom = chrom * self.startBase = start */ __pyx_v_self->filteredReadCountsByType = ((int *)calloc(7, (sizeof(int)))); /* "cwindow.pyx":482 * self.brokenMates = ReadArray(initialSize) * self.filteredReadCountsByType = (calloc(7, sizeof(int))) * self.chrom = chrom # <<<<<<<<<<<<<< * self.startBase = start * self.endBase = end */ __pyx_v_self->chrom = __pyx_v_chrom; /* "cwindow.pyx":483 * self.filteredReadCountsByType = (calloc(7, sizeof(int))) * self.chrom = chrom * self.startBase = start # <<<<<<<<<<<<<< * self.endBase = end * self.maxReads = options.maxReads */ __pyx_v_self->startBase = __pyx_v_start; /* "cwindow.pyx":484 * self.chrom = chrom * self.startBase = start * self.endBase = end # <<<<<<<<<<<<<< * self.maxReads = options.maxReads * self.minMapQual = options.minMapQual */ __pyx_v_self->endBase = __pyx_v_end; /* "cwindow.pyx":485 * self.startBase = start * self.endBase = end * self.maxReads = options.maxReads # <<<<<<<<<<<<<< * self.minMapQual = options.minMapQual * self.minGoodBases = options.minGoodQualBases */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxReads); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->maxReads = __pyx_t_7; /* "cwindow.pyx":486 * self.endBase = end * self.maxReads = options.maxReads * self.minMapQual = options.minMapQual # <<<<<<<<<<<<<< * self.minGoodBases = options.minGoodQualBases * self.verbosity = options.verbosity */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__minMapQual); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->minMapQual = __pyx_t_7; /* "cwindow.pyx":487 * self.maxReads = options.maxReads * self.minMapQual = options.minMapQual * self.minGoodBases = options.minGoodQualBases # <<<<<<<<<<<<<< * self.verbosity = options.verbosity * self.lastRead = NULL */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__minGoodQualBases); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->minGoodBases = __pyx_t_7; /* "cwindow.pyx":488 * self.minMapQual = options.minMapQual * self.minGoodBases = options.minGoodQualBases * self.verbosity = options.verbosity # <<<<<<<<<<<<<< * self.lastRead = NULL * */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__verbosity); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->verbosity = __pyx_t_7; /* "cwindow.pyx":489 * self.minGoodBases = options.minGoodQualBases * self.verbosity = options.verbosity * self.lastRead = NULL # <<<<<<<<<<<<<< * * if options.filterDuplicates == 0: */ __pyx_v_self->lastRead = NULL; /* "cwindow.pyx":491 * self.lastRead = NULL * * if options.filterDuplicates == 0: # <<<<<<<<<<<<<< * self.filteredReadCountsByType[DUPLICATE] = -1 * */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__filterDuplicates); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { /* "cwindow.pyx":492 * * if options.filterDuplicates == 0: * self.filteredReadCountsByType[DUPLICATE] = -1 # <<<<<<<<<<<<<< * * if options.filterReadsWithUnmappedMates == 0: */ (__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_DUPLICATE]) = -1; goto __pyx_L3; } __pyx_L3:; /* "cwindow.pyx":494 * self.filteredReadCountsByType[DUPLICATE] = -1 * * if options.filterReadsWithUnmappedMates == 0: # <<<<<<<<<<<<<< * self.filteredReadCountsByType[MATE_UNMAPPED] = -1 * */ __pyx_t_3 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { /* "cwindow.pyx":495 * * if options.filterReadsWithUnmappedMates == 0: * self.filteredReadCountsByType[MATE_UNMAPPED] = -1 # <<<<<<<<<<<<<< * * if options.filterReadsWithDistantMates == 0: */ (__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_MATE_UNMAPPED]) = -1; goto __pyx_L4; } __pyx_L4:; /* "cwindow.pyx":497 * self.filteredReadCountsByType[MATE_UNMAPPED] = -1 * * if options.filterReadsWithDistantMates == 0: # <<<<<<<<<<<<<< * self.filteredReadCountsByType[MATE_DISTANT] = -1 * */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s_7); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { /* "cwindow.pyx":498 * * if options.filterReadsWithDistantMates == 0: * self.filteredReadCountsByType[MATE_DISTANT] = -1 # <<<<<<<<<<<<<< * * if options.filterReadPairsWithSmallInserts == 0: */ (__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_MATE_DISTANT]) = -1; goto __pyx_L5; } __pyx_L5:; /* "cwindow.pyx":500 * self.filteredReadCountsByType[MATE_DISTANT] = -1 * * if options.filterReadPairsWithSmallInserts == 0: # <<<<<<<<<<<<<< * self.filteredReadCountsByType[SMALL_INSERT] = -1 * */ __pyx_t_3 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { /* "cwindow.pyx":501 * * if options.filterReadPairsWithSmallInserts == 0: * self.filteredReadCountsByType[SMALL_INSERT] = -1 # <<<<<<<<<<<<<< * * cdef void logFilterSummary(self): */ (__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_SMALL_INSERT]) = -1; goto __pyx_L6; } __pyx_L6:; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("cwindow.bamReadBuffer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":503 * self.filteredReadCountsByType[SMALL_INSERT] = -1 * * cdef void logFilterSummary(self): # <<<<<<<<<<<<<< * """ * Useful debug information about which reads have been filtered */ static void __pyx_f_7cwindow_13bamReadBuffer_logFilterSummary(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("logFilterSummary", 0); /* "cwindow.pyx":508 * out. * """ * if self.verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("Sample %s has %s good reads" %(self.sample, self.reads.getSize())) * logger.debug("Sample %s has %s bad reads" %(self.sample, self.badReads.getSize())) */ __pyx_t_1 = (__pyx_v_self->verbosity >= 3); if (__pyx_t_1) { /* "cwindow.pyx":509 * """ * if self.verbosity >= 3: * logger.debug("Sample %s has %s good reads" %(self.sample, self.reads.getSize())) # <<<<<<<<<<<<<< * logger.debug("Sample %s has %s bad reads" %(self.sample, self.badReads.getSize())) * logger.debug("Sample %s has %s broken mates" %(self.sample, self.brokenMates.getSize())) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromLong(((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->reads->__pyx_vtab)->getSize(__pyx_v_self->reads)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_self->sample)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_self->sample)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self->sample)); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_2)); __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":510 * if self.verbosity >= 3: * logger.debug("Sample %s has %s good reads" %(self.sample, self.reads.getSize())) * logger.debug("Sample %s has %s bad reads" %(self.sample, self.badReads.getSize())) # <<<<<<<<<<<<<< * logger.debug("Sample %s has %s broken mates" %(self.sample, self.brokenMates.getSize())) * logger.debug("N low map quality reads = %s" %(self.filteredReadCountsByType[LOW_MAP_QUAL])) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromLong(((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->badReads->__pyx_vtab)->getSize(__pyx_v_self->badReads)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_self->sample)); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self->sample)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self->sample)); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_10), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2)); __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":511 * logger.debug("Sample %s has %s good reads" %(self.sample, self.reads.getSize())) * logger.debug("Sample %s has %s bad reads" %(self.sample, self.badReads.getSize())) * logger.debug("Sample %s has %s broken mates" %(self.sample, self.brokenMates.getSize())) # <<<<<<<<<<<<<< * logger.debug("N low map quality reads = %s" %(self.filteredReadCountsByType[LOW_MAP_QUAL])) * logger.debug("N low qual reads = %s" %(self.filteredReadCountsByType[LOW_QUAL_BASES])) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromLong(((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->brokenMates->__pyx_vtab)->getSize(__pyx_v_self->brokenMates)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_self->sample)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_self->sample)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self->sample)); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_2)); __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":512 * logger.debug("Sample %s has %s bad reads" %(self.sample, self.badReads.getSize())) * logger.debug("Sample %s has %s broken mates" %(self.sample, self.brokenMates.getSize())) * logger.debug("N low map quality reads = %s" %(self.filteredReadCountsByType[LOW_MAP_QUAL])) # <<<<<<<<<<<<<< * logger.debug("N low qual reads = %s" %(self.filteredReadCountsByType[LOW_QUAL_BASES])) * logger.debug("N un-mapped reads = %s" %(self.filteredReadCountsByType[UNMAPPED_READ])) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_LOW_MAP_QUAL])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_12), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3)); __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "cwindow.pyx":513 * logger.debug("Sample %s has %s broken mates" %(self.sample, self.brokenMates.getSize())) * logger.debug("N low map quality reads = %s" %(self.filteredReadCountsByType[LOW_MAP_QUAL])) * logger.debug("N low qual reads = %s" %(self.filteredReadCountsByType[LOW_QUAL_BASES])) # <<<<<<<<<<<<<< * logger.debug("N un-mapped reads = %s" %(self.filteredReadCountsByType[UNMAPPED_READ])) * logger.debug("N reads with unmapped mates = %s" %(self.filteredReadCountsByType[MATE_UNMAPPED])) */ __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__debug); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_LOW_QUAL_BASES])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_13), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "cwindow.pyx":514 * logger.debug("N low map quality reads = %s" %(self.filteredReadCountsByType[LOW_MAP_QUAL])) * logger.debug("N low qual reads = %s" %(self.filteredReadCountsByType[LOW_QUAL_BASES])) * logger.debug("N un-mapped reads = %s" %(self.filteredReadCountsByType[UNMAPPED_READ])) # <<<<<<<<<<<<<< * logger.debug("N reads with unmapped mates = %s" %(self.filteredReadCountsByType[MATE_UNMAPPED])) * logger.debug("N reads with distant mates = %s" %(self.filteredReadCountsByType[MATE_DISTANT])) */ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__debug); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_UNMAPPED_READ])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_14), __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_2)); __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":515 * logger.debug("N low qual reads = %s" %(self.filteredReadCountsByType[LOW_QUAL_BASES])) * logger.debug("N un-mapped reads = %s" %(self.filteredReadCountsByType[UNMAPPED_READ])) * logger.debug("N reads with unmapped mates = %s" %(self.filteredReadCountsByType[MATE_UNMAPPED])) # <<<<<<<<<<<<<< * logger.debug("N reads with distant mates = %s" %(self.filteredReadCountsByType[MATE_DISTANT])) * logger.debug("N reads pairs with small inserts = %s" %(self.filteredReadCountsByType[SMALL_INSERT])) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_MATE_UNMAPPED])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_15), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3)); __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "cwindow.pyx":516 * logger.debug("N un-mapped reads = %s" %(self.filteredReadCountsByType[UNMAPPED_READ])) * logger.debug("N reads with unmapped mates = %s" %(self.filteredReadCountsByType[MATE_UNMAPPED])) * logger.debug("N reads with distant mates = %s" %(self.filteredReadCountsByType[MATE_DISTANT])) # <<<<<<<<<<<<<< * logger.debug("N reads pairs with small inserts = %s" %(self.filteredReadCountsByType[SMALL_INSERT])) * logger.debug("N duplicate reads = %s" %(self.filteredReadCountsByType[DUPLICATE])) */ __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__debug); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_MATE_DISTANT])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_16), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "cwindow.pyx":517 * logger.debug("N reads with unmapped mates = %s" %(self.filteredReadCountsByType[MATE_UNMAPPED])) * logger.debug("N reads with distant mates = %s" %(self.filteredReadCountsByType[MATE_DISTANT])) * logger.debug("N reads pairs with small inserts = %s" %(self.filteredReadCountsByType[SMALL_INSERT])) # <<<<<<<<<<<<<< * logger.debug("N duplicate reads = %s" %(self.filteredReadCountsByType[DUPLICATE])) * */ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__debug); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_SMALL_INSERT])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_17), __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_2)); __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "cwindow.pyx":518 * logger.debug("N reads with distant mates = %s" %(self.filteredReadCountsByType[MATE_DISTANT])) * logger.debug("N reads pairs with small inserts = %s" %(self.filteredReadCountsByType[SMALL_INSERT])) * logger.debug("N duplicate reads = %s" %(self.filteredReadCountsByType[DUPLICATE])) # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromLong((__pyx_v_self->filteredReadCountsByType[__pyx_v_7cwindow_DUPLICATE])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_18), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3)); __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L3; } __pyx_L3:; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("cwindow.bamReadBuffer.logFilterSummary", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* Python wrapper */ static void __pyx_pw_7cwindow_13bamReadBuffer_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_7cwindow_13bamReadBuffer_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_7cwindow_13bamReadBuffer_2__dealloc__(((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_v_self)); __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":520 * logger.debug("N duplicate reads = %s" %(self.filteredReadCountsByType[DUPLICATE])) * * def __dealloc__(self): # <<<<<<<<<<<<<< * """ * Clean up memory */ static void __pyx_pf_7cwindow_13bamReadBuffer_2__dealloc__(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* "cwindow.pyx":524 * Clean up memory * """ * free(self.filteredReadCountsByType) # <<<<<<<<<<<<<< * * cdef void addReadToBuffer(self, cAlignedRead* theRead): */ free(__pyx_v_self->filteredReadCountsByType); __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":526 * free(self.filteredReadCountsByType) * * cdef void addReadToBuffer(self, cAlignedRead* theRead): # <<<<<<<<<<<<<< * """ * Add a new read to the buffer, making sure to re-allocate */ static void __pyx_f_7cwindow_13bamReadBuffer_addReadToBuffer(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self, __pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_v_readOk; CYTHON_UNUSED int __pyx_v_minGoodBasesThisRead; CYTHON_UNUSED int __pyx_v_readStart; CYTHON_UNUSED int __pyx_v_readEnd; CYTHON_UNUSED int __pyx_v_readLength; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("addReadToBuffer", 0); /* "cwindow.pyx":532 * """ * # Temp variable for checking that re-alloc works * cdef int readOk = 0 # <<<<<<<<<<<<<< * cdef int minGoodBasesThisRead = 0 * cdef int readStart = -1 */ __pyx_v_readOk = 0; /* "cwindow.pyx":533 * # Temp variable for checking that re-alloc works * cdef int readOk = 0 * cdef int minGoodBasesThisRead = 0 # <<<<<<<<<<<<<< * cdef int readStart = -1 * cdef int readEnd = -1 */ __pyx_v_minGoodBasesThisRead = 0; /* "cwindow.pyx":534 * cdef int readOk = 0 * cdef int minGoodBasesThisRead = 0 * cdef int readStart = -1 # <<<<<<<<<<<<<< * cdef int readEnd = -1 * cdef int readLength = -1 */ __pyx_v_readStart = -1; /* "cwindow.pyx":535 * cdef int minGoodBasesThisRead = 0 * cdef int readStart = -1 * cdef int readEnd = -1 # <<<<<<<<<<<<<< * cdef int readLength = -1 * */ __pyx_v_readEnd = -1; /* "cwindow.pyx":536 * cdef int readStart = -1 * cdef int readEnd = -1 * cdef int readLength = -1 # <<<<<<<<<<<<<< * * if theRead == NULL: */ __pyx_v_readLength = -1; /* "cwindow.pyx":538 * cdef int readLength = -1 * * if theRead == NULL: # <<<<<<<<<<<<<< * if self.verbosity >= 3: * logger.debug("Found null read") */ __pyx_t_1 = (__pyx_v_theRead == NULL); if (__pyx_t_1) { /* "cwindow.pyx":539 * * if theRead == NULL: * if self.verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("Found null read") * return */ __pyx_t_1 = (__pyx_v_self->verbosity >= 3); if (__pyx_t_1) { /* "cwindow.pyx":540 * if theRead == NULL: * if self.verbosity >= 3: * logger.debug("Found null read") # <<<<<<<<<<<<<< * return * else: */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_k_tuple_20), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L4; } __pyx_L4:; /* "cwindow.pyx":541 * if self.verbosity >= 3: * logger.debug("Found null read") * return # <<<<<<<<<<<<<< * else: * */ goto __pyx_L0; goto __pyx_L3; } /*else*/ { /* "cwindow.pyx":545 * * # TODO: Check that this works for duplicates when first read goes into bad reads pile... * if self.lastRead != NULL: # <<<<<<<<<<<<<< * readOk = checkAndTrimRead(theRead, self.lastRead, self.minGoodBases, self.filteredReadCountsByType, self.minMapQual) * */ __pyx_t_1 = (__pyx_v_self->lastRead != NULL); if (__pyx_t_1) { /* "cwindow.pyx":546 * # TODO: Check that this works for duplicates when first read goes into bad reads pile... * if self.lastRead != NULL: * readOk = checkAndTrimRead(theRead, self.lastRead, self.minGoodBases, self.filteredReadCountsByType, self.minMapQual) # <<<<<<<<<<<<<< * * if self.lastRead.pos > theRead.pos: */ __pyx_v_readOk = __pyx_f_7cwindow_checkAndTrimRead(__pyx_v_theRead, __pyx_v_self->lastRead, __pyx_v_self->minGoodBases, __pyx_v_self->filteredReadCountsByType, __pyx_v_self->minMapQual); /* "cwindow.pyx":548 * readOk = checkAndTrimRead(theRead, self.lastRead, self.minGoodBases, self.filteredReadCountsByType, self.minMapQual) * * if self.lastRead.pos > theRead.pos: # <<<<<<<<<<<<<< * self.isSorted = False * else: */ __pyx_t_1 = (__pyx_v_self->lastRead->pos > __pyx_v_theRead->pos); if (__pyx_t_1) { /* "cwindow.pyx":549 * * if self.lastRead.pos > theRead.pos: * self.isSorted = False # <<<<<<<<<<<<<< * else: * readOk = checkAndTrimRead(theRead, NULL, self.minGoodBases, self.filteredReadCountsByType, self.minMapQual) */ __pyx_v_self->isSorted = 0; goto __pyx_L6; } __pyx_L6:; goto __pyx_L5; } /*else*/ { /* "cwindow.pyx":551 * self.isSorted = False * else: * readOk = checkAndTrimRead(theRead, NULL, self.minGoodBases, self.filteredReadCountsByType, self.minMapQual) # <<<<<<<<<<<<<< * * self.lastRead = theRead */ __pyx_v_readOk = __pyx_f_7cwindow_checkAndTrimRead(__pyx_v_theRead, NULL, __pyx_v_self->minGoodBases, __pyx_v_self->filteredReadCountsByType, __pyx_v_self->minMapQual); } __pyx_L5:; /* "cwindow.pyx":553 * readOk = checkAndTrimRead(theRead, NULL, self.minGoodBases, self.filteredReadCountsByType, self.minMapQual) * * self.lastRead = theRead # <<<<<<<<<<<<<< * * # Put read into bad array, and remove from good array */ __pyx_v_self->lastRead = __pyx_v_theRead; /* "cwindow.pyx":556 * * # Put read into bad array, and remove from good array * if not readOk: # <<<<<<<<<<<<<< * self.badReads.append(theRead) * */ __pyx_t_1 = (!__pyx_v_readOk); if (__pyx_t_1) { /* "cwindow.pyx":557 * # Put read into bad array, and remove from good array * if not readOk: * self.badReads.append(theRead) # <<<<<<<<<<<<<< * * # Put read into good array */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->badReads->__pyx_vtab)->append(__pyx_v_self->badReads, __pyx_v_theRead); goto __pyx_L7; } /*else*/ { /* "cwindow.pyx":561 * # Put read into good array * else: * self.reads.append(theRead) # <<<<<<<<<<<<<< * * cdef int countAlignmentGaps(self): */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->reads->__pyx_vtab)->append(__pyx_v_self->reads, __pyx_v_theRead); } __pyx_L7:; } __pyx_L3:; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("cwindow.bamReadBuffer.addReadToBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":563 * self.reads.append(theRead) * * cdef int countAlignmentGaps(self): # <<<<<<<<<<<<<< * """ * Count and return the number of indels seen */ static int __pyx_f_7cwindow_13bamReadBuffer_countAlignmentGaps(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_start; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_end; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_bStart; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_bEnd; int __pyx_v_nGaps; int __pyx_v_i; int __pyx_r; __Pyx_RefNannyDeclarations __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_1; int __pyx_t_2; short __pyx_t_3; short __pyx_t_4; __Pyx_RefNannySetupContext("countAlignmentGaps", 0); /* "cwindow.pyx":568 * by the mapper in all good and bad reads. * """ * cdef cAlignedRead** start = self.reads.windowStart # <<<<<<<<<<<<<< * cdef cAlignedRead** end = self.reads.windowEnd * cdef cAlignedRead** bStart = self.badReads.windowStart */ __pyx_t_1 = __pyx_v_self->reads->windowStart; __pyx_v_start = __pyx_t_1; /* "cwindow.pyx":569 * """ * cdef cAlignedRead** start = self.reads.windowStart * cdef cAlignedRead** end = self.reads.windowEnd # <<<<<<<<<<<<<< * cdef cAlignedRead** bStart = self.badReads.windowStart * cdef cAlignedRead** bEnd = self.badReads.windowEnd */ __pyx_t_1 = __pyx_v_self->reads->windowEnd; __pyx_v_end = __pyx_t_1; /* "cwindow.pyx":570 * cdef cAlignedRead** start = self.reads.windowStart * cdef cAlignedRead** end = self.reads.windowEnd * cdef cAlignedRead** bStart = self.badReads.windowStart # <<<<<<<<<<<<<< * cdef cAlignedRead** bEnd = self.badReads.windowEnd * */ __pyx_t_1 = __pyx_v_self->badReads->windowStart; __pyx_v_bStart = __pyx_t_1; /* "cwindow.pyx":571 * cdef cAlignedRead** end = self.reads.windowEnd * cdef cAlignedRead** bStart = self.badReads.windowStart * cdef cAlignedRead** bEnd = self.badReads.windowEnd # <<<<<<<<<<<<<< * * cdef int nGaps = 0 */ __pyx_t_1 = __pyx_v_self->badReads->windowEnd; __pyx_v_bEnd = __pyx_t_1; /* "cwindow.pyx":573 * cdef cAlignedRead** bEnd = self.badReads.windowEnd * * cdef int nGaps = 0 # <<<<<<<<<<<<<< * cdef int i = 0 * */ __pyx_v_nGaps = 0; /* "cwindow.pyx":574 * * cdef int nGaps = 0 * cdef int i = 0 # <<<<<<<<<<<<<< * * while start != end: */ __pyx_v_i = 0; /* "cwindow.pyx":576 * cdef int i = 0 * * while start != end: # <<<<<<<<<<<<<< * for i from 0 <= i < start[0].cigarLen: * if 1 <= start[0].cigarOps[2*i] <= 4: */ while (1) { __pyx_t_2 = (__pyx_v_start != __pyx_v_end); if (!__pyx_t_2) break; /* "cwindow.pyx":577 * * while start != end: * for i from 0 <= i < start[0].cigarLen: # <<<<<<<<<<<<<< * if 1 <= start[0].cigarOps[2*i] <= 4: * nGaps += 1 */ __pyx_t_3 = (__pyx_v_start[0])->cigarLen; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "cwindow.pyx":578 * while start != end: * for i from 0 <= i < start[0].cigarLen: * if 1 <= start[0].cigarOps[2*i] <= 4: # <<<<<<<<<<<<<< * nGaps += 1 * */ __pyx_t_4 = ((__pyx_v_start[0])->cigarOps[(2 * __pyx_v_i)]); __pyx_t_2 = (1 <= __pyx_t_4); if (__pyx_t_2) { __pyx_t_2 = (__pyx_t_4 <= 4); } if (__pyx_t_2) { /* "cwindow.pyx":579 * for i from 0 <= i < start[0].cigarLen: * if 1 <= start[0].cigarOps[2*i] <= 4: * nGaps += 1 # <<<<<<<<<<<<<< * * start += 1 */ __pyx_v_nGaps = (__pyx_v_nGaps + 1); goto __pyx_L7; } __pyx_L7:; } /* "cwindow.pyx":581 * nGaps += 1 * * start += 1 # <<<<<<<<<<<<<< * * while bStart != bEnd: */ __pyx_v_start = (__pyx_v_start + 1); } /* "cwindow.pyx":583 * start += 1 * * while bStart != bEnd: # <<<<<<<<<<<<<< * for i from 0 <= i < bStart[0].cigarLen: * if 1 <= bStart[0].cigarOps[2*i] <= 4: */ while (1) { __pyx_t_2 = (__pyx_v_bStart != __pyx_v_bEnd); if (!__pyx_t_2) break; /* "cwindow.pyx":584 * * while bStart != bEnd: * for i from 0 <= i < bStart[0].cigarLen: # <<<<<<<<<<<<<< * if 1 <= bStart[0].cigarOps[2*i] <= 4: * nGaps += 1 */ __pyx_t_3 = (__pyx_v_bStart[0])->cigarLen; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "cwindow.pyx":585 * while bStart != bEnd: * for i from 0 <= i < bStart[0].cigarLen: * if 1 <= bStart[0].cigarOps[2*i] <= 4: # <<<<<<<<<<<<<< * nGaps += 1 * bStart += 1 */ __pyx_t_4 = ((__pyx_v_bStart[0])->cigarOps[(2 * __pyx_v_i)]); __pyx_t_2 = (1 <= __pyx_t_4); if (__pyx_t_2) { __pyx_t_2 = (__pyx_t_4 <= 4); } if (__pyx_t_2) { /* "cwindow.pyx":586 * for i from 0 <= i < bStart[0].cigarLen: * if 1 <= bStart[0].cigarOps[2*i] <= 4: * nGaps += 1 # <<<<<<<<<<<<<< * bStart += 1 * */ __pyx_v_nGaps = (__pyx_v_nGaps + 1); goto __pyx_L12; } __pyx_L12:; } /* "cwindow.pyx":587 * if 1 <= bStart[0].cigarOps[2*i] <= 4: * nGaps += 1 * bStart += 1 # <<<<<<<<<<<<<< * * return nGaps */ __pyx_v_bStart = (__pyx_v_bStart + 1); } /* "cwindow.pyx":589 * bStart += 1 * * return nGaps # <<<<<<<<<<<<<< * * cdef int countImproperPairs(self): */ __pyx_r = __pyx_v_nGaps; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":591 * return nGaps * * cdef int countImproperPairs(self): # <<<<<<<<<<<<<< * """ * Count and return the number of reads (Good and bad) that */ static int __pyx_f_7cwindow_13bamReadBuffer_countImproperPairs(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_start; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_end; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_bStart; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_bEnd; int __pyx_v_nImproper; int __pyx_r; __Pyx_RefNannyDeclarations __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("countImproperPairs", 0); /* "cwindow.pyx":596 * are members of improper pairs. * """ * cdef cAlignedRead** start = self.reads.windowStart # <<<<<<<<<<<<<< * cdef cAlignedRead** end = self.reads.windowEnd * cdef cAlignedRead** bStart = self.badReads.windowStart */ __pyx_t_1 = __pyx_v_self->reads->windowStart; __pyx_v_start = __pyx_t_1; /* "cwindow.pyx":597 * """ * cdef cAlignedRead** start = self.reads.windowStart * cdef cAlignedRead** end = self.reads.windowEnd # <<<<<<<<<<<<<< * cdef cAlignedRead** bStart = self.badReads.windowStart * cdef cAlignedRead** bEnd = self.badReads.windowEnd */ __pyx_t_1 = __pyx_v_self->reads->windowEnd; __pyx_v_end = __pyx_t_1; /* "cwindow.pyx":598 * cdef cAlignedRead** start = self.reads.windowStart * cdef cAlignedRead** end = self.reads.windowEnd * cdef cAlignedRead** bStart = self.badReads.windowStart # <<<<<<<<<<<<<< * cdef cAlignedRead** bEnd = self.badReads.windowEnd * */ __pyx_t_1 = __pyx_v_self->badReads->windowStart; __pyx_v_bStart = __pyx_t_1; /* "cwindow.pyx":599 * cdef cAlignedRead** end = self.reads.windowEnd * cdef cAlignedRead** bStart = self.badReads.windowStart * cdef cAlignedRead** bEnd = self.badReads.windowEnd # <<<<<<<<<<<<<< * * cdef int nImproper = 0 */ __pyx_t_1 = __pyx_v_self->badReads->windowEnd; __pyx_v_bEnd = __pyx_t_1; /* "cwindow.pyx":601 * cdef cAlignedRead** bEnd = self.badReads.windowEnd * * cdef int nImproper = 0 # <<<<<<<<<<<<<< * * while start != end: */ __pyx_v_nImproper = 0; /* "cwindow.pyx":603 * cdef int nImproper = 0 * * while start != end: # <<<<<<<<<<<<<< * if not Read_IsProperPair(start[0]): * nImproper += 1 */ while (1) { __pyx_t_2 = (__pyx_v_start != __pyx_v_end); if (!__pyx_t_2) break; /* "cwindow.pyx":604 * * while start != end: * if not Read_IsProperPair(start[0]): # <<<<<<<<<<<<<< * nImproper += 1 * start += 1 */ __pyx_t_2 = (!__pyx_f_15samtoolsWrapper_Read_IsProperPair((__pyx_v_start[0]))); if (__pyx_t_2) { /* "cwindow.pyx":605 * while start != end: * if not Read_IsProperPair(start[0]): * nImproper += 1 # <<<<<<<<<<<<<< * start += 1 * */ __pyx_v_nImproper = (__pyx_v_nImproper + 1); goto __pyx_L5; } __pyx_L5:; /* "cwindow.pyx":606 * if not Read_IsProperPair(start[0]): * nImproper += 1 * start += 1 # <<<<<<<<<<<<<< * * while bStart != bEnd: */ __pyx_v_start = (__pyx_v_start + 1); } /* "cwindow.pyx":608 * start += 1 * * while bStart != bEnd: # <<<<<<<<<<<<<< * if not Read_IsProperPair(bStart[0]): * nImproper += 1 */ while (1) { __pyx_t_2 = (__pyx_v_bStart != __pyx_v_bEnd); if (!__pyx_t_2) break; /* "cwindow.pyx":609 * * while bStart != bEnd: * if not Read_IsProperPair(bStart[0]): # <<<<<<<<<<<<<< * nImproper += 1 * bStart += 1 */ __pyx_t_2 = (!__pyx_f_15samtoolsWrapper_Read_IsProperPair((__pyx_v_bStart[0]))); if (__pyx_t_2) { /* "cwindow.pyx":610 * while bStart != bEnd: * if not Read_IsProperPair(bStart[0]): * nImproper += 1 # <<<<<<<<<<<<<< * bStart += 1 * */ __pyx_v_nImproper = (__pyx_v_nImproper + 1); goto __pyx_L8; } __pyx_L8:; /* "cwindow.pyx":611 * if not Read_IsProperPair(bStart[0]): * nImproper += 1 * bStart += 1 # <<<<<<<<<<<<<< * * return nImproper */ __pyx_v_bStart = (__pyx_v_bStart + 1); } /* "cwindow.pyx":613 * bStart += 1 * * return nImproper # <<<<<<<<<<<<<< * * cdef void setWindowPointers(self, int start, int end, int refStart, int refEnd, char* refSeq, int qualBinSize): */ __pyx_r = __pyx_v_nImproper; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "cwindow.pyx":615 * return nImproper * * cdef void setWindowPointers(self, int start, int end, int refStart, int refEnd, char* refSeq, int qualBinSize): # <<<<<<<<<<<<<< * """ * Set the windowStart and windowEnd pointers to point to the first */ static void __pyx_f_7cwindow_13bamReadBuffer_setWindowPointers(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self, int __pyx_v_start, int __pyx_v_end, int __pyx_v_refStart, int __pyx_v_refEnd, char *__pyx_v_refSeq, int __pyx_v_qualBinSize) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_theStart; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_theEnd; __Pyx_RefNannyDeclarations __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_1; int __pyx_t_2; int __pyx_t_3; __Pyx_RefNannySetupContext("setWindowPointers", 0); /* "cwindow.pyx":620 * and last+1 reads covering this window. * """ * self.reads.setWindowPointers(start, end) # <<<<<<<<<<<<<< * self.badReads.setWindowPointers(start, end) * self.brokenMates.setWindowPointersBasedOnMatePos(start, end) */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->reads->__pyx_vtab)->setWindowPointers(__pyx_v_self->reads, __pyx_v_start, __pyx_v_end); /* "cwindow.pyx":621 * """ * self.reads.setWindowPointers(start, end) * self.badReads.setWindowPointers(start, end) # <<<<<<<<<<<<<< * self.brokenMates.setWindowPointersBasedOnMatePos(start, end) * */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->badReads->__pyx_vtab)->setWindowPointers(__pyx_v_self->badReads, __pyx_v_start, __pyx_v_end); /* "cwindow.pyx":622 * self.reads.setWindowPointers(start, end) * self.badReads.setWindowPointers(start, end) * self.brokenMates.setWindowPointersBasedOnMatePos(start, end) # <<<<<<<<<<<<<< * * cdef cAlignedRead** theStart = NULL */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->brokenMates->__pyx_vtab)->setWindowPointersBasedOnMatePos(__pyx_v_self->brokenMates, __pyx_v_start, __pyx_v_end); /* "cwindow.pyx":624 * self.brokenMates.setWindowPointersBasedOnMatePos(start, end) * * cdef cAlignedRead** theStart = NULL # <<<<<<<<<<<<<< * cdef cAlignedRead** theEnd = NULL * */ __pyx_v_theStart = NULL; /* "cwindow.pyx":625 * * cdef cAlignedRead** theStart = NULL * cdef cAlignedRead** theEnd = NULL # <<<<<<<<<<<<<< * * # If the reads in this window are compressed, then uncompress them */ __pyx_v_theEnd = NULL; /* "cwindow.pyx":628 * * # If the reads in this window are compressed, then uncompress them * theStart = self.reads.windowStart # <<<<<<<<<<<<<< * theEnd = self.reads.windowEnd * */ __pyx_t_1 = __pyx_v_self->reads->windowStart; __pyx_v_theStart = __pyx_t_1; /* "cwindow.pyx":629 * # If the reads in this window are compressed, then uncompress them * theStart = self.reads.windowStart * theEnd = self.reads.windowEnd # <<<<<<<<<<<<<< * * if theStart != theEnd and Read_IsCompressed(theStart[0]): */ __pyx_t_1 = __pyx_v_self->reads->windowEnd; __pyx_v_theEnd = __pyx_t_1; /* "cwindow.pyx":631 * theEnd = self.reads.windowEnd * * if theStart != theEnd and Read_IsCompressed(theStart[0]): # <<<<<<<<<<<<<< * * while theStart != theEnd: */ __pyx_t_2 = (__pyx_v_theStart != __pyx_v_theEnd); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_15samtoolsWrapper_Read_IsCompressed((__pyx_v_theStart[0])); } else { __pyx_t_3 = __pyx_t_2; } if (__pyx_t_3) { /* "cwindow.pyx":633 * if theStart != theEnd and Read_IsCompressed(theStart[0]): * * while theStart != theEnd: # <<<<<<<<<<<<<< * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) * theStart += 1 */ while (1) { __pyx_t_3 = (__pyx_v_theStart != __pyx_v_theEnd); if (!__pyx_t_3) break; /* "cwindow.pyx":634 * * while theStart != theEnd: * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) # <<<<<<<<<<<<<< * theStart += 1 * */ __pyx_f_15samtoolsWrapper_uncompressRead((__pyx_v_theStart[0]), __pyx_v_refSeq, __pyx_v_refStart, __pyx_v_refEnd, __pyx_v_qualBinSize); /* "cwindow.pyx":635 * while theStart != theEnd: * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) * theStart += 1 # <<<<<<<<<<<<<< * * theStart = self.badReads.windowStart */ __pyx_v_theStart = (__pyx_v_theStart + 1); } /* "cwindow.pyx":637 * theStart += 1 * * theStart = self.badReads.windowStart # <<<<<<<<<<<<<< * theEnd = self.badReads.windowEnd * */ __pyx_t_1 = __pyx_v_self->badReads->windowStart; __pyx_v_theStart = __pyx_t_1; /* "cwindow.pyx":638 * * theStart = self.badReads.windowStart * theEnd = self.badReads.windowEnd # <<<<<<<<<<<<<< * * while theStart != theEnd: */ __pyx_t_1 = __pyx_v_self->badReads->windowEnd; __pyx_v_theEnd = __pyx_t_1; /* "cwindow.pyx":640 * theEnd = self.badReads.windowEnd * * while theStart != theEnd: # <<<<<<<<<<<<<< * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) * theStart += 1 */ while (1) { __pyx_t_3 = (__pyx_v_theStart != __pyx_v_theEnd); if (!__pyx_t_3) break; /* "cwindow.pyx":641 * * while theStart != theEnd: * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) # <<<<<<<<<<<<<< * theStart += 1 * */ __pyx_f_15samtoolsWrapper_uncompressRead((__pyx_v_theStart[0]), __pyx_v_refSeq, __pyx_v_refStart, __pyx_v_refEnd, __pyx_v_qualBinSize); /* "cwindow.pyx":642 * while theStart != theEnd: * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) * theStart += 1 # <<<<<<<<<<<<<< * * theStart = self.brokenMates.windowStart */ __pyx_v_theStart = (__pyx_v_theStart + 1); } /* "cwindow.pyx":644 * theStart += 1 * * theStart = self.brokenMates.windowStart # <<<<<<<<<<<<<< * theEnd = self.brokenMates.windowEnd * */ __pyx_t_1 = __pyx_v_self->brokenMates->windowStart; __pyx_v_theStart = __pyx_t_1; /* "cwindow.pyx":645 * * theStart = self.brokenMates.windowStart * theEnd = self.brokenMates.windowEnd # <<<<<<<<<<<<<< * * while theStart != theEnd: */ __pyx_t_1 = __pyx_v_self->brokenMates->windowEnd; __pyx_v_theEnd = __pyx_t_1; /* "cwindow.pyx":647 * theEnd = self.brokenMates.windowEnd * * while theStart != theEnd: # <<<<<<<<<<<<<< * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) * theStart += 1 */ while (1) { __pyx_t_3 = (__pyx_v_theStart != __pyx_v_theEnd); if (!__pyx_t_3) break; /* "cwindow.pyx":648 * * while theStart != theEnd: * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) # <<<<<<<<<<<<<< * theStart += 1 * */ __pyx_f_15samtoolsWrapper_uncompressRead((__pyx_v_theStart[0]), __pyx_v_refSeq, __pyx_v_refStart, __pyx_v_refEnd, __pyx_v_qualBinSize); /* "cwindow.pyx":649 * while theStart != theEnd: * uncompressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize) * theStart += 1 # <<<<<<<<<<<<<< * * cdef void recompressReadsInCurrentWindow(self, int refStart, int refEnd, char* refSeq, int qualBinSize, int compressReads): */ __pyx_v_theStart = (__pyx_v_theStart + 1); } goto __pyx_L3; } __pyx_L3:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":651 * theStart += 1 * * cdef void recompressReadsInCurrentWindow(self, int refStart, int refEnd, char* refSeq, int qualBinSize, int compressReads): # <<<<<<<<<<<<<< * """ * Set the windowStart and windowEnd pointers to point to the first */ static void __pyx_f_7cwindow_13bamReadBuffer_recompressReadsInCurrentWindow(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self, int __pyx_v_refStart, int __pyx_v_refEnd, char *__pyx_v_refSeq, int __pyx_v_qualBinSize, int __pyx_v_compressReads) { __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_theStart; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_theEnd; __Pyx_RefNannyDeclarations __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("recompressReadsInCurrentWindow", 0); /* "cwindow.pyx":656 * and last+1 reads covering this window. * """ * cdef cAlignedRead** theStart = NULL # <<<<<<<<<<<<<< * cdef cAlignedRead** theEnd = NULL * */ __pyx_v_theStart = NULL; /* "cwindow.pyx":657 * """ * cdef cAlignedRead** theStart = NULL * cdef cAlignedRead** theEnd = NULL # <<<<<<<<<<<<<< * * # If the reads in this window are compressed, then uncompress them */ __pyx_v_theEnd = NULL; /* "cwindow.pyx":660 * * # If the reads in this window are compressed, then uncompress them * theStart = self.reads.windowStart # <<<<<<<<<<<<<< * theEnd = self.reads.windowEnd * */ __pyx_t_1 = __pyx_v_self->reads->windowStart; __pyx_v_theStart = __pyx_t_1; /* "cwindow.pyx":661 * # If the reads in this window are compressed, then uncompress them * theStart = self.reads.windowStart * theEnd = self.reads.windowEnd # <<<<<<<<<<<<<< * * while theStart != theEnd: */ __pyx_t_1 = __pyx_v_self->reads->windowEnd; __pyx_v_theEnd = __pyx_t_1; /* "cwindow.pyx":663 * theEnd = self.reads.windowEnd * * while theStart != theEnd: # <<<<<<<<<<<<<< * * # Compresss reads is required */ while (1) { __pyx_t_2 = (__pyx_v_theStart != __pyx_v_theEnd); if (!__pyx_t_2) break; /* "cwindow.pyx":666 * * # Compresss reads is required * if compressReads: # <<<<<<<<<<<<<< * compressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize, 1) * */ if (__pyx_v_compressReads) { /* "cwindow.pyx":667 * # Compresss reads is required * if compressReads: * compressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize, 1) # <<<<<<<<<<<<<< * * # Otherwise, just clear the hash */ __pyx_f_15samtoolsWrapper_compressRead((__pyx_v_theStart[0]), __pyx_v_refSeq, __pyx_v_refStart, __pyx_v_refEnd, __pyx_v_qualBinSize, 1); goto __pyx_L5; } __pyx_L5:; /* "cwindow.pyx":670 * * # Otherwise, just clear the hash * if theStart[0].hash != NULL: # <<<<<<<<<<<<<< * free(theStart[0].hash) * theStart[0].hash = NULL */ __pyx_t_2 = ((__pyx_v_theStart[0])->hash != NULL); if (__pyx_t_2) { /* "cwindow.pyx":671 * # Otherwise, just clear the hash * if theStart[0].hash != NULL: * free(theStart[0].hash) # <<<<<<<<<<<<<< * theStart[0].hash = NULL * */ free((__pyx_v_theStart[0])->hash); /* "cwindow.pyx":672 * if theStart[0].hash != NULL: * free(theStart[0].hash) * theStart[0].hash = NULL # <<<<<<<<<<<<<< * * theStart += 1 */ (__pyx_v_theStart[0])->hash = NULL; goto __pyx_L6; } __pyx_L6:; /* "cwindow.pyx":674 * theStart[0].hash = NULL * * theStart += 1 # <<<<<<<<<<<<<< * * theStart = self.badReads.windowStart */ __pyx_v_theStart = (__pyx_v_theStart + 1); } /* "cwindow.pyx":676 * theStart += 1 * * theStart = self.badReads.windowStart # <<<<<<<<<<<<<< * theEnd = self.badReads.windowEnd * */ __pyx_t_1 = __pyx_v_self->badReads->windowStart; __pyx_v_theStart = __pyx_t_1; /* "cwindow.pyx":677 * * theStart = self.badReads.windowStart * theEnd = self.badReads.windowEnd # <<<<<<<<<<<<<< * * while theStart != theEnd: */ __pyx_t_1 = __pyx_v_self->badReads->windowEnd; __pyx_v_theEnd = __pyx_t_1; /* "cwindow.pyx":679 * theEnd = self.badReads.windowEnd * * while theStart != theEnd: # <<<<<<<<<<<<<< * * # Compresss reads is required */ while (1) { __pyx_t_2 = (__pyx_v_theStart != __pyx_v_theEnd); if (!__pyx_t_2) break; /* "cwindow.pyx":682 * * # Compresss reads is required * if compressReads: # <<<<<<<<<<<<<< * compressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize, 1) * */ if (__pyx_v_compressReads) { /* "cwindow.pyx":683 * # Compresss reads is required * if compressReads: * compressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize, 1) # <<<<<<<<<<<<<< * * # Otherwise, just clear the hash */ __pyx_f_15samtoolsWrapper_compressRead((__pyx_v_theStart[0]), __pyx_v_refSeq, __pyx_v_refStart, __pyx_v_refEnd, __pyx_v_qualBinSize, 1); goto __pyx_L9; } __pyx_L9:; /* "cwindow.pyx":686 * * # Otherwise, just clear the hash * if theStart[0].hash != NULL: # <<<<<<<<<<<<<< * free(theStart[0].hash) * theStart[0].hash = NULL */ __pyx_t_2 = ((__pyx_v_theStart[0])->hash != NULL); if (__pyx_t_2) { /* "cwindow.pyx":687 * # Otherwise, just clear the hash * if theStart[0].hash != NULL: * free(theStart[0].hash) # <<<<<<<<<<<<<< * theStart[0].hash = NULL * */ free((__pyx_v_theStart[0])->hash); /* "cwindow.pyx":688 * if theStart[0].hash != NULL: * free(theStart[0].hash) * theStart[0].hash = NULL # <<<<<<<<<<<<<< * * theStart += 1 */ (__pyx_v_theStart[0])->hash = NULL; goto __pyx_L10; } __pyx_L10:; /* "cwindow.pyx":690 * theStart[0].hash = NULL * * theStart += 1 # <<<<<<<<<<<<<< * * theStart = self.brokenMates.windowStart */ __pyx_v_theStart = (__pyx_v_theStart + 1); } /* "cwindow.pyx":692 * theStart += 1 * * theStart = self.brokenMates.windowStart # <<<<<<<<<<<<<< * theEnd = self.brokenMates.windowEnd * */ __pyx_t_1 = __pyx_v_self->brokenMates->windowStart; __pyx_v_theStart = __pyx_t_1; /* "cwindow.pyx":693 * * theStart = self.brokenMates.windowStart * theEnd = self.brokenMates.windowEnd # <<<<<<<<<<<<<< * * while theStart != theEnd: */ __pyx_t_1 = __pyx_v_self->brokenMates->windowEnd; __pyx_v_theEnd = __pyx_t_1; /* "cwindow.pyx":695 * theEnd = self.brokenMates.windowEnd * * while theStart != theEnd: # <<<<<<<<<<<<<< * * # Compresss reads is required */ while (1) { __pyx_t_2 = (__pyx_v_theStart != __pyx_v_theEnd); if (!__pyx_t_2) break; /* "cwindow.pyx":698 * * # Compresss reads is required * if compressReads: # <<<<<<<<<<<<<< * compressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize, 1) * */ if (__pyx_v_compressReads) { /* "cwindow.pyx":699 * # Compresss reads is required * if compressReads: * compressRead(theStart[0], refSeq, refStart, refEnd, qualBinSize, 1) # <<<<<<<<<<<<<< * * # Otherwise, just clear the hash */ __pyx_f_15samtoolsWrapper_compressRead((__pyx_v_theStart[0]), __pyx_v_refSeq, __pyx_v_refStart, __pyx_v_refEnd, __pyx_v_qualBinSize, 1); goto __pyx_L13; } __pyx_L13:; /* "cwindow.pyx":702 * * # Otherwise, just clear the hash * if theStart[0].hash != NULL: # <<<<<<<<<<<<<< * free(theStart[0].hash) * theStart[0].hash = NULL */ __pyx_t_2 = ((__pyx_v_theStart[0])->hash != NULL); if (__pyx_t_2) { /* "cwindow.pyx":703 * # Otherwise, just clear the hash * if theStart[0].hash != NULL: * free(theStart[0].hash) # <<<<<<<<<<<<<< * theStart[0].hash = NULL * */ free((__pyx_v_theStart[0])->hash); /* "cwindow.pyx":704 * if theStart[0].hash != NULL: * free(theStart[0].hash) * theStart[0].hash = NULL # <<<<<<<<<<<<<< * * theStart += 1 */ (__pyx_v_theStart[0])->hash = NULL; goto __pyx_L14; } __pyx_L14:; /* "cwindow.pyx":706 * theStart[0].hash = NULL * * theStart += 1 # <<<<<<<<<<<<<< * * cdef void sortReads(self): */ __pyx_v_theStart = (__pyx_v_theStart + 1); } __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":708 * theStart += 1 * * cdef void sortReads(self): # <<<<<<<<<<<<<< * """ * Sort the contents of the reads array by position */ static void __pyx_f_7cwindow_13bamReadBuffer_sortReads(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("sortReads", 0); /* "cwindow.pyx":712 * Sort the contents of the reads array by position * """ * if not self.isSorted: # <<<<<<<<<<<<<< * if self.reads.getSize() > 0: * qsort(self.reads.array, self.reads.getSize(), sizeof(cAlignedRead**), readPosComp) */ __pyx_t_1 = (!__pyx_v_self->isSorted); if (__pyx_t_1) { /* "cwindow.pyx":713 * """ * if not self.isSorted: * if self.reads.getSize() > 0: # <<<<<<<<<<<<<< * qsort(self.reads.array, self.reads.getSize(), sizeof(cAlignedRead**), readPosComp) * */ __pyx_t_1 = (((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->reads->__pyx_vtab)->getSize(__pyx_v_self->reads) > 0); if (__pyx_t_1) { /* "cwindow.pyx":714 * if not self.isSorted: * if self.reads.getSize() > 0: * qsort(self.reads.array, self.reads.getSize(), sizeof(cAlignedRead**), readPosComp) # <<<<<<<<<<<<<< * * if self.badReads.getSize() > 0: */ qsort(__pyx_v_self->reads->array, ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->reads->__pyx_vtab)->getSize(__pyx_v_self->reads), (sizeof(__pyx_t_15samtoolsWrapper_cAlignedRead **)), __pyx_f_7cwindow_readPosComp); goto __pyx_L4; } __pyx_L4:; /* "cwindow.pyx":716 * qsort(self.reads.array, self.reads.getSize(), sizeof(cAlignedRead**), readPosComp) * * if self.badReads.getSize() > 0: # <<<<<<<<<<<<<< * qsort(self.badReads.array, self.badReads.getSize(), sizeof(cAlignedRead**), readPosComp) * */ __pyx_t_1 = (((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->badReads->__pyx_vtab)->getSize(__pyx_v_self->badReads) > 0); if (__pyx_t_1) { /* "cwindow.pyx":717 * * if self.badReads.getSize() > 0: * qsort(self.badReads.array, self.badReads.getSize(), sizeof(cAlignedRead**), readPosComp) # <<<<<<<<<<<<<< * * self.isSorted = True */ qsort(__pyx_v_self->badReads->array, ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->badReads->__pyx_vtab)->getSize(__pyx_v_self->badReads), (sizeof(__pyx_t_15samtoolsWrapper_cAlignedRead **)), __pyx_f_7cwindow_readPosComp); goto __pyx_L5; } __pyx_L5:; /* "cwindow.pyx":719 * qsort(self.badReads.array, self.badReads.getSize(), sizeof(cAlignedRead**), readPosComp) * * self.isSorted = True # <<<<<<<<<<<<<< * * cdef void sortBrokenMates(self): */ __pyx_v_self->isSorted = 1; goto __pyx_L3; } __pyx_L3:; __Pyx_RefNannyFinishContext(); } /* "cwindow.pyx":721 * self.isSorted = True * * cdef void sortBrokenMates(self): # <<<<<<<<<<<<<< * """ * Sort the contents of the brokenMates array by the co-ordinates of their */ static void __pyx_f_7cwindow_13bamReadBuffer_sortBrokenMates(struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("sortBrokenMates", 0); /* "cwindow.pyx":726 * mates. * """ * qsort(self.brokenMates.array, self.brokenMates.getSize(), sizeof(cAlignedRead**), readMatePosComp) # <<<<<<<<<<<<<< * * ################################################################################################### */ qsort(__pyx_v_self->brokenMates->array, ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_self->brokenMates->__pyx_vtab)->getSize(__pyx_v_self->brokenMates), (sizeof(__pyx_t_15samtoolsWrapper_cAlignedRead **)), __pyx_f_7cwindow_readMatePosComp); __Pyx_RefNannyFinishContext(); } /* "samtoolsWrapper.pxd":346 * * # And here are accessor functions for the bit-fields * cdef inline int Read_IsReverse(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FREVERSE) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsReverse(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsReverse", 0); /* "samtoolsWrapper.pxd":347 * # And here are accessor functions for the bit-fields * cdef inline int Read_IsReverse(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FREVERSE) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsPaired(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 16) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":349 * return ( (theRead.bitFlag & BAM_FREVERSE) != 0) * * cdef inline int Read_IsPaired(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FPAIRED) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsPaired", 0); /* "samtoolsWrapper.pxd":350 * * cdef inline int Read_IsPaired(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FPAIRED) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsProperPair(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 1) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":352 * return ( (theRead.bitFlag & BAM_FPAIRED) != 0) * * cdef inline int Read_IsProperPair(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FPROPER_PAIR) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsProperPair(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsProperPair", 0); /* "samtoolsWrapper.pxd":353 * * cdef inline int Read_IsProperPair(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FPROPER_PAIR) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsDuplicate(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 2) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":355 * return ( (theRead.bitFlag & BAM_FPROPER_PAIR) != 0) * * cdef inline int Read_IsDuplicate(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FDUP) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsDuplicate(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsDuplicate", 0); /* "samtoolsWrapper.pxd":356 * * cdef inline int Read_IsDuplicate(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FDUP) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsUnmapped(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 1024) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":358 * return ( (theRead.bitFlag & BAM_FDUP) != 0) * * cdef inline int Read_IsUnmapped(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FUNMAP) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsUnmapped(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsUnmapped", 0); /* "samtoolsWrapper.pxd":359 * * cdef inline int Read_IsUnmapped(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FUNMAP) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_MateIsUnmapped(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 4) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":361 * return ( (theRead.bitFlag & BAM_FUNMAP) != 0) * * cdef inline int Read_MateIsUnmapped(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FMUNMAP) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_MateIsUnmapped(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_MateIsUnmapped", 0); /* "samtoolsWrapper.pxd":362 * * cdef inline int Read_MateIsUnmapped(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FMUNMAP) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_MateIsReverse(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 8) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":364 * return ( (theRead.bitFlag & BAM_FMUNMAP) != 0) * * cdef inline int Read_MateIsReverse(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FMREVERSE) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_MateIsReverse(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_MateIsReverse", 0); /* "samtoolsWrapper.pxd":365 * * cdef inline int Read_MateIsReverse(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FMREVERSE) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsQCFail(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 32) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":367 * return ( (theRead.bitFlag & BAM_FMREVERSE) != 0) * * cdef inline int Read_IsQCFail(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FQCFAIL) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsQCFail(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsQCFail", 0); /* "samtoolsWrapper.pxd":368 * * cdef inline int Read_IsQCFail(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FQCFAIL) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsReadOne(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 512) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":370 * return ( (theRead.bitFlag & BAM_FQCFAIL) != 0) * * cdef inline int Read_IsReadOne(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FREAD1) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsReadOne(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsReadOne", 0); /* "samtoolsWrapper.pxd":371 * * cdef inline int Read_IsReadOne(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FREAD1) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsSecondaryAlignment(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 64) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":373 * return ( (theRead.bitFlag & BAM_FREAD1) != 0) * * cdef inline int Read_IsSecondaryAlignment(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FSECONDARY) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsSecondaryAlignment(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsSecondaryAlignment", 0); /* "samtoolsWrapper.pxd":374 * * cdef inline int Read_IsSecondaryAlignment(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FSECONDARY) != 0) # <<<<<<<<<<<<<< * * cdef inline int Read_IsCompressed(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 256) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":376 * return ( (theRead.bitFlag & BAM_FSECONDARY) != 0) * * cdef inline int Read_IsCompressed(cAlignedRead* theRead): # <<<<<<<<<<<<<< * return ( (theRead.bitFlag & BAM_FCOMPRESSED) != 0) * */ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsCompressed(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_IsCompressed", 0); /* "samtoolsWrapper.pxd":377 * * cdef inline int Read_IsCompressed(cAlignedRead* theRead): * return ( (theRead.bitFlag & BAM_FCOMPRESSED) != 0) # <<<<<<<<<<<<<< * * cdef inline void Read_SetQCFail(cAlignedRead* theRead): */ __pyx_r = ((__pyx_v_theRead->bitFlag & 2048) != 0); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "samtoolsWrapper.pxd":379 * return ( (theRead.bitFlag & BAM_FCOMPRESSED) != 0) * * cdef inline void Read_SetQCFail(cAlignedRead* theRead): # <<<<<<<<<<<<<< * theRead.bitFlag |= BAM_FQCFAIL * */ static CYTHON_INLINE void __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_SetQCFail", 0); /* "samtoolsWrapper.pxd":380 * * cdef inline void Read_SetQCFail(cAlignedRead* theRead): * theRead.bitFlag |= BAM_FQCFAIL # <<<<<<<<<<<<<< * * cdef inline void Read_SetCompressed(cAlignedRead* theRead): */ __pyx_v_theRead->bitFlag = (__pyx_v_theRead->bitFlag | 512); __Pyx_RefNannyFinishContext(); } /* "samtoolsWrapper.pxd":382 * theRead.bitFlag |= BAM_FQCFAIL * * cdef inline void Read_SetCompressed(cAlignedRead* theRead): # <<<<<<<<<<<<<< * theRead.bitFlag |= BAM_FCOMPRESSED * */ static CYTHON_INLINE void __pyx_f_15samtoolsWrapper_Read_SetCompressed(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_SetCompressed", 0); /* "samtoolsWrapper.pxd":383 * * cdef inline void Read_SetCompressed(cAlignedRead* theRead): * theRead.bitFlag |= BAM_FCOMPRESSED # <<<<<<<<<<<<<< * * cdef inline void Read_SetUnCompressed(cAlignedRead* theRead): */ __pyx_v_theRead->bitFlag = (__pyx_v_theRead->bitFlag | 2048); __Pyx_RefNannyFinishContext(); } /* "samtoolsWrapper.pxd":385 * theRead.bitFlag |= BAM_FCOMPRESSED * * cdef inline void Read_SetUnCompressed(cAlignedRead* theRead): # <<<<<<<<<<<<<< * theRead.bitFlag &= (~BAM_FCOMPRESSED) * */ static CYTHON_INLINE void __pyx_f_15samtoolsWrapper_Read_SetUnCompressed(__pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_SetUnCompressed", 0); /* "samtoolsWrapper.pxd":386 * * cdef inline void Read_SetUnCompressed(cAlignedRead* theRead): * theRead.bitFlag &= (~BAM_FCOMPRESSED) # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_v_theRead->bitFlag = (__pyx_v_theRead->bitFlag & (~2048)); __Pyx_RefNannyFinishContext(); } static struct __pyx_vtabstruct_7cwindow_ReadArray __pyx_vtable_7cwindow_ReadArray; static PyObject *__pyx_tp_new_7cwindow_ReadArray(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_7cwindow_ReadArray *p; PyObject *o = (*t->tp_alloc)(t, 0); if (!o) return 0; p = ((struct __pyx_obj_7cwindow_ReadArray *)o); p->__pyx_vtab = __pyx_vtabptr_7cwindow_ReadArray; return o; } static void __pyx_tp_dealloc_7cwindow_ReadArray(PyObject *o) { { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_7cwindow_9ReadArray_3__dealloc__(o); if (PyErr_Occurred()) PyErr_WriteUnraisable(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyMethodDef __pyx_methods_7cwindow_ReadArray[] = { {0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_ReadArray = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ 0, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ #if PY_VERSION_HEX >= 0x02050000 0, /*nb_index*/ #endif }; static PySequenceMethods __pyx_tp_as_sequence_ReadArray = { 0, /*sq_length*/ 0, /*sq_concat*/ 0, /*sq_repeat*/ 0, /*sq_item*/ 0, /*sq_slice*/ 0, /*sq_ass_item*/ 0, /*sq_ass_slice*/ 0, /*sq_contains*/ 0, /*sq_inplace_concat*/ 0, /*sq_inplace_repeat*/ }; static PyMappingMethods __pyx_tp_as_mapping_ReadArray = { 0, /*mp_length*/ 0, /*mp_subscript*/ 0, /*mp_ass_subscript*/ }; static PyBufferProcs __pyx_tp_as_buffer_ReadArray = { #if PY_MAJOR_VERSION < 3 0, /*bf_getreadbuffer*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getwritebuffer*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getsegcount*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getcharbuffer*/ #endif #if PY_VERSION_HEX >= 0x02060000 0, /*bf_getbuffer*/ #endif #if PY_VERSION_HEX >= 0x02060000 0, /*bf_releasebuffer*/ #endif }; static PyTypeObject __pyx_type_7cwindow_ReadArray = { PyVarObject_HEAD_INIT(0, 0) __Pyx_NAMESTR("cwindow.ReadArray"), /*tp_name*/ sizeof(struct __pyx_obj_7cwindow_ReadArray), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_7cwindow_ReadArray, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #else 0, /*reserved*/ #endif 0, /*tp_repr*/ &__pyx_tp_as_number_ReadArray, /*tp_as_number*/ &__pyx_tp_as_sequence_ReadArray, /*tp_as_sequence*/ &__pyx_tp_as_mapping_ReadArray, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ &__pyx_tp_as_buffer_ReadArray, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ __Pyx_DOCSTR("\n Simple structure to wrap a raw C array, with some bounds\n checking.\n "), /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_7cwindow_ReadArray, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ __pyx_pw_7cwindow_9ReadArray_1__init__, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_7cwindow_ReadArray, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ #if PY_VERSION_HEX >= 0x02060000 0, /*tp_version_tag*/ #endif }; static struct __pyx_vtabstruct_7cwindow_bamReadBuffer __pyx_vtable_7cwindow_bamReadBuffer; static PyObject *__pyx_tp_new_7cwindow_bamReadBuffer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_7cwindow_bamReadBuffer *p; PyObject *o = (*t->tp_alloc)(t, 0); if (!o) return 0; p = ((struct __pyx_obj_7cwindow_bamReadBuffer *)o); p->__pyx_vtab = __pyx_vtabptr_7cwindow_bamReadBuffer; p->sample = ((PyObject*)Py_None); Py_INCREF(Py_None); p->reads = ((struct __pyx_obj_7cwindow_ReadArray *)Py_None); Py_INCREF(Py_None); p->badReads = ((struct __pyx_obj_7cwindow_ReadArray *)Py_None); Py_INCREF(Py_None); p->brokenMates = ((struct __pyx_obj_7cwindow_ReadArray *)Py_None); Py_INCREF(Py_None); return o; } static void __pyx_tp_dealloc_7cwindow_bamReadBuffer(PyObject *o) { struct __pyx_obj_7cwindow_bamReadBuffer *p = (struct __pyx_obj_7cwindow_bamReadBuffer *)o; { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_7cwindow_13bamReadBuffer_3__dealloc__(o); if (PyErr_Occurred()) PyErr_WriteUnraisable(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } Py_CLEAR(p->sample); Py_CLEAR(p->reads); Py_CLEAR(p->badReads); Py_CLEAR(p->brokenMates); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_7cwindow_bamReadBuffer(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_7cwindow_bamReadBuffer *p = (struct __pyx_obj_7cwindow_bamReadBuffer *)o; if (p->sample) { e = (*v)(p->sample, a); if (e) return e; } if (p->reads) { e = (*v)(((PyObject*)p->reads), a); if (e) return e; } if (p->badReads) { e = (*v)(((PyObject*)p->badReads), a); if (e) return e; } if (p->brokenMates) { e = (*v)(((PyObject*)p->brokenMates), a); if (e) return e; } return 0; } static int __pyx_tp_clear_7cwindow_bamReadBuffer(PyObject *o) { struct __pyx_obj_7cwindow_bamReadBuffer *p = (struct __pyx_obj_7cwindow_bamReadBuffer *)o; PyObject* tmp; tmp = ((PyObject*)p->sample); p->sample = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->reads); p->reads = ((struct __pyx_obj_7cwindow_ReadArray *)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->badReads); p->badReads = ((struct __pyx_obj_7cwindow_ReadArray *)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->brokenMates); p->brokenMates = ((struct __pyx_obj_7cwindow_ReadArray *)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_7cwindow_bamReadBuffer[] = { {0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_bamReadBuffer = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ 0, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ #if PY_VERSION_HEX >= 0x02050000 0, /*nb_index*/ #endif }; static PySequenceMethods __pyx_tp_as_sequence_bamReadBuffer = { 0, /*sq_length*/ 0, /*sq_concat*/ 0, /*sq_repeat*/ 0, /*sq_item*/ 0, /*sq_slice*/ 0, /*sq_ass_item*/ 0, /*sq_ass_slice*/ 0, /*sq_contains*/ 0, /*sq_inplace_concat*/ 0, /*sq_inplace_repeat*/ }; static PyMappingMethods __pyx_tp_as_mapping_bamReadBuffer = { 0, /*mp_length*/ 0, /*mp_subscript*/ 0, /*mp_ass_subscript*/ }; static PyBufferProcs __pyx_tp_as_buffer_bamReadBuffer = { #if PY_MAJOR_VERSION < 3 0, /*bf_getreadbuffer*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getwritebuffer*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getsegcount*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getcharbuffer*/ #endif #if PY_VERSION_HEX >= 0x02060000 0, /*bf_getbuffer*/ #endif #if PY_VERSION_HEX >= 0x02060000 0, /*bf_releasebuffer*/ #endif }; static PyTypeObject __pyx_type_7cwindow_bamReadBuffer = { PyVarObject_HEAD_INIT(0, 0) __Pyx_NAMESTR("cwindow.bamReadBuffer"), /*tp_name*/ sizeof(struct __pyx_obj_7cwindow_bamReadBuffer), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_7cwindow_bamReadBuffer, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #else 0, /*reserved*/ #endif 0, /*tp_repr*/ &__pyx_tp_as_number_bamReadBuffer, /*tp_as_number*/ &__pyx_tp_as_sequence_bamReadBuffer, /*tp_as_sequence*/ &__pyx_tp_as_mapping_bamReadBuffer, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ &__pyx_tp_as_buffer_bamReadBuffer, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ __Pyx_DOCSTR("\n Utility class for bufffering reads from a single BAM file, so we only make a single pass\n through the data in each BAM in the loop through windows.\n "), /*tp_doc*/ __pyx_tp_traverse_7cwindow_bamReadBuffer, /*tp_traverse*/ __pyx_tp_clear_7cwindow_bamReadBuffer, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_7cwindow_bamReadBuffer, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ __pyx_pw_7cwindow_13bamReadBuffer_1__init__, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_7cwindow_bamReadBuffer, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ #if PY_VERSION_HEX >= 0x02060000 0, /*tp_version_tag*/ #endif }; static PyMethodDef __pyx_methods[] = { {0, 0, 0, 0} }; #if PY_MAJOR_VERSION >= 3 static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, __Pyx_NAMESTR("cwindow"), __Pyx_DOCSTR(__pyx_k_21), /* m_doc */ -1, /* m_size */ __pyx_methods /* m_methods */, NULL, /* m_reload */ NULL, /* m_traverse */ NULL, /* m_clear */ NULL /* m_free */ }; #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0}, {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0}, {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0}, {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0}, {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0}, {&__pyx_kp_s_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 1, 0}, {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0}, {&__pyx_kp_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 0}, {&__pyx_kp_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 0}, {&__pyx_kp_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 0}, {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, {&__pyx_n_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 1}, {&__pyx_n_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 1}, {&__pyx_n_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 1}, {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0}, {&__pyx_n_s__Log, __pyx_k__Log, sizeof(__pyx_k__Log), 0, 0, 1, 1}, {&__pyx_n_s__StandardError, __pyx_k__StandardError, sizeof(__pyx_k__StandardError), 0, 0, 1, 1}, {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, {&__pyx_n_s__bisect, __pyx_k__bisect, sizeof(__pyx_k__bisect), 0, 0, 1, 1}, {&__pyx_n_s__bisect_left, __pyx_k__bisect_left, sizeof(__pyx_k__bisect_left), 0, 0, 1, 1}, {&__pyx_n_s__chrom, __pyx_k__chrom, sizeof(__pyx_k__chrom), 0, 0, 1, 1}, {&__pyx_n_s__debug, __pyx_k__debug, sizeof(__pyx_k__debug), 0, 0, 1, 1}, {&__pyx_n_s__end, __pyx_k__end, sizeof(__pyx_k__end), 0, 0, 1, 1}, {&__pyx_n_s__filterDuplicates, __pyx_k__filterDuplicates, sizeof(__pyx_k__filterDuplicates), 0, 0, 1, 1}, {&__pyx_n_s__getLogger, __pyx_k__getLogger, sizeof(__pyx_k__getLogger), 0, 0, 1, 1}, {&__pyx_n_s__heappop, __pyx_k__heappop, sizeof(__pyx_k__heappop), 0, 0, 1, 1}, {&__pyx_n_s__heappush, __pyx_k__heappush, sizeof(__pyx_k__heappush), 0, 0, 1, 1}, {&__pyx_n_s__heapq, __pyx_k__heapq, sizeof(__pyx_k__heapq), 0, 0, 1, 1}, {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1}, {&__pyx_n_s__logger, __pyx_k__logger, sizeof(__pyx_k__logger), 0, 0, 1, 1}, {&__pyx_n_s__logging, __pyx_k__logging, sizeof(__pyx_k__logging), 0, 0, 1, 1}, {&__pyx_n_s__math, __pyx_k__math, sizeof(__pyx_k__math), 0, 0, 1, 1}, {&__pyx_n_s__maxReads, __pyx_k__maxReads, sizeof(__pyx_k__maxReads), 0, 0, 1, 1}, {&__pyx_n_s__minGoodQualBases, __pyx_k__minGoodQualBases, sizeof(__pyx_k__minGoodQualBases), 0, 0, 1, 1}, {&__pyx_n_s__minMapQual, __pyx_k__minMapQual, sizeof(__pyx_k__minMapQual), 0, 0, 1, 1}, {&__pyx_n_s__options, __pyx_k__options, sizeof(__pyx_k__options), 0, 0, 1, 1}, {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, {&__pyx_n_s__rlen, __pyx_k__rlen, sizeof(__pyx_k__rlen), 0, 0, 1, 1}, {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1}, {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1}, {&__pyx_n_s__verbosity, __pyx_k__verbosity, sizeof(__pyx_k__verbosity), 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_StandardError = __Pyx_GetName(__pyx_b, __pyx_n_s__StandardError); if (!__pyx_builtin_StandardError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); /* "cwindow.pyx":540 * if theRead == NULL: * if self.verbosity >= 3: * logger.debug("Found null read") # <<<<<<<<<<<<<< * return * else: */ __pyx_k_tuple_20 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_20); __Pyx_INCREF(((PyObject *)__pyx_kp_s_19)); PyTuple_SET_ITEM(__pyx_k_tuple_20, 0, ((PyObject *)__pyx_kp_s_19)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_19)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20)); /* "cwindow.pyx":51 * ################################################################################################### * * logger = logging.getLogger("Log") # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_k_tuple_22 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_22); __Pyx_INCREF(((PyObject *)__pyx_n_s__Log)); PyTuple_SET_ITEM(__pyx_k_tuple_22, 0, ((PyObject *)__pyx_n_s__Log)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__Log)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22)); __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __Pyx_RefNannyFinishContext(); return -1; } static int __Pyx_InitGlobals(void) { if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; return 0; __pyx_L1_error:; return -1; } #if PY_MAJOR_VERSION < 3 PyMODINIT_FUNC initcwindow(void); /*proto*/ PyMODINIT_FUNC initcwindow(void) #else PyMODINIT_FUNC PyInit_cwindow(void); /*proto*/ PyMODINIT_FUNC PyInit_cwindow(void) #endif { PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannyDeclarations #if CYTHON_REFNANNY __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); if (!__Pyx_RefNanny) { PyErr_Clear(); __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); if (!__Pyx_RefNanny) Py_FatalError("failed to import 'refnanny' module"); } #endif __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_cwindow(void)", 0); if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #ifdef __Pyx_CyFunction_USED if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif #ifdef __Pyx_FusedFunction_USED if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif #ifdef __Pyx_Generator_USED if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif /*--- Library function declarations ---*/ /*--- Threads initialization code ---*/ #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS #ifdef WITH_THREAD /* Python build with threading support? */ PyEval_InitThreads(); #endif #endif /*--- Module creation code ---*/ #if PY_MAJOR_VERSION < 3 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("cwindow"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_21), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); #else __pyx_m = PyModule_Create(&__pyx_moduledef); #endif if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if PY_MAJOR_VERSION >= 3 { PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (!PyDict_GetItemString(modules, "cwindow")) { if (unlikely(PyDict_SetItemString(modules, "cwindow", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } } #endif __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if CYTHON_COMPILING_IN_PYPY Py_INCREF(__pyx_b); #endif if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; /*--- Initialize various global constants etc. ---*/ if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_module_is_main_cwindow) { if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; } /*--- Builtin init code ---*/ if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Constants init code ---*/ if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Global init code ---*/ /*--- Variable export code ---*/ /*--- Function export code ---*/ /*--- Type init code ---*/ __pyx_vtabptr_7cwindow_ReadArray = &__pyx_vtable_7cwindow_ReadArray; __pyx_vtable_7cwindow_ReadArray.getSize = (int (*)(struct __pyx_obj_7cwindow_ReadArray *))__pyx_f_7cwindow_9ReadArray_getSize; __pyx_vtable_7cwindow_ReadArray.append = (void (*)(struct __pyx_obj_7cwindow_ReadArray *, __pyx_t_15samtoolsWrapper_cAlignedRead *))__pyx_f_7cwindow_9ReadArray_append; __pyx_vtable_7cwindow_ReadArray.setWindowPointers = (void (*)(struct __pyx_obj_7cwindow_ReadArray *, int, int))__pyx_f_7cwindow_9ReadArray_setWindowPointers; __pyx_vtable_7cwindow_ReadArray.setWindowPointersBasedOnMatePos = (void (*)(struct __pyx_obj_7cwindow_ReadArray *, int, int))__pyx_f_7cwindow_9ReadArray_setWindowPointersBasedOnMatePos; __pyx_vtable_7cwindow_ReadArray.getLengthOfLongestRead = (int (*)(struct __pyx_obj_7cwindow_ReadArray *))__pyx_f_7cwindow_9ReadArray_getLengthOfLongestRead; if (PyType_Ready(&__pyx_type_7cwindow_ReadArray) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if CYTHON_COMPILING_IN_CPYTHON { PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_7cwindow_ReadArray, "__init__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_7cwindow_9ReadArray___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_7cwindow_9ReadArray___init__.doc = __pyx_doc_7cwindow_9ReadArray___init__; ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_7cwindow_9ReadArray___init__; } } #endif if (__Pyx_SetVtable(__pyx_type_7cwindow_ReadArray.tp_dict, __pyx_vtabptr_7cwindow_ReadArray) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_SetAttrString(__pyx_m, "ReadArray", (PyObject *)&__pyx_type_7cwindow_ReadArray) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7cwindow_ReadArray = &__pyx_type_7cwindow_ReadArray; __pyx_vtabptr_7cwindow_bamReadBuffer = &__pyx_vtable_7cwindow_bamReadBuffer; __pyx_vtable_7cwindow_bamReadBuffer.setWindowPointers = (void (*)(struct __pyx_obj_7cwindow_bamReadBuffer *, int, int, int, int, char *, int))__pyx_f_7cwindow_13bamReadBuffer_setWindowPointers; __pyx_vtable_7cwindow_bamReadBuffer.recompressReadsInCurrentWindow = (void (*)(struct __pyx_obj_7cwindow_bamReadBuffer *, int, int, char *, int, int))__pyx_f_7cwindow_13bamReadBuffer_recompressReadsInCurrentWindow; __pyx_vtable_7cwindow_bamReadBuffer.addReadToBuffer = (void (*)(struct __pyx_obj_7cwindow_bamReadBuffer *, __pyx_t_15samtoolsWrapper_cAlignedRead *))__pyx_f_7cwindow_13bamReadBuffer_addReadToBuffer; __pyx_vtable_7cwindow_bamReadBuffer.countImproperPairs = (int (*)(struct __pyx_obj_7cwindow_bamReadBuffer *))__pyx_f_7cwindow_13bamReadBuffer_countImproperPairs; __pyx_vtable_7cwindow_bamReadBuffer.countAlignmentGaps = (int (*)(struct __pyx_obj_7cwindow_bamReadBuffer *))__pyx_f_7cwindow_13bamReadBuffer_countAlignmentGaps; __pyx_vtable_7cwindow_bamReadBuffer.sortReads = (void (*)(struct __pyx_obj_7cwindow_bamReadBuffer *))__pyx_f_7cwindow_13bamReadBuffer_sortReads; __pyx_vtable_7cwindow_bamReadBuffer.sortBrokenMates = (void (*)(struct __pyx_obj_7cwindow_bamReadBuffer *))__pyx_f_7cwindow_13bamReadBuffer_sortBrokenMates; __pyx_vtable_7cwindow_bamReadBuffer.logFilterSummary = (void (*)(struct __pyx_obj_7cwindow_bamReadBuffer *))__pyx_f_7cwindow_13bamReadBuffer_logFilterSummary; if (PyType_Ready(&__pyx_type_7cwindow_bamReadBuffer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if CYTHON_COMPILING_IN_CPYTHON { PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_7cwindow_bamReadBuffer, "__init__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_7cwindow_13bamReadBuffer___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_7cwindow_13bamReadBuffer___init__.doc = __pyx_doc_7cwindow_13bamReadBuffer___init__; ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_7cwindow_13bamReadBuffer___init__; } } #endif if (__Pyx_SetVtable(__pyx_type_7cwindow_bamReadBuffer.tp_dict, __pyx_vtabptr_7cwindow_bamReadBuffer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_SetAttrString(__pyx_m, "bamReadBuffer", (PyObject *)&__pyx_type_7cwindow_bamReadBuffer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7cwindow_bamReadBuffer = &__pyx_type_7cwindow_bamReadBuffer; /*--- Type import code ---*/ __pyx_ptype_15samtoolsWrapper_Samfile = __Pyx_ImportType("samtoolsWrapper", "Samfile", sizeof(struct __pyx_obj_15samtoolsWrapper_Samfile), 1); if (unlikely(!__pyx_ptype_15samtoolsWrapper_Samfile)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_15samtoolsWrapper_Samfile = (struct __pyx_vtabstruct_15samtoolsWrapper_Samfile*)__Pyx_GetVtable(__pyx_ptype_15samtoolsWrapper_Samfile->tp_dict); if (unlikely(!__pyx_vtabptr_15samtoolsWrapper_Samfile)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_15samtoolsWrapper_IteratorRow = __Pyx_ImportType("samtoolsWrapper", "IteratorRow", sizeof(struct __pyx_obj_15samtoolsWrapper_IteratorRow), 1); if (unlikely(!__pyx_ptype_15samtoolsWrapper_IteratorRow)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_15samtoolsWrapper_IteratorRow = (struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow*)__Pyx_GetVtable(__pyx_ptype_15samtoolsWrapper_IteratorRow->tp_dict); if (unlikely(!__pyx_vtabptr_15samtoolsWrapper_IteratorRow)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_15samtoolsWrapper_IteratorRowAll = __Pyx_ImportType("samtoolsWrapper", "IteratorRowAll", sizeof(struct __pyx_obj_15samtoolsWrapper_IteratorRowAll), 1); if (unlikely(!__pyx_ptype_15samtoolsWrapper_IteratorRowAll)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_15samtoolsWrapper_IteratorRowAll = (struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRowAll*)__Pyx_GetVtable(__pyx_ptype_15samtoolsWrapper_IteratorRowAll->tp_dict); if (unlikely(!__pyx_vtabptr_15samtoolsWrapper_IteratorRowAll)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_15samtoolsWrapper_AlignedRead = __Pyx_ImportType("samtoolsWrapper", "AlignedRead", sizeof(struct __pyx_obj_15samtoolsWrapper_AlignedRead), 1); if (unlikely(!__pyx_ptype_15samtoolsWrapper_AlignedRead)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_15samtoolsWrapper_AlignedRead = (struct __pyx_vtabstruct_15samtoolsWrapper_AlignedRead*)__Pyx_GetVtable(__pyx_ptype_15samtoolsWrapper_AlignedRead->tp_dict); if (unlikely(!__pyx_vtabptr_15samtoolsWrapper_AlignedRead)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_9fastafile_FastaIndex = __Pyx_ImportType("fastafile", "FastaIndex", sizeof(struct __pyx_obj_9fastafile_FastaIndex), 1); if (unlikely(!__pyx_ptype_9fastafile_FastaIndex)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_9fastafile_FastaIndex = (struct __pyx_vtabstruct_9fastafile_FastaIndex*)__Pyx_GetVtable(__pyx_ptype_9fastafile_FastaIndex->tp_dict); if (unlikely(!__pyx_vtabptr_9fastafile_FastaIndex)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_9fastafile_FastaFile = __Pyx_ImportType("fastafile", "FastaFile", sizeof(struct __pyx_obj_9fastafile_FastaFile), 1); if (unlikely(!__pyx_ptype_9fastafile_FastaFile)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_9fastafile_FastaFile = (struct __pyx_vtabstruct_9fastafile_FastaFile*)__Pyx_GetVtable(__pyx_ptype_9fastafile_FastaFile->tp_dict); if (unlikely(!__pyx_vtabptr_9fastafile_FastaFile)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_12bamfileutils_BamFileIterator = __Pyx_ImportType("bamfileutils", "BamFileIterator", sizeof(struct __pyx_obj_12bamfileutils_BamFileIterator), 1); if (unlikely(!__pyx_ptype_12bamfileutils_BamFileIterator)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_12bamfileutils_BamFileIterator = (struct __pyx_vtabstruct_12bamfileutils_BamFileIterator*)__Pyx_GetVtable(__pyx_ptype_12bamfileutils_BamFileIterator->tp_dict); if (unlikely(!__pyx_vtabptr_12bamfileutils_BamFileIterator)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_12bamfileutils_MultiBamFileIterator = __Pyx_ImportType("bamfileutils", "MultiBamFileIterator", sizeof(struct __pyx_obj_12bamfileutils_MultiBamFileIterator), 1); if (unlikely(!__pyx_ptype_12bamfileutils_MultiBamFileIterator)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_12bamfileutils_MultiBamFileReader = __Pyx_ImportType("bamfileutils", "MultiBamFileReader", sizeof(struct __pyx_obj_12bamfileutils_MultiBamFileReader), 1); if (unlikely(!__pyx_ptype_12bamfileutils_MultiBamFileReader)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_12bamfileutils_MultiBamFileReader = (struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader*)__Pyx_GetVtable(__pyx_ptype_12bamfileutils_MultiBamFileReader->tp_dict); if (unlikely(!__pyx_vtabptr_12bamfileutils_MultiBamFileReader)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7variant_Variant = __Pyx_ImportType("variant", "Variant", sizeof(struct __pyx_obj_7variant_Variant), 1); if (unlikely(!__pyx_ptype_7variant_Variant)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_7variant_Variant = (struct __pyx_vtabstruct_7variant_Variant*)__Pyx_GetVtable(__pyx_ptype_7variant_Variant->tp_dict); if (unlikely(!__pyx_vtabptr_7variant_Variant)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7variant_VariantCandidateGenerator = __Pyx_ImportType("variant", "VariantCandidateGenerator", sizeof(struct __pyx_obj_7variant_VariantCandidateGenerator), 1); if (unlikely(!__pyx_ptype_7variant_VariantCandidateGenerator)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_7variant_VariantCandidateGenerator = (struct __pyx_vtabstruct_7variant_VariantCandidateGenerator*)__Pyx_GetVtable(__pyx_ptype_7variant_VariantCandidateGenerator->tp_dict); if (unlikely(!__pyx_vtabptr_7variant_VariantCandidateGenerator)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_10chaplotype_Haplotype = __Pyx_ImportType("chaplotype", "Haplotype", sizeof(struct __pyx_obj_10chaplotype_Haplotype), 1); if (unlikely(!__pyx_ptype_10chaplotype_Haplotype)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_10chaplotype_Haplotype = (struct __pyx_vtabstruct_10chaplotype_Haplotype*)__Pyx_GetVtable(__pyx_ptype_10chaplotype_Haplotype->tp_dict); if (unlikely(!__pyx_vtabptr_10chaplotype_Haplotype)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Variable import code ---*/ __pyx_t_1 = __Pyx_ImportModule("variant"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportVoidPtr(__pyx_t_1, "PLATYPUS_VAR", (void **)&__pyx_vp_7variant_PLATYPUS_VAR, "int") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportVoidPtr(__pyx_t_1, "FILE_VAR", (void **)&__pyx_vp_7variant_FILE_VAR, "int") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASSEMBLER_VAR", (void **)&__pyx_vp_7variant_ASSEMBLER_VAR, "int") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_1); __pyx_t_1 = 0; /*--- Function import code ---*/ __pyx_t_2 = __Pyx_ImportModule("samtoolsWrapper"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_2, "makeAlignedRead", (void (**)(void))&__pyx_f_15samtoolsWrapper_makeAlignedRead, "struct __pyx_obj_15samtoolsWrapper_AlignedRead *(bam1_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_2, "createRead", (void (**)(void))&__pyx_f_15samtoolsWrapper_createRead, "__pyx_t_15samtoolsWrapper_cAlignedRead *(bam1_t *, int, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_2, "destroyRead", (void (**)(void))&__pyx_f_15samtoolsWrapper_destroyRead, "void (__pyx_t_15samtoolsWrapper_cAlignedRead *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_2, "compressRead", (void (**)(void))&__pyx_f_15samtoolsWrapper_compressRead, "void (__pyx_t_15samtoolsWrapper_cAlignedRead *, char *, int, int, int, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_2, "uncompressRead", (void (**)(void))&__pyx_f_15samtoolsWrapper_uncompressRead, "void (__pyx_t_15samtoolsWrapper_cAlignedRead *, char *, int, int, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_ImportModule("cerrormodel"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_3, "annotate_sequence_read", (void (**)(void))&__pyx_f_11cerrormodel_annotate_sequence_read, "PyObject *(PyObject *, PyObject *, int, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_ImportModule("variantFilter"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_4, "getFilteredHaplotypes", (void (**)(void))&__pyx_f_13variantFilter_getFilteredHaplotypes, "PyObject *(PyObject *, PyObject *, int, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; /*--- Execution code ---*/ /* "cwindow.pyx":17 * cimport variantFilter * * import logging # <<<<<<<<<<<<<< * import math * */ __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__logging), 0, -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logging, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "cwindow.pyx":18 * * import logging * import math # <<<<<<<<<<<<<< * * from samtoolsWrapper cimport AlignedRead */ __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__math), 0, -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__math, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "cwindow.pyx":45 * from variant cimport Variant * from variantFilter cimport getFilteredHaplotypes * from bisect import bisect_left # <<<<<<<<<<<<<< * from heapq import heappush,heappop * from cerrormodel cimport annotate_sequence_read */ __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_n_s__bisect_left)); PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s__bisect_left)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bisect_left)); __pyx_t_6 = __Pyx_Import(((PyObject *)__pyx_n_s__bisect), ((PyObject *)__pyx_t_5), -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__bisect_left); if (__pyx_t_5 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__bisect_left); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_5); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__bisect_left, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "cwindow.pyx":46 * from variantFilter cimport getFilteredHaplotypes * from bisect import bisect_left * from heapq import heappush,heappop # <<<<<<<<<<<<<< * from cerrormodel cimport annotate_sequence_read * */ __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_n_s__heappush)); PyList_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_n_s__heappush)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__heappush)); __Pyx_INCREF(((PyObject *)__pyx_n_s__heappop)); PyList_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_n_s__heappop)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__heappop)); __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__heapq), ((PyObject *)__pyx_t_6), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__heappush); if (__pyx_t_6 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__heappush); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__heappush, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__heappop); if (__pyx_t_6 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__heappop); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__heappop, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "cwindow.pyx":51 * ################################################################################################### * * logger = logging.getLogger("Log") # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__logging); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__getLogger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logger, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "cwindow.pyx":55 * ################################################################################################### * * cdef int LOW_QUAL_BASES=0 # <<<<<<<<<<<<<< * cdef int UNMAPPED_READ=1 * cdef int MATE_UNMAPPED=2 */ __pyx_v_7cwindow_LOW_QUAL_BASES = 0; /* "cwindow.pyx":56 * * cdef int LOW_QUAL_BASES=0 * cdef int UNMAPPED_READ=1 # <<<<<<<<<<<<<< * cdef int MATE_UNMAPPED=2 * cdef int MATE_DISTANT=3 */ __pyx_v_7cwindow_UNMAPPED_READ = 1; /* "cwindow.pyx":57 * cdef int LOW_QUAL_BASES=0 * cdef int UNMAPPED_READ=1 * cdef int MATE_UNMAPPED=2 # <<<<<<<<<<<<<< * cdef int MATE_DISTANT=3 * cdef int SMALL_INSERT=4 */ __pyx_v_7cwindow_MATE_UNMAPPED = 2; /* "cwindow.pyx":58 * cdef int UNMAPPED_READ=1 * cdef int MATE_UNMAPPED=2 * cdef int MATE_DISTANT=3 # <<<<<<<<<<<<<< * cdef int SMALL_INSERT=4 * cdef int DUPLICATE=5 */ __pyx_v_7cwindow_MATE_DISTANT = 3; /* "cwindow.pyx":59 * cdef int MATE_UNMAPPED=2 * cdef int MATE_DISTANT=3 * cdef int SMALL_INSERT=4 # <<<<<<<<<<<<<< * cdef int DUPLICATE=5 * cdef int LOW_MAP_QUAL=6 */ __pyx_v_7cwindow_SMALL_INSERT = 4; /* "cwindow.pyx":60 * cdef int MATE_DISTANT=3 * cdef int SMALL_INSERT=4 * cdef int DUPLICATE=5 # <<<<<<<<<<<<<< * cdef int LOW_MAP_QUAL=6 * */ __pyx_v_7cwindow_DUPLICATE = 5; /* "cwindow.pyx":61 * cdef int SMALL_INSERT=4 * cdef int DUPLICATE=5 * cdef int LOW_MAP_QUAL=6 # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_v_7cwindow_LOW_MAP_QUAL = 6; /* "cwindow.pyx":1 * """ # <<<<<<<<<<<<<< * Fast cython implementation of some windowing functions. * """ */ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_5)); if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_5)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; /* "samtoolsWrapper.pxd":385 * theRead.bitFlag |= BAM_FCOMPRESSED * * cdef inline void Read_SetUnCompressed(cAlignedRead* theRead): # <<<<<<<<<<<<<< * theRead.bitFlag &= (~BAM_FCOMPRESSED) * */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); if (__pyx_m) { __Pyx_AddTraceback("init cwindow", __pyx_clineno, __pyx_lineno, __pyx_filename); Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init cwindow"); } __pyx_L0:; __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else return __pyx_m; #endif } /* Runtime support code */ #if CYTHON_REFNANNY static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { PyObject *m = NULL, *p = NULL; void *r = NULL; m = PyImport_ImportModule((char *)modname); if (!m) goto end; p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); if (!p) goto end; r = PyLong_AsVoidPtr(p); end: Py_XDECREF(p); Py_XDECREF(m); return (__Pyx_RefNannyAPIStruct *)r; } #endif /* CYTHON_REFNANNY */ static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { PyObject *result; result = PyObject_GetAttr(dict, name); if (!result) { if (dict != __pyx_b) { PyErr_Clear(); result = PyObject_GetAttr(__pyx_b, name); } if (!result) { PyErr_SetObject(PyExc_NameError, name); } } return result; } static void __Pyx_RaiseDoubleKeywordsError( const char* func_name, PyObject* kw_name) { PyErr_Format(PyExc_TypeError, #if PY_MAJOR_VERSION >= 3 "%s() got multiple values for keyword argument '%U'", func_name, kw_name); #else "%s() got multiple values for keyword argument '%s'", func_name, PyString_AsString(kw_name)); #endif } static int __Pyx_ParseOptionalKeywords( PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name) { PyObject *key = 0, *value = 0; Py_ssize_t pos = 0; PyObject*** name; PyObject*** first_kw_arg = argnames + num_pos_args; while (PyDict_Next(kwds, &pos, &key, &value)) { name = first_kw_arg; while (*name && (**name != key)) name++; if (*name) { values[name-argnames] = value; continue; } name = first_kw_arg; #if PY_MAJOR_VERSION < 3 if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { while (*name) { if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) && _PyString_Eq(**name, key)) { values[name-argnames] = value; break; } name++; } if (*name) continue; else { PyObject*** argname = argnames; while (argname != first_kw_arg) { if ((**argname == key) || ( (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) && _PyString_Eq(**argname, key))) { goto arg_passed_twice; } argname++; } } } else #endif if (likely(PyUnicode_Check(key))) { while (*name) { int cmp = (**name == key) ? 0 : #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : #endif PyUnicode_Compare(**name, key); if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; if (cmp == 0) { values[name-argnames] = value; break; } name++; } if (*name) continue; else { PyObject*** argname = argnames; while (argname != first_kw_arg) { int cmp = (**argname == key) ? 0 : #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : #endif PyUnicode_Compare(**argname, key); if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; if (cmp == 0) goto arg_passed_twice; argname++; } } } else goto invalid_keyword_type; if (kwds2) { if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; } else { goto invalid_keyword; } } return 0; arg_passed_twice: __Pyx_RaiseDoubleKeywordsError(function_name, key); goto bad; invalid_keyword_type: PyErr_Format(PyExc_TypeError, "%s() keywords must be strings", function_name); goto bad; invalid_keyword: PyErr_Format(PyExc_TypeError, #if PY_MAJOR_VERSION < 3 "%s() got an unexpected keyword argument '%s'", function_name, PyString_AsString(key)); #else "%s() got an unexpected keyword argument '%U'", function_name, key); #endif bad: return -1; } static void __Pyx_RaiseArgtupleInvalid( const char* func_name, int exact, Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found) { Py_ssize_t num_expected; const char *more_or_less; if (num_found < num_min) { num_expected = num_min; more_or_less = "at least"; } else { num_expected = num_max; more_or_less = "at most"; } if (exact) { more_or_less = "exactly"; } PyErr_Format(PyExc_TypeError, "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)", func_name, more_or_less, num_expected, (num_expected == 1) ? "" : "s", num_found); } static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { #if CYTHON_COMPILING_IN_CPYTHON PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); tmp_type = tstate->curexc_type; tmp_value = tstate->curexc_value; tmp_tb = tstate->curexc_traceback; tstate->curexc_type = type; tstate->curexc_value = value; tstate->curexc_traceback = tb; Py_XDECREF(tmp_type); Py_XDECREF(tmp_value); Py_XDECREF(tmp_tb); #else PyErr_Restore(type, value, tb); #endif } static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { #if CYTHON_COMPILING_IN_CPYTHON PyThreadState *tstate = PyThreadState_GET(); *type = tstate->curexc_type; *value = tstate->curexc_value; *tb = tstate->curexc_traceback; tstate->curexc_type = 0; tstate->curexc_value = 0; tstate->curexc_traceback = 0; #else PyErr_Fetch(type, value, tb); #endif } #if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, CYTHON_UNUSED PyObject *cause) { Py_XINCREF(type); if (!value || value == Py_None) value = NULL; else Py_INCREF(value); if (!tb || tb == Py_None) tb = NULL; else { Py_INCREF(tb); if (!PyTraceBack_Check(tb)) { PyErr_SetString(PyExc_TypeError, "raise: arg 3 must be a traceback or None"); goto raise_error; } } #if PY_VERSION_HEX < 0x02050000 if (PyClass_Check(type)) { #else if (PyType_Check(type)) { #endif #if CYTHON_COMPILING_IN_PYPY if (!value) { Py_INCREF(Py_None); value = Py_None; } #endif PyErr_NormalizeException(&type, &value, &tb); } else { if (value) { PyErr_SetString(PyExc_TypeError, "instance exception may not have a separate value"); goto raise_error; } value = type; #if PY_VERSION_HEX < 0x02050000 if (PyInstance_Check(type)) { type = (PyObject*) ((PyInstanceObject*)type)->in_class; Py_INCREF(type); } else { type = 0; PyErr_SetString(PyExc_TypeError, "raise: exception must be an old-style class or instance"); goto raise_error; } #else type = (PyObject*) Py_TYPE(type); Py_INCREF(type); if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { PyErr_SetString(PyExc_TypeError, "raise: exception class must be a subclass of BaseException"); goto raise_error; } #endif } __Pyx_ErrRestore(type, value, tb); return; raise_error: Py_XDECREF(value); Py_XDECREF(type); Py_XDECREF(tb); return; } #else /* Python 3+ */ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { PyObject* owned_instance = NULL; if (tb == Py_None) { tb = 0; } else if (tb && !PyTraceBack_Check(tb)) { PyErr_SetString(PyExc_TypeError, "raise: arg 3 must be a traceback or None"); goto bad; } if (value == Py_None) value = 0; if (PyExceptionInstance_Check(type)) { if (value) { PyErr_SetString(PyExc_TypeError, "instance exception may not have a separate value"); goto bad; } value = type; type = (PyObject*) Py_TYPE(value); } else if (PyExceptionClass_Check(type)) { PyObject *args; if (!value) args = PyTuple_New(0); else if (PyTuple_Check(value)) { Py_INCREF(value); args = value; } else args = PyTuple_Pack(1, value); if (!args) goto bad; owned_instance = PyEval_CallObject(type, args); Py_DECREF(args); if (!owned_instance) goto bad; value = owned_instance; if (!PyExceptionInstance_Check(value)) { PyErr_Format(PyExc_TypeError, "calling %R should have returned an instance of " "BaseException, not %R", type, Py_TYPE(value)); goto bad; } } else { PyErr_SetString(PyExc_TypeError, "raise: exception class must be a subclass of BaseException"); goto bad; } if (cause && cause != Py_None) { PyObject *fixed_cause; if (PyExceptionClass_Check(cause)) { fixed_cause = PyObject_CallObject(cause, NULL); if (fixed_cause == NULL) goto bad; } else if (PyExceptionInstance_Check(cause)) { fixed_cause = cause; Py_INCREF(fixed_cause); } else { PyErr_SetString(PyExc_TypeError, "exception causes must derive from " "BaseException"); goto bad; } PyException_SetCause(value, fixed_cause); } PyErr_SetObject(type, value); if (tb) { PyThreadState *tstate = PyThreadState_GET(); PyObject* tmp_tb = tstate->curexc_traceback; if (tb != tmp_tb) { Py_INCREF(tb); tstate->curexc_traceback = tb; Py_XDECREF(tmp_tb); } } bad: Py_XDECREF(owned_instance); return; } #endif static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { PyObject *py_import = 0; PyObject *empty_list = 0; PyObject *module = 0; PyObject *global_dict = 0; PyObject *empty_dict = 0; PyObject *list; py_import = __Pyx_GetAttrString(__pyx_b, "__import__"); if (!py_import) goto bad; if (from_list) list = from_list; else { empty_list = PyList_New(0); if (!empty_list) goto bad; list = empty_list; } global_dict = PyModule_GetDict(__pyx_m); if (!global_dict) goto bad; empty_dict = PyDict_New(); if (!empty_dict) goto bad; #if PY_VERSION_HEX >= 0x02050000 { #if PY_MAJOR_VERSION >= 3 if (level == -1) { if (strchr(__Pyx_MODULE_NAME, '.')) { /* try package relative import first */ PyObject *py_level = PyInt_FromLong(1); if (!py_level) goto bad; module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, py_level, NULL); Py_DECREF(py_level); if (!module) { if (!PyErr_ExceptionMatches(PyExc_ImportError)) goto bad; PyErr_Clear(); } } level = 0; /* try absolute import on failure */ } #endif if (!module) { PyObject *py_level = PyInt_FromLong(level); if (!py_level) goto bad; module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, py_level, NULL); Py_DECREF(py_level); } } #else if (level>0) { PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); goto bad; } module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, NULL); #endif bad: Py_XDECREF(empty_list); Py_XDECREF(py_import); Py_XDECREF(empty_dict); return module; } static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { #if PY_MAJOR_VERSION < 3 PyErr_Format(PyExc_ImportError, "cannot import name %.230s", PyString_AsString(name)); #else PyErr_Format(PyExc_ImportError, "cannot import name %S", name); #endif } static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { const unsigned char neg_one = (unsigned char)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(unsigned char) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(unsigned char)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to unsigned char" : "value too large to convert to unsigned char"); } return (unsigned char)-1; } return (unsigned char)val; } return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); } static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { const unsigned short neg_one = (unsigned short)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(unsigned short) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(unsigned short)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to unsigned short" : "value too large to convert to unsigned short"); } return (unsigned short)-1; } return (unsigned short)val; } return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); } static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { const unsigned int neg_one = (unsigned int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(unsigned int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(unsigned int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to unsigned int" : "value too large to convert to unsigned int"); } return (unsigned int)-1; } return (unsigned int)val; } return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); } static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) { const char neg_one = (char)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(char) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(char)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to char" : "value too large to convert to char"); } return (char)-1; } return (char)val; } return (char)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) { const short neg_one = (short)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(short) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(short)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to short" : "value too large to convert to short"); } return (short)-1; } return (short)val; } return (short)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) { const int neg_one = (int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to int" : "value too large to convert to int"); } return (int)-1; } return (int)val; } return (int)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { const signed char neg_one = (signed char)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(signed char) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(signed char)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to signed char" : "value too large to convert to signed char"); } return (signed char)-1; } return (signed char)val; } return (signed char)__Pyx_PyInt_AsSignedLong(x); } static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { const signed short neg_one = (signed short)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(signed short) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(signed short)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to signed short" : "value too large to convert to signed short"); } return (signed short)-1; } return (signed short)val; } return (signed short)__Pyx_PyInt_AsSignedLong(x); } static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { const signed int neg_one = (signed int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(signed int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(signed int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to signed int" : "value too large to convert to signed int"); } return (signed int)-1; } return (signed int)val; } return (signed int)__Pyx_PyInt_AsSignedLong(x); } static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) { const int neg_one = (int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to int" : "value too large to convert to int"); } return (int)-1; } return (int)val; } return (int)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { const unsigned long neg_one = (unsigned long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; } return (unsigned long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; } return (unsigned long)PyLong_AsUnsignedLong(x); } else { return (unsigned long)PyLong_AsLong(x); } } else { unsigned long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (unsigned long)-1; val = __Pyx_PyInt_AsUnsignedLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned PY_LONG_LONG"); return (unsigned PY_LONG_LONG)-1; } return (unsigned PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned PY_LONG_LONG"); return (unsigned PY_LONG_LONG)-1; } return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); } else { return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); } } else { unsigned PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (unsigned PY_LONG_LONG)-1; val = __Pyx_PyInt_AsUnsignedLongLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) { const long neg_one = (long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long)-1; } return (long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long)-1; } return (long)PyLong_AsUnsignedLong(x); } else { return (long)PyLong_AsLong(x); } } else { long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (long)-1; val = __Pyx_PyInt_AsLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to PY_LONG_LONG"); return (PY_LONG_LONG)-1; } return (PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to PY_LONG_LONG"); return (PY_LONG_LONG)-1; } return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); } else { return (PY_LONG_LONG)PyLong_AsLongLong(x); } } else { PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1; val = __Pyx_PyInt_AsLongLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { const signed long neg_one = (signed long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed long"); return (signed long)-1; } return (signed long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed long"); return (signed long)-1; } return (signed long)PyLong_AsUnsignedLong(x); } else { return (signed long)PyLong_AsLong(x); } } else { signed long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (signed long)-1; val = __Pyx_PyInt_AsSignedLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed PY_LONG_LONG"); return (signed PY_LONG_LONG)-1; } return (signed PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed PY_LONG_LONG"); return (signed PY_LONG_LONG)-1; } return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); } else { return (signed PY_LONG_LONG)PyLong_AsLongLong(x); } } else { signed PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (signed PY_LONG_LONG)-1; val = __Pyx_PyInt_AsSignedLongLong(tmp); Py_DECREF(tmp); return val; } } static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename) { PyObject *old_exc, *old_val, *old_tb; PyObject *ctx; __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); #if PY_MAJOR_VERSION < 3 ctx = PyString_FromString(name); #else ctx = PyUnicode_FromString(name); #endif __Pyx_ErrRestore(old_exc, old_val, old_tb); if (!ctx) { PyErr_WriteUnraisable(Py_None); } else { PyErr_WriteUnraisable(ctx); Py_DECREF(ctx); } } static int __Pyx_check_binary_version(void) { char ctversion[4], rtversion[4]; PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { char message[200]; PyOS_snprintf(message, sizeof(message), "compiletime version %s of module '%.100s' " "does not match runtime version %s", ctversion, __Pyx_MODULE_NAME, rtversion); #if PY_VERSION_HEX < 0x02050000 return PyErr_Warn(NULL, message); #else return PyErr_WarnEx(NULL, message, 1); #endif } return 0; } static int __Pyx_SetVtable(PyObject *dict, void *vtable) { #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) PyObject *ob = PyCapsule_New(vtable, 0, 0); #else PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); #endif if (!ob) goto bad; if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0) goto bad; Py_DECREF(ob); return 0; bad: Py_XDECREF(ob); return -1; } #ifndef __PYX_HAVE_RT_ImportModule #define __PYX_HAVE_RT_ImportModule static PyObject *__Pyx_ImportModule(const char *name) { PyObject *py_name = 0; PyObject *py_module = 0; py_name = __Pyx_PyIdentifier_FromString(name); if (!py_name) goto bad; py_module = PyImport_Import(py_name); Py_DECREF(py_name); return py_module; bad: Py_XDECREF(py_name); return 0; } #endif #ifndef __PYX_HAVE_RT_ImportType #define __PYX_HAVE_RT_ImportType static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict) { PyObject *py_module = 0; PyObject *result = 0; PyObject *py_name = 0; char warning[200]; py_module = __Pyx_ImportModule(module_name); if (!py_module) goto bad; py_name = __Pyx_PyIdentifier_FromString(class_name); if (!py_name) goto bad; result = PyObject_GetAttr(py_module, py_name); Py_DECREF(py_name); py_name = 0; Py_DECREF(py_module); py_module = 0; if (!result) goto bad; if (!PyType_Check(result)) { PyErr_Format(PyExc_TypeError, "%s.%s is not a type object", module_name, class_name); goto bad; } if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) { PyOS_snprintf(warning, sizeof(warning), "%s.%s size changed, may indicate binary incompatibility", module_name, class_name); #if PY_VERSION_HEX < 0x02050000 if (PyErr_Warn(NULL, warning) < 0) goto bad; #else if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; #endif } else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) { PyErr_Format(PyExc_ValueError, "%s.%s has the wrong size, try recompiling", module_name, class_name); goto bad; } return (PyTypeObject *)result; bad: Py_XDECREF(py_module); Py_XDECREF(result); return NULL; } #endif static void* __Pyx_GetVtable(PyObject *dict) { void* ptr; PyObject *ob = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__"); if (!ob) goto bad; #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) ptr = PyCapsule_GetPointer(ob, 0); #else ptr = PyCObject_AsVoidPtr(ob); #endif if (!ptr && !PyErr_Occurred()) PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type"); Py_DECREF(ob); return ptr; bad: Py_XDECREF(ob); return NULL; } #ifndef __PYX_HAVE_RT_ImportVoidPtr #define __PYX_HAVE_RT_ImportVoidPtr static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig) { PyObject *d = 0; PyObject *cobj = 0; d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); if (!d) goto bad; cobj = PyDict_GetItemString(d, name); if (!cobj) { PyErr_Format(PyExc_ImportError, "%s does not export expected C variable %s", PyModule_GetName(module), name); goto bad; } #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) if (!PyCapsule_IsValid(cobj, sig)) { PyErr_Format(PyExc_TypeError, "C variable %s.%s has wrong signature (expected %s, got %s)", PyModule_GetName(module), name, sig, PyCapsule_GetName(cobj)); goto bad; } *p = PyCapsule_GetPointer(cobj, sig); #else {const char *desc, *s1, *s2; desc = (const char *)PyCObject_GetDesc(cobj); if (!desc) goto bad; s1 = desc; s2 = sig; while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; } if (*s1 != *s2) { PyErr_Format(PyExc_TypeError, "C variable %s.%s has wrong signature (expected %s, got %s)", PyModule_GetName(module), name, sig, desc); goto bad; } *p = PyCObject_AsVoidPtr(cobj);} #endif if (!(*p)) goto bad; Py_DECREF(d); return 0; bad: Py_XDECREF(d); return -1; } #endif #ifndef __PYX_HAVE_RT_ImportFunction #define __PYX_HAVE_RT_ImportFunction static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) { PyObject *d = 0; PyObject *cobj = 0; union { void (*fp)(void); void *p; } tmp; d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); if (!d) goto bad; cobj = PyDict_GetItemString(d, funcname); if (!cobj) { PyErr_Format(PyExc_ImportError, "%s does not export expected C function %s", PyModule_GetName(module), funcname); goto bad; } #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0) if (!PyCapsule_IsValid(cobj, sig)) { PyErr_Format(PyExc_TypeError, "C function %s.%s has wrong signature (expected %s, got %s)", PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj)); goto bad; } tmp.p = PyCapsule_GetPointer(cobj, sig); #else {const char *desc, *s1, *s2; desc = (const char *)PyCObject_GetDesc(cobj); if (!desc) goto bad; s1 = desc; s2 = sig; while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; } if (*s1 != *s2) { PyErr_Format(PyExc_TypeError, "C function %s.%s has wrong signature (expected %s, got %s)", PyModule_GetName(module), funcname, sig, desc); goto bad; } tmp.p = PyCObject_AsVoidPtr(cobj);} #endif *f = tmp.fp; if (!(*f)) goto bad; Py_DECREF(d); return 0; bad: Py_XDECREF(d); return -1; } #endif static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { int start = 0, mid = 0, end = count - 1; if (end >= 0 && code_line > entries[end].code_line) { return count; } while (start < end) { mid = (start + end) / 2; if (code_line < entries[mid].code_line) { end = mid; } else if (code_line > entries[mid].code_line) { start = mid + 1; } else { return mid; } } if (code_line <= entries[mid].code_line) { return mid; } else { return mid + 1; } } static PyCodeObject *__pyx_find_code_object(int code_line) { PyCodeObject* code_object; int pos; if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { return NULL; } pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { return NULL; } code_object = __pyx_code_cache.entries[pos].code_object; Py_INCREF(code_object); return code_object; } static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { int pos, i; __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; if (unlikely(!code_line)) { return; } if (unlikely(!entries)) { entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); if (likely(entries)) { __pyx_code_cache.entries = entries; __pyx_code_cache.max_count = 64; __pyx_code_cache.count = 1; entries[0].code_line = code_line; entries[0].code_object = code_object; Py_INCREF(code_object); } return; } pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { PyCodeObject* tmp = entries[pos].code_object; entries[pos].code_object = code_object; Py_DECREF(tmp); return; } if (__pyx_code_cache.count == __pyx_code_cache.max_count) { int new_max = __pyx_code_cache.max_count + 64; entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry)); if (unlikely(!entries)) { return; } __pyx_code_cache.entries = entries; __pyx_code_cache.max_count = new_max; } for (i=__pyx_code_cache.count; i>pos; i--) { entries[i] = entries[i-1]; } entries[pos].code_line = code_line; entries[pos].code_object = code_object; __pyx_code_cache.count++; Py_INCREF(code_object); } #include "compile.h" #include "frameobject.h" #include "traceback.h" static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( const char *funcname, int c_line, int py_line, const char *filename) { PyCodeObject *py_code = 0; PyObject *py_srcfile = 0; PyObject *py_funcname = 0; #if PY_MAJOR_VERSION < 3 py_srcfile = PyString_FromString(filename); #else py_srcfile = PyUnicode_FromString(filename); #endif if (!py_srcfile) goto bad; if (c_line) { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); #else py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); #endif } else { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromString(funcname); #else py_funcname = PyUnicode_FromString(funcname); #endif } if (!py_funcname) goto bad; py_code = __Pyx_PyCode_New( 0, /*int argcount,*/ 0, /*int kwonlyargcount,*/ 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ __pyx_empty_bytes, /*PyObject *code,*/ __pyx_empty_tuple, /*PyObject *consts,*/ __pyx_empty_tuple, /*PyObject *names,*/ __pyx_empty_tuple, /*PyObject *varnames,*/ __pyx_empty_tuple, /*PyObject *freevars,*/ __pyx_empty_tuple, /*PyObject *cellvars,*/ py_srcfile, /*PyObject *filename,*/ py_funcname, /*PyObject *name,*/ py_line, /*int firstlineno,*/ __pyx_empty_bytes /*PyObject *lnotab*/ ); Py_DECREF(py_srcfile); Py_DECREF(py_funcname); return py_code; bad: Py_XDECREF(py_srcfile); Py_XDECREF(py_funcname); return NULL; } static void __Pyx_AddTraceback(const char *funcname, int c_line, int py_line, const char *filename) { PyCodeObject *py_code = 0; PyObject *py_globals = 0; PyFrameObject *py_frame = 0; py_code = __pyx_find_code_object(c_line ? c_line : py_line); if (!py_code) { py_code = __Pyx_CreateCodeObjectForTraceback( funcname, c_line, py_line, filename); if (!py_code) goto bad; __pyx_insert_code_object(c_line ? c_line : py_line, py_code); } py_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; py_frame = PyFrame_New( PyThreadState_GET(), /*PyThreadState *tstate,*/ py_code, /*PyCodeObject *code,*/ py_globals, /*PyObject *globals,*/ 0 /*PyObject *locals*/ ); if (!py_frame) goto bad; py_frame->f_lineno = py_line; PyTraceBack_Here(py_frame); bad: Py_XDECREF(py_code); Py_XDECREF(py_frame); } static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { while (t->p) { #if PY_MAJOR_VERSION < 3 if (t->is_unicode) { *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); } else if (t->intern) { *t->p = PyString_InternFromString(t->s); } else { *t->p = PyString_FromStringAndSize(t->s, t->n - 1); } #else /* Python 3+ has unicode identifiers */ if (t->is_unicode | t->is_str) { if (t->intern) { *t->p = PyUnicode_InternFromString(t->s); } else if (t->encoding) { *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); } else { *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); } } else { *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); } #endif if (!*t->p) return -1; ++t; } return 0; } /* Type Conversion Functions */ static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { int is_true = x == Py_True; if (is_true | (x == Py_False) | (x == Py_None)) return is_true; else return PyObject_IsTrue(x); } static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { PyNumberMethods *m; const char *name = NULL; PyObject *res = NULL; #if PY_VERSION_HEX < 0x03000000 if (PyInt_Check(x) || PyLong_Check(x)) #else if (PyLong_Check(x)) #endif return Py_INCREF(x), x; m = Py_TYPE(x)->tp_as_number; #if PY_VERSION_HEX < 0x03000000 if (m && m->nb_int) { name = "int"; res = PyNumber_Int(x); } else if (m && m->nb_long) { name = "long"; res = PyNumber_Long(x); } #else if (m && m->nb_int) { name = "int"; res = PyNumber_Long(x); } #endif if (res) { #if PY_VERSION_HEX < 0x03000000 if (!PyInt_Check(res) && !PyLong_Check(res)) { #else if (!PyLong_Check(res)) { #endif PyErr_Format(PyExc_TypeError, "__%s__ returned non-%s (type %.200s)", name, name, Py_TYPE(res)->tp_name); Py_DECREF(res); return NULL; } } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_TypeError, "an integer is required"); } return res; } static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { Py_ssize_t ival; PyObject* x = PyNumber_Index(b); if (!x) return -1; ival = PyInt_AsSsize_t(x); Py_DECREF(x); return ival; } static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { #if PY_VERSION_HEX < 0x02050000 if (ival <= LONG_MAX) return PyInt_FromLong((long)ival); else { unsigned char *bytes = (unsigned char *) &ival; int one = 1; int little = (int)*(unsigned char*)&one; return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0); } #else return PyInt_FromSize_t(ival); #endif } static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x); if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) { return (size_t)-1; } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) { PyErr_SetString(PyExc_OverflowError, "value too large to convert to size_t"); return (size_t)-1; } return (size_t)val; } #endif /* Py_PYTHON_H */