/* Generated by Cython 0.17.2 on Mon Sep 30 11:44:31 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__platypusutils #define __PYX_HAVE_API__platypusutils #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[] = { "platypusutils.pyx", "fastafile.pxd", "samtoolsWrapper.pxd", "variant.pxd", "cwindow.pxd", "bamfileutils.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; }; /* "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.pxd":14 * ################################################################################################### * * cdef class ReadArray: # <<<<<<<<<<<<<< * cdef cAlignedRead** array * cdef cAlignedRead** windowStart */ 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; /* "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; /* "cwindow.pxd":29 * ################################################################################################### * * cdef class bamReadBuffer: # <<<<<<<<<<<<<< * cdef char* chrom * cdef int chromID */ 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":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; /* "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; /* "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":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; /* "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_RaiseArgtupleInvalid(const char* func_name, int exact, Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*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 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*/ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { PyListObject* L = (PyListObject*) list; Py_ssize_t len = Py_SIZE(list); if (likely(L->allocated > len)) { Py_INCREF(x); PyList_SET_ITEM(list, len, x); Py_SIZE(list) = len+1; return 0; } return PyList_Append(list, x); } #else #define __Pyx_PyList_Append(L,x) PyList_Append(L,x) #endif #if PY_VERSION_HEX < 0x02050000 #ifndef PyAnySet_CheckExact #define PyAnySet_CheckExact(ob) \ ((ob)->ob_type == &PySet_Type || \ (ob)->ob_type == &PyFrozenSet_Type) #define PySet_New(iterable) \ PyObject_CallFunctionObjArgs((PyObject *)&PySet_Type, (iterable), NULL) #define Pyx_PyFrozenSet_New(iterable) \ PyObject_CallFunctionObjArgs((PyObject *)&PyFrozenSet_Type, (iterable), NULL) #define PySet_Size(anyset) \ PyObject_Size((anyset)) #define PySet_Contains(anyset, key) \ PySequence_Contains((anyset), (key)) #define PySet_Pop(set) \ PyObject_CallMethod(set, (char *)"pop", NULL) static CYTHON_INLINE int PySet_Clear(PyObject *set) { PyObject *ret = PyObject_CallMethod(set, (char *)"clear", NULL); if (!ret) return -1; Py_DECREF(ret); return 0; } static CYTHON_INLINE int PySet_Discard(PyObject *set, PyObject *key) { PyObject *ret = PyObject_CallMethod(set, (char *)"discard", (char *)"O", key); if (!ret) return -1; Py_DECREF(ret); return 0; } static CYTHON_INLINE int PySet_Add(PyObject *set, PyObject *key) { PyObject *ret = PyObject_CallMethod(set, (char *)"add", (char *)"O", key); if (!ret) return -1; Py_DECREF(ret); return 0; } #endif /* PyAnySet_CheckExact (<= Py2.4) */ #endif /* < Py2.5 */ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { PyObject *r; if (!j) return NULL; r = PyObject_GetItem(o, j); Py_DECREF(j); return r; } #define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ __Pyx_GetItemInt_List_Fast(o, i) : \ __Pyx_GetItemInt_Generic(o, to_py_func(i))) static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) { #if CYTHON_COMPILING_IN_CPYTHON if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { PyObject *r = PyList_GET_ITEM(o, i); Py_INCREF(r); return r; } else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); Py_INCREF(r); return r; } return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); #else return PySequence_GetItem(o, i); #endif } #define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ __Pyx_GetItemInt_Tuple_Fast(o, i) : \ __Pyx_GetItemInt_Generic(o, to_py_func(i))) static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) { #if CYTHON_COMPILING_IN_CPYTHON if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { PyObject *r = PyTuple_GET_ITEM(o, i); Py_INCREF(r); return r; } else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); Py_INCREF(r); return r; } return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); #else return PySequence_GetItem(o, i); #endif } #define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ __Pyx_GetItemInt_Fast(o, i) : \ __Pyx_GetItemInt_Generic(o, to_py_func(i))) static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) { #if CYTHON_COMPILING_IN_CPYTHON if (PyList_CheckExact(o)) { Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) { PyObject *r = PyList_GET_ITEM(o, n); Py_INCREF(r); return r; } } else if (PyTuple_CheckExact(o)) { Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) { PyObject *r = PyTuple_GET_ITEM(o, n); Py_INCREF(r); return r; } } else { /* inlined PySequence_GetItem() */ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; if (likely(m && m->sq_item)) { if (unlikely(i < 0) && likely(m->sq_length)) { Py_ssize_t l = m->sq_length(o); if (unlikely(l < 0)) return NULL; i += l; } return m->sq_item(o, i); } } #else if (PySequence_Check(o)) { return PySequence_GetItem(o, i); } #endif return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); } static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ #define __Pyx_PyNumber_Power2(a, b) PyNumber_Power(a, b, Py_None) #if HAVE_LONG_LONG && defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define __Pyx_abs_int(x) ((sizeof(x) <= sizeof(int)) ? ((unsigned int)abs(x)) : ((sizeof(x) <= sizeof(long)) ? ((unsigned long)labs(x)) : ((unsigned PY_LONG_LONG)llabs(x)))) #else #define __Pyx_abs_int(x) ((sizeof(x) <= sizeof(int)) ? ((unsigned int)abs(x)) : ((unsigned long)labs(x))) #endif #define __Pyx_abs_long(x) __Pyx_abs_int(x) static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); static CYTHON_INLINE int __Pyx_IterFinish(void); /*proto*/ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/ #if PY_MAJOR_VERSION >= 3 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { PyObject *value; value = PyDict_GetItemWithError(d, key); if (unlikely(!value)) { if (!PyErr_Occurred()) PyErr_SetObject(PyExc_KeyError, key); return NULL; } Py_INCREF(value); return value; } #else #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) #endif static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) { int result = PySequence_Contains(seq, item); return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); } static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ #define __Pyx_SetItemInt(o, i, v, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \ __Pyx_SetItemInt_Fast(o, i, v) : \ __Pyx_SetItemInt_Generic(o, to_py_func(i), v)) static CYTHON_INLINE int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { int r; if (!j) return -1; r = PyObject_SetItem(o, j, v); Py_DECREF(j); return r; } static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v) { #if CYTHON_COMPILING_IN_CPYTHON if (PyList_CheckExact(o)) { Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) { PyObject* old = PyList_GET_ITEM(o, n); Py_INCREF(v); PyList_SET_ITEM(o, n, v); Py_DECREF(old); return 1; } } else { /* inlined PySequence_SetItem() */ PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; if (likely(m && m->sq_ass_item)) { if (unlikely(i < 0) && likely(m->sq_length)) { Py_ssize_t l = m->sq_length(o); if (unlikely(l < 0)) return -1; i += l; } return m->sq_ass_item(o, i, v); } } #else #if CYTHON_COMPILING_IN_PYPY if (PySequence_Check(o) && !PyDict_Check(o)) { #else if (PySequence_Check(o)) { #endif return PySequence_SetItem(o, i, v); } #endif return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); } #include static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ 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_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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 'fastafile' */ static PyTypeObject *__pyx_ptype_9fastafile_FastaIndex = 0; static PyTypeObject *__pyx_ptype_9fastafile_FastaFile = 0; /* 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 __pyx_t_15samtoolsWrapper_cAlignedRead *(*__pyx_f_15samtoolsWrapper_createRead)(bam1_t *, int, char **); /*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 void (*__pyx_f_15samtoolsWrapper_compressRead)(__pyx_t_15samtoolsWrapper_cAlignedRead *, char *, int, int, int, int); /*proto*/ /* 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 'cython' */ /* Module declarations from 'cwindow' */ static PyTypeObject *__pyx_ptype_7cwindow_ReadArray = 0; static PyTypeObject *__pyx_ptype_7cwindow_bamReadBuffer = 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 'chaplotype' */ static PyTypeObject *__pyx_ptype_10chaplotype_Haplotype = 0; /* Module declarations from 'platypusutils' */ static double __pyx_v_13platypusutils_PI; static double __pyx_v_13platypusutils_mLTOT; static int __pyx_v_13platypusutils_CIGAR_M; static int __pyx_v_13platypusutils_CIGAR_I; static int __pyx_v_13platypusutils_CIGAR_D; static int __pyx_v_13platypusutils_CIGAR_N; static int __pyx_v_13platypusutils_CIGAR_S; static double __pyx_f_13platypusutils_logFactorial(int); /*proto*/ static double __pyx_f_13platypusutils_betaBinomialCDF(int, int, int, int); /*proto*/ static PyObject *__pyx_f_13platypusutils_pruned_read_start_end(PyObject *, int, int, int __pyx_skip_dispatch); /*proto*/ static PyObject *__pyx_f_13platypusutils_pruned_ref_start_end(PyObject *, int, int, int __pyx_skip_dispatch); /*proto*/ static double __pyx_f_13platypusutils_logBetaFunction(int, int); /*proto*/ static double __pyx_f_13platypusutils_threeFTwo(int, int, int, int); /*proto*/ static PyObject *__pyx_f_13platypusutils_mergeQueries(PyObject *); /*proto*/ #define __Pyx_MODULE_NAME "platypusutils" int __pyx_module_is_main_platypusutils = 0; /* Implementation of 'platypusutils' */ static PyObject *__pyx_builtin_file; static PyObject *__pyx_builtin_enumerate; static PyObject *__pyx_builtin_StandardError; static PyObject *__pyx_builtin_xrange; static PyObject *__pyx_builtin_round; static PyObject *__pyx_builtin_sorted; static PyObject *__pyx_pf_13platypusutils_open(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fileName, PyObject *__pyx_v_mode, PyObject *__pyx_v_compressLevel); /* proto */ static PyObject *__pyx_pf_13platypusutils_2getSampleNamesAndLoadIterators(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_bamFileNames, PyObject *__pyx_v_regions, PyObject *__pyx_v_options); /* proto */ static PyObject *__pyx_pf_13platypusutils_4getBAMFileNamesFromTextFile(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fileName); /* proto */ static PyObject *__pyx_pf_13platypusutils_6betaFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y); /* proto */ static PyObject *__pyx_pf_13platypusutils_8betaPDF(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_alpha, PyObject *__pyx_v_beta, PyObject *__pyx_v_x); /* proto */ static PyObject *__pyx_pf_13platypusutils_10poch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_13platypusutils_12logPoch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_13platypusutils_14py_betaBinomialCDF(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_k, PyObject *__pyx_v_n, PyObject *__pyx_v_alpha, PyObject *__pyx_v_beta); /* proto */ static PyObject *__pyx_pf_13platypusutils_16nPermutations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen); /* proto */ static PyObject *__pyx_pf_13platypusutils_18nCombinations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen); /* proto */ static PyObject *__pyx_pf_13platypusutils_20nPermutationsWithReplacement(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen); /* proto */ static PyObject *__pyx_pf_13platypusutils_22nCombinationsWithReplacement(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen); /* proto */ static PyObject *__pyx_pf_13platypusutils_24pruned_read_start_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_read, int __pyx_v_minq, int __pyx_v_minAnchor); /* proto */ static PyObject *__pyx_pf_13platypusutils_26pruned_ref_start_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_read, int __pyx_v_minq, int __pyx_v_minAnchor); /* proto */ static char __pyx_k_1[] = ".gz"; static char __pyx_k_3[] = ".GZ"; static char __pyx_k_5[] = ".bam"; static char __pyx_k_6[] = "Input file %s is not a BAM file"; static char __pyx_k_7[] = "Found multiple read group tags in file %s"; static char __pyx_k_8[] = "Found multiple samples in BAM file %s"; static char __pyx_k_9[] = "Samples are %s"; static char __pyx_k_10[] = "No sample information in RG tag in file %s"; static char __pyx_k_11[] = "Adding sample name %s, using BAM RG:SM tag in file %s"; static char __pyx_k_12[] = "Error in BAM header sample parsing. Error was \n%s\n"; static char __pyx_k_13[] = "/"; static char __pyx_k_15[] = "Adding sample name %s, from BAM file %s"; static char __pyx_k_16[] = "There is one sample in each BAM file. No merging is required"; static char __pyx_k_18[] = "Something is screwy here"; static char __pyx_k_19[] = "Loaded %s reads in region %s:%s-%s"; static char __pyx_k_20[] = "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads."; static char __pyx_k_21[] = "There are %s broken pairs in BAM %s in region %s:%s-%s"; static char __pyx_k_22[] = "Querying broken mates %s:%s-%s"; static char __pyx_k_23[] = "Variants %s and %s are out of order. This should never happen."; static char __pyx_k_24[] = "Variants out of order in haplotype!"; static char __pyx_k_25[] = "Variant %s not correctly normalised. \nRef = %s\nHap = %s"; static char __pyx_k_26[] = ""; static char __pyx_k_29[] = "Old pos = %s new pos = %s"; static char __pyx_k_30[] = "New variant in standard format %s is broken"; static char __pyx_k_31[] = "Original variant was %s"; static char __pyx_k_32[] = "Error in variant conversion to standard format"; static char __pyx_k_33[] = "Could not left-normalise variant %s. Using position as reported in BAM"; static char __pyx_k_34[] = "\n"; static char __pyx_k_37[] = "\nSome utility functions and constants that don't belong anywhere\nelse.\n"; static char __pyx_k_38[] = "0.5.1"; static char __pyx_k_42[] = "/home/rimmer/nethome/Code/Trunk/Platypus/src/cython/platypusutils.pyx"; static char __pyx_k_45[] = "getSampleNamesAndLoadIterators"; static char __pyx_k_48[] = "getBAMFileNamesFromTextFile"; static char __pyx_k_65[] = "nPermutationsWithReplacement"; static char __pyx_k_68[] = "nCombinationsWithReplacement"; static char __pyx_k__e[] = "e"; static char __pyx_k__i[] = "i"; static char __pyx_k__k[] = "k"; static char __pyx_k__n[] = "n"; static char __pyx_k__r[] = "r"; static char __pyx_k__x[] = "x"; static char __pyx_k__y[] = "y"; static char __pyx_k__ID[] = "ID"; static char __pyx_k__RG[] = "RG"; static char __pyx_k__SM[] = "SM"; static char __pyx_k__pi[] = "pi"; static char __pyx_k__Log[] = "Log"; static char __pyx_k__pos[] = "pos"; static char __pyx_k__rbh[] = "rbh"; static char __pyx_k__tag[] = "tag"; static char __pyx_k__beta[] = "beta"; static char __pyx_k__file[] = "file"; static char __pyx_k__gzip[] = "gzip"; static char __pyx_k__info[] = "info"; static char __pyx_k__line[] = "line"; static char __pyx_k__math[] = "math"; static char __pyx_k__minq[] = "minq"; static char __pyx_k__mode[] = "mode"; static char __pyx_k__open[] = "open"; static char __pyx_k__poch[] = "poch"; static char __pyx_k__qual[] = "qual"; static char __pyx_k__read[] = "read"; static char __pyx_k__alpha[] = "alpha"; static char __pyx_k__cigar[] = "cigar"; static char __pyx_k__close[] = "close"; static char __pyx_k__debug[] = "debug"; static char __pyx_k__error[] = "error"; static char __pyx_k__index[] = "index"; static char __pyx_k__range[] = "range"; static char __pyx_k__round[] = "round"; static char __pyx_k__split[] = "split"; static char __pyx_k__strip[] = "strip"; static char __pyx_k__answer[] = "answer"; static char __pyx_k__extend[] = "extend"; static char __pyx_k__header[] = "header"; static char __pyx_k__logger[] = "logger"; static char __pyx_k__nFiles[] = "nFiles"; static char __pyx_k__sorted[] = "sorted"; static char __pyx_k__xrange[] = "xrange"; static char __pyx_k__acquire[] = "acquire"; static char __pyx_k__bamFile[] = "bamFile"; static char __pyx_k__betaPDF[] = "betaPDF"; static char __pyx_k__logPoch[] = "logPoch"; static char __pyx_k__logging[] = "logging"; static char __pyx_k__nChosen[] = "nChosen"; static char __pyx_k__options[] = "options"; static char __pyx_k__regions[] = "regions"; static char __pyx_k__release[] = "release"; static char __pyx_k__samples[] = "samples"; static char __pyx_k__warning[] = "warning"; static char __pyx_k__GzipFile[] = "GzipFile"; static char __pyx_k____main__[] = "__main__"; static char __pyx_k____test__[] = "__test__"; static char __pyx_k__bamFiles[] = "bamFiles"; static char __pyx_k__endswith[] = "endswith"; static char __pyx_k__fileName[] = "fileName"; static char __pyx_k__maxReads[] = "maxReads"; static char __pyx_k__nObjects[] = "nObjects"; static char __pyx_k__SeqLength[] = "SeqLength"; static char __pyx_k__enumerate[] = "enumerate"; static char __pyx_k__fileNames[] = "fileNames"; static char __pyx_k__getLogger[] = "getLogger"; static char __pyx_k__minAnchor[] = "minAnchor"; static char __pyx_k__theHeader[] = "theHeader"; static char __pyx_k__verbosity[] = "verbosity"; static char __pyx_k__sampleName[] = "sampleName"; static char __pyx_k__qualBinSize[] = "qualBinSize"; static char __pyx_k__samplesByID[] = "samplesByID"; static char __pyx_k__theTextFile[] = "theTextFile"; static char __pyx_k__bamFileNames[] = "bamFileNames"; static char __pyx_k__betaFunction[] = "betaFunction"; static char __pyx_k__cacheOffsets[] = "cacheOffsets"; static char __pyx_k__logNumerator[] = "logNumerator"; static char __pyx_k__samplesByBAM[] = "samplesByBAM"; static char __pyx_k__samplesInBAM[] = "samplesInBAM"; static char __pyx_k__StandardError[] = "StandardError"; static char __pyx_k__compressLevel[] = "compressLevel"; static char __pyx_k__compressReads[] = "compressReads"; static char __pyx_k__nCombinations[] = "nCombinations"; static char __pyx_k__nPermutations[] = "nPermutations"; static char __pyx_k__platypusutils[] = "platypusutils"; static char __pyx_k__readGroupTags[] = "readGroupTags"; static char __pyx_k__shareBAMFiles[] = "shareBAMFiles"; static char __pyx_k__logDenominator[] = "logDenominator"; static char __pyx_k__PLATYPUS_VERSION[] = "PLATYPUS_VERSION"; static char __pyx_k__py_betaBinomialCDF[] = "py_betaBinomialCDF"; static char __pyx_k__assembleBrokenPairs[] = "assembleBrokenPairs"; 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_15; static PyObject *__pyx_kp_s_16; static PyObject *__pyx_kp_s_18; static PyObject *__pyx_kp_s_19; static PyObject *__pyx_kp_s_20; static PyObject *__pyx_kp_s_21; static PyObject *__pyx_kp_s_22; static PyObject *__pyx_kp_s_23; static PyObject *__pyx_kp_s_24; static PyObject *__pyx_kp_s_25; static PyObject *__pyx_kp_s_26; static PyObject *__pyx_kp_s_29; static PyObject *__pyx_kp_s_3; static PyObject *__pyx_kp_s_30; static PyObject *__pyx_kp_s_31; static PyObject *__pyx_kp_s_32; static PyObject *__pyx_kp_s_33; static PyObject *__pyx_kp_s_34; static PyObject *__pyx_kp_s_38; static PyObject *__pyx_kp_s_42; static PyObject *__pyx_n_s_45; static PyObject *__pyx_n_s_48; static PyObject *__pyx_kp_s_5; static PyObject *__pyx_kp_s_6; static PyObject *__pyx_n_s_65; static PyObject *__pyx_n_s_68; static PyObject *__pyx_kp_s_7; static PyObject *__pyx_kp_s_8; static PyObject *__pyx_kp_s_9; static PyObject *__pyx_n_s__GzipFile; static PyObject *__pyx_n_s__ID; static PyObject *__pyx_n_s__Log; static PyObject *__pyx_n_s__PLATYPUS_VERSION; static PyObject *__pyx_n_s__RG; static PyObject *__pyx_n_s__SM; static PyObject *__pyx_n_s__SeqLength; static PyObject *__pyx_n_s__StandardError; static PyObject *__pyx_n_s____main__; static PyObject *__pyx_n_s____test__; static PyObject *__pyx_n_s__acquire; static PyObject *__pyx_n_s__alpha; static PyObject *__pyx_n_s__answer; static PyObject *__pyx_n_s__assembleBrokenPairs; static PyObject *__pyx_n_s__bamFile; static PyObject *__pyx_n_s__bamFileNames; static PyObject *__pyx_n_s__bamFiles; static PyObject *__pyx_n_s__beta; static PyObject *__pyx_n_s__betaFunction; static PyObject *__pyx_n_s__betaPDF; static PyObject *__pyx_n_s__cacheOffsets; static PyObject *__pyx_n_s__cigar; static PyObject *__pyx_n_s__close; static PyObject *__pyx_n_s__compressLevel; static PyObject *__pyx_n_s__compressReads; static PyObject *__pyx_n_s__debug; static PyObject *__pyx_n_s__e; static PyObject *__pyx_n_s__endswith; static PyObject *__pyx_n_s__enumerate; static PyObject *__pyx_n_s__error; static PyObject *__pyx_n_s__extend; static PyObject *__pyx_n_s__file; static PyObject *__pyx_n_s__fileName; static PyObject *__pyx_n_s__fileNames; static PyObject *__pyx_n_s__getLogger; static PyObject *__pyx_n_s__gzip; static PyObject *__pyx_n_s__header; static PyObject *__pyx_n_s__i; static PyObject *__pyx_n_s__index; static PyObject *__pyx_n_s__info; static PyObject *__pyx_n_s__k; static PyObject *__pyx_n_s__line; static PyObject *__pyx_n_s__logDenominator; static PyObject *__pyx_n_s__logNumerator; static PyObject *__pyx_n_s__logPoch; 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__minAnchor; static PyObject *__pyx_n_s__minq; static PyObject *__pyx_n_s__mode; static PyObject *__pyx_n_s__n; static PyObject *__pyx_n_s__nChosen; static PyObject *__pyx_n_s__nCombinations; static PyObject *__pyx_n_s__nFiles; static PyObject *__pyx_n_s__nObjects; static PyObject *__pyx_n_s__nPermutations; static PyObject *__pyx_n_s__open; static PyObject *__pyx_n_s__options; static PyObject *__pyx_n_s__pi; static PyObject *__pyx_n_s__platypusutils; static PyObject *__pyx_n_s__poch; static PyObject *__pyx_n_s__pos; static PyObject *__pyx_n_s__py_betaBinomialCDF; static PyObject *__pyx_n_s__qual; static PyObject *__pyx_n_s__qualBinSize; static PyObject *__pyx_n_s__r; static PyObject *__pyx_n_s__range; static PyObject *__pyx_n_s__rbh; static PyObject *__pyx_n_s__read; static PyObject *__pyx_n_s__readGroupTags; static PyObject *__pyx_n_s__regions; static PyObject *__pyx_n_s__release; static PyObject *__pyx_n_s__round; static PyObject *__pyx_n_s__sampleName; static PyObject *__pyx_n_s__samples; static PyObject *__pyx_n_s__samplesByBAM; static PyObject *__pyx_n_s__samplesByID; static PyObject *__pyx_n_s__samplesInBAM; static PyObject *__pyx_n_s__shareBAMFiles; static PyObject *__pyx_n_s__sorted; static PyObject *__pyx_n_s__split; static PyObject *__pyx_n_s__strip; static PyObject *__pyx_n_s__tag; static PyObject *__pyx_n_s__theHeader; static PyObject *__pyx_n_s__theTextFile; static PyObject *__pyx_n_s__verbosity; static PyObject *__pyx_n_s__warning; static PyObject *__pyx_n_s__x; static PyObject *__pyx_n_s__xrange; static PyObject *__pyx_n_s__y; static PyObject *__pyx_int_0; static PyObject *__pyx_int_1; static PyObject *__pyx_int_2; static PyObject *__pyx_int_9; static PyObject *__pyx_int_neg_1; static PyObject *__pyx_int_neg_3; static PyObject *__pyx_int_neg_5; static PyObject *__pyx_int_neg_7; static PyObject *__pyx_int_neg_9; static PyObject *__pyx_int_12; static PyObject *__pyx_int_360; static PyObject *__pyx_int_1188; static PyObject *__pyx_int_1260; static PyObject *__pyx_int_1680; static PyObject *__pyx_k_tuple_2; static PyObject *__pyx_k_tuple_4; static PyObject *__pyx_k_tuple_14; static PyObject *__pyx_k_tuple_17; static PyObject *__pyx_k_tuple_27; static PyObject *__pyx_k_tuple_28; static PyObject *__pyx_k_tuple_35; static PyObject *__pyx_k_tuple_36; static PyObject *__pyx_k_tuple_39; static PyObject *__pyx_k_tuple_40; static PyObject *__pyx_k_tuple_43; static PyObject *__pyx_k_tuple_46; static PyObject *__pyx_k_tuple_49; static PyObject *__pyx_k_tuple_51; static PyObject *__pyx_k_tuple_53; static PyObject *__pyx_k_tuple_55; static PyObject *__pyx_k_tuple_57; static PyObject *__pyx_k_tuple_59; static PyObject *__pyx_k_tuple_61; static PyObject *__pyx_k_tuple_63; static PyObject *__pyx_k_tuple_66; static PyObject *__pyx_k_codeobj_41; static PyObject *__pyx_k_codeobj_44; static PyObject *__pyx_k_codeobj_47; static PyObject *__pyx_k_codeobj_50; static PyObject *__pyx_k_codeobj_52; static PyObject *__pyx_k_codeobj_54; static PyObject *__pyx_k_codeobj_56; static PyObject *__pyx_k_codeobj_58; static PyObject *__pyx_k_codeobj_60; static PyObject *__pyx_k_codeobj_62; static PyObject *__pyx_k_codeobj_64; static PyObject *__pyx_k_codeobj_67; /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_open[] = "\n Function that allows transparent usage of dictzip, gzip and ordinary files\n "; static PyMethodDef __pyx_mdef_13platypusutils_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_13platypusutils_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_open)}; static PyObject *__pyx_pw_13platypusutils_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fileName = 0; PyObject *__pyx_v_mode = 0; PyObject *__pyx_v_compressLevel = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("open (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__fileName,&__pyx_n_s__mode,&__pyx_n_s__compressLevel,0}; PyObject* values[3] = {0,0,0}; values[2] = ((PyObject *)__pyx_int_9); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { 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__fileName)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("open", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__compressLevel); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_fileName = values[0]; __pyx_v_mode = values[1]; __pyx_v_compressLevel = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("open", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.open", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_open(__pyx_self, __pyx_v_fileName, __pyx_v_mode, __pyx_v_compressLevel); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":65 * ################################################################################################### * * def open(fileName, mode, compressLevel=9): # <<<<<<<<<<<<<< * """ * Function that allows transparent usage of dictzip, gzip and ordinary files */ static PyObject *__pyx_pf_13platypusutils_open(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fileName, PyObject *__pyx_v_mode, PyObject *__pyx_v_compressLevel) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("open", 0); /* "platypusutils.pyx":69 * Function that allows transparent usage of dictzip, gzip and ordinary files * """ * if fileName.endswith(".gz") or fileName.endswith(".GZ"): # <<<<<<<<<<<<<< * return gzip.GzipFile(fileName, mode, compressLevel) * else: */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_fileName, __pyx_n_s__endswith); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_3) { __pyx_t_2 = PyObject_GetAttr(__pyx_v_fileName, __pyx_n_s__endswith); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __pyx_t_4; } else { __pyx_t_5 = __pyx_t_3; } if (__pyx_t_5) { /* "platypusutils.pyx":70 * """ * if fileName.endswith(".gz") or fileName.endswith(".GZ"): * return gzip.GzipFile(fileName, mode, compressLevel) # <<<<<<<<<<<<<< * else: * return file(fileName, mode) */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__gzip); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__GzipFile); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_fileName); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fileName); __Pyx_GIVEREF(__pyx_v_fileName); __Pyx_INCREF(__pyx_v_mode); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_mode); __Pyx_GIVEREF(__pyx_v_mode); __Pyx_INCREF(__pyx_v_compressLevel); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_compressLevel); __Pyx_GIVEREF(__pyx_v_compressLevel); __pyx_t_6 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0; goto __pyx_L3; } /*else*/ { /* "platypusutils.pyx":72 * return gzip.GzipFile(fileName, mode, compressLevel) * else: * return file(fileName, mode) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_fileName); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_fileName); __Pyx_GIVEREF(__pyx_v_fileName); __Pyx_INCREF(__pyx_v_mode); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_mode); __Pyx_GIVEREF(__pyx_v_mode); __pyx_t_1 = PyObject_Call(__pyx_builtin_file, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } __pyx_L3:; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("platypusutils.open", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_3getSampleNamesAndLoadIterators(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_2getSampleNamesAndLoadIterators[] = "\n Return a list of all the sample labels in the BAM files.\n "; static PyMethodDef __pyx_mdef_13platypusutils_3getSampleNamesAndLoadIterators = {__Pyx_NAMESTR("getSampleNamesAndLoadIterators"), (PyCFunction)__pyx_pw_13platypusutils_3getSampleNamesAndLoadIterators, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_2getSampleNamesAndLoadIterators)}; static PyObject *__pyx_pw_13platypusutils_3getSampleNamesAndLoadIterators(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_bamFileNames = 0; PyObject *__pyx_v_regions = 0; PyObject *__pyx_v_options = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getSampleNamesAndLoadIterators (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__bamFileNames,&__pyx_n_s__regions,&__pyx_n_s__options,0}; PyObject* values[3] = {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 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__bamFileNames)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__regions)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("getSampleNamesAndLoadIterators", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__options)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("getSampleNamesAndLoadIterators", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getSampleNamesAndLoadIterators") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { 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); } __pyx_v_bamFileNames = values[0]; __pyx_v_regions = values[1]; __pyx_v_options = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("getSampleNamesAndLoadIterators", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.getSampleNamesAndLoadIterators", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_2getSampleNamesAndLoadIterators(__pyx_self, __pyx_v_bamFileNames, __pyx_v_regions, __pyx_v_options); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":76 * ################################################################################################### * * def getSampleNamesAndLoadIterators(bamFileNames, regions, options): # <<<<<<<<<<<<<< * """ * Return a list of all the sample labels in the BAM files. */ static PyObject *__pyx_pf_13platypusutils_2getSampleNamesAndLoadIterators(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_bamFileNames, PyObject *__pyx_v_regions, PyObject *__pyx_v_options) { PyObject *__pyx_v_samples = NULL; PyObject *__pyx_v_samplesByID = NULL; PyObject *__pyx_v_samplesByBAM = NULL; PyObject *__pyx_v_bamFiles = NULL; CYTHON_UNUSED PyObject *__pyx_v_nFiles = NULL; struct __pyx_obj_15samtoolsWrapper_Samfile *__pyx_v_bamFile = 0; CYTHON_UNUSED PyObject *__pyx_v_index = NULL; PyObject *__pyx_v_fileName = NULL; PyObject *__pyx_v_theHeader = NULL; PyObject *__pyx_v_readGroupTags = NULL; PyObject *__pyx_v_samplesInBAM = NULL; PyObject *__pyx_v_tag = NULL; PyObject *__pyx_v_sampleName = NULL; PyObject *__pyx_v_e = NULL; PyObject *__pyx_v_x = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; struct __pyx_opt_args_15samtoolsWrapper_7Samfile__open __pyx_t_9; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; Py_ssize_t __pyx_t_14; PyObject *(*__pyx_t_15)(PyObject *); int __pyx_t_16; PyObject *__pyx_t_17 = NULL; PyObject *__pyx_t_18 = NULL; PyObject *__pyx_t_19 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getSampleNamesAndLoadIterators", 0); /* "platypusutils.pyx":80 * Return a list of all the sample labels in the BAM files. * """ * samples = [] # <<<<<<<<<<<<<< * samplesByID = {} * samplesByBAM = {} */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_samples = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":81 * """ * samples = [] * samplesByID = {} # <<<<<<<<<<<<<< * samplesByBAM = {} * bamFiles = [] */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_v_samplesByID = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":82 * samples = [] * samplesByID = {} * samplesByBAM = {} # <<<<<<<<<<<<<< * bamFiles = [] * nFiles = len(bamFileNames) */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_v_samplesByBAM = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":83 * samplesByID = {} * samplesByBAM = {} * bamFiles = [] # <<<<<<<<<<<<<< * nFiles = len(bamFileNames) * cdef Samfile bamFile */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_bamFiles = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":84 * samplesByBAM = {} * bamFiles = [] * nFiles = len(bamFileNames) # <<<<<<<<<<<<<< * cdef Samfile bamFile * */ __pyx_t_2 = PyObject_Length(__pyx_v_bamFileNames); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_nFiles = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":87 * cdef Samfile bamFile * * for index,fileName in enumerate(bamFileNames): # <<<<<<<<<<<<<< * * if fileName[-4:] != ".bam": */ __Pyx_INCREF(__pyx_int_0); __pyx_t_1 = __pyx_int_0; if (PyList_CheckExact(__pyx_v_bamFileNames) || PyTuple_CheckExact(__pyx_v_bamFileNames)) { __pyx_t_3 = __pyx_v_bamFileNames; __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = 0; __pyx_t_4 = NULL; } else { __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_bamFileNames); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext; } for (;;) { if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_3)) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_5); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_3)) { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_5); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_5 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_5)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF(__pyx_v_fileName); __pyx_v_fileName = __pyx_t_5; __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_1); __Pyx_XDECREF(__pyx_v_index); __pyx_v_index = __pyx_t_1; __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; /* "platypusutils.pyx":89 * for index,fileName in enumerate(bamFileNames): * * if fileName[-4:] != ".bam": # <<<<<<<<<<<<<< * logger.error("Input file %s is not a BAM file" %(fileName)) * raise StandardError, "Input file %s is not a BAM file" %(fileName) */ __pyx_t_5 = __Pyx_PySequence_GetSlice(__pyx_v_fileName, -4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, ((PyObject *)__pyx_kp_s_5), Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { /* "platypusutils.pyx":90 * * if fileName[-4:] != ".bam": * logger.error("Input file %s is not a BAM file" %(fileName)) # <<<<<<<<<<<<<< * raise StandardError, "Input file %s is not a BAM file" %(fileName) * */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__error); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_6), __pyx_v_fileName); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_6)); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_6)); __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "platypusutils.pyx":91 * if fileName[-4:] != ".bam": * logger.error("Input file %s is not a BAM file" %(fileName)) * raise StandardError, "Input file %s is not a BAM file" %(fileName) # <<<<<<<<<<<<<< * * bamFile = Samfile(fileName) */ __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_6), __pyx_v_fileName); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_6)); __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_t_6), 0, 0); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; /* "platypusutils.pyx":93 * raise StandardError, "Input file %s is not a BAM file" %(fileName) * * bamFile = Samfile(fileName) # <<<<<<<<<<<<<< * bamFile._open('rbh', True) * */ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_fileName); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_fileName); __Pyx_GIVEREF(__pyx_v_fileName); __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_15samtoolsWrapper_Samfile)), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_bamFile)); __pyx_v_bamFile = ((struct __pyx_obj_15samtoolsWrapper_Samfile *)__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":94 * * bamFile = Samfile(fileName) * bamFile._open('rbh', True) # <<<<<<<<<<<<<< * * if options.cacheOffsets == 1: */ __pyx_t_8 = ((PyObject *)__pyx_n_s__rbh); __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_9.__pyx_n = 1; __pyx_t_9.loadIndex = __pyx_t_6; __pyx_t_5 = ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_bamFile->__pyx_vtab)->_open(__pyx_v_bamFile, __pyx_t_8, 0, &__pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "platypusutils.pyx":96 * bamFile._open('rbh', True) * * if options.cacheOffsets == 1: # <<<<<<<<<<<<<< * bamFile.loadOffsetsForRegions(regions) * */ __pyx_t_5 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__cacheOffsets); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_int_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { /* "platypusutils.pyx":97 * * if options.cacheOffsets == 1: * bamFile.loadOffsetsForRegions(regions) # <<<<<<<<<<<<<< * * bamFiles.append(bamFile) */ if (!(likely(PyList_CheckExact(__pyx_v_regions))||((__pyx_v_regions) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_v_regions)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = __pyx_v_regions; __Pyx_INCREF(__pyx_t_6); ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_bamFile->__pyx_vtab)->loadOffsetsForRegions(__pyx_v_bamFile, ((PyObject*)__pyx_t_6)); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6; } __pyx_L6:; /* "platypusutils.pyx":99 * bamFile.loadOffsetsForRegions(regions) * * bamFiles.append(bamFile) # <<<<<<<<<<<<<< * * try: */ __pyx_t_10 = PyList_Append(__pyx_v_bamFiles, ((PyObject *)__pyx_v_bamFile)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":101 * bamFiles.append(bamFile) * * try: # <<<<<<<<<<<<<< * theHeader = bamFile.header * readGroupTags = theHeader['RG'] */ /*try:*/ { { __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); /*try:*/ { /* "platypusutils.pyx":102 * * try: * theHeader = bamFile.header # <<<<<<<<<<<<<< * readGroupTags = theHeader['RG'] * */ __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_bamFile), __pyx_n_s__header); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF(__pyx_v_theHeader); __pyx_v_theHeader = __pyx_t_6; __pyx_t_6 = 0; /* "platypusutils.pyx":103 * try: * theHeader = bamFile.header * readGroupTags = theHeader['RG'] # <<<<<<<<<<<<<< * * if len(readGroupTags) > 1: */ __pyx_t_6 = PyObject_GetItem(__pyx_v_theHeader, ((PyObject *)__pyx_n_s__RG)); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF(__pyx_v_readGroupTags); __pyx_v_readGroupTags = __pyx_t_6; __pyx_t_6 = 0; /* "platypusutils.pyx":105 * readGroupTags = theHeader['RG'] * * if len(readGroupTags) > 1: # <<<<<<<<<<<<<< * logger.debug("Found multiple read group tags in file %s" %(fileName)) * */ __pyx_t_14 = PyObject_Length(__pyx_v_readGroupTags); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __pyx_t_7 = (__pyx_t_14 > 1); if (__pyx_t_7) { /* "platypusutils.pyx":106 * * if len(readGroupTags) > 1: * logger.debug("Found multiple read group tags in file %s" %(fileName)) # <<<<<<<<<<<<<< * * samplesInBAM = set([x['SM'] for x in readGroupTags]) */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__debug); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), __pyx_v_fileName); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_6)); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_6)); __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L20; } __pyx_L20:; /* "platypusutils.pyx":108 * logger.debug("Found multiple read group tags in file %s" %(fileName)) * * samplesInBAM = set([x['SM'] for x in readGroupTags]) # <<<<<<<<<<<<<< * samplesByBAM[bamFile] = list(samplesInBAM) * */ __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); if (PyList_CheckExact(__pyx_v_readGroupTags) || PyTuple_CheckExact(__pyx_v_readGroupTags)) { __pyx_t_8 = __pyx_v_readGroupTags; __Pyx_INCREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_readGroupTags); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = Py_TYPE(__pyx_t_8)->tp_iternext; } for (;;) { if (!__pyx_t_15 && PyList_CheckExact(__pyx_t_8)) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_5); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #endif } else if (!__pyx_t_15 && PyTuple_CheckExact(__pyx_t_8)) { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_5); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #endif } else { __pyx_t_5 = __pyx_t_15(__pyx_t_8); if (unlikely(!__pyx_t_5)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF(__pyx_v_x); __pyx_v_x = __pyx_t_5; __pyx_t_5 = 0; __pyx_t_5 = PyObject_GetItem(__pyx_v_x, ((PyObject *)__pyx_n_s__SM)); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_PyList_Append(__pyx_t_6, (PyObject*)__pyx_t_5))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(((PyObject *)__pyx_t_6)); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_6)); __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PySet_Type))), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_samplesInBAM)); __pyx_v_samplesInBAM = ((PyObject*)__pyx_t_6); __pyx_t_6 = 0; /* "platypusutils.pyx":109 * * samplesInBAM = set([x['SM'] for x in readGroupTags]) * samplesByBAM[bamFile] = list(samplesInBAM) # <<<<<<<<<<<<<< * * for tag in readGroupTags: */ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_samplesInBAM)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_samplesInBAM)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samplesInBAM)); __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; if (PyDict_SetItem(((PyObject *)__pyx_v_samplesByBAM), ((PyObject *)__pyx_v_bamFile), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":111 * samplesByBAM[bamFile] = list(samplesInBAM) * * for tag in readGroupTags: # <<<<<<<<<<<<<< * samplesByID[tag['ID']] = tag['SM'] * */ if (PyList_CheckExact(__pyx_v_readGroupTags) || PyTuple_CheckExact(__pyx_v_readGroupTags)) { __pyx_t_8 = __pyx_v_readGroupTags; __Pyx_INCREF(__pyx_t_8); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_readGroupTags); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = Py_TYPE(__pyx_t_8)->tp_iternext; } for (;;) { if (!__pyx_t_15 && PyList_CheckExact(__pyx_t_8)) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_6); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #else __pyx_t_6 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #endif } else if (!__pyx_t_15 && PyTuple_CheckExact(__pyx_t_8)) { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_14); __Pyx_INCREF(__pyx_t_6); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #else __pyx_t_6 = PySequence_ITEM(__pyx_t_8, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L12_error;} #endif } else { __pyx_t_6 = __pyx_t_15(__pyx_t_8); if (unlikely(!__pyx_t_6)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L12_error;} } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF(__pyx_v_tag); __pyx_v_tag = __pyx_t_6; __pyx_t_6 = 0; /* "platypusutils.pyx":112 * * for tag in readGroupTags: * samplesByID[tag['ID']] = tag['SM'] # <<<<<<<<<<<<<< * * if len(samplesInBAM) > 1: */ __pyx_t_6 = PyObject_GetItem(__pyx_v_tag, ((PyObject *)__pyx_n_s__SM)); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_GetItem(__pyx_v_tag, ((PyObject *)__pyx_n_s__ID)); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(((PyObject *)__pyx_v_samplesByID), __pyx_t_5, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":114 * samplesByID[tag['ID']] = tag['SM'] * * if len(samplesInBAM) > 1: # <<<<<<<<<<<<<< * logger.info("Found multiple samples in BAM file %s" %(fileName)) * logger.info("Samples are %s" %(samplesInBAM)) */ __pyx_t_14 = PySet_Size(((PyObject *)__pyx_v_samplesInBAM)); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __pyx_t_7 = (__pyx_t_14 > 1); if (__pyx_t_7) { /* "platypusutils.pyx":115 * * if len(samplesInBAM) > 1: * logger.info("Found multiple samples in BAM file %s" %(fileName)) # <<<<<<<<<<<<<< * logger.info("Samples are %s" %(samplesInBAM)) * samples.extend(samplesInBAM) */ __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__info); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), __pyx_v_fileName); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_8)); __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __pyx_t_8 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":116 * if len(samplesInBAM) > 1: * logger.info("Found multiple samples in BAM file %s" %(fileName)) * logger.info("Samples are %s" %(samplesInBAM)) # <<<<<<<<<<<<<< * samples.extend(samplesInBAM) * */ __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__info); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), ((PyObject *)__pyx_v_samplesInBAM)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_8)); __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __pyx_t_8 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":117 * logger.info("Found multiple samples in BAM file %s" %(fileName)) * logger.info("Samples are %s" %(samplesInBAM)) * samples.extend(samplesInBAM) # <<<<<<<<<<<<<< * * elif len(samplesInBAM) == 0: */ __pyx_t_8 = PyObject_GetAttr(((PyObject *)__pyx_v_samples), __pyx_n_s__extend); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_samplesInBAM)); PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_samplesInBAM)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samplesInBAM)); __pyx_t_5 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L25; } /* "platypusutils.pyx":119 * samples.extend(samplesInBAM) * * elif len(samplesInBAM) == 0: # <<<<<<<<<<<<<< * raise StandardError, "No sample information in RG tag in file %s" %(fileName) * */ __pyx_t_14 = PySet_Size(((PyObject *)__pyx_v_samplesInBAM)); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __pyx_t_7 = (__pyx_t_14 == 0); if (__pyx_t_7) { /* "platypusutils.pyx":120 * * elif len(samplesInBAM) == 0: * raise StandardError, "No sample information in RG tag in file %s" %(fileName) # <<<<<<<<<<<<<< * * else: */ __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_10), __pyx_v_fileName); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_5)); __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_t_5), 0, 0); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L12_error;} goto __pyx_L25; } /*else*/ { /* "platypusutils.pyx":123 * * else: * sampleName = theHeader['RG'][0]['SM'] # <<<<<<<<<<<<<< * samples.append(sampleName) * logger.debug("Adding sample name %s, using BAM RG:SM tag in file %s" %(sampleName, fileName)) */ __pyx_t_5 = PyObject_GetItem(__pyx_v_theHeader, ((PyObject *)__pyx_n_s__RG)); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_5, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyObject_GetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__SM)); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_v_sampleName); __pyx_v_sampleName = __pyx_t_5; __pyx_t_5 = 0; /* "platypusutils.pyx":124 * else: * sampleName = theHeader['RG'][0]['SM'] * samples.append(sampleName) # <<<<<<<<<<<<<< * logger.debug("Adding sample name %s, using BAM RG:SM tag in file %s" %(sampleName, fileName)) * */ __pyx_t_10 = PyList_Append(__pyx_v_samples, __pyx_v_sampleName); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L12_error;} /* "platypusutils.pyx":125 * sampleName = theHeader['RG'][0]['SM'] * samples.append(sampleName) * logger.debug("Adding sample name %s, using BAM RG:SM tag in file %s" %(sampleName, fileName)) # <<<<<<<<<<<<<< * * del(theHeader) */ __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__debug); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_sampleName); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_sampleName); __Pyx_GIVEREF(__pyx_v_sampleName); __Pyx_INCREF(__pyx_v_fileName); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_fileName); __Pyx_GIVEREF(__pyx_v_fileName); __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_8)); __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __pyx_t_8 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L12_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __pyx_L25:; /* "platypusutils.pyx":127 * logger.debug("Adding sample name %s, using BAM RG:SM tag in file %s" %(sampleName, fileName)) * * del(theHeader) # <<<<<<<<<<<<<< * * except StandardError, e: */ __Pyx_DECREF(__pyx_v_theHeader); __pyx_v_theHeader = NULL; } __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L19_try_end; __pyx_L12_error:; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":129 * del(theHeader) * * except StandardError, e: # <<<<<<<<<<<<<< * logger.debug("Error in BAM header sample parsing. Error was \n%s\n" %(e)) * sampleName = fileName.split("/")[-1][0:-4] */ __pyx_t_16 = PyErr_ExceptionMatches(__pyx_builtin_StandardError); if (__pyx_t_16) { __Pyx_AddTraceback("platypusutils.getSampleNamesAndLoadIterators", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_XDECREF(__pyx_v_e); __pyx_v_e = __pyx_t_5; /* "platypusutils.pyx":130 * * except StandardError, e: * logger.debug("Error in BAM header sample parsing. Error was \n%s\n" %(e)) # <<<<<<<<<<<<<< * sampleName = fileName.split("/")[-1][0:-4] * samples.append(sampleName) */ __pyx_t_17 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = PyObject_GetAttr(__pyx_t_17, __pyx_n_s__debug); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_12), __pyx_v_e); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_17)); __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, ((PyObject *)__pyx_t_17)); __Pyx_GIVEREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __pyx_t_17 = PyObject_Call(__pyx_t_18, ((PyObject *)__pyx_t_19), NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; /* "platypusutils.pyx":131 * except StandardError, e: * logger.debug("Error in BAM header sample parsing. Error was \n%s\n" %(e)) * sampleName = fileName.split("/")[-1][0:-4] # <<<<<<<<<<<<<< * samples.append(sampleName) * samplesByBAM[bamFile] = sampleName */ __pyx_t_17 = PyObject_GetAttr(__pyx_v_fileName, __pyx_n_s__split); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = PyObject_Call(__pyx_t_17, ((PyObject *)__pyx_k_tuple_14), NULL); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_19, -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_17) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PySequence_GetSlice(__pyx_t_17, 0, -4); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_v_sampleName); __pyx_v_sampleName = __pyx_t_19; __pyx_t_19 = 0; /* "platypusutils.pyx":132 * logger.debug("Error in BAM header sample parsing. Error was \n%s\n" %(e)) * sampleName = fileName.split("/")[-1][0:-4] * samples.append(sampleName) # <<<<<<<<<<<<<< * samplesByBAM[bamFile] = sampleName * logger.debug("Adding sample name %s, from BAM file %s" %(sampleName, fileName)) */ __pyx_t_10 = PyList_Append(__pyx_v_samples, __pyx_v_sampleName); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} /* "platypusutils.pyx":133 * sampleName = fileName.split("/")[-1][0:-4] * samples.append(sampleName) * samplesByBAM[bamFile] = sampleName # <<<<<<<<<<<<<< * logger.debug("Adding sample name %s, from BAM file %s" %(sampleName, fileName)) * */ if (PyDict_SetItem(((PyObject *)__pyx_v_samplesByBAM), ((PyObject *)__pyx_v_bamFile), __pyx_v_sampleName) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} /* "platypusutils.pyx":134 * samples.append(sampleName) * samplesByBAM[bamFile] = sampleName * logger.debug("Adding sample name %s, from BAM file %s" %(sampleName, fileName)) # <<<<<<<<<<<<<< * * # Always close the BAM file */ __pyx_t_19 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = PyObject_GetAttr(__pyx_t_19, __pyx_n_s__debug); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_INCREF(__pyx_v_sampleName); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_v_sampleName); __Pyx_GIVEREF(__pyx_v_sampleName); __Pyx_INCREF(__pyx_v_fileName); PyTuple_SET_ITEM(__pyx_t_19, 1, __pyx_v_fileName); __Pyx_GIVEREF(__pyx_v_fileName); __pyx_t_18 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_15), ((PyObject *)__pyx_t_19)); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_18)); __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0; __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_19, 0, ((PyObject *)__pyx_t_18)); __Pyx_GIVEREF(((PyObject *)__pyx_t_18)); __pyx_t_18 = 0; __pyx_t_18 = PyObject_Call(__pyx_t_17, ((PyObject *)__pyx_t_19), NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;} __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L13_exception_handled; } __pyx_L14_except_error:; __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); goto __pyx_L10; __pyx_L13_exception_handled:; __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); __pyx_L19_try_end:; } } /* "platypusutils.pyx":138 * # Always close the BAM file * finally: * if options.shareBAMFiles == 0: # <<<<<<<<<<<<<< * bamFile.close() * else: */ /*finally:*/ { int __pyx_why; PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; int __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 0; goto __pyx_L11; __pyx_L10: { __pyx_why = 4; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); __pyx_exc_lineno = __pyx_lineno; goto __pyx_L11; } __pyx_L11:; __pyx_t_6 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__shareBAMFiles); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L28_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L28_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L28_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_7) { /* "platypusutils.pyx":139 * finally: * if options.shareBAMFiles == 0: * bamFile.close() # <<<<<<<<<<<<<< * else: * bamFile.clearHeader() */ __pyx_t_5 = ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_bamFile->__pyx_vtab)->close(__pyx_v_bamFile, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L28_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L29; } /*else*/ { /* "platypusutils.pyx":141 * bamFile.close() * else: * bamFile.clearHeader() # <<<<<<<<<<<<<< * bamFile.clearIndex() * bamFile.clearCache() */ ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_bamFile->__pyx_vtab)->clearHeader(__pyx_v_bamFile); /* "platypusutils.pyx":142 * else: * bamFile.clearHeader() * bamFile.clearIndex() # <<<<<<<<<<<<<< * bamFile.clearCache() * */ ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_bamFile->__pyx_vtab)->clearIndex(__pyx_v_bamFile); /* "platypusutils.pyx":143 * bamFile.clearHeader() * bamFile.clearIndex() * bamFile.clearCache() # <<<<<<<<<<<<<< * * return samples,samplesByID,samplesByBAM,bamFiles */ ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_bamFile->__pyx_vtab)->clearCache(__pyx_v_bamFile); } __pyx_L29:; goto __pyx_L30; __pyx_L28_error:; if (__pyx_why == 4) { Py_XDECREF(__pyx_exc_type); Py_XDECREF(__pyx_exc_value); Py_XDECREF(__pyx_exc_tb); } goto __pyx_L1_error; __pyx_L30:; switch (__pyx_why) { case 4: { __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); __pyx_lineno = __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; goto __pyx_L1_error; } } } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":145 * bamFile.clearCache() * * return samples,samplesByID,samplesByBAM,bamFiles # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_samples)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_samples)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samples)); __Pyx_INCREF(((PyObject *)__pyx_v_samplesByID)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_samplesByID)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samplesByID)); __Pyx_INCREF(((PyObject *)__pyx_v_samplesByBAM)); PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_samplesByBAM)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samplesByBAM)); __Pyx_INCREF(((PyObject *)__pyx_v_bamFiles)); PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_bamFiles)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bamFiles)); __pyx_r = ((PyObject *)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_17); __Pyx_XDECREF(__pyx_t_18); __Pyx_XDECREF(__pyx_t_19); __Pyx_AddTraceback("platypusutils.getSampleNamesAndLoadIterators", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_samples); __Pyx_XDECREF(__pyx_v_samplesByID); __Pyx_XDECREF(__pyx_v_samplesByBAM); __Pyx_XDECREF(__pyx_v_bamFiles); __Pyx_XDECREF(__pyx_v_nFiles); __Pyx_XDECREF((PyObject *)__pyx_v_bamFile); __Pyx_XDECREF(__pyx_v_index); __Pyx_XDECREF(__pyx_v_fileName); __Pyx_XDECREF(__pyx_v_theHeader); __Pyx_XDECREF(__pyx_v_readGroupTags); __Pyx_XDECREF(__pyx_v_samplesInBAM); __Pyx_XDECREF(__pyx_v_tag); __Pyx_XDECREF(__pyx_v_sampleName); __Pyx_XDECREF(__pyx_v_e); __Pyx_XDECREF(__pyx_v_x); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_5getBAMFileNamesFromTextFile(PyObject *__pyx_self, PyObject *__pyx_v_fileName); /*proto*/ static char __pyx_doc_13platypusutils_4getBAMFileNamesFromTextFile[] = "\n Reads a list of BAM file names from a text file\n "; static PyMethodDef __pyx_mdef_13platypusutils_5getBAMFileNamesFromTextFile = {__Pyx_NAMESTR("getBAMFileNamesFromTextFile"), (PyCFunction)__pyx_pw_13platypusutils_5getBAMFileNamesFromTextFile, METH_O, __Pyx_DOCSTR(__pyx_doc_13platypusutils_4getBAMFileNamesFromTextFile)}; static PyObject *__pyx_pw_13platypusutils_5getBAMFileNamesFromTextFile(PyObject *__pyx_self, PyObject *__pyx_v_fileName) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getBAMFileNamesFromTextFile (wrapper)", 0); __pyx_r = __pyx_pf_13platypusutils_4getBAMFileNamesFromTextFile(__pyx_self, ((PyObject *)__pyx_v_fileName)); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":149 * ################################################################################################### * * def getBAMFileNamesFromTextFile(fileName): # <<<<<<<<<<<<<< * """ * Reads a list of BAM file names from a text file */ static PyObject *__pyx_pf_13platypusutils_4getBAMFileNamesFromTextFile(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fileName) { PyObject *__pyx_v_fileNames = NULL; PyObject *__pyx_v_theTextFile = NULL; PyObject *__pyx_v_line = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; PyObject *(*__pyx_t_5)(PyObject *); int __pyx_t_6; int __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getBAMFileNamesFromTextFile", 0); /* "platypusutils.pyx":153 * Reads a list of BAM file names from a text file * """ * fileNames = [] # <<<<<<<<<<<<<< * theTextFile = open(fileName, 'r') * */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_fileNames = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":154 * """ * fileNames = [] * theTextFile = open(fileName, 'r') # <<<<<<<<<<<<<< * * for line in theTextFile: */ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_fileName); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fileName); __Pyx_GIVEREF(__pyx_v_fileName); __Pyx_INCREF(((PyObject *)__pyx_n_s__r)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_n_s__r)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__r)); __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_theTextFile = __pyx_t_3; __pyx_t_3 = 0; /* "platypusutils.pyx":156 * theTextFile = open(fileName, 'r') * * for line in theTextFile: # <<<<<<<<<<<<<< * line = line.strip() * */ if (PyList_CheckExact(__pyx_v_theTextFile) || PyTuple_CheckExact(__pyx_v_theTextFile)) { __pyx_t_3 = __pyx_v_theTextFile; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_theTextFile); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; } for (;;) { if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_2 = __pyx_t_5(__pyx_t_3); if (unlikely(!__pyx_t_2)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF(__pyx_v_line); __pyx_v_line = __pyx_t_2; __pyx_t_2 = 0; /* "platypusutils.pyx":157 * * for line in theTextFile: * line = line.strip() # <<<<<<<<<<<<<< * * if line[-4:] == ".bam": */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_line, __pyx_n_s__strip); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_v_line); __pyx_v_line = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":159 * line = line.strip() * * if line[-4:] == ".bam": # <<<<<<<<<<<<<< * fileNames.append(line) * */ __pyx_t_1 = __Pyx_PySequence_GetSlice(__pyx_v_line, -4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, ((PyObject *)__pyx_kp_s_5), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { /* "platypusutils.pyx":160 * * if line[-4:] == ".bam": * fileNames.append(line) # <<<<<<<<<<<<<< * * theTextFile.close() */ __pyx_t_7 = PyList_Append(__pyx_v_fileNames, __pyx_v_line); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":162 * fileNames.append(line) * * theTextFile.close() # <<<<<<<<<<<<<< * return fileNames * */ __pyx_t_3 = PyObject_GetAttr(__pyx_v_theTextFile, __pyx_n_s__close); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __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; /* "platypusutils.pyx":163 * * theTextFile.close() * return fileNames # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_fileNames)); __pyx_r = ((PyObject *)__pyx_v_fileNames); goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("platypusutils.getBAMFileNamesFromTextFile", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_fileNames); __Pyx_XDECREF(__pyx_v_theTextFile); __Pyx_XDECREF(__pyx_v_line); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":167 * ################################################################################################### * * cdef double logFactorial(int x): # <<<<<<<<<<<<<< * """ * Return the logarithm of the factorial of x. Uses Stirling's approximation for large */ static double __pyx_f_13platypusutils_logFactorial(int __pyx_v_x) { double __pyx_v_ans; int __pyx_v_i; double __pyx_v_y; double __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; double __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("logFactorial", 0); /* "platypusutils.pyx":172 * values. * """ * cdef double ans = 0 # <<<<<<<<<<<<<< * cdef int i = 0 * cdef double y = x */ __pyx_v_ans = 0.0; /* "platypusutils.pyx":173 * """ * cdef double ans = 0 * cdef int i = 0 # <<<<<<<<<<<<<< * cdef double y = x * */ __pyx_v_i = 0; /* "platypusutils.pyx":174 * cdef double ans = 0 * cdef int i = 0 * cdef double y = x # <<<<<<<<<<<<<< * * if x < 15: */ __pyx_v_y = __pyx_v_x; /* "platypusutils.pyx":176 * cdef double y = x * * if x < 15: # <<<<<<<<<<<<<< * for i from 1 <= i <= x: * ans += log(i) */ __pyx_t_1 = (__pyx_v_x < 15); if (__pyx_t_1) { /* "platypusutils.pyx":177 * * if x < 15: * for i from 1 <= i <= x: # <<<<<<<<<<<<<< * ans += log(i) * return ans */ __pyx_t_2 = __pyx_v_x; for (__pyx_v_i = 1; __pyx_v_i <= __pyx_t_2; __pyx_v_i++) { /* "platypusutils.pyx":178 * if x < 15: * for i from 1 <= i <= x: * ans += log(i) # <<<<<<<<<<<<<< * return ans * else: */ __pyx_v_ans = (__pyx_v_ans + log(__pyx_v_i)); } /* "platypusutils.pyx":179 * for i from 1 <= i <= x: * ans += log(i) * return ans # <<<<<<<<<<<<<< * else: * ans = y*log(y) + log(2.0*PI*y)/2 - y + (pow(y, -1))/12 - (pow(y,-3))/360 + (pow(y,-5))/1260 - (pow(y,-7))/1680 + (pow(y,-9))/1188 */ __pyx_r = __pyx_v_ans; goto __pyx_L0; goto __pyx_L3; } /*else*/ { /* "platypusutils.pyx":181 * return ans * else: * ans = y*log(y) + log(2.0*PI*y)/2 - y + (pow(y, -1))/12 - (pow(y,-3))/360 + (pow(y,-5))/1260 - (pow(y,-7))/1680 + (pow(y,-9))/1188 # <<<<<<<<<<<<<< * return ans * */ __pyx_t_3 = PyFloat_FromDouble((((__pyx_v_y * log(__pyx_v_y)) + (log(((2.0 * __pyx_v_13platypusutils_PI) * __pyx_v_y)) / 2.0)) - __pyx_v_y)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyNumber_Power2(__pyx_t_4, __pyx_int_neg_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_int_12); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyNumber_Power2(__pyx_t_4, __pyx_int_neg_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_int_360); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyNumber_Power2(__pyx_t_4, __pyx_int_neg_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_int_1260); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyNumber_Power2(__pyx_t_4, __pyx_int_neg_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_int_1680); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyNumber_Power2(__pyx_t_4, __pyx_int_neg_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_int_1188); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_ans = __pyx_t_6; /* "platypusutils.pyx":182 * else: * ans = y*log(y) + log(2.0*PI*y)/2 - y + (pow(y, -1))/12 - (pow(y,-3))/360 + (pow(y,-5))/1260 - (pow(y,-7))/1680 + (pow(y,-9))/1188 * return ans # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_ans; goto __pyx_L0; } __pyx_L3:; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_WriteUnraisable("platypusutils.logFactorial", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_7betaFunction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_6betaFunction[] = "\n For the special case of positive integers, the beta function is\n simply a ratio of factorials:\n\n B(x,y) = ( (x-1)!(y-1)! ) / ( (x+y-1)! )\n "; static PyMethodDef __pyx_mdef_13platypusutils_7betaFunction = {__Pyx_NAMESTR("betaFunction"), (PyCFunction)__pyx_pw_13platypusutils_7betaFunction, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_6betaFunction)}; static PyObject *__pyx_pw_13platypusutils_7betaFunction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_x = 0; PyObject *__pyx_v_y = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("betaFunction (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,0}; PyObject* values[2] = {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 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__x)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("betaFunction", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "betaFunction") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_x = values[0]; __pyx_v_y = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("betaFunction", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.betaFunction", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_6betaFunction(__pyx_self, __pyx_v_x, __pyx_v_y); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":186 * ################################################################################################### * * def betaFunction(x,y): # <<<<<<<<<<<<<< * """ * For the special case of positive integers, the beta function is */ static PyObject *__pyx_pf_13platypusutils_6betaFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y) { double __pyx_v_logNumerator; double __pyx_v_logDenominator; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("betaFunction", 0); /* "platypusutils.pyx":196 * #denominator = factorial(x+y-1) * #return numerator/denominator * logNumerator = logFactorial(x-1) + logFactorial(y-1) # <<<<<<<<<<<<<< * logDenominator = logFactorial(x+y-1) * return exp(logNumerator - logDenominator) */ __pyx_t_1 = PyNumber_Subtract(__pyx_v_x, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_y, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_logNumerator = (__pyx_f_13platypusutils_logFactorial(__pyx_t_2) + __pyx_f_13platypusutils_logFactorial(__pyx_t_3)); /* "platypusutils.pyx":197 * #return numerator/denominator * logNumerator = logFactorial(x-1) + logFactorial(y-1) * logDenominator = logFactorial(x+y-1) # <<<<<<<<<<<<<< * return exp(logNumerator - logDenominator) * */ __pyx_t_1 = PyNumber_Add(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyNumber_Subtract(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_logDenominator = __pyx_f_13platypusutils_logFactorial(__pyx_t_3); /* "platypusutils.pyx":198 * logNumerator = logFactorial(x-1) + logFactorial(y-1) * logDenominator = logFactorial(x+y-1) * return exp(logNumerator - logDenominator) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyFloat_FromDouble(exp((__pyx_v_logNumerator - __pyx_v_logDenominator))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("platypusutils.betaFunction", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":202 * ################################################################################################### * * cdef double logBetaFunction(int x, int y): # <<<<<<<<<<<<<< * """ * Return the natural logarithm of the beta function. */ static double __pyx_f_13platypusutils_logBetaFunction(int __pyx_v_x, int __pyx_v_y) { double __pyx_v_logNumerator; double __pyx_v_logDenominator; double __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("logBetaFunction", 0); /* "platypusutils.pyx":206 * Return the natural logarithm of the beta function. * """ * cdef double logNumerator = logFactorial(x-1) + logFactorial(y-1) # <<<<<<<<<<<<<< * cdef double logDenominator = logFactorial(x+y-1) * return logNumerator - logDenominator */ __pyx_v_logNumerator = (__pyx_f_13platypusutils_logFactorial((__pyx_v_x - 1)) + __pyx_f_13platypusutils_logFactorial((__pyx_v_y - 1))); /* "platypusutils.pyx":207 * """ * cdef double logNumerator = logFactorial(x-1) + logFactorial(y-1) * cdef double logDenominator = logFactorial(x+y-1) # <<<<<<<<<<<<<< * return logNumerator - logDenominator * */ __pyx_v_logDenominator = __pyx_f_13platypusutils_logFactorial(((__pyx_v_x + __pyx_v_y) - 1)); /* "platypusutils.pyx":208 * cdef double logNumerator = logFactorial(x-1) + logFactorial(y-1) * cdef double logDenominator = logFactorial(x+y-1) * return logNumerator - logDenominator # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = (__pyx_v_logNumerator - __pyx_v_logDenominator); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_9betaPDF(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_8betaPDF[] = "\n The probability density function of a beta distribution.\n "; static PyMethodDef __pyx_mdef_13platypusutils_9betaPDF = {__Pyx_NAMESTR("betaPDF"), (PyCFunction)__pyx_pw_13platypusutils_9betaPDF, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_8betaPDF)}; static PyObject *__pyx_pw_13platypusutils_9betaPDF(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_alpha = 0; PyObject *__pyx_v_beta = 0; PyObject *__pyx_v_x = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("betaPDF (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__alpha,&__pyx_n_s__beta,&__pyx_n_s__x,0}; PyObject* values[3] = {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 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__alpha)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__beta)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("betaPDF", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("betaPDF", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "betaPDF") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { 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); } __pyx_v_alpha = values[0]; __pyx_v_beta = values[1]; __pyx_v_x = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("betaPDF", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.betaPDF", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_8betaPDF(__pyx_self, __pyx_v_alpha, __pyx_v_beta, __pyx_v_x); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":212 * ################################################################################################### * * def betaPDF(alpha, beta, x): # <<<<<<<<<<<<<< * """ * The probability density function of a beta distribution. */ static PyObject *__pyx_pf_13platypusutils_8betaPDF(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_alpha, PyObject *__pyx_v_beta, PyObject *__pyx_v_x) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; 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("betaPDF", 0); /* "platypusutils.pyx":216 * The probability density function of a beta distribution. * """ * return (x**(alpha-1)*(1-x)**(beta-1)) / betaFunction(alpha,beta) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Subtract(__pyx_v_alpha, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Power(__pyx_v_x, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_int_1, __pyx_v_x); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Subtract(__pyx_v_beta, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_Power(__pyx_t_1, __pyx_t_3, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__betaFunction); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_alpha); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_alpha); __Pyx_GIVEREF(__pyx_v_alpha); __Pyx_INCREF(__pyx_v_beta); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_beta); __Pyx_GIVEREF(__pyx_v_beta); __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __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_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); 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_AddTraceback("platypusutils.betaPDF", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_11poch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_10poch[] = "\n The pochhammer symbol.\n "; static PyMethodDef __pyx_mdef_13platypusutils_11poch = {__Pyx_NAMESTR("poch"), (PyCFunction)__pyx_pw_13platypusutils_11poch, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_10poch)}; static PyObject *__pyx_pw_13platypusutils_11poch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_x = 0; PyObject *__pyx_v_n = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("poch (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__n,0}; PyObject* values[2] = {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 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__x)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("poch", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "poch") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_x = values[0]; __pyx_v_n = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("poch", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.poch", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_10poch(__pyx_self, __pyx_v_x, __pyx_v_n); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":220 * ################################################################################################### * * def poch(x, n): # <<<<<<<<<<<<<< * """ * The pochhammer symbol. */ static PyObject *__pyx_pf_13platypusutils_10poch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_n) { PyObject *__pyx_v_answer = NULL; PyObject *__pyx_v_i = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; PyObject *(*__pyx_t_5)(PyObject *); PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("poch", 0); /* "platypusutils.pyx":224 * The pochhammer symbol. * """ * if n == 0: # <<<<<<<<<<<<<< * return 1 * */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_n, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "platypusutils.pyx":225 * """ * if n == 0: * return 1 # <<<<<<<<<<<<<< * * answer = x */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_1); __pyx_r = __pyx_int_1; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "platypusutils.pyx":227 * return 1 * * answer = x # <<<<<<<<<<<<<< * * for i in xrange(1,n): */ __Pyx_INCREF(__pyx_v_x); __pyx_v_answer = __pyx_v_x; /* "platypusutils.pyx":229 * answer = x * * for i in xrange(1,n): # <<<<<<<<<<<<<< * answer *= (x+i) * */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); __Pyx_INCREF(__pyx_v_n); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_n); __Pyx_GIVEREF(__pyx_v_n); __pyx_t_3 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_1)) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_1)) { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_3 = __pyx_t_5(__pyx_t_1); if (unlikely(!__pyx_t_3)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF(__pyx_v_i); __pyx_v_i = __pyx_t_3; __pyx_t_3 = 0; /* "platypusutils.pyx":230 * * for i in xrange(1,n): * answer *= (x+i) # <<<<<<<<<<<<<< * * return answer */ __pyx_t_3 = PyNumber_Add(__pyx_v_x, __pyx_v_i); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyNumber_InPlaceMultiply(__pyx_v_answer, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_v_answer); __pyx_v_answer = __pyx_t_6; __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":232 * answer *= (x+i) * * return answer # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_answer); __pyx_r = __pyx_v_answer; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("platypusutils.poch", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_answer); __Pyx_XDECREF(__pyx_v_i); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_13logPoch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_12logPoch[] = "\n Natural logarithm of the pochhammer symbol\n "; static PyMethodDef __pyx_mdef_13platypusutils_13logPoch = {__Pyx_NAMESTR("logPoch"), (PyCFunction)__pyx_pw_13platypusutils_13logPoch, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_12logPoch)}; static PyObject *__pyx_pw_13platypusutils_13logPoch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_x = 0; PyObject *__pyx_v_n = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("logPoch (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__n,0}; PyObject* values[2] = {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 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__x)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("logPoch", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "logPoch") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_x = values[0]; __pyx_v_n = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("logPoch", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.logPoch", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_12logPoch(__pyx_self, __pyx_v_x, __pyx_v_n); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":236 * ################################################################################################### * * def logPoch(x,n): # <<<<<<<<<<<<<< * """ * Natural logarithm of the pochhammer symbol */ static PyObject *__pyx_pf_13platypusutils_12logPoch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_n) { double __pyx_v_answer; PyObject *__pyx_v_i = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; double __pyx_t_3; PyObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; PyObject *(*__pyx_t_6)(PyObject *); PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("logPoch", 0); /* "platypusutils.pyx":240 * Natural logarithm of the pochhammer symbol * """ * if n == 0: # <<<<<<<<<<<<<< * return log(1) * */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_n, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "platypusutils.pyx":241 * """ * if n == 0: * return log(1) # <<<<<<<<<<<<<< * * answer = log(x) */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(log(1.0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "platypusutils.pyx":243 * return log(1) * * answer = log(x) # <<<<<<<<<<<<<< * * for i in xrange(1,n): */ __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_x); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_answer = log(__pyx_t_3); /* "platypusutils.pyx":245 * answer = log(x) * * for i in xrange(1,n): # <<<<<<<<<<<<<< * * if x + i == 0: */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); __Pyx_INCREF(__pyx_v_n); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_n); __Pyx_GIVEREF(__pyx_v_n); __pyx_t_4 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; if (PyList_CheckExact(__pyx_t_4) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_1)) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_1)) { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_4 = __pyx_t_6(__pyx_t_1); if (unlikely(!__pyx_t_4)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF(__pyx_v_i); __pyx_v_i = __pyx_t_4; __pyx_t_4 = 0; /* "platypusutils.pyx":247 * for i in xrange(1,n): * * if x + i == 0: # <<<<<<<<<<<<<< * continue * */ __pyx_t_4 = PyNumber_Add(__pyx_v_x, __pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* "platypusutils.pyx":248 * * if x + i == 0: * continue # <<<<<<<<<<<<<< * * answer += log(abs(x+i)) */ goto __pyx_L4_continue; goto __pyx_L6; } __pyx_L6:; /* "platypusutils.pyx":250 * continue * * answer += log(abs(x+i)) # <<<<<<<<<<<<<< * * return answer */ __pyx_t_7 = PyNumber_Add(__pyx_v_x, __pyx_v_i); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyNumber_Absolute(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_answer = (__pyx_v_answer + log(__pyx_t_3)); __pyx_L4_continue:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":252 * answer += log(abs(x+i)) * * return answer # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_answer); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("platypusutils.logPoch", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_i); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":256 * ################################################################################################### * * cdef double threeFTwo(int k, int n, int alpha, int beta): # <<<<<<<<<<<<<< * """ * The generalised hypergeometric function 3F_2(a; b; k). */ static double __pyx_f_13platypusutils_threeFTwo(int __pyx_v_k, int __pyx_v_n, int __pyx_v_alpha, int __pyx_v_beta) { CYTHON_UNUSED double __pyx_v_a_1; double __pyx_v_a_2; double __pyx_v_a_3; double __pyx_v_b_1; double __pyx_v_b_2; CYTHON_UNUSED double __pyx_v_z; double __pyx_v_theSum; double __pyx_v_lastTerm; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_newTerm = NULL; double __pyx_r; __Pyx_RefNannyDeclarations unsigned long __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; PyObject *(*__pyx_t_5)(PyObject *); PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; double __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("threeFTwo", 0); /* "platypusutils.pyx":267 * z = 1 * """ * cdef double a_1 = 1.0 # <<<<<<<<<<<<<< * cdef double a_2 = alpha + k + 1.0 * cdef double a_3 = k - n + 1.0 */ __pyx_v_a_1 = 1.0; /* "platypusutils.pyx":268 * """ * cdef double a_1 = 1.0 * cdef double a_2 = alpha + k + 1.0 # <<<<<<<<<<<<<< * cdef double a_3 = k - n + 1.0 * cdef double b_1 = k + 2.0 */ __pyx_v_a_2 = ((__pyx_v_alpha + __pyx_v_k) + 1.0); /* "platypusutils.pyx":269 * cdef double a_1 = 1.0 * cdef double a_2 = alpha + k + 1.0 * cdef double a_3 = k - n + 1.0 # <<<<<<<<<<<<<< * cdef double b_1 = k + 2.0 * cdef double b_2 = -beta - n + k + 2.0 */ __pyx_v_a_3 = ((__pyx_v_k - __pyx_v_n) + 1.0); /* "platypusutils.pyx":270 * cdef double a_2 = alpha + k + 1.0 * cdef double a_3 = k - n + 1.0 * cdef double b_1 = k + 2.0 # <<<<<<<<<<<<<< * cdef double b_2 = -beta - n + k + 2.0 * cdef double z = 1.0 */ __pyx_v_b_1 = (__pyx_v_k + 2.0); /* "platypusutils.pyx":271 * cdef double a_3 = k - n + 1.0 * cdef double b_1 = k + 2.0 * cdef double b_2 = -beta - n + k + 2.0 # <<<<<<<<<<<<<< * cdef double z = 1.0 * cdef double theSum = 0.0 */ __pyx_v_b_2 = ((((-__pyx_v_beta) - __pyx_v_n) + __pyx_v_k) + 2.0); /* "platypusutils.pyx":272 * cdef double b_1 = k + 2.0 * cdef double b_2 = -beta - n + k + 2.0 * cdef double z = 1.0 # <<<<<<<<<<<<<< * cdef double theSum = 0.0 * cdef double lastTerm = 1.0 */ __pyx_v_z = 1.0; /* "platypusutils.pyx":273 * cdef double b_2 = -beta - n + k + 2.0 * cdef double z = 1.0 * cdef double theSum = 0.0 # <<<<<<<<<<<<<< * cdef double lastTerm = 1.0 * */ __pyx_v_theSum = 0.0; /* "platypusutils.pyx":274 * cdef double z = 1.0 * cdef double theSum = 0.0 * cdef double lastTerm = 1.0 # <<<<<<<<<<<<<< * * theSum = lastTerm */ __pyx_v_lastTerm = 1.0; /* "platypusutils.pyx":276 * cdef double lastTerm = 1.0 * * theSum = lastTerm # <<<<<<<<<<<<<< * * for i in xrange(1, abs(k-n+1)+1): */ __pyx_v_theSum = __pyx_v_lastTerm; /* "platypusutils.pyx":278 * theSum = lastTerm * * for i in xrange(1, abs(k-n+1)+1): # <<<<<<<<<<<<<< * newTerm = lastTerm * (a_2 + i - 1) * (a_3 + i - 1) / ( (b_1 + i - 1)*(b_2 + i - 1) ) * theSum += newTerm */ __pyx_t_1 = __Pyx_abs_long(((__pyx_v_k - __pyx_v_n) + 1)); __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_t_1 + 1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __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 = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_2 = __pyx_t_5(__pyx_t_3); if (unlikely(!__pyx_t_2)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF(__pyx_v_i); __pyx_v_i = __pyx_t_2; __pyx_t_2 = 0; /* "platypusutils.pyx":279 * * for i in xrange(1, abs(k-n+1)+1): * newTerm = lastTerm * (a_2 + i - 1) * (a_3 + i - 1) / ( (b_1 + i - 1)*(b_2 + i - 1) ) # <<<<<<<<<<<<<< * theSum += newTerm * lastTerm = newTerm */ __pyx_t_2 = PyFloat_FromDouble(__pyx_v_lastTerm); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_a_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyNumber_Add(__pyx_t_6, __pyx_v_i); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_t_7, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_v_a_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyNumber_Add(__pyx_t_6, __pyx_v_i); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_t_2, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_v_b_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyNumber_Add(__pyx_t_6, __pyx_v_i); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_t_7, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyFloat_FromDouble(__pyx_v_b_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyNumber_Add(__pyx_t_7, __pyx_v_i); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_8, __pyx_int_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_v_newTerm); __pyx_v_newTerm = __pyx_t_7; __pyx_t_7 = 0; /* "platypusutils.pyx":280 * for i in xrange(1, abs(k-n+1)+1): * newTerm = lastTerm * (a_2 + i - 1) * (a_3 + i - 1) / ( (b_1 + i - 1)*(b_2 + i - 1) ) * theSum += newTerm # <<<<<<<<<<<<<< * lastTerm = newTerm * */ __pyx_t_7 = PyFloat_FromDouble(__pyx_v_theSum); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_7, __pyx_v_newTerm); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_theSum = __pyx_t_9; /* "platypusutils.pyx":281 * newTerm = lastTerm * (a_2 + i - 1) * (a_3 + i - 1) / ( (b_1 + i - 1)*(b_2 + i - 1) ) * theSum += newTerm * lastTerm = newTerm # <<<<<<<<<<<<<< * * return theSum */ __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_v_newTerm); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_lastTerm = __pyx_t_9; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":283 * lastTerm = newTerm * * return theSum # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_theSum; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_WriteUnraisable("platypusutils.threeFTwo", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_newTerm); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_15py_betaBinomialCDF(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_14py_betaBinomialCDF[] = "\n Thin Python wrapper.\n "; static PyMethodDef __pyx_mdef_13platypusutils_15py_betaBinomialCDF = {__Pyx_NAMESTR("py_betaBinomialCDF"), (PyCFunction)__pyx_pw_13platypusutils_15py_betaBinomialCDF, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_14py_betaBinomialCDF)}; static PyObject *__pyx_pw_13platypusutils_15py_betaBinomialCDF(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_k = 0; PyObject *__pyx_v_n = 0; PyObject *__pyx_v_alpha = 0; PyObject *__pyx_v_beta = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py_betaBinomialCDF (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__k,&__pyx_n_s__n,&__pyx_n_s__alpha,&__pyx_n_s__beta,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__k)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("py_betaBinomialCDF", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("py_betaBinomialCDF", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__beta)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("py_betaBinomialCDF", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_betaBinomialCDF") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __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_k = values[0]; __pyx_v_n = values[1]; __pyx_v_alpha = values[2]; __pyx_v_beta = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("py_betaBinomialCDF", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.py_betaBinomialCDF", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_14py_betaBinomialCDF(__pyx_self, __pyx_v_k, __pyx_v_n, __pyx_v_alpha, __pyx_v_beta); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":287 * ################################################################################################### * * def py_betaBinomialCDF(k, n, alpha, beta): # <<<<<<<<<<<<<< * """ * Thin Python wrapper. */ static PyObject *__pyx_pf_13platypusutils_14py_betaBinomialCDF(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_k, PyObject *__pyx_v_n, PyObject *__pyx_v_alpha, PyObject *__pyx_v_beta) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py_betaBinomialCDF", 0); /* "platypusutils.pyx":291 * Thin Python wrapper. * """ * return betaBinomialCDF(k, n, alpha, beta) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_k); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_v_n); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_v_alpha); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_v_beta); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = PyFloat_FromDouble(__pyx_f_13platypusutils_betaBinomialCDF(__pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("platypusutils.py_betaBinomialCDF", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":295 * ################################################################################################### * * cdef double betaBinomialCDF(int k, int n, int alpha, int beta): # <<<<<<<<<<<<<< * """ * Return the cumulative probability of the beta-binomial distribution. */ static double __pyx_f_13platypusutils_betaBinomialCDF(int __pyx_v_k, int __pyx_v_n, int __pyx_v_alpha, int __pyx_v_beta) { double __pyx_v_numerator; double __pyx_v_denominator; double __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; double __pyx_t_2; double __pyx_t_3; double __pyx_t_4; __Pyx_RefNannySetupContext("betaBinomialCDF", 0); /* "platypusutils.pyx":299 * Return the cumulative probability of the beta-binomial distribution. * """ * if k == n: # <<<<<<<<<<<<<< * return 1.0 * */ __pyx_t_1 = (__pyx_v_k == __pyx_v_n); if (__pyx_t_1) { /* "platypusutils.pyx":300 * """ * if k == n: * return 1.0 # <<<<<<<<<<<<<< * * cdef double numerator = logBetaFunction(beta+n-k-1, alpha+k+1) + log(threeFTwo(k, n, alpha, beta)) */ __pyx_r = 1.0; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "platypusutils.pyx":302 * return 1.0 * * cdef double numerator = logBetaFunction(beta+n-k-1, alpha+k+1) + log(threeFTwo(k, n, alpha, beta)) # <<<<<<<<<<<<<< * cdef double denominator = logBetaFunction(alpha,beta) + logBetaFunction(n-k,k+2) + log(n+1) * return max(1e-10, 1.0-exp(numerator - denominator)) */ __pyx_v_numerator = (__pyx_f_13platypusutils_logBetaFunction((((__pyx_v_beta + __pyx_v_n) - __pyx_v_k) - 1), ((__pyx_v_alpha + __pyx_v_k) + 1)) + log(__pyx_f_13platypusutils_threeFTwo(__pyx_v_k, __pyx_v_n, __pyx_v_alpha, __pyx_v_beta))); /* "platypusutils.pyx":303 * * cdef double numerator = logBetaFunction(beta+n-k-1, alpha+k+1) + log(threeFTwo(k, n, alpha, beta)) * cdef double denominator = logBetaFunction(alpha,beta) + logBetaFunction(n-k,k+2) + log(n+1) # <<<<<<<<<<<<<< * return max(1e-10, 1.0-exp(numerator - denominator)) * */ __pyx_v_denominator = ((__pyx_f_13platypusutils_logBetaFunction(__pyx_v_alpha, __pyx_v_beta) + __pyx_f_13platypusutils_logBetaFunction((__pyx_v_n - __pyx_v_k), (__pyx_v_k + 2))) + log((__pyx_v_n + 1))); /* "platypusutils.pyx":304 * cdef double numerator = logBetaFunction(beta+n-k-1, alpha+k+1) + log(threeFTwo(k, n, alpha, beta)) * cdef double denominator = logBetaFunction(alpha,beta) + logBetaFunction(n-k,k+2) + log(n+1) * return max(1e-10, 1.0-exp(numerator - denominator)) # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_t_2 = (1.0 - exp((__pyx_v_numerator - __pyx_v_denominator))); __pyx_t_3 = 1e-10; if ((__pyx_t_2 > __pyx_t_3)) { __pyx_t_4 = __pyx_t_2; } else { __pyx_t_4 = __pyx_t_3; } __pyx_r = __pyx_t_4; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":308 * ################################################################################################### * * cdef double binomial(int x, int size, double prob): # <<<<<<<<<<<<<< * """ * Optimised binomial probability function. */ static double __pyx_f_13platypusutils_binomial(int __pyx_v_x, int __pyx_v_size, double __pyx_v_prob) { double __pyx_v_logBinomCoefficient; double __pyx_v_logBinomProb; double __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; __Pyx_RefNannySetupContext("binomial", 0); /* "platypusutils.pyx":312 * Optimised binomial probability function. * """ * if x == size and prob == 1: # <<<<<<<<<<<<<< * return 1.0 * elif x != size and prob == 1: */ __pyx_t_1 = (__pyx_v_x == __pyx_v_size); if (__pyx_t_1) { __pyx_t_2 = (__pyx_v_prob == 1.0); __pyx_t_3 = __pyx_t_2; } else { __pyx_t_3 = __pyx_t_1; } if (__pyx_t_3) { /* "platypusutils.pyx":313 * """ * if x == size and prob == 1: * return 1.0 # <<<<<<<<<<<<<< * elif x != size and prob == 1: * return 0.0 */ __pyx_r = 1.0; goto __pyx_L0; goto __pyx_L3; } /* "platypusutils.pyx":314 * if x == size and prob == 1: * return 1.0 * elif x != size and prob == 1: # <<<<<<<<<<<<<< * return 0.0 * elif x == 0 and prob == 0: */ __pyx_t_3 = (__pyx_v_x != __pyx_v_size); if (__pyx_t_3) { __pyx_t_1 = (__pyx_v_prob == 1.0); __pyx_t_2 = __pyx_t_1; } else { __pyx_t_2 = __pyx_t_3; } if (__pyx_t_2) { /* "platypusutils.pyx":315 * return 1.0 * elif x != size and prob == 1: * return 0.0 # <<<<<<<<<<<<<< * elif x == 0 and prob == 0: * return 1.0 */ __pyx_r = 0.0; goto __pyx_L0; goto __pyx_L3; } /* "platypusutils.pyx":316 * elif x != size and prob == 1: * return 0.0 * elif x == 0 and prob == 0: # <<<<<<<<<<<<<< * return 1.0 * elif x == 0 and prob == 1: */ __pyx_t_2 = (__pyx_v_x == 0); if (__pyx_t_2) { __pyx_t_3 = (__pyx_v_prob == 0.0); __pyx_t_1 = __pyx_t_3; } else { __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { /* "platypusutils.pyx":317 * return 0.0 * elif x == 0 and prob == 0: * return 1.0 # <<<<<<<<<<<<<< * elif x == 0 and prob == 1: * return 0.0 */ __pyx_r = 1.0; goto __pyx_L0; goto __pyx_L3; } /* "platypusutils.pyx":318 * elif x == 0 and prob == 0: * return 1.0 * elif x == 0 and prob == 1: # <<<<<<<<<<<<<< * return 0.0 * elif x == 0 and size == 0: */ __pyx_t_1 = (__pyx_v_x == 0); if (__pyx_t_1) { __pyx_t_2 = (__pyx_v_prob == 1.0); __pyx_t_3 = __pyx_t_2; } else { __pyx_t_3 = __pyx_t_1; } if (__pyx_t_3) { /* "platypusutils.pyx":319 * return 1.0 * elif x == 0 and prob == 1: * return 0.0 # <<<<<<<<<<<<<< * elif x == 0 and size == 0: * return 1.0 */ __pyx_r = 0.0; goto __pyx_L0; goto __pyx_L3; } /* "platypusutils.pyx":320 * elif x == 0 and prob == 1: * return 0.0 * elif x == 0 and size == 0: # <<<<<<<<<<<<<< * return 1.0 * */ __pyx_t_3 = (__pyx_v_x == 0); if (__pyx_t_3) { __pyx_t_1 = (__pyx_v_size == 0); __pyx_t_2 = __pyx_t_1; } else { __pyx_t_2 = __pyx_t_3; } if (__pyx_t_2) { /* "platypusutils.pyx":321 * return 0.0 * elif x == 0 and size == 0: * return 1.0 # <<<<<<<<<<<<<< * * cdef double logBinomCoefficient = logFactorial(size) - (logFactorial(x) + logFactorial(size-x)) */ __pyx_r = 1.0; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "platypusutils.pyx":323 * return 1.0 * * cdef double logBinomCoefficient = logFactorial(size) - (logFactorial(x) + logFactorial(size-x)) # <<<<<<<<<<<<<< * cdef double logBinomProb = x*log(prob) + (size-x)*log(1.0-prob) * */ __pyx_v_logBinomCoefficient = (__pyx_f_13platypusutils_logFactorial(__pyx_v_size) - (__pyx_f_13platypusutils_logFactorial(__pyx_v_x) + __pyx_f_13platypusutils_logFactorial((__pyx_v_size - __pyx_v_x)))); /* "platypusutils.pyx":324 * * cdef double logBinomCoefficient = logFactorial(size) - (logFactorial(x) + logFactorial(size-x)) * cdef double logBinomProb = x*log(prob) + (size-x)*log(1.0-prob) # <<<<<<<<<<<<<< * * return exp(logBinomCoefficient + logBinomProb) */ __pyx_v_logBinomProb = ((__pyx_v_x * log(__pyx_v_prob)) + ((__pyx_v_size - __pyx_v_x) * log((1.0 - __pyx_v_prob)))); /* "platypusutils.pyx":326 * cdef double logBinomProb = x*log(prob) + (size-x)*log(1.0-prob) * * return exp(logBinomCoefficient + logBinomProb) # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = exp((__pyx_v_logBinomCoefficient + __pyx_v_logBinomProb)); goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_17nPermutations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_16nPermutations[] = "\n Return the number of combinations of nChosen objects selected from\n a pool of nObjects, where the order is significant, and objects are\n not replaced.\n "; static PyMethodDef __pyx_mdef_13platypusutils_17nPermutations = {__Pyx_NAMESTR("nPermutations"), (PyCFunction)__pyx_pw_13platypusutils_17nPermutations, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_16nPermutations)}; static PyObject *__pyx_pw_13platypusutils_17nPermutations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_nObjects = 0; PyObject *__pyx_v_nChosen = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("nPermutations (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__nObjects,&__pyx_n_s__nChosen,0}; PyObject* values[2] = {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 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__nObjects)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__nChosen)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("nPermutations", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nPermutations") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_nObjects = values[0]; __pyx_v_nChosen = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("nPermutations", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.nPermutations", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_16nPermutations(__pyx_self, __pyx_v_nObjects, __pyx_v_nChosen); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":330 * ################################################################################################### * * def nPermutations(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ static PyObject *__pyx_pf_13platypusutils_16nPermutations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("nPermutations", 0); /* "platypusutils.pyx":336 * not replaced. * """ * return int(round(exp( logFactorial(nObjects) - (logFactorial(nObjects - nChosen))), 2)) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_nObjects); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = PyNumber_Subtract(__pyx_v_nObjects, __pyx_v_nChosen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(exp((__pyx_f_13platypusutils_logFactorial(__pyx_t_1) - __pyx_f_13platypusutils_logFactorial(__pyx_t_3)))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __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 = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_builtin_round, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__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 = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("platypusutils.nPermutations", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_19nCombinations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_18nCombinations[] = "\n Return the number of combinations of nChosen objects selected from\n a pool of nObjects, where the order is not significant, and objects are\n not replaced.\n "; static PyMethodDef __pyx_mdef_13platypusutils_19nCombinations = {__Pyx_NAMESTR("nCombinations"), (PyCFunction)__pyx_pw_13platypusutils_19nCombinations, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_18nCombinations)}; static PyObject *__pyx_pw_13platypusutils_19nCombinations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_nObjects = 0; PyObject *__pyx_v_nChosen = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("nCombinations (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__nObjects,&__pyx_n_s__nChosen,0}; PyObject* values[2] = {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 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__nObjects)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__nChosen)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("nCombinations", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nCombinations") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_nObjects = values[0]; __pyx_v_nChosen = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("nCombinations", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.nCombinations", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_18nCombinations(__pyx_self, __pyx_v_nObjects, __pyx_v_nChosen); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":340 * ################################################################################################### * * def nCombinations(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ static PyObject *__pyx_pf_13platypusutils_18nCombinations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("nCombinations", 0); /* "platypusutils.pyx":346 * not replaced. * """ * return int(round(exp( logFactorial(nObjects) - (logFactorial(nChosen) + logFactorial(nObjects - nChosen))), 2)) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_nObjects); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_v_nChosen); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = PyNumber_Subtract(__pyx_v_nObjects, __pyx_v_nChosen); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(exp((__pyx_f_13platypusutils_logFactorial(__pyx_t_1) - (__pyx_f_13platypusutils_logFactorial(__pyx_t_2) + __pyx_f_13platypusutils_logFactorial(__pyx_t_4))))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(__pyx_builtin_round, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("platypusutils.nCombinations", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_21nPermutationsWithReplacement(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_20nPermutationsWithReplacement[] = "\n Return the number of combinations of nChosen objects selected from\n a pool of nObjects, where the order is significant, and objects are\n replaced.\n "; static PyMethodDef __pyx_mdef_13platypusutils_21nPermutationsWithReplacement = {__Pyx_NAMESTR("nPermutationsWithReplacement"), (PyCFunction)__pyx_pw_13platypusutils_21nPermutationsWithReplacement, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_20nPermutationsWithReplacement)}; static PyObject *__pyx_pw_13platypusutils_21nPermutationsWithReplacement(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_nObjects = 0; PyObject *__pyx_v_nChosen = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("nPermutationsWithReplacement (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__nObjects,&__pyx_n_s__nChosen,0}; PyObject* values[2] = {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 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__nObjects)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__nChosen)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("nPermutationsWithReplacement", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nPermutationsWithReplacement") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_nObjects = values[0]; __pyx_v_nChosen = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("nPermutationsWithReplacement", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.nPermutationsWithReplacement", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_20nPermutationsWithReplacement(__pyx_self, __pyx_v_nObjects, __pyx_v_nChosen); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":350 * ################################################################################################### * * def nPermutationsWithReplacement(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ static PyObject *__pyx_pf_13platypusutils_20nPermutationsWithReplacement(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("nPermutationsWithReplacement", 0); /* "platypusutils.pyx":356 * replaced. * """ * return nObjects**nChosen # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Power(__pyx_v_nObjects, __pyx_v_nChosen, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("platypusutils.nPermutationsWithReplacement", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_23nCombinationsWithReplacement(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_22nCombinationsWithReplacement[] = "\n Return the number of combinations of nChosen objects selected from\n a pool of nObjects, where the order is not significant, and objects are\n replaced.\n "; static PyMethodDef __pyx_mdef_13platypusutils_23nCombinationsWithReplacement = {__Pyx_NAMESTR("nCombinationsWithReplacement"), (PyCFunction)__pyx_pw_13platypusutils_23nCombinationsWithReplacement, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_22nCombinationsWithReplacement)}; static PyObject *__pyx_pw_13platypusutils_23nCombinationsWithReplacement(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_nObjects = 0; PyObject *__pyx_v_nChosen = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("nCombinationsWithReplacement (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__nObjects,&__pyx_n_s__nChosen,0}; PyObject* values[2] = {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 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__nObjects)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__nChosen)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("nCombinationsWithReplacement", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "nCombinationsWithReplacement") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_nObjects = values[0]; __pyx_v_nChosen = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("nCombinationsWithReplacement", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.nCombinationsWithReplacement", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_22nCombinationsWithReplacement(__pyx_self, __pyx_v_nObjects, __pyx_v_nChosen); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":360 * ################################################################################################### * * def nCombinationsWithReplacement(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ static PyObject *__pyx_pf_13platypusutils_22nCombinationsWithReplacement(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nObjects, PyObject *__pyx_v_nChosen) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("nCombinationsWithReplacement", 0); /* "platypusutils.pyx":366 * replaced. * """ * return int(round((exp( logFactorial(nChosen + nObjects - 1) - ( logFactorial(nChosen) + logFactorial(nObjects - 1) ) )), 2)) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Add(__pyx_v_nChosen, __pyx_v_nObjects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_v_nChosen); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = PyNumber_Subtract(__pyx_v_nObjects, __pyx_int_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble(exp((__pyx_f_13platypusutils_logFactorial(__pyx_t_3) - (__pyx_f_13platypusutils_logFactorial(__pyx_t_4) + __pyx_f_13platypusutils_logFactorial(__pyx_t_5))))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_2); __Pyx_GIVEREF(__pyx_int_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_builtin_round, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("platypusutils.nCombinationsWithReplacement", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":370 * ################################################################################################### * * cpdef tuple pruned_read_start_end(read, int minq, int minAnchor): # <<<<<<<<<<<<<< * """ * Calculates the start and end of the read, pruning low-quality bases at either end */ static PyObject *__pyx_pw_13platypusutils_25pruned_read_start_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_13platypusutils_pruned_read_start_end(PyObject *__pyx_v_read, int __pyx_v_minq, int __pyx_v_minAnchor, CYTHON_UNUSED int __pyx_skip_dispatch) { PyObject *__pyx_v_qual = 0; char *__pyx_v_cqual; int __pyx_v_readlen; int __pyx_v_BASEQ; int __pyx_v_readstart; int __pyx_v_readend; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; char *__pyx_t_2; Py_ssize_t __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("pruned_read_start_end", 0); /* "platypusutils.pyx":374 * Calculates the start and end of the read, pruning low-quality bases at either end * """ * cdef bytes qual = read.qual # <<<<<<<<<<<<<< * cdef char* cqual = qual * cdef int readlen = len(qual) */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_read, __pyx_n_s__qual); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected bytes, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_qual = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":375 * """ * cdef bytes qual = read.qual * cdef char* cqual = qual # <<<<<<<<<<<<<< * cdef int readlen = len(qual) * cdef int BASEQ = 33 */ __pyx_t_2 = PyBytes_AsString(((PyObject *)__pyx_v_qual)); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_cqual = __pyx_t_2; /* "platypusutils.pyx":376 * cdef bytes qual = read.qual * cdef char* cqual = qual * cdef int readlen = len(qual) # <<<<<<<<<<<<<< * cdef int BASEQ = 33 * # find pruned start and end on read */ if (unlikely(((PyObject *)__pyx_v_qual) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = PyBytes_GET_SIZE(((PyObject *)__pyx_v_qual)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_readlen = __pyx_t_3; /* "platypusutils.pyx":377 * cdef char* cqual = qual * cdef int readlen = len(qual) * cdef int BASEQ = 33 # <<<<<<<<<<<<<< * # find pruned start and end on read * cdef int readstart = 0 */ __pyx_v_BASEQ = 33; /* "platypusutils.pyx":379 * cdef int BASEQ = 33 * # find pruned start and end on read * cdef int readstart = 0 # <<<<<<<<<<<<<< * cdef int readend = readlen * while readend > 0 and cqual[readend-1] - BASEQ < minq: */ __pyx_v_readstart = 0; /* "platypusutils.pyx":380 * # find pruned start and end on read * cdef int readstart = 0 * cdef int readend = readlen # <<<<<<<<<<<<<< * while readend > 0 and cqual[readend-1] - BASEQ < minq: * readend -= 1 */ __pyx_v_readend = __pyx_v_readlen; /* "platypusutils.pyx":381 * cdef int readstart = 0 * cdef int readend = readlen * while readend > 0 and cqual[readend-1] - BASEQ < minq: # <<<<<<<<<<<<<< * readend -= 1 * readend -= minAnchor */ while (1) { __pyx_t_4 = (__pyx_v_readend > 0); if (__pyx_t_4) { __pyx_t_5 = (((__pyx_v_cqual[(__pyx_v_readend - 1)]) - __pyx_v_BASEQ) < __pyx_v_minq); __pyx_t_6 = __pyx_t_5; } else { __pyx_t_6 = __pyx_t_4; } if (!__pyx_t_6) break; /* "platypusutils.pyx":382 * cdef int readend = readlen * while readend > 0 and cqual[readend-1] - BASEQ < minq: * readend -= 1 # <<<<<<<<<<<<<< * readend -= minAnchor * while readstart < readend and cqual[readstart] - BASEQ < minq: */ __pyx_v_readend = (__pyx_v_readend - 1); } /* "platypusutils.pyx":383 * while readend > 0 and cqual[readend-1] - BASEQ < minq: * readend -= 1 * readend -= minAnchor # <<<<<<<<<<<<<< * while readstart < readend and cqual[readstart] - BASEQ < minq: * readstart += 1 */ __pyx_v_readend = (__pyx_v_readend - __pyx_v_minAnchor); /* "platypusutils.pyx":384 * readend -= 1 * readend -= minAnchor * while readstart < readend and cqual[readstart] - BASEQ < minq: # <<<<<<<<<<<<<< * readstart += 1 * readstart += minAnchor */ while (1) { __pyx_t_6 = (__pyx_v_readstart < __pyx_v_readend); if (__pyx_t_6) { __pyx_t_4 = (((__pyx_v_cqual[__pyx_v_readstart]) - __pyx_v_BASEQ) < __pyx_v_minq); __pyx_t_5 = __pyx_t_4; } else { __pyx_t_5 = __pyx_t_6; } if (!__pyx_t_5) break; /* "platypusutils.pyx":385 * readend -= minAnchor * while readstart < readend and cqual[readstart] - BASEQ < minq: * readstart += 1 # <<<<<<<<<<<<<< * readstart += minAnchor * return readstart, readend */ __pyx_v_readstart = (__pyx_v_readstart + 1); } /* "platypusutils.pyx":386 * while readstart < readend and cqual[readstart] - BASEQ < minq: * readstart += 1 * readstart += minAnchor # <<<<<<<<<<<<<< * return readstart, readend * */ __pyx_v_readstart = (__pyx_v_readstart + __pyx_v_minAnchor); /* "platypusutils.pyx":387 * readstart += 1 * readstart += minAnchor * return readstart, readend # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_1 = PyInt_FromLong(__pyx_v_readstart); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyInt_FromLong(__pyx_v_readend); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_1 = 0; __pyx_t_7 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("platypusutils.pruned_read_start_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_qual); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_25pruned_read_start_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_24pruned_read_start_end[] = "\n Calculates the start and end of the read, pruning low-quality bases at either end\n "; static PyObject *__pyx_pw_13platypusutils_25pruned_read_start_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_read = 0; int __pyx_v_minq; int __pyx_v_minAnchor; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("pruned_read_start_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__read,&__pyx_n_s__minq,&__pyx_n_s__minAnchor,0}; PyObject* values[3] = {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 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__read)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__minq)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("pruned_read_start_end", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__minAnchor)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("pruned_read_start_end", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pruned_read_start_end") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { 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); } __pyx_v_read = values[0]; __pyx_v_minq = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_minq == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_minAnchor = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_minAnchor == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("pruned_read_start_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.pruned_read_start_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_24pruned_read_start_end(__pyx_self, __pyx_v_read, __pyx_v_minq, __pyx_v_minAnchor); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":370 * ################################################################################################### * * cpdef tuple pruned_read_start_end(read, int minq, int minAnchor): # <<<<<<<<<<<<<< * """ * Calculates the start and end of the read, pruning low-quality bases at either end */ static PyObject *__pyx_pf_13platypusutils_24pruned_read_start_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_read, int __pyx_v_minq, int __pyx_v_minAnchor) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("pruned_read_start_end", 0); __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_13platypusutils_pruned_read_start_end(__pyx_v_read, __pyx_v_minq, __pyx_v_minAnchor, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("platypusutils.pruned_read_start_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":391 * ################################################################################################### * * cpdef tuple pruned_ref_start_end(read, int minq, int minAnchor): # <<<<<<<<<<<<<< * """ * Calculates the reference start and end of the read, pruning low-quality bases at either end, */ static PyObject *__pyx_pw_13platypusutils_27pruned_ref_start_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_13platypusutils_pruned_ref_start_end(PyObject *__pyx_v_read, int __pyx_v_minq, int __pyx_v_minAnchor, CYTHON_UNUSED int __pyx_skip_dispatch) { PyObject *__pyx_v_cigar = 0; int __pyx_v_refpos; int __pyx_v_readstart; int __pyx_v_readend; int __pyx_v_readpos; int __pyx_v_refstart; int __pyx_v_refend; int __pyx_v_op; int __pyx_v_le; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *(*__pyx_t_6)(PyObject *); int __pyx_t_7; int __pyx_t_8; int __pyx_t_9; int __pyx_t_10; Py_ssize_t __pyx_t_11; PyObject *__pyx_t_12 = NULL; int __pyx_t_13; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("pruned_ref_start_end", 0); /* "platypusutils.pyx":396 * and removing an anchor sequence at either end * """ * cdef list cigar = read.cigar # <<<<<<<<<<<<<< * cdef int refpos = read.pos * cdef int readstart */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_read, __pyx_n_s__cigar); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_cigar = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":397 * """ * cdef list cigar = read.cigar * cdef int refpos = read.pos # <<<<<<<<<<<<<< * cdef int readstart * cdef int readend */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_read, __pyx_n_s__pos); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_refpos = __pyx_t_2; /* "platypusutils.pyx":400 * cdef int readstart * cdef int readend * readstart, readend = pruned_read_start_end(read, minq, minAnchor) # <<<<<<<<<<<<<< * # deal with very low quality reads * if readstart >= readend or not cigar: */ __pyx_t_1 = ((PyObject *)__pyx_f_13platypusutils_pruned_read_start_end(__pyx_v_read, __pyx_v_minq, __pyx_v_minAnchor, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (likely(PyTuple_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else if (1) { __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L4_unpacking_done:; } __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_readstart = __pyx_t_2; __pyx_v_readend = __pyx_t_7; /* "platypusutils.pyx":402 * readstart, readend = pruned_read_start_end(read, minq, minAnchor) * # deal with very low quality reads * if readstart >= readend or not cigar: # <<<<<<<<<<<<<< * return refpos, refpos * # now convert start/end to refstart/refend */ __pyx_t_8 = (__pyx_v_readstart >= __pyx_v_readend); if (!__pyx_t_8) { __pyx_t_9 = (((PyObject *)__pyx_v_cigar) != Py_None) && (PyList_GET_SIZE(((PyObject *)__pyx_v_cigar)) != 0); __pyx_t_10 = (!__pyx_t_9); __pyx_t_9 = __pyx_t_10; } else { __pyx_t_9 = __pyx_t_8; } if (__pyx_t_9) { /* "platypusutils.pyx":403 * # deal with very low quality reads * if readstart >= readend or not cigar: * return refpos, refpos # <<<<<<<<<<<<<< * # now convert start/end to refstart/refend * cdef int readpos = 0 */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_1 = PyInt_FromLong(__pyx_v_refpos); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyInt_FromLong(__pyx_v_refpos); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; goto __pyx_L5; } __pyx_L5:; /* "platypusutils.pyx":405 * return refpos, refpos * # now convert start/end to refstart/refend * cdef int readpos = 0 # <<<<<<<<<<<<<< * cdef int refstart = -1 * cdef int refend = -1 */ __pyx_v_readpos = 0; /* "platypusutils.pyx":406 * # now convert start/end to refstart/refend * cdef int readpos = 0 * cdef int refstart = -1 # <<<<<<<<<<<<<< * cdef int refend = -1 * cdef int op */ __pyx_v_refstart = -1; /* "platypusutils.pyx":407 * cdef int readpos = 0 * cdef int refstart = -1 * cdef int refend = -1 # <<<<<<<<<<<<<< * cdef int op * cdef int le */ __pyx_v_refend = -1; /* "platypusutils.pyx":410 * cdef int op * cdef int le * for op, le in cigar: # <<<<<<<<<<<<<< * if op == CIGAR_M or op == CIGAR_I or op == CIGAR_S: * # does start lie in this segment? */ if (unlikely(((PyObject *)__pyx_v_cigar) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = ((PyObject *)__pyx_v_cigar); __Pyx_INCREF(__pyx_t_3); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_12)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_6(__pyx_t_12); if (unlikely(!__pyx_t_1)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_5 = __pyx_t_6(__pyx_t_12); if (unlikely(!__pyx_t_5)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_12), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L9_unpacking_done; __pyx_L8_unpacking_failed:; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L9_unpacking_done:; } __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_op = __pyx_t_7; __pyx_v_le = __pyx_t_2; /* "platypusutils.pyx":411 * cdef int le * for op, le in cigar: * if op == CIGAR_M or op == CIGAR_I or op == CIGAR_S: # <<<<<<<<<<<<<< * # does start lie in this segment? * if readpos <= readstart < readpos+le: */ __pyx_t_9 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_M); if (!__pyx_t_9) { __pyx_t_8 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_I); if (!__pyx_t_8) { __pyx_t_10 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_S); __pyx_t_13 = __pyx_t_10; } else { __pyx_t_13 = __pyx_t_8; } __pyx_t_8 = __pyx_t_13; } else { __pyx_t_8 = __pyx_t_9; } if (__pyx_t_8) { /* "platypusutils.pyx":413 * if op == CIGAR_M or op == CIGAR_I or op == CIGAR_S: * # does start lie in this segment? * if readpos <= readstart < readpos+le: # <<<<<<<<<<<<<< * # compute ref position and store * if op == CIGAR_M: */ __pyx_t_8 = (__pyx_v_readpos <= __pyx_v_readstart); if (__pyx_t_8) { __pyx_t_8 = (__pyx_v_readstart < (__pyx_v_readpos + __pyx_v_le)); } if (__pyx_t_8) { /* "platypusutils.pyx":415 * if readpos <= readstart < readpos+le: * # compute ref position and store * if op == CIGAR_M: # <<<<<<<<<<<<<< * refstart = refpos + (readstart - readpos) * else: */ __pyx_t_8 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_M); if (__pyx_t_8) { /* "platypusutils.pyx":416 * # compute ref position and store * if op == CIGAR_M: * refstart = refpos + (readstart - readpos) # <<<<<<<<<<<<<< * else: * refstart = refpos */ __pyx_v_refstart = (__pyx_v_refpos + (__pyx_v_readstart - __pyx_v_readpos)); goto __pyx_L12; } /*else*/ { /* "platypusutils.pyx":418 * refstart = refpos + (readstart - readpos) * else: * refstart = refpos # <<<<<<<<<<<<<< * # does end lie in this segment? * if readpos < readend <= readpos+le: */ __pyx_v_refstart = __pyx_v_refpos; } __pyx_L12:; goto __pyx_L11; } __pyx_L11:; /* "platypusutils.pyx":420 * refstart = refpos * # does end lie in this segment? * if readpos < readend <= readpos+le: # <<<<<<<<<<<<<< * # compute ref position and store * if op == CIGAR_M: */ __pyx_t_8 = (__pyx_v_readpos < __pyx_v_readend); if (__pyx_t_8) { __pyx_t_8 = (__pyx_v_readend <= (__pyx_v_readpos + __pyx_v_le)); } if (__pyx_t_8) { /* "platypusutils.pyx":422 * if readpos < readend <= readpos+le: * # compute ref position and store * if op == CIGAR_M: # <<<<<<<<<<<<<< * refend = refpos + (readend - readpos) * else: */ __pyx_t_8 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_M); if (__pyx_t_8) { /* "platypusutils.pyx":423 * # compute ref position and store * if op == CIGAR_M: * refend = refpos + (readend - readpos) # <<<<<<<<<<<<<< * else: * refend = refpos */ __pyx_v_refend = (__pyx_v_refpos + (__pyx_v_readend - __pyx_v_readpos)); goto __pyx_L14; } /*else*/ { /* "platypusutils.pyx":425 * refend = refpos + (readend - readpos) * else: * refend = refpos # <<<<<<<<<<<<<< * readpos += le * if op == CIGAR_M or op == CIGAR_D or op == CIGAR_N: */ __pyx_v_refend = __pyx_v_refpos; } __pyx_L14:; goto __pyx_L13; } __pyx_L13:; /* "platypusutils.pyx":426 * else: * refend = refpos * readpos += le # <<<<<<<<<<<<<< * if op == CIGAR_M or op == CIGAR_D or op == CIGAR_N: * refpos += le */ __pyx_v_readpos = (__pyx_v_readpos + __pyx_v_le); goto __pyx_L10; } __pyx_L10:; /* "platypusutils.pyx":427 * refend = refpos * readpos += le * if op == CIGAR_M or op == CIGAR_D or op == CIGAR_N: # <<<<<<<<<<<<<< * refpos += le * # deal with the case of a deletion at the right boundary */ __pyx_t_8 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_M); if (!__pyx_t_8) { __pyx_t_9 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_D); if (!__pyx_t_9) { __pyx_t_13 = (__pyx_v_op == __pyx_v_13platypusutils_CIGAR_N); __pyx_t_10 = __pyx_t_13; } else { __pyx_t_10 = __pyx_t_9; } __pyx_t_9 = __pyx_t_10; } else { __pyx_t_9 = __pyx_t_8; } if (__pyx_t_9) { /* "platypusutils.pyx":428 * readpos += le * if op == CIGAR_M or op == CIGAR_D or op == CIGAR_N: * refpos += le # <<<<<<<<<<<<<< * # deal with the case of a deletion at the right boundary * if readpos == readend: */ __pyx_v_refpos = (__pyx_v_refpos + __pyx_v_le); /* "platypusutils.pyx":430 * refpos += le * # deal with the case of a deletion at the right boundary * if readpos == readend: # <<<<<<<<<<<<<< * refend = refpos * # problem */ __pyx_t_9 = (__pyx_v_readpos == __pyx_v_readend); if (__pyx_t_9) { /* "platypusutils.pyx":431 * # deal with the case of a deletion at the right boundary * if readpos == readend: * refend = refpos # <<<<<<<<<<<<<< * # problem * assert refend != -1 and refstart != -1 */ __pyx_v_refend = __pyx_v_refpos; goto __pyx_L16; } __pyx_L16:; goto __pyx_L15; } __pyx_L15:; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":433 * refend = refpos * # problem * assert refend != -1 and refstart != -1 # <<<<<<<<<<<<<< * return refstart, refend * */ #ifndef CYTHON_WITHOUT_ASSERTIONS __pyx_t_9 = (__pyx_v_refend != -1); if (__pyx_t_9) { __pyx_t_8 = (__pyx_v_refstart != -1); __pyx_t_10 = __pyx_t_8; } else { __pyx_t_10 = __pyx_t_9; } if (unlikely(!__pyx_t_10)) { PyErr_SetNone(PyExc_AssertionError); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "platypusutils.pyx":434 * # problem * assert refend != -1 and refstart != -1 * return refstart, refend # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_3 = PyInt_FromLong(__pyx_v_refstart); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyInt_FromLong(__pyx_v_refend); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("platypusutils.pruned_ref_start_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_cigar); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_13platypusutils_27pruned_ref_start_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_13platypusutils_26pruned_ref_start_end[] = "\n Calculates the reference start and end of the read, pruning low-quality bases at either end,\n and removing an anchor sequence at either end\n "; static PyObject *__pyx_pw_13platypusutils_27pruned_ref_start_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_read = 0; int __pyx_v_minq; int __pyx_v_minAnchor; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("pruned_ref_start_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__read,&__pyx_n_s__minq,&__pyx_n_s__minAnchor,0}; PyObject* values[3] = {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 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__read)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__minq)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("pruned_ref_start_end", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__minAnchor)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("pruned_ref_start_end", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pruned_ref_start_end") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { 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); } __pyx_v_read = values[0]; __pyx_v_minq = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_minq == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_v_minAnchor = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_minAnchor == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("pruned_ref_start_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("platypusutils.pruned_ref_start_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_13platypusutils_26pruned_ref_start_end(__pyx_self, __pyx_v_read, __pyx_v_minq, __pyx_v_minAnchor); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":391 * ################################################################################################### * * cpdef tuple pruned_ref_start_end(read, int minq, int minAnchor): # <<<<<<<<<<<<<< * """ * Calculates the reference start and end of the read, pruning low-quality bases at either end, */ static PyObject *__pyx_pf_13platypusutils_26pruned_ref_start_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_read, int __pyx_v_minq, int __pyx_v_minAnchor) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("pruned_ref_start_end", 0); __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_13platypusutils_pruned_ref_start_end(__pyx_v_read, __pyx_v_minq, __pyx_v_minAnchor, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("platypusutils.pruned_ref_start_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":438 * ################################################################################################### * * cdef list loadBAMData(list bamFiles, bytes chrom, int start, int end, dict indelErrorModel, options, list samples, dict samplesByID, dict samplesByBAM, char* refSeq): # <<<<<<<<<<<<<< * """ * Take a list of BAM files, and a genomic region, and reuturn a list of buffers, containing the */ static PyObject *__pyx_f_13platypusutils_loadBAMData(PyObject *__pyx_v_bamFiles, PyObject *__pyx_v_chrom, int __pyx_v_start, int __pyx_v_end, CYTHON_UNUSED PyObject *__pyx_v_indelErrorModel, PyObject *__pyx_v_options, PyObject *__pyx_v_samples, PyObject *__pyx_v_samplesByID, PyObject *__pyx_v_samplesByBAM, char *__pyx_v_refSeq) { struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_theReadBuffer = 0; __pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead; struct __pyx_obj_15samtoolsWrapper_IteratorRow *__pyx_v_readIterator = 0; struct __pyx_obj_15samtoolsWrapper_Samfile *__pyx_v_reader = 0; PyObject *__pyx_v_readBuffers = 0; PyObject *__pyx_v_uniqueSamples = 0; PyObject *__pyx_v_uniqueBAMs = 0; CYTHON_UNUSED PyObject *__pyx_v_bamsBySample = 0; PyObject *__pyx_v_buffersBySample = 0; CYTHON_UNUSED PyObject *__pyx_v_brokenMateCoordsByBAM = 0; PyObject *__pyx_v_sample = 0; PyObject *__pyx_v_sampleThisRead = 0; int __pyx_v_totalReads; int __pyx_v_maxReads; int __pyx_v_fetchBrokenMates; int __pyx_v_chromID; int __pyx_v_verbosity; int __pyx_v_compressReads; int __pyx_v_qualBinSize; char *__pyx_v_rgID; PyObject *__pyx_v_bamsThisSample = NULL; PyObject *__pyx_v_brokenMateCoords = NULL; PyObject *__pyx_v_counter = NULL; PyObject *__pyx_v_queries = NULL; PyObject *__pyx_v_qChrom = NULL; PyObject *__pyx_v_qStart = NULL; PyObject *__pyx_v_qEnd = NULL; PyObject *__pyx_v_sortedBuffers = 0; PyObject *__pyx_v_x = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; Py_ssize_t __pyx_t_4; Py_ssize_t __pyx_t_5; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; char *__pyx_t_11; short __pyx_t_12; int __pyx_t_13; int __pyx_t_14; int __pyx_t_15; PyObject *__pyx_t_16 = NULL; PyObject *__pyx_t_17 = NULL; PyObject *(*__pyx_t_18)(PyObject *); PyObject *(*__pyx_t_19)(PyObject *); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("loadBAMData", 0); /* "platypusutils.pyx":447 * """ * cdef bamReadBuffer theReadBuffer * cdef cAlignedRead* theRead = NULL # <<<<<<<<<<<<<< * cdef IteratorRow readIterator * cdef Samfile reader */ __pyx_v_theRead = NULL; /* "platypusutils.pyx":450 * cdef IteratorRow readIterator * cdef Samfile reader * cdef list readBuffers = [] # <<<<<<<<<<<<<< * cdef list uniqueSamples = sorted(set(samples)) * cdef list uniqueBAMs = sorted(set(bamFiles)) */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_readBuffers = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":451 * cdef Samfile reader * cdef list readBuffers = [] * cdef list uniqueSamples = sorted(set(samples)) # <<<<<<<<<<<<<< * cdef list uniqueBAMs = sorted(set(bamFiles)) * cdef dict bamsBySample = {} */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_samples)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_samples)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samples)); __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PySet_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_uniqueSamples = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; /* "platypusutils.pyx":452 * cdef list readBuffers = [] * cdef list uniqueSamples = sorted(set(samples)) * cdef list uniqueBAMs = sorted(set(bamFiles)) # <<<<<<<<<<<<<< * cdef dict bamsBySample = {} * cdef dict buffersBySample = {} */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_bamFiles)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_bamFiles)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bamFiles)); __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PySet_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__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 = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_uniqueBAMs = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":453 * cdef list uniqueSamples = sorted(set(samples)) * cdef list uniqueBAMs = sorted(set(bamFiles)) * cdef dict bamsBySample = {} # <<<<<<<<<<<<<< * cdef dict buffersBySample = {} * cdef dict brokenMateCoordsByBAM = {} */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_v_bamsBySample = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":454 * cdef list uniqueBAMs = sorted(set(bamFiles)) * cdef dict bamsBySample = {} * cdef dict buffersBySample = {} # <<<<<<<<<<<<<< * cdef dict brokenMateCoordsByBAM = {} * cdef str sample */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_v_buffersBySample = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":455 * cdef dict bamsBySample = {} * cdef dict buffersBySample = {} * cdef dict brokenMateCoordsByBAM = {} # <<<<<<<<<<<<<< * cdef str sample * cdef str sampleThisRead */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_v_brokenMateCoordsByBAM = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":458 * cdef str sample * cdef str sampleThisRead * cdef int totalReads = 0 # <<<<<<<<<<<<<< * cdef int maxReads = options.maxReads * cdef int fetchBrokenMates = options.assembleBrokenPairs */ __pyx_v_totalReads = 0; /* "platypusutils.pyx":459 * cdef str sampleThisRead * cdef int totalReads = 0 * cdef int maxReads = options.maxReads # <<<<<<<<<<<<<< * cdef int fetchBrokenMates = options.assembleBrokenPairs * cdef int chromID = -1 */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxReads); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_maxReads = __pyx_t_3; /* "platypusutils.pyx":460 * cdef int totalReads = 0 * cdef int maxReads = options.maxReads * cdef int fetchBrokenMates = options.assembleBrokenPairs # <<<<<<<<<<<<<< * cdef int chromID = -1 * cdef int verbosity = options.verbosity */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__assembleBrokenPairs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_fetchBrokenMates = __pyx_t_3; /* "platypusutils.pyx":461 * cdef int maxReads = options.maxReads * cdef int fetchBrokenMates = options.assembleBrokenPairs * cdef int chromID = -1 # <<<<<<<<<<<<<< * cdef int verbosity = options.verbosity * cdef int compressReads = options.compressReads */ __pyx_v_chromID = -1; /* "platypusutils.pyx":462 * cdef int fetchBrokenMates = options.assembleBrokenPairs * cdef int chromID = -1 * cdef int verbosity = options.verbosity # <<<<<<<<<<<<<< * cdef int compressReads = options.compressReads * cdef int qualBinSize = options.qualBinSize */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__verbosity); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_verbosity = __pyx_t_3; /* "platypusutils.pyx":463 * cdef int chromID = -1 * cdef int verbosity = options.verbosity * cdef int compressReads = options.compressReads # <<<<<<<<<<<<<< * cdef int qualBinSize = options.qualBinSize * cdef char* rgID = NULL */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__compressReads); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_compressReads = __pyx_t_3; /* "platypusutils.pyx":464 * cdef int verbosity = options.verbosity * cdef int compressReads = options.compressReads * cdef int qualBinSize = options.qualBinSize # <<<<<<<<<<<<<< * cdef char* rgID = NULL * */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__qualBinSize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_qualBinSize = __pyx_t_3; /* "platypusutils.pyx":465 * cdef int compressReads = options.compressReads * cdef int qualBinSize = options.qualBinSize * cdef char* rgID = NULL # <<<<<<<<<<<<<< * * if len(set(samples)) == len(set(bamFiles)): */ __pyx_v_rgID = NULL; /* "platypusutils.pyx":467 * cdef char* rgID = NULL * * if len(set(samples)) == len(set(bamFiles)): # <<<<<<<<<<<<<< * logger.debug("There is one sample in each BAM file. No merging is required") * */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_samples)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_samples)); __Pyx_GIVEREF(((PyObject *)__pyx_v_samples)); __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PySet_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_4 = PySet_Size(__pyx_t_2); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __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 = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_bamFiles)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_bamFiles)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bamFiles)); __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PySet_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_t_5 = PySet_Size(__pyx_t_1); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = (__pyx_t_4 == __pyx_t_5); if (__pyx_t_6) { /* "platypusutils.pyx":468 * * if len(set(samples)) == len(set(bamFiles)): * logger.debug("There is one sample in each BAM file. No merging is required") # <<<<<<<<<<<<<< * * for sample in uniqueSamples: */ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__debug); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":470 * logger.debug("There is one sample in each BAM file. No merging is required") * * for sample in uniqueSamples: # <<<<<<<<<<<<<< * bamsThisSample = sorted([x for x in uniqueBAMs if sample in samplesByBAM[x]]) * assert len(bamsThisSample) == 1, "Something is screwy here" */ if (unlikely(((PyObject *)__pyx_v_uniqueSamples) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_uniqueSamples); __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; for (;;) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(PyString_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected str, got %.200s", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_sample)); __pyx_v_sample = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; /* "platypusutils.pyx":471 * * for sample in uniqueSamples: * bamsThisSample = sorted([x for x in uniqueBAMs if sample in samplesByBAM[x]]) # <<<<<<<<<<<<<< * assert len(bamsThisSample) == 1, "Something is screwy here" * reader = bamsThisSample[0] */ __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); if (unlikely(((PyObject *)__pyx_v_uniqueBAMs) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_8 = ((PyObject *)__pyx_v_uniqueBAMs); __Pyx_INCREF(__pyx_t_8); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF(__pyx_v_x); __pyx_v_x = __pyx_t_9; __pyx_t_9 = 0; if (unlikely(((PyObject *)__pyx_v_samplesByBAM) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_9 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_samplesByBAM), __pyx_v_x); if (!__pyx_t_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = (__Pyx_PySequence_Contains(((PyObject *)__pyx_v_sample), __pyx_t_9, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_6) { if (unlikely(__Pyx_PyList_Append(__pyx_t_7, (PyObject*)__pyx_v_x))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L8; } __pyx_L8:; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = ((PyObject *)__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_t_2 = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = PyList_Sort(((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_bamsThisSample)); __pyx_v_bamsThisSample = __pyx_t_2; __pyx_t_2 = 0; /* "platypusutils.pyx":472 * for sample in uniqueSamples: * bamsThisSample = sorted([x for x in uniqueBAMs if sample in samplesByBAM[x]]) * assert len(bamsThisSample) == 1, "Something is screwy here" # <<<<<<<<<<<<<< * reader = bamsThisSample[0] * */ #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(((PyObject *)__pyx_v_bamsThisSample) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = PyList_GET_SIZE(((PyObject *)__pyx_v_bamsThisSample)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!(__pyx_t_4 == 1))) { PyErr_SetObject(PyExc_AssertionError, ((PyObject *)__pyx_kp_s_18)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "platypusutils.pyx":473 * bamsThisSample = sorted([x for x in uniqueBAMs if sample in samplesByBAM[x]]) * assert len(bamsThisSample) == 1, "Something is screwy here" * reader = bamsThisSample[0] # <<<<<<<<<<<<<< * * # Need to lock here when sharing BAM files */ if (unlikely(((PyObject *)__pyx_v_bamsThisSample) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } if (!(likely(((PyList_GET_ITEM(__pyx_v_bamsThisSample, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_bamsThisSample, 0), __pyx_ptype_15samtoolsWrapper_Samfile))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = PyList_GET_ITEM(__pyx_v_bamsThisSample, 0); __Pyx_INCREF(__pyx_t_2); __Pyx_XDECREF(((PyObject *)__pyx_v_reader)); __pyx_v_reader = ((struct __pyx_obj_15samtoolsWrapper_Samfile *)__pyx_t_2); __pyx_t_2 = 0; /* "platypusutils.pyx":476 * * # Need to lock here when sharing BAM files * if reader.lock is not None: # <<<<<<<<<<<<<< * reader.lock.acquire() * */ __pyx_t_6 = (__pyx_v_reader->lock != Py_None); if (__pyx_t_6) { /* "platypusutils.pyx":477 * # Need to lock here when sharing BAM files * if reader.lock is not None: * reader.lock.acquire() # <<<<<<<<<<<<<< * * theReadBuffer = bamReadBuffer(chrom, start, end, options) */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_reader->lock, __pyx_n_s__acquire); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L9; } __pyx_L9:; /* "platypusutils.pyx":479 * reader.lock.acquire() * * theReadBuffer = bamReadBuffer(chrom, start, end, options) # <<<<<<<<<<<<<< * theReadBuffer.sample = bytes(sample) * readIterator = reader.fetch(chrom, start, end) */ __pyx_t_8 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyInt_FromLong(__pyx_v_end); 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_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7cwindow_bamReadBuffer)), ((PyObject *)__pyx_t_7), 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_7)); __pyx_t_7 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_2); __pyx_t_2 = 0; /* "platypusutils.pyx":480 * * theReadBuffer = bamReadBuffer(chrom, start, end, options) * theReadBuffer.sample = bytes(sample) # <<<<<<<<<<<<<< * readIterator = reader.fetch(chrom, start, end) * brokenMateCoords = [] */ __pyx_t_2 = PyTuple_New(1); 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_INCREF(((PyObject *)__pyx_v_sample)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_sample)); __Pyx_GIVEREF(((PyObject *)__pyx_v_sample)); __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_GIVEREF(__pyx_t_7); __Pyx_GOTREF(__pyx_v_theReadBuffer->sample); __Pyx_DECREF(((PyObject *)__pyx_v_theReadBuffer->sample)); __pyx_v_theReadBuffer->sample = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":481 * theReadBuffer = bamReadBuffer(chrom, start, end, options) * theReadBuffer.sample = bytes(sample) * readIterator = reader.fetch(chrom, start, end) # <<<<<<<<<<<<<< * brokenMateCoords = [] * */ __pyx_t_11 = PyBytes_AsString(((PyObject *)__pyx_v_chrom)); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyObject *)((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->fetch(__pyx_v_reader, __pyx_t_11, __pyx_v_start, __pyx_v_end, 0)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(((PyObject *)__pyx_v_readIterator)); __pyx_v_readIterator = ((struct __pyx_obj_15samtoolsWrapper_IteratorRow *)__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":482 * theReadBuffer.sample = bytes(sample) * readIterator = reader.fetch(chrom, start, end) * brokenMateCoords = [] # <<<<<<<<<<<<<< * * counter = 0 */ __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(((PyObject *)__pyx_v_brokenMateCoords)); __pyx_v_brokenMateCoords = __pyx_t_7; __pyx_t_7 = 0; /* "platypusutils.pyx":484 * brokenMateCoords = [] * * counter = 0 # <<<<<<<<<<<<<< * * while readIterator.cnext(): */ __Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF(__pyx_v_counter); __pyx_v_counter = __pyx_int_0; /* "platypusutils.pyx":486 * counter = 0 * * while readIterator.cnext(): # <<<<<<<<<<<<<< * * theRead = createRead(readIterator.b, 0, NULL) */ while (1) { __pyx_t_3 = ((struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *)__pyx_v_readIterator->__pyx_vtab)->cnext(__pyx_v_readIterator); if (!__pyx_t_3) break; /* "platypusutils.pyx":488 * while readIterator.cnext(): * * theRead = createRead(readIterator.b, 0, NULL) # <<<<<<<<<<<<<< * counter += 1 * */ __pyx_v_theRead = __pyx_f_15samtoolsWrapper_createRead(__pyx_v_readIterator->b, 0, NULL); /* "platypusutils.pyx":489 * * theRead = createRead(readIterator.b, 0, NULL) * counter += 1 # <<<<<<<<<<<<<< * * if chromID == -1: */ __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_counter, __pyx_int_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_v_counter); __pyx_v_counter = __pyx_t_7; __pyx_t_7 = 0; /* "platypusutils.pyx":491 * counter += 1 * * if chromID == -1: # <<<<<<<<<<<<<< * chromID = theRead.chromID * */ __pyx_t_6 = (__pyx_v_chromID == -1); if (__pyx_t_6) { /* "platypusutils.pyx":492 * * if chromID == -1: * chromID = theRead.chromID # <<<<<<<<<<<<<< * * theReadBuffer.addReadToBuffer(theRead) */ __pyx_t_12 = __pyx_v_theRead->chromID; __pyx_v_chromID = __pyx_t_12; goto __pyx_L12; } __pyx_L12:; /* "platypusutils.pyx":494 * chromID = theRead.chromID * * theReadBuffer.addReadToBuffer(theRead) # <<<<<<<<<<<<<< * * if compressReads: */ ((struct __pyx_vtabstruct_7cwindow_bamReadBuffer *)__pyx_v_theReadBuffer->__pyx_vtab)->addReadToBuffer(__pyx_v_theReadBuffer, __pyx_v_theRead); /* "platypusutils.pyx":496 * theReadBuffer.addReadToBuffer(theRead) * * if compressReads: # <<<<<<<<<<<<<< * compressRead(theRead, refSeq, start, end, qualBinSize, 0) * */ if (__pyx_v_compressReads) { /* "platypusutils.pyx":497 * * if compressReads: * compressRead(theRead, refSeq, start, end, qualBinSize, 0) # <<<<<<<<<<<<<< * * totalReads += 1 */ __pyx_f_15samtoolsWrapper_compressRead(__pyx_v_theRead, __pyx_v_refSeq, __pyx_v_start, __pyx_v_end, __pyx_v_qualBinSize, 0); goto __pyx_L13; } __pyx_L13:; /* "platypusutils.pyx":499 * compressRead(theRead, refSeq, start, end, qualBinSize, 0) * * totalReads += 1 # <<<<<<<<<<<<<< * * if fetchBrokenMates: */ __pyx_v_totalReads = (__pyx_v_totalReads + 1); /* "platypusutils.pyx":501 * totalReads += 1 * * if fetchBrokenMates: # <<<<<<<<<<<<<< * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): * */ if (__pyx_v_fetchBrokenMates) { /* "platypusutils.pyx":502 * * if fetchBrokenMates: * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): # <<<<<<<<<<<<<< * * if theRead.mateChromID == theRead.chromID: */ __pyx_t_6 = (!__pyx_f_15samtoolsWrapper_Read_IsProperPair(__pyx_v_theRead)); if (!__pyx_t_6) { __pyx_t_3 = __pyx_f_15samtoolsWrapper_Read_IsUnmapped(__pyx_v_theRead); if (!__pyx_t_3) { __pyx_t_13 = __pyx_f_15samtoolsWrapper_Read_MateIsUnmapped(__pyx_v_theRead); __pyx_t_14 = __pyx_t_13; } else { __pyx_t_14 = __pyx_t_3; } __pyx_t_15 = __pyx_t_14; } else { __pyx_t_15 = __pyx_t_6; } if (__pyx_t_15) { /* "platypusutils.pyx":504 * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): * * if theRead.mateChromID == theRead.chromID: # <<<<<<<<<<<<<< * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) * else: */ __pyx_t_15 = (__pyx_v_theRead->mateChromID == __pyx_v_theRead->chromID); if (__pyx_t_15) { /* "platypusutils.pyx":505 * * if theRead.mateChromID == theRead.chromID: * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) # <<<<<<<<<<<<<< * else: * # Can't get these, as we don't know where they map. This happens if BAM is split and unmapped */ __pyx_t_7 = PyBytes_FromString(((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->getrname(__pyx_v_reader, __pyx_v_theRead->mateChromID)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); __pyx_t_2 = PyInt_FromLong(__pyx_v_theRead->mateChromID); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = PyInt_FromLong(__pyx_v_theRead->matePos); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_7)); __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_10 = PyList_Append(__pyx_v_brokenMateCoords, ((PyObject *)__pyx_t_9)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; goto __pyx_L16; } /*else*/ { /* "platypusutils.pyx":509 * # Can't get these, as we don't know where they map. This happens if BAM is split and unmapped * # reads or broken mates are in another file. * if theRead.mateChromID == -1: # <<<<<<<<<<<<<< * pass * else: */ __pyx_t_15 = (__pyx_v_theRead->mateChromID == -1); if (__pyx_t_15) { goto __pyx_L17; } /*else*/ { /* "platypusutils.pyx":512 * pass * else: * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) # <<<<<<<<<<<<<< * * if totalReads % 250000 == 0: */ __pyx_t_9 = PyBytes_FromString(((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->getrname(__pyx_v_reader, __pyx_v_theRead->mateChromID)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __pyx_t_8 = PyInt_FromLong(__pyx_v_theRead->mateChromID); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyInt_FromLong(__pyx_v_theRead->matePos); 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_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_t_9)); __Pyx_GIVEREF(((PyObject *)__pyx_t_9)); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_10 = PyList_Append(__pyx_v_brokenMateCoords, ((PyObject *)__pyx_t_7)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; } __pyx_L17:; } __pyx_L16:; goto __pyx_L15; } __pyx_L15:; goto __pyx_L14; } __pyx_L14:; /* "platypusutils.pyx":514 * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) * * if totalReads % 250000 == 0: # <<<<<<<<<<<<<< * logger.debug("Loaded %s reads in region %s:%s-%s" %(totalReads, chrom, start, end)) * */ __pyx_t_15 = ((__pyx_v_totalReads % 250000) == 0); if (__pyx_t_15) { /* "platypusutils.pyx":515 * * if totalReads % 250000 == 0: * logger.debug("Loaded %s reads in region %s:%s-%s" %(totalReads, chrom, start, end)) # <<<<<<<<<<<<<< * * if totalReads >= maxReads: */ __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__debug); 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_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyInt_FromLong(__pyx_v_totalReads); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = PyTuple_New(4); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_16, 1, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_16, 3, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_19), ((PyObject *)__pyx_t_16)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __Pyx_DECREF(((PyObject *)__pyx_t_16)); __pyx_t_16 = 0; __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_16, 0, ((PyObject *)__pyx_t_9)); __Pyx_GIVEREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __pyx_t_9 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_16), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_16)); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L18; } __pyx_L18:; /* "platypusutils.pyx":517 * logger.debug("Loaded %s reads in region %s:%s-%s" %(totalReads, chrom, start, end)) * * if totalReads >= maxReads: # <<<<<<<<<<<<<< * raise StandardError, "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads." %(totalReads, chrom, start, end) * */ __pyx_t_15 = (__pyx_v_totalReads >= __pyx_v_maxReads); if (__pyx_t_15) { /* "platypusutils.pyx":518 * * if totalReads >= maxReads: * raise StandardError, "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads." %(totalReads, chrom, start, end) # <<<<<<<<<<<<<< * * if fetchBrokenMates: */ __pyx_t_9 = PyInt_FromLong(__pyx_v_totalReads); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); __pyx_t_2 = PyInt_FromLong(__pyx_v_end); 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_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_16 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_20), ((PyObject *)__pyx_t_8)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_t_2), 0, 0); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L19; } __pyx_L19:; } /* "platypusutils.pyx":520 * raise StandardError, "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads." %(totalReads, chrom, start, end) * * if fetchBrokenMates: # <<<<<<<<<<<<<< * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) * brokenMateCoords.sort() */ if (__pyx_v_fetchBrokenMates) { /* "platypusutils.pyx":521 * * if fetchBrokenMates: * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) # <<<<<<<<<<<<<< * brokenMateCoords.sort() * queries = mergeQueries(brokenMateCoords) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__info); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = PyList_GET_SIZE(((PyObject *)__pyx_v_brokenMateCoords)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = PyBytes_FromString(__pyx_v_reader->filename); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_16)); __pyx_t_9 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = PyTuple_New(5); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_17, 1, ((PyObject *)__pyx_t_16)); __Pyx_GIVEREF(((PyObject *)__pyx_t_16)); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_17, 2, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_17, 3, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 4, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_2 = 0; __pyx_t_16 = 0; __pyx_t_9 = 0; __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_21), ((PyObject *)__pyx_t_17)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, ((PyObject *)__pyx_t_7)); __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_t_7 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_17), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":522 * if fetchBrokenMates: * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) * brokenMateCoords.sort() # <<<<<<<<<<<<<< * queries = mergeQueries(brokenMateCoords) * */ __pyx_t_10 = PyList_Sort(((PyObject *)__pyx_v_brokenMateCoords)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":523 * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) * brokenMateCoords.sort() * queries = mergeQueries(brokenMateCoords) # <<<<<<<<<<<<<< * * for qChrom,qStart,qEnd in queries: */ __pyx_t_7 = ((PyObject *)__pyx_f_13platypusutils_mergeQueries(__pyx_v_brokenMateCoords)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(((PyObject *)__pyx_v_queries)); __pyx_v_queries = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":525 * queries = mergeQueries(brokenMateCoords) * * for qChrom,qStart,qEnd in queries: # <<<<<<<<<<<<<< * if verbosity >= 3: * logger.debug("Querying broken mates %s:%s-%s" %(qChrom, qStart, qEnd)) */ if (unlikely(((PyObject *)__pyx_v_queries) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_7 = ((PyObject *)__pyx_v_queries); __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_17 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_17); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_17 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if ((likely(PyTuple_CheckExact(__pyx_t_17))) || (PyList_CheckExact(__pyx_t_17))) { PyObject* sequence = __pyx_t_17; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_16 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_8 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); __pyx_t_16 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_16); #else __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_16 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } else { Py_ssize_t index = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_2)->tp_iternext; index = 0; __pyx_t_8 = __pyx_t_18(__pyx_t_2); if (unlikely(!__pyx_t_8)) goto __pyx_L23_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); index = 1; __pyx_t_9 = __pyx_t_18(__pyx_t_2); if (unlikely(!__pyx_t_9)) goto __pyx_L23_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); index = 2; __pyx_t_16 = __pyx_t_18(__pyx_t_2); if (unlikely(!__pyx_t_16)) goto __pyx_L23_unpacking_failed; __Pyx_GOTREF(__pyx_t_16); if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_2), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L24_unpacking_done; __pyx_L23_unpacking_failed:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L24_unpacking_done:; } __Pyx_XDECREF(__pyx_v_qChrom); __pyx_v_qChrom = __pyx_t_8; __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_v_qStart); __pyx_v_qStart = __pyx_t_9; __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_v_qEnd); __pyx_v_qEnd = __pyx_t_16; __pyx_t_16 = 0; /* "platypusutils.pyx":526 * * for qChrom,qStart,qEnd in queries: * if verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("Querying broken mates %s:%s-%s" %(qChrom, qStart, qEnd)) * readIterator = reader.fetch(qChrom, qStart, qEnd) */ __pyx_t_15 = (__pyx_v_verbosity >= 3); if (__pyx_t_15) { /* "platypusutils.pyx":527 * for qChrom,qStart,qEnd in queries: * if verbosity >= 3: * logger.debug("Querying broken mates %s:%s-%s" %(qChrom, qStart, qEnd)) # <<<<<<<<<<<<<< * readIterator = reader.fetch(qChrom, qStart, qEnd) * theRead = NULL */ __pyx_t_17 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = PyObject_GetAttr(__pyx_t_17, __pyx_n_s__debug); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_INCREF(__pyx_v_qChrom); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_qChrom); __Pyx_GIVEREF(__pyx_v_qChrom); __Pyx_INCREF(__pyx_v_qStart); PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_v_qStart); __Pyx_GIVEREF(__pyx_v_qStart); __Pyx_INCREF(__pyx_v_qEnd); PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_qEnd); __Pyx_GIVEREF(__pyx_v_qEnd); __pyx_t_9 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_22), ((PyObject *)__pyx_t_17)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, ((PyObject *)__pyx_t_9)); __Pyx_GIVEREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __pyx_t_9 = PyObject_Call(__pyx_t_16, ((PyObject *)__pyx_t_17), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L25; } __pyx_L25:; /* "platypusutils.pyx":528 * if verbosity >= 3: * logger.debug("Querying broken mates %s:%s-%s" %(qChrom, qStart, qEnd)) * readIterator = reader.fetch(qChrom, qStart, qEnd) # <<<<<<<<<<<<<< * theRead = NULL * */ __pyx_t_11 = PyBytes_AsString(__pyx_v_qChrom); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_v_qStart); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_13 = __Pyx_PyInt_AsInt(__pyx_v_qEnd); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyObject *)((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->fetch(__pyx_v_reader, __pyx_t_11, __pyx_t_3, __pyx_t_13, 0)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(((PyObject *)__pyx_v_readIterator)); __pyx_v_readIterator = ((struct __pyx_obj_15samtoolsWrapper_IteratorRow *)__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":529 * logger.debug("Querying broken mates %s:%s-%s" %(qChrom, qStart, qEnd)) * readIterator = reader.fetch(qChrom, qStart, qEnd) * theRead = NULL # <<<<<<<<<<<<<< * * while readIterator.cnext(): */ __pyx_v_theRead = NULL; /* "platypusutils.pyx":531 * theRead = NULL * * while readIterator.cnext(): # <<<<<<<<<<<<<< * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: * theRead = createRead(readIterator.b, 0, NULL) */ while (1) { __pyx_t_13 = ((struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *)__pyx_v_readIterator->__pyx_vtab)->cnext(__pyx_v_readIterator); if (!__pyx_t_13) break; /* "platypusutils.pyx":532 * * while readIterator.cnext(): * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: # <<<<<<<<<<<<<< * theRead = createRead(readIterator.b, 0, NULL) * assert theRead != NULL */ __pyx_t_15 = (__pyx_v_readIterator->b->core.mtid == __pyx_v_chromID); if (__pyx_t_15) { __pyx_t_6 = (__pyx_v_start <= __pyx_v_readIterator->b->core.mpos); if (__pyx_t_6) { __pyx_t_6 = (__pyx_v_readIterator->b->core.mpos <= __pyx_v_end); } __pyx_t_14 = __pyx_t_6; } else { __pyx_t_14 = __pyx_t_15; } if (__pyx_t_14) { /* "platypusutils.pyx":533 * while readIterator.cnext(): * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: * theRead = createRead(readIterator.b, 0, NULL) # <<<<<<<<<<<<<< * assert theRead != NULL * theReadBuffer.brokenMates.append(theRead) */ __pyx_v_theRead = __pyx_f_15samtoolsWrapper_createRead(__pyx_v_readIterator->b, 0, NULL); /* "platypusutils.pyx":534 * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: * theRead = createRead(readIterator.b, 0, NULL) * assert theRead != NULL # <<<<<<<<<<<<<< * theReadBuffer.brokenMates.append(theRead) * */ #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!(__pyx_v_theRead != NULL))) { PyErr_SetNone(PyExc_AssertionError); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "platypusutils.pyx":535 * theRead = createRead(readIterator.b, 0, NULL) * assert theRead != NULL * theReadBuffer.brokenMates.append(theRead) # <<<<<<<<<<<<<< * * readBuffers.append(theReadBuffer) */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_theReadBuffer->brokenMates->__pyx_vtab)->append(__pyx_v_theReadBuffer->brokenMates, __pyx_v_theRead); goto __pyx_L28; } __pyx_L28:; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L20; } __pyx_L20:; /* "platypusutils.pyx":537 * theReadBuffer.brokenMates.append(theRead) * * readBuffers.append(theReadBuffer) # <<<<<<<<<<<<<< * * if options.shareBAMFiles == 0: */ __pyx_t_10 = PyList_Append(__pyx_v_readBuffers, ((PyObject *)__pyx_v_theReadBuffer)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":539 * readBuffers.append(theReadBuffer) * * if options.shareBAMFiles == 0: # <<<<<<<<<<<<<< * reader.close() * else: */ __pyx_t_7 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__shareBAMFiles); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_14) { /* "platypusutils.pyx":540 * * if options.shareBAMFiles == 0: * reader.close() # <<<<<<<<<<<<<< * else: * reader.clearCache() */ __pyx_t_9 = ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->close(__pyx_v_reader, 0); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L29; } /*else*/ { /* "platypusutils.pyx":542 * reader.close() * else: * reader.clearCache() # <<<<<<<<<<<<<< * * # Need to release lock here when sharing BAM files */ ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->clearCache(__pyx_v_reader); } __pyx_L29:; /* "platypusutils.pyx":545 * * # Need to release lock here when sharing BAM files * if reader.lock is not None: # <<<<<<<<<<<<<< * reader.lock.release() * */ __pyx_t_14 = (__pyx_v_reader->lock != Py_None); if (__pyx_t_14) { /* "platypusutils.pyx":546 * # Need to release lock here when sharing BAM files * if reader.lock is not None: * reader.lock.release() # <<<<<<<<<<<<<< * * # We need to merge data from multiple BAM files, or split BAM files by sample. Either way, we check the sample for each read and */ __pyx_t_9 = PyObject_GetAttr(__pyx_v_reader->lock, __pyx_n_s__release); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L30; } __pyx_L30:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L3; } /*else*/ { /* "platypusutils.pyx":551 * # add it to the relevant buffer. * else: * for sample in uniqueSamples: # <<<<<<<<<<<<<< * theReadBuffer = bamReadBuffer(chrom, start, end, options) * theReadBuffer.sample = bytes(sample) */ if (unlikely(((PyObject *)__pyx_v_uniqueSamples) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_uniqueSamples); __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; for (;;) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(PyString_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected str, got %.200s", Py_TYPE(__pyx_t_7)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_sample)); __pyx_v_sample = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":552 * else: * for sample in uniqueSamples: * theReadBuffer = bamReadBuffer(chrom, start, end, options) # <<<<<<<<<<<<<< * theReadBuffer.sample = bytes(sample) * buffersBySample[sample] = theReadBuffer */ __pyx_t_7 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = PyTuple_New(4); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_17, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_17, 3, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_7 = 0; __pyx_t_9 = 0; __pyx_t_9 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7cwindow_bamReadBuffer)), ((PyObject *)__pyx_t_17), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":553 * for sample in uniqueSamples: * theReadBuffer = bamReadBuffer(chrom, start, end, options) * theReadBuffer.sample = bytes(sample) # <<<<<<<<<<<<<< * buffersBySample[sample] = theReadBuffer * */ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_sample)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_sample)); __Pyx_GIVEREF(((PyObject *)__pyx_v_sample)); __pyx_t_17 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __Pyx_GIVEREF(__pyx_t_17); __Pyx_GOTREF(__pyx_v_theReadBuffer->sample); __Pyx_DECREF(((PyObject *)__pyx_v_theReadBuffer->sample)); __pyx_v_theReadBuffer->sample = ((PyObject*)__pyx_t_17); __pyx_t_17 = 0; /* "platypusutils.pyx":554 * theReadBuffer = bamReadBuffer(chrom, start, end, options) * theReadBuffer.sample = bytes(sample) * buffersBySample[sample] = theReadBuffer # <<<<<<<<<<<<<< * * for reader in uniqueBAMs: */ if (PyDict_SetItem(((PyObject *)__pyx_v_buffersBySample), ((PyObject *)__pyx_v_sample), ((PyObject *)__pyx_v_theReadBuffer)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":556 * buffersBySample[sample] = theReadBuffer * * for reader in uniqueBAMs: # <<<<<<<<<<<<<< * * # Need to lock here when sharing BAM files */ if (unlikely(((PyObject *)__pyx_v_uniqueBAMs) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_uniqueBAMs); __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; for (;;) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_17 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_17); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_17 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_17) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_17, __pyx_ptype_15samtoolsWrapper_Samfile))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_reader)); __pyx_v_reader = ((struct __pyx_obj_15samtoolsWrapper_Samfile *)__pyx_t_17); __pyx_t_17 = 0; /* "platypusutils.pyx":559 * * # Need to lock here when sharing BAM files * if reader.lock is not None: # <<<<<<<<<<<<<< * reader.lock.acquire() * */ __pyx_t_14 = (__pyx_v_reader->lock != Py_None); if (__pyx_t_14) { /* "platypusutils.pyx":560 * # Need to lock here when sharing BAM files * if reader.lock is not None: * reader.lock.acquire() # <<<<<<<<<<<<<< * * readIterator = reader.fetch(chrom, start, end) */ __pyx_t_17 = PyObject_GetAttr(__pyx_v_reader->lock, __pyx_n_s__acquire); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = PyObject_Call(__pyx_t_17, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L35; } __pyx_L35:; /* "platypusutils.pyx":562 * reader.lock.acquire() * * readIterator = reader.fetch(chrom, start, end) # <<<<<<<<<<<<<< * brokenMateCoords = [] * */ __pyx_t_11 = PyBytes_AsString(((PyObject *)__pyx_v_chrom)); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = ((PyObject *)((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->fetch(__pyx_v_reader, __pyx_t_11, __pyx_v_start, __pyx_v_end, 0)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_XDECREF(((PyObject *)__pyx_v_readIterator)); __pyx_v_readIterator = ((struct __pyx_obj_15samtoolsWrapper_IteratorRow *)__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":563 * * readIterator = reader.fetch(chrom, start, end) * brokenMateCoords = [] # <<<<<<<<<<<<<< * * while readIterator.cnext(): */ __pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_XDECREF(((PyObject *)__pyx_v_brokenMateCoords)); __pyx_v_brokenMateCoords = __pyx_t_9; __pyx_t_9 = 0; /* "platypusutils.pyx":565 * brokenMateCoords = [] * * while readIterator.cnext(): # <<<<<<<<<<<<<< * theRead = createRead(readIterator.b, 1, &rgID) * */ while (1) { __pyx_t_13 = ((struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *)__pyx_v_readIterator->__pyx_vtab)->cnext(__pyx_v_readIterator); if (!__pyx_t_13) break; /* "platypusutils.pyx":566 * * while readIterator.cnext(): * theRead = createRead(readIterator.b, 1, &rgID) # <<<<<<<<<<<<<< * * if chromID == -1: */ __pyx_v_theRead = __pyx_f_15samtoolsWrapper_createRead(__pyx_v_readIterator->b, 1, (&__pyx_v_rgID)); /* "platypusutils.pyx":568 * theRead = createRead(readIterator.b, 1, &rgID) * * if chromID == -1: # <<<<<<<<<<<<<< * chromID = theRead.chromID * */ __pyx_t_14 = (__pyx_v_chromID == -1); if (__pyx_t_14) { /* "platypusutils.pyx":569 * * if chromID == -1: * chromID = theRead.chromID # <<<<<<<<<<<<<< * * sampleThisRead = samplesByID[rgID] */ __pyx_t_12 = __pyx_v_theRead->chromID; __pyx_v_chromID = __pyx_t_12; goto __pyx_L38; } __pyx_L38:; /* "platypusutils.pyx":571 * chromID = theRead.chromID * * sampleThisRead = samplesByID[rgID] # <<<<<<<<<<<<<< * theReadBuffer = buffersBySample[sampleThisRead] * theReadBuffer.addReadToBuffer(theRead) */ if (unlikely(((PyObject *)__pyx_v_samplesByID) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_9 = PyBytes_FromString(__pyx_v_rgID); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __pyx_t_17 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_samplesByID), ((PyObject *)__pyx_t_9)); if (!__pyx_t_17) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; if (!(likely(PyString_CheckExact(__pyx_t_17))||((__pyx_t_17) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected str, got %.200s", Py_TYPE(__pyx_t_17)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_sampleThisRead)); __pyx_v_sampleThisRead = ((PyObject*)__pyx_t_17); __pyx_t_17 = 0; /* "platypusutils.pyx":572 * * sampleThisRead = samplesByID[rgID] * theReadBuffer = buffersBySample[sampleThisRead] # <<<<<<<<<<<<<< * theReadBuffer.addReadToBuffer(theRead) * free(rgID) */ __pyx_t_17 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_buffersBySample), ((PyObject *)__pyx_v_sampleThisRead)); if (!__pyx_t_17) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); if (!(likely(((__pyx_t_17) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_17, __pyx_ptype_7cwindow_bamReadBuffer))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_17); __pyx_t_17 = 0; /* "platypusutils.pyx":573 * sampleThisRead = samplesByID[rgID] * theReadBuffer = buffersBySample[sampleThisRead] * theReadBuffer.addReadToBuffer(theRead) # <<<<<<<<<<<<<< * free(rgID) * rgID = NULL */ ((struct __pyx_vtabstruct_7cwindow_bamReadBuffer *)__pyx_v_theReadBuffer->__pyx_vtab)->addReadToBuffer(__pyx_v_theReadBuffer, __pyx_v_theRead); /* "platypusutils.pyx":574 * theReadBuffer = buffersBySample[sampleThisRead] * theReadBuffer.addReadToBuffer(theRead) * free(rgID) # <<<<<<<<<<<<<< * rgID = NULL * */ free(__pyx_v_rgID); /* "platypusutils.pyx":575 * theReadBuffer.addReadToBuffer(theRead) * free(rgID) * rgID = NULL # <<<<<<<<<<<<<< * * if compressReads: */ __pyx_v_rgID = NULL; /* "platypusutils.pyx":577 * rgID = NULL * * if compressReads: # <<<<<<<<<<<<<< * compressRead(theRead, refSeq, start, end, qualBinSize, 0) * */ if (__pyx_v_compressReads) { /* "platypusutils.pyx":578 * * if compressReads: * compressRead(theRead, refSeq, start, end, qualBinSize, 0) # <<<<<<<<<<<<<< * * totalReads += 1 */ __pyx_f_15samtoolsWrapper_compressRead(__pyx_v_theRead, __pyx_v_refSeq, __pyx_v_start, __pyx_v_end, __pyx_v_qualBinSize, 0); goto __pyx_L39; } __pyx_L39:; /* "platypusutils.pyx":580 * compressRead(theRead, refSeq, start, end, qualBinSize, 0) * * totalReads += 1 # <<<<<<<<<<<<<< * * if fetchBrokenMates: */ __pyx_v_totalReads = (__pyx_v_totalReads + 1); /* "platypusutils.pyx":582 * totalReads += 1 * * if fetchBrokenMates: # <<<<<<<<<<<<<< * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): * if theRead.mateChromID == theRead.chromID: */ if (__pyx_v_fetchBrokenMates) { /* "platypusutils.pyx":583 * * if fetchBrokenMates: * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): # <<<<<<<<<<<<<< * if theRead.mateChromID == theRead.chromID: * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) */ __pyx_t_14 = (!__pyx_f_15samtoolsWrapper_Read_IsProperPair(__pyx_v_theRead)); if (!__pyx_t_14) { __pyx_t_13 = __pyx_f_15samtoolsWrapper_Read_IsUnmapped(__pyx_v_theRead); if (!__pyx_t_13) { __pyx_t_3 = __pyx_f_15samtoolsWrapper_Read_MateIsUnmapped(__pyx_v_theRead); __pyx_t_15 = __pyx_t_3; } else { __pyx_t_15 = __pyx_t_13; } __pyx_t_6 = __pyx_t_15; } else { __pyx_t_6 = __pyx_t_14; } if (__pyx_t_6) { /* "platypusutils.pyx":584 * if fetchBrokenMates: * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): * if theRead.mateChromID == theRead.chromID: # <<<<<<<<<<<<<< * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) * else: */ __pyx_t_6 = (__pyx_v_theRead->mateChromID == __pyx_v_theRead->chromID); if (__pyx_t_6) { /* "platypusutils.pyx":585 * if (not Read_IsProperPair(theRead)) or Read_IsUnmapped(theRead) or Read_MateIsUnmapped(theRead): * if theRead.mateChromID == theRead.chromID: * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) # <<<<<<<<<<<<<< * else: * # Can't get these, as we don't know where they map. This happens if BAM is split and unmapped */ __pyx_t_17 = PyBytes_FromString(((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->getrname(__pyx_v_reader, __pyx_v_theRead->mateChromID)); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_17)); __pyx_t_9 = PyInt_FromLong(__pyx_v_theRead->mateChromID); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyInt_FromLong(__pyx_v_theRead->matePos); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_16 = PyTuple_New(3); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_16, 0, ((PyObject *)__pyx_t_17)); __Pyx_GIVEREF(((PyObject *)__pyx_t_17)); PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_17 = 0; __pyx_t_9 = 0; __pyx_t_7 = 0; __pyx_t_10 = PyList_Append(__pyx_v_brokenMateCoords, ((PyObject *)__pyx_t_16)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_16)); __pyx_t_16 = 0; goto __pyx_L42; } /*else*/ { /* "platypusutils.pyx":589 * # Can't get these, as we don't know where they map. This happens if BAM is split and unmapped * # reads or broken mates are in another file. * if theRead.mateChromID == -1: # <<<<<<<<<<<<<< * pass * else: */ __pyx_t_6 = (__pyx_v_theRead->mateChromID == -1); if (__pyx_t_6) { goto __pyx_L43; } /*else*/ { /* "platypusutils.pyx":592 * pass * else: * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) # <<<<<<<<<<<<<< * * if totalReads >= maxReads: */ __pyx_t_16 = PyBytes_FromString(((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->getrname(__pyx_v_reader, __pyx_v_theRead->mateChromID)); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_16)); __pyx_t_7 = PyInt_FromLong(__pyx_v_theRead->mateChromID); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyInt_FromLong(__pyx_v_theRead->matePos); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_17, 0, ((PyObject *)__pyx_t_16)); __Pyx_GIVEREF(((PyObject *)__pyx_t_16)); PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_16 = 0; __pyx_t_7 = 0; __pyx_t_9 = 0; __pyx_t_10 = PyList_Append(__pyx_v_brokenMateCoords, ((PyObject *)__pyx_t_17)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; } __pyx_L43:; } __pyx_L42:; goto __pyx_L41; } __pyx_L41:; goto __pyx_L40; } __pyx_L40:; /* "platypusutils.pyx":594 * brokenMateCoords.append( (reader.getrname(theRead.mateChromID), theRead.mateChromID, theRead.matePos) ) * * if totalReads >= maxReads: # <<<<<<<<<<<<<< * raise StandardError, "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads." %(totalReads, chrom, start, end) * */ __pyx_t_6 = (__pyx_v_totalReads >= __pyx_v_maxReads); if (__pyx_t_6) { /* "platypusutils.pyx":595 * * if totalReads >= maxReads: * raise StandardError, "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads." %(totalReads, chrom, start, end) # <<<<<<<<<<<<<< * * if fetchBrokenMates: */ __pyx_t_17 = PyInt_FromLong(__pyx_v_totalReads); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_16 = PyTuple_New(4); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_16, 1, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_16, 3, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_17 = 0; __pyx_t_9 = 0; __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_20), ((PyObject *)__pyx_t_16)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); __Pyx_DECREF(((PyObject *)__pyx_t_16)); __pyx_t_16 = 0; __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_t_7), 0, 0); __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L44; } __pyx_L44:; } /* "platypusutils.pyx":597 * raise StandardError, "Too many reads (%s) in region %s:%s-%s. Quitting now. Either reduce --bufferSize or increase --maxReads." %(totalReads, chrom, start, end) * * if fetchBrokenMates: # <<<<<<<<<<<<<< * brokenMateCoords.sort() * queries = mergeQueries(brokenMateCoords) */ if (__pyx_v_fetchBrokenMates) { /* "platypusutils.pyx":598 * * if fetchBrokenMates: * brokenMateCoords.sort() # <<<<<<<<<<<<<< * queries = mergeQueries(brokenMateCoords) * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) */ __pyx_t_10 = PyList_Sort(((PyObject *)__pyx_v_brokenMateCoords)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":599 * if fetchBrokenMates: * brokenMateCoords.sort() * queries = mergeQueries(brokenMateCoords) # <<<<<<<<<<<<<< * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) * */ __pyx_t_7 = ((PyObject *)__pyx_f_13platypusutils_mergeQueries(__pyx_v_brokenMateCoords)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(((PyObject *)__pyx_v_queries)); __pyx_v_queries = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":600 * brokenMateCoords.sort() * queries = mergeQueries(brokenMateCoords) * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) # <<<<<<<<<<<<<< * * for qChrom,qStart,qEnd in queries: */ __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_16 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__info); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_4 = PyList_GET_SIZE(((PyObject *)__pyx_v_brokenMateCoords)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyBytes_FromString(__pyx_v_reader->filename); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __pyx_t_17 = PyInt_FromLong(__pyx_v_start); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = PyInt_FromLong(__pyx_v_end); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_t_9)); __Pyx_GIVEREF(((PyObject *)__pyx_t_9)); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_7 = 0; __pyx_t_9 = 0; __pyx_t_17 = 0; __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_21), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __Pyx_DECREF(((PyObject *)__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 = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_8)); __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __pyx_t_8 = PyObject_Call(__pyx_t_16, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":602 * logger.info("There are %s broken pairs in BAM %s in region %s:%s-%s" %(len(brokenMateCoords), reader.filename, chrom, start, end)) * * for qChrom,qStart,qEnd in queries: # <<<<<<<<<<<<<< * * if verbosity >= 3: */ if (unlikely(((PyObject *)__pyx_v_queries) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_8 = ((PyObject *)__pyx_v_queries); __Pyx_INCREF(__pyx_t_8); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_16 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_17 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_16 = PyList_GET_ITEM(sequence, 0); __pyx_t_17 = PyList_GET_ITEM(sequence, 1); __pyx_t_9 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_16 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_17 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_9 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_16 = __pyx_t_18(__pyx_t_7); if (unlikely(!__pyx_t_16)) goto __pyx_L48_unpacking_failed; __Pyx_GOTREF(__pyx_t_16); index = 1; __pyx_t_17 = __pyx_t_18(__pyx_t_7); if (unlikely(!__pyx_t_17)) goto __pyx_L48_unpacking_failed; __Pyx_GOTREF(__pyx_t_17); index = 2; __pyx_t_9 = __pyx_t_18(__pyx_t_7); if (unlikely(!__pyx_t_9)) goto __pyx_L48_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_7), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L49_unpacking_done; __pyx_L48_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L49_unpacking_done:; } __Pyx_XDECREF(__pyx_v_qChrom); __pyx_v_qChrom = __pyx_t_16; __pyx_t_16 = 0; __Pyx_XDECREF(__pyx_v_qStart); __pyx_v_qStart = __pyx_t_17; __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_v_qEnd); __pyx_v_qEnd = __pyx_t_9; __pyx_t_9 = 0; /* "platypusutils.pyx":604 * for qChrom,qStart,qEnd in queries: * * if verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("Querying broken mates %s:%s-%s" %(chrom, qStart, qEnd)) * readIterator = reader.fetch(qChrom, qStart, qEnd) */ __pyx_t_6 = (__pyx_v_verbosity >= 3); if (__pyx_t_6) { /* "platypusutils.pyx":605 * * if verbosity >= 3: * logger.debug("Querying broken mates %s:%s-%s" %(chrom, qStart, qEnd)) # <<<<<<<<<<<<<< * readIterator = reader.fetch(qChrom, qStart, qEnd) * theRead = NULL */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__debug); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); __Pyx_INCREF(__pyx_v_qStart); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_qStart); __Pyx_GIVEREF(__pyx_v_qStart); __Pyx_INCREF(__pyx_v_qEnd); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_qEnd); __Pyx_GIVEREF(__pyx_v_qEnd); __pyx_t_17 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_22), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_17)); __Pyx_DECREF(((PyObject *)__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 = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_17)); __Pyx_GIVEREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; __pyx_t_17 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; goto __pyx_L50; } __pyx_L50:; /* "platypusutils.pyx":606 * if verbosity >= 3: * logger.debug("Querying broken mates %s:%s-%s" %(chrom, qStart, qEnd)) * readIterator = reader.fetch(qChrom, qStart, qEnd) # <<<<<<<<<<<<<< * theRead = NULL * */ __pyx_t_11 = PyBytes_AsString(__pyx_v_qChrom); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_13 = __Pyx_PyInt_AsInt(__pyx_v_qStart); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_v_qEnd); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_17 = ((PyObject *)((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->fetch(__pyx_v_reader, __pyx_t_11, __pyx_t_13, __pyx_t_3, 0)); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(((PyObject *)__pyx_v_readIterator)); __pyx_v_readIterator = ((struct __pyx_obj_15samtoolsWrapper_IteratorRow *)__pyx_t_17); __pyx_t_17 = 0; /* "platypusutils.pyx":607 * logger.debug("Querying broken mates %s:%s-%s" %(chrom, qStart, qEnd)) * readIterator = reader.fetch(qChrom, qStart, qEnd) * theRead = NULL # <<<<<<<<<<<<<< * * while readIterator.cnext(): */ __pyx_v_theRead = NULL; /* "platypusutils.pyx":609 * theRead = NULL * * while readIterator.cnext(): # <<<<<<<<<<<<<< * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: * theRead = createRead(readIterator.b, 1, &rgID) */ while (1) { __pyx_t_3 = ((struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *)__pyx_v_readIterator->__pyx_vtab)->cnext(__pyx_v_readIterator); if (!__pyx_t_3) break; /* "platypusutils.pyx":610 * * while readIterator.cnext(): * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: # <<<<<<<<<<<<<< * theRead = createRead(readIterator.b, 1, &rgID) * assert theRead != NULL */ __pyx_t_6 = (__pyx_v_readIterator->b->core.mtid == __pyx_v_chromID); if (__pyx_t_6) { __pyx_t_14 = (__pyx_v_start <= __pyx_v_readIterator->b->core.mpos); if (__pyx_t_14) { __pyx_t_14 = (__pyx_v_readIterator->b->core.mpos <= __pyx_v_end); } __pyx_t_15 = __pyx_t_14; } else { __pyx_t_15 = __pyx_t_6; } if (__pyx_t_15) { /* "platypusutils.pyx":611 * while readIterator.cnext(): * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: * theRead = createRead(readIterator.b, 1, &rgID) # <<<<<<<<<<<<<< * assert theRead != NULL * sampleThisRead = samplesByID[rgID] */ __pyx_v_theRead = __pyx_f_15samtoolsWrapper_createRead(__pyx_v_readIterator->b, 1, (&__pyx_v_rgID)); /* "platypusutils.pyx":612 * if readIterator.b.core.mtid == chromID and start <= readIterator.b.core.mpos <= end: * theRead = createRead(readIterator.b, 1, &rgID) * assert theRead != NULL # <<<<<<<<<<<<<< * sampleThisRead = samplesByID[rgID] * free(rgID) */ #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!(__pyx_v_theRead != NULL))) { PyErr_SetNone(PyExc_AssertionError); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif /* "platypusutils.pyx":613 * theRead = createRead(readIterator.b, 1, &rgID) * assert theRead != NULL * sampleThisRead = samplesByID[rgID] # <<<<<<<<<<<<<< * free(rgID) * rgID = NULL */ if (unlikely(((PyObject *)__pyx_v_samplesByID) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_17 = PyBytes_FromString(__pyx_v_rgID); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_17)); __pyx_t_2 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_samplesByID), ((PyObject *)__pyx_t_17)); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_17)); __pyx_t_17 = 0; if (!(likely(PyString_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected str, got %.200s", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_sampleThisRead)); __pyx_v_sampleThisRead = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; /* "platypusutils.pyx":614 * assert theRead != NULL * sampleThisRead = samplesByID[rgID] * free(rgID) # <<<<<<<<<<<<<< * rgID = NULL * theReadBuffer = buffersBySample[sampleThisRead] */ free(__pyx_v_rgID); /* "platypusutils.pyx":615 * sampleThisRead = samplesByID[rgID] * free(rgID) * rgID = NULL # <<<<<<<<<<<<<< * theReadBuffer = buffersBySample[sampleThisRead] * theReadBuffer.brokenMates.append(theRead) */ __pyx_v_rgID = NULL; /* "platypusutils.pyx":616 * free(rgID) * rgID = NULL * theReadBuffer = buffersBySample[sampleThisRead] # <<<<<<<<<<<<<< * theReadBuffer.brokenMates.append(theRead) * */ __pyx_t_2 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_buffersBySample), ((PyObject *)__pyx_v_sampleThisRead)); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7cwindow_bamReadBuffer))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_2); __pyx_t_2 = 0; /* "platypusutils.pyx":617 * rgID = NULL * theReadBuffer = buffersBySample[sampleThisRead] * theReadBuffer.brokenMates.append(theRead) # <<<<<<<<<<<<<< * * if options.shareBAMFiles == 0: */ ((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_theReadBuffer->brokenMates->__pyx_vtab)->append(__pyx_v_theReadBuffer->brokenMates, __pyx_v_theRead); goto __pyx_L53; } __pyx_L53:; } } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L45; } __pyx_L45:; /* "platypusutils.pyx":619 * theReadBuffer.brokenMates.append(theRead) * * if options.shareBAMFiles == 0: # <<<<<<<<<<<<<< * reader.close() * else: */ __pyx_t_8 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__shareBAMFiles); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_15) { /* "platypusutils.pyx":620 * * if options.shareBAMFiles == 0: * reader.close() # <<<<<<<<<<<<<< * else: * reader.clearCache() */ __pyx_t_2 = ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->close(__pyx_v_reader, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L54; } /*else*/ { /* "platypusutils.pyx":622 * reader.close() * else: * reader.clearCache() # <<<<<<<<<<<<<< * * # Need to release lock here when sharing BAM files */ ((struct __pyx_vtabstruct_15samtoolsWrapper_Samfile *)__pyx_v_reader->__pyx_vtab)->clearCache(__pyx_v_reader); } __pyx_L54:; /* "platypusutils.pyx":625 * * # Need to release lock here when sharing BAM files * if reader.lock is not None: # <<<<<<<<<<<<<< * reader.lock.release() * */ __pyx_t_15 = (__pyx_v_reader->lock != Py_None); if (__pyx_t_15) { /* "platypusutils.pyx":626 * # Need to release lock here when sharing BAM files * if reader.lock is not None: * reader.lock.release() # <<<<<<<<<<<<<< * * for theReadBuffer in buffersBySample.values(): */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_reader->lock, __pyx_n_s__release); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L55; } __pyx_L55:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":628 * reader.lock.release() * * for theReadBuffer in buffersBySample.values(): # <<<<<<<<<<<<<< * readBuffers.append(theReadBuffer) * */ __pyx_t_1 = PyDict_Values(__pyx_v_buffersBySample); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_5 = 0; __pyx_t_19 = NULL; } else { __pyx_t_5 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_19 = Py_TYPE(__pyx_t_8)->tp_iternext; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (!__pyx_t_19 && PyList_CheckExact(__pyx_t_8)) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_19 && PyTuple_CheckExact(__pyx_t_8)) { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_1 = __pyx_t_19(__pyx_t_8); if (unlikely(!__pyx_t_1)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_1); } if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7cwindow_bamReadBuffer))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":629 * * for theReadBuffer in buffersBySample.values(): * readBuffers.append(theReadBuffer) # <<<<<<<<<<<<<< * * cdef list sortedBuffers = [] */ __pyx_t_10 = PyList_Append(__pyx_v_readBuffers, ((PyObject *)__pyx_v_theReadBuffer)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __pyx_L3:; /* "platypusutils.pyx":631 * readBuffers.append(theReadBuffer) * * cdef list sortedBuffers = [] # <<<<<<<<<<<<<< * * for theReadBuffer in readBuffers: */ __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_v_sortedBuffers = __pyx_t_8; __pyx_t_8 = 0; /* "platypusutils.pyx":633 * cdef list sortedBuffers = [] * * for theReadBuffer in readBuffers: # <<<<<<<<<<<<<< * if theReadBuffer.reads.getSize() > 0: * theReadBuffer.chromID = theReadBuffer.reads.array[0].chromID */ __pyx_t_8 = ((PyObject *)__pyx_v_readBuffers); __Pyx_INCREF(__pyx_t_8); __pyx_t_5 = 0; for (;;) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7cwindow_bamReadBuffer))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":634 * * for theReadBuffer in readBuffers: * if theReadBuffer.reads.getSize() > 0: # <<<<<<<<<<<<<< * theReadBuffer.chromID = theReadBuffer.reads.array[0].chromID * */ __pyx_t_15 = (((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_theReadBuffer->reads->__pyx_vtab)->getSize(__pyx_v_theReadBuffer->reads) > 0); if (__pyx_t_15) { /* "platypusutils.pyx":635 * for theReadBuffer in readBuffers: * if theReadBuffer.reads.getSize() > 0: * theReadBuffer.chromID = theReadBuffer.reads.array[0].chromID # <<<<<<<<<<<<<< * * if theReadBuffer.brokenMates.getSize() > 0: */ __pyx_t_12 = (__pyx_v_theReadBuffer->reads->array[0])->chromID; __pyx_v_theReadBuffer->chromID = __pyx_t_12; goto __pyx_L60; } __pyx_L60:; /* "platypusutils.pyx":637 * theReadBuffer.chromID = theReadBuffer.reads.array[0].chromID * * if theReadBuffer.brokenMates.getSize() > 0: # <<<<<<<<<<<<<< * theReadBuffer.sortBrokenMates() * */ __pyx_t_15 = (((struct __pyx_vtabstruct_7cwindow_ReadArray *)__pyx_v_theReadBuffer->brokenMates->__pyx_vtab)->getSize(__pyx_v_theReadBuffer->brokenMates) > 0); if (__pyx_t_15) { /* "platypusutils.pyx":638 * * if theReadBuffer.brokenMates.getSize() > 0: * theReadBuffer.sortBrokenMates() # <<<<<<<<<<<<<< * * if not theReadBuffer.isSorted: */ ((struct __pyx_vtabstruct_7cwindow_bamReadBuffer *)__pyx_v_theReadBuffer->__pyx_vtab)->sortBrokenMates(__pyx_v_theReadBuffer); goto __pyx_L61; } __pyx_L61:; /* "platypusutils.pyx":640 * theReadBuffer.sortBrokenMates() * * if not theReadBuffer.isSorted: # <<<<<<<<<<<<<< * theReadBuffer.sortReads() * */ __pyx_t_15 = (!__pyx_v_theReadBuffer->isSorted); if (__pyx_t_15) { /* "platypusutils.pyx":641 * * if not theReadBuffer.isSorted: * theReadBuffer.sortReads() # <<<<<<<<<<<<<< * * theReadBuffer.logFilterSummary() */ ((struct __pyx_vtabstruct_7cwindow_bamReadBuffer *)__pyx_v_theReadBuffer->__pyx_vtab)->sortReads(__pyx_v_theReadBuffer); goto __pyx_L62; } __pyx_L62:; /* "platypusutils.pyx":643 * theReadBuffer.sortReads() * * theReadBuffer.logFilterSummary() # <<<<<<<<<<<<<< * sortedBuffers.append( (theReadBuffer.sample, theReadBuffer) ) * */ ((struct __pyx_vtabstruct_7cwindow_bamReadBuffer *)__pyx_v_theReadBuffer->__pyx_vtab)->logFilterSummary(__pyx_v_theReadBuffer); /* "platypusutils.pyx":644 * * theReadBuffer.logFilterSummary() * sortedBuffers.append( (theReadBuffer.sample, theReadBuffer) ) # <<<<<<<<<<<<<< * * sortedBuffers.sort() */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_theReadBuffer->sample)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_theReadBuffer->sample)); __Pyx_GIVEREF(((PyObject *)__pyx_v_theReadBuffer->sample)); __Pyx_INCREF(((PyObject *)__pyx_v_theReadBuffer)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_theReadBuffer)); __Pyx_GIVEREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_t_10 = PyList_Append(__pyx_v_sortedBuffers, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":646 * sortedBuffers.append( (theReadBuffer.sample, theReadBuffer) ) * * sortedBuffers.sort() # <<<<<<<<<<<<<< * * # Return buffers sorted by sample name */ __pyx_t_10 = PyList_Sort(((PyObject *)__pyx_v_sortedBuffers)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":649 * * # Return buffers sorted by sample name * return [x[1] for x in sortedBuffers] # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = ((PyObject *)__pyx_v_sortedBuffers); __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; for (;;) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF(__pyx_v_x); __pyx_v_x = __pyx_t_2; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_x, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_PyList_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(((PyObject *)__pyx_t_8)); __pyx_r = __pyx_t_8; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; goto __pyx_L0; __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_16); __Pyx_XDECREF(__pyx_t_17); __Pyx_AddTraceback("platypusutils.loadBAMData", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_theReadBuffer); __Pyx_XDECREF((PyObject *)__pyx_v_readIterator); __Pyx_XDECREF((PyObject *)__pyx_v_reader); __Pyx_XDECREF(__pyx_v_readBuffers); __Pyx_XDECREF(__pyx_v_uniqueSamples); __Pyx_XDECREF(__pyx_v_uniqueBAMs); __Pyx_XDECREF(__pyx_v_bamsBySample); __Pyx_XDECREF(__pyx_v_buffersBySample); __Pyx_XDECREF(__pyx_v_brokenMateCoordsByBAM); __Pyx_XDECREF(__pyx_v_sample); __Pyx_XDECREF(__pyx_v_sampleThisRead); __Pyx_XDECREF(__pyx_v_bamsThisSample); __Pyx_XDECREF(__pyx_v_brokenMateCoords); __Pyx_XDECREF(__pyx_v_counter); __Pyx_XDECREF(__pyx_v_queries); __Pyx_XDECREF(__pyx_v_qChrom); __Pyx_XDECREF(__pyx_v_qStart); __Pyx_XDECREF(__pyx_v_qEnd); __Pyx_XDECREF(__pyx_v_sortedBuffers); __Pyx_XDECREF(__pyx_v_x); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":653 * ################################################################################################### * * cdef list mergeQueries(list coords): # <<<<<<<<<<<<<< * """ * Merge individual read queries into regions. */ static PyObject *__pyx_f_13platypusutils_mergeQueries(PyObject *__pyx_v_coords) { PyObject *__pyx_v_queries = NULL; PyObject *__pyx_v_mateChrom = NULL; CYTHON_UNUSED PyObject *__pyx_v_mateChromID = NULL; PyObject *__pyx_v_matePos = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *(*__pyx_t_8)(PyObject *); Py_ssize_t __pyx_t_9; int __pyx_t_10; int __pyx_t_11; int __pyx_t_12; int __pyx_t_13; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("mergeQueries", 0); /* "platypusutils.pyx":657 * Merge individual read queries into regions. * """ * queries = [] # <<<<<<<<<<<<<< * * for mateChrom,mateChromID,matePos in coords: */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_queries = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":659 * queries = [] * * for mateChrom,mateChromID,matePos in coords: # <<<<<<<<<<<<<< * if len(queries) == 0: * queries.append( [mateChrom, matePos, matePos + 1] ) */ if (unlikely(((PyObject *)__pyx_v_coords) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_coords); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; #if CYTHON_COMPILING_IN_CPYTHON Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_6 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 2; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L6_unpacking_done:; } __Pyx_XDECREF(__pyx_v_mateChrom); __pyx_v_mateChrom = __pyx_t_4; __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_v_mateChromID); __pyx_v_mateChromID = __pyx_t_5; __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_v_matePos); __pyx_v_matePos = __pyx_t_6; __pyx_t_6 = 0; /* "platypusutils.pyx":660 * * for mateChrom,mateChromID,matePos in coords: * if len(queries) == 0: # <<<<<<<<<<<<<< * queries.append( [mateChrom, matePos, matePos + 1] ) * elif mateChrom == queries[-1][0]: */ __pyx_t_9 = PyList_GET_SIZE(((PyObject *)__pyx_v_queries)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = (__pyx_t_9 == 0); if (__pyx_t_10) { /* "platypusutils.pyx":661 * for mateChrom,mateChromID,matePos in coords: * if len(queries) == 0: * queries.append( [mateChrom, matePos, matePos + 1] ) # <<<<<<<<<<<<<< * elif mateChrom == queries[-1][0]: * if matePos - queries[-1][2] < 1e4 and matePos - queries[-1][1] < 1e5: */ __pyx_t_3 = PyNumber_Add(__pyx_v_matePos, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_mateChrom); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_mateChrom); __Pyx_GIVEREF(__pyx_v_mateChrom); __Pyx_INCREF(__pyx_v_matePos); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_v_matePos); __Pyx_GIVEREF(__pyx_v_matePos); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_11 = PyList_Append(__pyx_v_queries, ((PyObject *)__pyx_t_6)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; goto __pyx_L7; } /* "platypusutils.pyx":662 * if len(queries) == 0: * queries.append( [mateChrom, matePos, matePos + 1] ) * elif mateChrom == queries[-1][0]: # <<<<<<<<<<<<<< * if matePos - queries[-1][2] < 1e4 and matePos - queries[-1][1] < 1e5: * queries[-1][2] = matePos + 1 */ __pyx_t_6 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_queries), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_6, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_v_mateChrom, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_10) { /* "platypusutils.pyx":663 * queries.append( [mateChrom, matePos, matePos + 1] ) * elif mateChrom == queries[-1][0]: * if matePos - queries[-1][2] < 1e4 and matePos - queries[-1][1] < 1e5: # <<<<<<<<<<<<<< * queries[-1][2] = matePos + 1 * else: */ __pyx_t_6 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_queries), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_6, 2, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Subtract(__pyx_v_matePos, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(1e4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_10) { __pyx_t_5 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_queries), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_v_matePos, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(1e5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_13 = __pyx_t_12; } else { __pyx_t_13 = __pyx_t_10; } if (__pyx_t_13) { /* "platypusutils.pyx":664 * elif mateChrom == queries[-1][0]: * if matePos - queries[-1][2] < 1e4 and matePos - queries[-1][1] < 1e5: * queries[-1][2] = matePos + 1 # <<<<<<<<<<<<<< * else: * queries.append( [mateChrom, matePos, matePos + 1] ) */ __pyx_t_6 = PyNumber_Add(__pyx_v_matePos, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_queries), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); if (__Pyx_SetItemInt(__pyx_t_3, 2, __pyx_t_6, sizeof(long), PyInt_FromLong) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L8; } /*else*/ { /* "platypusutils.pyx":666 * queries[-1][2] = matePos + 1 * else: * queries.append( [mateChrom, matePos, matePos + 1] ) # <<<<<<<<<<<<<< * else: * queries.append( [mateChrom, matePos, matePos + 1] ) */ __pyx_t_6 = PyNumber_Add(__pyx_v_matePos, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mateChrom); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_mateChrom); __Pyx_GIVEREF(__pyx_v_mateChrom); __Pyx_INCREF(__pyx_v_matePos); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_v_matePos); __Pyx_GIVEREF(__pyx_v_matePos); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_11 = PyList_Append(__pyx_v_queries, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; } __pyx_L8:; goto __pyx_L7; } /*else*/ { /* "platypusutils.pyx":668 * queries.append( [mateChrom, matePos, matePos + 1] ) * else: * queries.append( [mateChrom, matePos, matePos + 1] ) # <<<<<<<<<<<<<< * * return queries */ __pyx_t_3 = PyNumber_Add(__pyx_v_matePos, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_mateChrom); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_mateChrom); __Pyx_GIVEREF(__pyx_v_mateChrom); __Pyx_INCREF(__pyx_v_matePos); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_v_matePos); __Pyx_GIVEREF(__pyx_v_matePos); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_11 = PyList_Append(__pyx_v_queries, ((PyObject *)__pyx_t_6)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; } __pyx_L7:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":670 * queries.append( [mateChrom, matePos, matePos + 1] ) * * return queries # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_queries)); __pyx_r = __pyx_v_queries; goto __pyx_L0; __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("platypusutils.mergeQueries", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_queries); __Pyx_XDECREF(__pyx_v_mateChrom); __Pyx_XDECREF(__pyx_v_mateChromID); __Pyx_XDECREF(__pyx_v_matePos); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":674 * ################################################################################################### * * cdef list getAlignmentErrorsBetweenReadsAndBestHaplotypes(list readBuffers, list haplotypes): # <<<<<<<<<<<<<< * """ * We could allow for iterative calling of variants, by doing one pass, and then taking */ static PyObject *__pyx_f_13platypusutils_getAlignmentErrorsBetweenReadsAndBestHaplotypes(PyObject *__pyx_v_readBuffers, PyObject *__pyx_v_haplotypes) { struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_theReadBuffer = 0; CYTHON_UNUSED PyObject *__pyx_v_newVariants = 0; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_bufferStart; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_bufferEnd; CYTHON_UNUSED __pyx_t_15samtoolsWrapper_cAlignedRead *__pyx_v_theRead; CYTHON_UNUSED struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_refHap = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; PyObject *__pyx_t_3 = NULL; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getAlignmentErrorsBetweenReadsAndBestHaplotypes", 0); /* "platypusutils.pyx":680 * """ * cdef bamReadBuffer theReadBuffer * cdef list newVariants = [] # <<<<<<<<<<<<<< * cdef tuple alignment * cdef cAlignedRead** bufferStart */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_newVariants = __pyx_t_1; __pyx_t_1 = 0; /* "platypusutils.pyx":685 * cdef cAlignedRead** bufferEnd * cdef cAlignedRead* theRead * cdef Haplotype refHap = haplotypes[0] # <<<<<<<<<<<<<< * * for theReadBuffer in readBuffers: */ if (unlikely(((PyObject *)__pyx_v_haplotypes) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } if (!(likely(((PyList_GET_ITEM(__pyx_v_haplotypes, 0)) == Py_None) || likely(__Pyx_TypeTest(PyList_GET_ITEM(__pyx_v_haplotypes, 0), __pyx_ptype_10chaplotype_Haplotype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_1 = PyList_GET_ITEM(__pyx_v_haplotypes, 0); __Pyx_INCREF(__pyx_t_1); __pyx_v_refHap = ((struct __pyx_obj_10chaplotype_Haplotype *)__pyx_t_1); __pyx_t_1 = 0; /* "platypusutils.pyx":687 * cdef Haplotype refHap = haplotypes[0] * * for theReadBuffer in readBuffers: # <<<<<<<<<<<<<< * bufferStart = theReadBuffer.reads.windowStart * bufferEnd = theReadBuffer.reads.windowEnd */ if (unlikely(((PyObject *)__pyx_v_readBuffers) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_readBuffers); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7cwindow_bamReadBuffer))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_theReadBuffer)); __pyx_v_theReadBuffer = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":688 * * for theReadBuffer in readBuffers: * bufferStart = theReadBuffer.reads.windowStart # <<<<<<<<<<<<<< * bufferEnd = theReadBuffer.reads.windowEnd * */ __pyx_t_4 = __pyx_v_theReadBuffer->reads->windowStart; __pyx_v_bufferStart = __pyx_t_4; /* "platypusutils.pyx":689 * for theReadBuffer in readBuffers: * bufferStart = theReadBuffer.reads.windowStart * bufferEnd = theReadBuffer.reads.windowEnd # <<<<<<<<<<<<<< * * while bufferStart != bufferEnd: */ __pyx_t_4 = __pyx_v_theReadBuffer->reads->windowEnd; __pyx_v_bufferEnd = __pyx_t_4; /* "platypusutils.pyx":691 * bufferEnd = theReadBuffer.reads.windowEnd * * while bufferStart != bufferEnd: # <<<<<<<<<<<<<< * theRead = bufferStart[0] * #alignment = alignWithTraceback(theRead, refHap.cHaplotypeSequence, refHap.hapSequenceHash, refHap.startPos, refHap.varSeqLen, refHap.cLocalGapOpenQ, 3, 2, refHap.hapLen, False) */ while (1) { __pyx_t_5 = (__pyx_v_bufferStart != __pyx_v_bufferEnd); if (!__pyx_t_5) break; /* "platypusutils.pyx":692 * * while bufferStart != bufferEnd: * theRead = bufferStart[0] # <<<<<<<<<<<<<< * #alignment = alignWithTraceback(theRead, refHap.cHaplotypeSequence, refHap.hapSequenceHash, refHap.startPos, refHap.varSeqLen, refHap.cLocalGapOpenQ, 3, 2, refHap.hapLen, False) * #print alignment */ __pyx_v_theRead = (__pyx_v_bufferStart[0]); } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("platypusutils.getAlignmentErrorsBetweenReadsAndBestHaplotypes", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_theReadBuffer); __Pyx_XDECREF(__pyx_v_newVariants); __Pyx_XDECREF((PyObject *)__pyx_v_refHap); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":698 * ################################################################################################### * * cdef int isHaplotypeValid(tuple variants): # <<<<<<<<<<<<<< * """ * Check if this is a valid haplotype. If the variants overlap then we */ static int __pyx_f_13platypusutils_isHaplotypeValid(PyObject *__pyx_v_variants) { int __pyx_v_nVariants; int __pyx_v_index; struct __pyx_obj_7variant_Variant *__pyx_v_thisVar = 0; struct __pyx_obj_7variant_Variant *__pyx_v_nextVar = 0; int __pyx_r; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; long __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("isHaplotypeValid", 0); /* "platypusutils.pyx":706 * the haplotype * """ * cdef int nVariants = len(variants) # <<<<<<<<<<<<<< * * # Reference haplotype is always valid. And a single variant can't really overlap */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVariants = __pyx_t_1; /* "platypusutils.pyx":710 * # Reference haplotype is always valid. And a single variant can't really overlap * # with anything. * if nVariants <= 1: # <<<<<<<<<<<<<< * return True * */ __pyx_t_2 = (__pyx_v_nVariants <= 1); if (__pyx_t_2) { /* "platypusutils.pyx":711 * # with anything. * if nVariants <= 1: * return True # <<<<<<<<<<<<<< * * cdef int index = 0 */ __pyx_r = 1; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "platypusutils.pyx":713 * return True * * cdef int index = 0 # <<<<<<<<<<<<<< * cdef Variant thisVar * cdef Variant nextVar */ __pyx_v_index = 0; /* "platypusutils.pyx":720 * # the end of variant[i-1] occurs after the beginning of variant[i], then something is wrong. * # Note, that the end of variant v is actually v.refPos + len(v.removed) - len(v.added). * for index from 0 <= index < nVariants: # <<<<<<<<<<<<<< * * thisVar = variants[index] */ __pyx_t_3 = __pyx_v_nVariants; for (__pyx_v_index = 0; __pyx_v_index < __pyx_t_3; __pyx_v_index++) { /* "platypusutils.pyx":722 * for index from 0 <= index < nVariants: * * thisVar = variants[index] # <<<<<<<<<<<<<< * * # The end of the last variant can't overlap with anything. */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_variants), __pyx_v_index, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_thisVar)); __pyx_v_thisVar = ((struct __pyx_obj_7variant_Variant *)__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":725 * * # The end of the last variant can't overlap with anything. * if index + 1 == nVariants: # <<<<<<<<<<<<<< * break * */ __pyx_t_2 = ((__pyx_v_index + 1) == __pyx_v_nVariants); if (__pyx_t_2) { /* "platypusutils.pyx":726 * # The end of the last variant can't overlap with anything. * if index + 1 == nVariants: * break # <<<<<<<<<<<<<< * * nextVar = variants[index+1] */ goto __pyx_L5_break; goto __pyx_L6; } __pyx_L6:; /* "platypusutils.pyx":728 * break * * nextVar = variants[index+1] # <<<<<<<<<<<<<< * * # This should never happen */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_5 = (__pyx_v_index + 1); __pyx_t_4 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_variants), __pyx_t_5, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_nextVar)); __pyx_v_nextVar = ((struct __pyx_obj_7variant_Variant *)__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":731 * * # This should never happen * if thisVar.minRefPos > nextVar.minRefPos: # <<<<<<<<<<<<<< * logger.error("Variants %s and %s are out of order. This should never happen." %(thisVar, nextVar)) * raise StandardError, "Variants out of order in haplotype!" */ __pyx_t_2 = (__pyx_v_thisVar->minRefPos > __pyx_v_nextVar->minRefPos); if (__pyx_t_2) { /* "platypusutils.pyx":732 * # This should never happen * if thisVar.minRefPos > nextVar.minRefPos: * logger.error("Variants %s and %s are out of order. This should never happen." %(thisVar, nextVar)) # <<<<<<<<<<<<<< * raise StandardError, "Variants out of order in haplotype!" * */ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__error); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_thisVar)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_thisVar)); __Pyx_GIVEREF(((PyObject *)__pyx_v_thisVar)); __Pyx_INCREF(((PyObject *)__pyx_v_nextVar)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_nextVar)); __Pyx_GIVEREF(((PyObject *)__pyx_v_nextVar)); __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_23), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); __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 = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_7)); __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_t_7 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "platypusutils.pyx":733 * if thisVar.minRefPos > nextVar.minRefPos: * logger.error("Variants %s and %s are out of order. This should never happen." %(thisVar, nextVar)) * raise StandardError, "Variants out of order in haplotype!" # <<<<<<<<<<<<<< * * # If this occurs then the haplotype is invalid. This will only happen if a deletion deletes the ref pos */ __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_kp_s_24), 0, 0); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L7; } __pyx_L7:; /* "platypusutils.pyx":737 * # If this occurs then the haplotype is invalid. This will only happen if a deletion deletes the ref pos * # of the next variant. * if thisVar.maxRefPos > nextVar.minRefPos: # <<<<<<<<<<<<<< * return False * */ __pyx_t_2 = (__pyx_v_thisVar->maxRefPos > __pyx_v_nextVar->minRefPos); if (__pyx_t_2) { /* "platypusutils.pyx":738 * # of the next variant. * if thisVar.maxRefPos > nextVar.minRefPos: * return False # <<<<<<<<<<<<<< * * #if thisVar.maxRefPos == nextVar.minRefPos: */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L8; } /* "platypusutils.pyx":744 * * # This could be, for example, a SNP adjacent to an insertion/deletion * elif thisVar.maxRefPos == nextVar.minRefPos: # <<<<<<<<<<<<<< * * # Allow a SNP at the same labelled base as a deletion, as the deletion really deletes the base after */ __pyx_t_2 = (__pyx_v_thisVar->maxRefPos == __pyx_v_nextVar->minRefPos); if (__pyx_t_2) { /* "platypusutils.pyx":748 * # Allow a SNP at the same labelled base as a deletion, as the deletion really deletes the base after * # the reference position. * if (thisVar.nAdded == thisVar.nRemoved) and (nextVar.nAdded < nextVar.nRemoved): # <<<<<<<<<<<<<< * continue * */ __pyx_t_2 = (__pyx_v_thisVar->nAdded == __pyx_v_thisVar->nRemoved); if (__pyx_t_2) { __pyx_t_8 = (__pyx_v_nextVar->nAdded < __pyx_v_nextVar->nRemoved); __pyx_t_9 = __pyx_t_8; } else { __pyx_t_9 = __pyx_t_2; } if (__pyx_t_9) { /* "platypusutils.pyx":749 * # the reference position. * if (thisVar.nAdded == thisVar.nRemoved) and (nextVar.nAdded < nextVar.nRemoved): * continue # <<<<<<<<<<<<<< * * # Allow a SNP at the same labelled base as an insertion, as the insertion really inserts after */ goto __pyx_L4_continue; goto __pyx_L9; } /* "platypusutils.pyx":753 * # Allow a SNP at the same labelled base as an insertion, as the insertion really inserts after * # the reference position. * elif (thisVar.nAdded == thisVar.nRemoved) and (nextVar.nAdded > nextVar.nRemoved): # <<<<<<<<<<<<<< * continue * */ __pyx_t_9 = (__pyx_v_thisVar->nAdded == __pyx_v_thisVar->nRemoved); if (__pyx_t_9) { __pyx_t_2 = (__pyx_v_nextVar->nAdded > __pyx_v_nextVar->nRemoved); __pyx_t_8 = __pyx_t_2; } else { __pyx_t_8 = __pyx_t_9; } if (__pyx_t_8) { /* "platypusutils.pyx":754 * # the reference position. * elif (thisVar.nAdded == thisVar.nRemoved) and (nextVar.nAdded > nextVar.nRemoved): * continue # <<<<<<<<<<<<<< * * # 2 SNPs/Insertions/Deletions at same position is not ok. */ goto __pyx_L4_continue; goto __pyx_L9; } /*else*/ { /* "platypusutils.pyx":758 * # 2 SNPs/Insertions/Deletions at same position is not ok. * else: * return False # <<<<<<<<<<<<<< * * # All is well with this pair of variants */ __pyx_r = 0; goto __pyx_L0; } __pyx_L9:; goto __pyx_L8; } /*else*/ { /* "platypusutils.pyx":762 * # All is well with this pair of variants * else: * continue # <<<<<<<<<<<<<< * * # If we get here, then all is well. */ goto __pyx_L4_continue; } __pyx_L8:; __pyx_L4_continue:; } __pyx_L5_break:; /* "platypusutils.pyx":765 * * # If we get here, then all is well. * return True # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = 1; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_WriteUnraisable("platypusutils.isHaplotypeValid", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_thisVar); __Pyx_XDECREF((PyObject *)__pyx_v_nextVar); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "platypusutils.pyx":769 * ################################################################################################### * * cdef Variant leftNormaliseIndel(Variant variant, FastaFile refFile, int maxReadLength): # <<<<<<<<<<<<<< * """ * Shift all indels as far to the left as possible. When this fails due to running out */ static struct __pyx_obj_7variant_Variant *__pyx_f_13platypusutils_leftNormaliseIndel(struct __pyx_obj_7variant_Variant *__pyx_v_variant, struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, int __pyx_v_maxReadLength) { int __pyx_v_nAdded; int __pyx_v_nRemoved; int __pyx_v_window; int __pyx_v_seqMax; int __pyx_v_windowMin; int __pyx_v_windowMax; PyObject *__pyx_v_bytesRefSeq = 0; PyObject *__pyx_v_bytesHapSeq = 0; char *__pyx_v_refSequence; char *__pyx_v_hapSequence; int __pyx_v_lenRef; int __pyx_v_lenHap; int __pyx_v_index; int __pyx_v_minLenRefHap; int __pyx_v_maxPos; int __pyx_v_newPos; char __pyx_v_refChar; char __pyx_v_hapChar; int __pyx_v_hapIndex; int __pyx_v_refIndex; PyObject *__pyx_v_newAdded = 0; PyObject *__pyx_v_newRemoved = 0; CYTHON_UNUSED int __pyx_v_effecctSize; int __pyx_v_insStart; int __pyx_v_delStart; int __pyx_v_lenNewAdded; int __pyx_v_lenNewRemoved; struct __pyx_obj_7variant_Variant *__pyx_v_newVar = 0; struct __pyx_obj_7variant_Variant *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; long __pyx_t_10; long __pyx_t_11; PyObject *__pyx_t_12 = NULL; char *__pyx_t_13; size_t __pyx_t_14; PyObject *__pyx_t_15 = NULL; Py_ssize_t __pyx_t_16; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("leftNormaliseIndel", 0); /* "platypusutils.pyx":774 * of sequence, then report the original position in the BAM. * """ * cdef int nAdded = variant.nAdded # <<<<<<<<<<<<<< * cdef int nRemoved = variant.nRemoved * */ __pyx_t_1 = __pyx_v_variant->nAdded; __pyx_v_nAdded = __pyx_t_1; /* "platypusutils.pyx":775 * """ * cdef int nAdded = variant.nAdded * cdef int nRemoved = variant.nRemoved # <<<<<<<<<<<<<< * * # For SNPs, and multi-nucleotide substitutions, we don't need to do anything */ __pyx_t_1 = __pyx_v_variant->nRemoved; __pyx_v_nRemoved = __pyx_t_1; /* "platypusutils.pyx":778 * * # For SNPs, and multi-nucleotide substitutions, we don't need to do anything * if nAdded == 1 and nRemoved == 1: # <<<<<<<<<<<<<< * return variant * */ __pyx_t_2 = (__pyx_v_nAdded == 1); if (__pyx_t_2) { __pyx_t_3 = (__pyx_v_nRemoved == 1); __pyx_t_4 = __pyx_t_3; } else { __pyx_t_4 = __pyx_t_2; } if (__pyx_t_4) { /* "platypusutils.pyx":779 * # For SNPs, and multi-nucleotide substitutions, we don't need to do anything * if nAdded == 1 and nRemoved == 1: * return variant # <<<<<<<<<<<<<< * * # Don't try to left-normalise replacements */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); __pyx_r = __pyx_v_variant; goto __pyx_L0; goto __pyx_L3; } /* "platypusutils.pyx":782 * * # Don't try to left-normalise replacements * elif nAdded > 0 and nRemoved > 0 and nAdded != nRemoved: # <<<<<<<<<<<<<< * return variant * */ __pyx_t_4 = (__pyx_v_nAdded > 0); if (__pyx_t_4) { __pyx_t_2 = (__pyx_v_nRemoved > 0); if (__pyx_t_2) { __pyx_t_3 = (__pyx_v_nAdded != __pyx_v_nRemoved); __pyx_t_5 = __pyx_t_3; } else { __pyx_t_5 = __pyx_t_2; } __pyx_t_2 = __pyx_t_5; } else { __pyx_t_2 = __pyx_t_4; } if (__pyx_t_2) { /* "platypusutils.pyx":783 * # Don't try to left-normalise replacements * elif nAdded > 0 and nRemoved > 0 and nAdded != nRemoved: * return variant # <<<<<<<<<<<<<< * * # Don't try to left-normalise MNPs */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); __pyx_r = __pyx_v_variant; goto __pyx_L0; goto __pyx_L3; } /* "platypusutils.pyx":786 * * # Don't try to left-normalise MNPs * elif nAdded > 1 and nRemoved > 1 and nAdded == nRemoved: # <<<<<<<<<<<<<< * return variant * */ __pyx_t_2 = (__pyx_v_nAdded > 1); if (__pyx_t_2) { __pyx_t_4 = (__pyx_v_nRemoved > 1); if (__pyx_t_4) { __pyx_t_5 = (__pyx_v_nAdded == __pyx_v_nRemoved); __pyx_t_3 = __pyx_t_5; } else { __pyx_t_3 = __pyx_t_4; } __pyx_t_4 = __pyx_t_3; } else { __pyx_t_4 = __pyx_t_2; } if (__pyx_t_4) { /* "platypusutils.pyx":787 * # Don't try to left-normalise MNPs * elif nAdded > 1 and nRemoved > 1 and nAdded == nRemoved: * return variant # <<<<<<<<<<<<<< * * # Hack. Leave variants alone if they occur at the extreme left end of the contigs, otherwise */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); __pyx_r = __pyx_v_variant; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "platypusutils.pyx":791 * # Hack. Leave variants alone if they occur at the extreme left end of the contigs, otherwise * # we run out of sequence. * if variant.refPos < 100: # <<<<<<<<<<<<<< * return variant * */ __pyx_t_4 = (__pyx_v_variant->refPos < 100); if (__pyx_t_4) { /* "platypusutils.pyx":792 * # we run out of sequence. * if variant.refPos < 100: * return variant # <<<<<<<<<<<<<< * * # We look at the reference for this many bases either side of the variant, so that we can adjust its position */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); __pyx_r = __pyx_v_variant; goto __pyx_L0; goto __pyx_L4; } __pyx_L4:; /* "platypusutils.pyx":796 * # We look at the reference for this many bases either side of the variant, so that we can adjust its position * # accordingly, if there are homopolymers etc. * cdef int window = max(nAdded, nRemoved) + maxReadLength # <<<<<<<<<<<<<< * cdef int seqMax = refFile.refs[variant.refName].SeqLength - 1 * cdef int windowMin = max(1, variant.refPos - window) */ __pyx_t_1 = __pyx_v_nRemoved; __pyx_t_6 = __pyx_v_nAdded; if ((__pyx_t_1 > __pyx_t_6)) { __pyx_t_7 = __pyx_t_1; } else { __pyx_t_7 = __pyx_t_6; } __pyx_v_window = (__pyx_t_7 + __pyx_v_maxReadLength); /* "platypusutils.pyx":797 * # accordingly, if there are homopolymers etc. * cdef int window = max(nAdded, nRemoved) + maxReadLength * cdef int seqMax = refFile.refs[variant.refName].SeqLength - 1 # <<<<<<<<<<<<<< * cdef int windowMin = max(1, variant.refPos - window) * cdef int windowMax = min(variant.refPos + window, seqMax) */ if (unlikely(((PyObject *)__pyx_v_refFile->refs) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_8 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_refFile->refs), ((PyObject *)__pyx_v_variant->refName)); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__SeqLength); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Subtract(__pyx_t_9, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_t_8); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_seqMax = __pyx_t_7; /* "platypusutils.pyx":798 * cdef int window = max(nAdded, nRemoved) + maxReadLength * cdef int seqMax = refFile.refs[variant.refName].SeqLength - 1 * cdef int windowMin = max(1, variant.refPos - window) # <<<<<<<<<<<<<< * cdef int windowMax = min(variant.refPos + window, seqMax) * */ __pyx_t_7 = (__pyx_v_variant->refPos - __pyx_v_window); __pyx_t_10 = 1; if ((__pyx_t_7 > __pyx_t_10)) { __pyx_t_11 = __pyx_t_7; } else { __pyx_t_11 = __pyx_t_10; } __pyx_v_windowMin = __pyx_t_11; /* "platypusutils.pyx":799 * cdef int seqMax = refFile.refs[variant.refName].SeqLength - 1 * cdef int windowMin = max(1, variant.refPos - window) * cdef int windowMax = min(variant.refPos + window, seqMax) # <<<<<<<<<<<<<< * * cdef bytes bytesRefSeq = refFile.getSequence(variant.refName, windowMin, windowMax) */ __pyx_t_7 = __pyx_v_seqMax; __pyx_t_1 = (__pyx_v_variant->refPos + __pyx_v_window); if ((__pyx_t_7 < __pyx_t_1)) { __pyx_t_6 = __pyx_t_7; } else { __pyx_t_6 = __pyx_t_1; } __pyx_v_windowMax = __pyx_t_6; /* "platypusutils.pyx":801 * cdef int windowMax = min(variant.refPos + window, seqMax) * * cdef bytes bytesRefSeq = refFile.getSequence(variant.refName, windowMin, windowMax) # <<<<<<<<<<<<<< * cdef bytes bytesHapSeq = bytesRefSeq[0 : (variant.refPos - windowMin) + 1] * */ __pyx_t_8 = ((PyObject *)__pyx_v_variant->refName); __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = ((PyObject *)((struct __pyx_vtabstruct_9fastafile_FastaFile *)__pyx_v_refFile->__pyx_vtab)->getSequence(__pyx_v_refFile, ((PyObject*)__pyx_t_8), __pyx_v_windowMin, __pyx_v_windowMax)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_bytesRefSeq = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":802 * * cdef bytes bytesRefSeq = refFile.getSequence(variant.refName, windowMin, windowMax) * cdef bytes bytesHapSeq = bytesRefSeq[0 : (variant.refPos - windowMin) + 1] # <<<<<<<<<<<<<< * * bytesHapSeq += variant.added */ __pyx_t_9 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_bytesRefSeq), 0, ((__pyx_v_variant->refPos - __pyx_v_windowMin) + 1)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __pyx_v_bytesHapSeq = __pyx_t_9; __pyx_t_9 = 0; /* "platypusutils.pyx":804 * cdef bytes bytesHapSeq = bytesRefSeq[0 : (variant.refPos - windowMin) + 1] * * bytesHapSeq += variant.added # <<<<<<<<<<<<<< * bytesHapSeq += bytesRefSeq[(variant.refPos - windowMin + nRemoved) + 1:] * */ __pyx_t_9 = PyNumber_InPlaceAdd(((PyObject *)__pyx_v_bytesHapSeq), ((PyObject *)__pyx_v_variant->added)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __Pyx_DECREF(((PyObject *)__pyx_v_bytesHapSeq)); __pyx_v_bytesHapSeq = __pyx_t_9; __pyx_t_9 = 0; /* "platypusutils.pyx":805 * * bytesHapSeq += variant.added * bytesHapSeq += bytesRefSeq[(variant.refPos - windowMin + nRemoved) + 1:] # <<<<<<<<<<<<<< * * # This will invariably happen at the end of chromosomes, e.g. MT */ __pyx_t_9 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_bytesRefSeq), (((__pyx_v_variant->refPos - __pyx_v_windowMin) + __pyx_v_nRemoved) + 1), PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __pyx_t_8 = PyNumber_InPlaceAdd(((PyObject *)__pyx_v_bytesHapSeq), ((PyObject *)__pyx_t_9)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_bytesHapSeq)); __pyx_v_bytesHapSeq = __pyx_t_8; __pyx_t_8 = 0; /* "platypusutils.pyx":808 * * # This will invariably happen at the end of chromosomes, e.g. MT * if bytesHapSeq[-1] != bytesRefSeq[-1] and windowMax != seqMax: # <<<<<<<<<<<<<< * raise StandardError, "Variant %s not correctly normalised. \nRef = %s\nHap = %s" %(variant, bytesRefSeq, bytesHapSeq) * */ __pyx_t_8 = __Pyx_GetItemInt(((PyObject *)__pyx_v_bytesHapSeq), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_GetItemInt(((PyObject *)__pyx_v_bytesRefSeq), -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = PyObject_RichCompare(__pyx_t_8, __pyx_t_9, Py_NE); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_4) { __pyx_t_2 = (__pyx_v_windowMax != __pyx_v_seqMax); __pyx_t_3 = __pyx_t_2; } else { __pyx_t_3 = __pyx_t_4; } if (__pyx_t_3) { /* "platypusutils.pyx":809 * # This will invariably happen at the end of chromosomes, e.g. MT * if bytesHapSeq[-1] != bytesRefSeq[-1] and windowMax != seqMax: * raise StandardError, "Variant %s not correctly normalised. \nRef = %s\nHap = %s" %(variant, bytesRefSeq, bytesHapSeq) # <<<<<<<<<<<<<< * * cdef char* refSequence = bytesRefSeq */ __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); PyTuple_SET_ITEM(__pyx_t_12, 0, ((PyObject *)__pyx_v_variant)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variant)); __Pyx_INCREF(((PyObject *)__pyx_v_bytesRefSeq)); PyTuple_SET_ITEM(__pyx_t_12, 1, ((PyObject *)__pyx_v_bytesRefSeq)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bytesRefSeq)); __Pyx_INCREF(((PyObject *)__pyx_v_bytesHapSeq)); PyTuple_SET_ITEM(__pyx_t_12, 2, ((PyObject *)__pyx_v_bytesHapSeq)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bytesHapSeq)); __pyx_t_9 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_25), ((PyObject *)__pyx_t_12)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __Pyx_DECREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0; __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_t_9), 0, 0); __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; /* "platypusutils.pyx":811 * raise StandardError, "Variant %s not correctly normalised. \nRef = %s\nHap = %s" %(variant, bytesRefSeq, bytesHapSeq) * * cdef char* refSequence = bytesRefSeq # <<<<<<<<<<<<<< * cdef char* hapSequence = bytesHapSeq * */ __pyx_t_13 = PyBytes_AsString(((PyObject *)__pyx_v_bytesRefSeq)); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_refSequence = __pyx_t_13; /* "platypusutils.pyx":812 * * cdef char* refSequence = bytesRefSeq * cdef char* hapSequence = bytesHapSeq # <<<<<<<<<<<<<< * * cdef int lenRef = len(refSequence) */ __pyx_t_13 = PyBytes_AsString(((PyObject *)__pyx_v_bytesHapSeq)); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_hapSequence = __pyx_t_13; /* "platypusutils.pyx":814 * cdef char* hapSequence = bytesHapSeq * * cdef int lenRef = len(refSequence) # <<<<<<<<<<<<<< * cdef int lenHap = len(hapSequence) * */ __pyx_t_14 = strlen(__pyx_v_refSequence); __pyx_v_lenRef = __pyx_t_14; /* "platypusutils.pyx":815 * * cdef int lenRef = len(refSequence) * cdef int lenHap = len(hapSequence) # <<<<<<<<<<<<<< * * cdef int index = 0 */ __pyx_t_14 = strlen(__pyx_v_hapSequence); __pyx_v_lenHap = __pyx_t_14; /* "platypusutils.pyx":817 * cdef int lenHap = len(hapSequence) * * cdef int index = 0 # <<<<<<<<<<<<<< * cdef int minLenRefHap = 0 * */ __pyx_v_index = 0; /* "platypusutils.pyx":818 * * cdef int index = 0 * cdef int minLenRefHap = 0 # <<<<<<<<<<<<<< * * if lenRef < lenHap: */ __pyx_v_minLenRefHap = 0; /* "platypusutils.pyx":820 * cdef int minLenRefHap = 0 * * if lenRef < lenHap: # <<<<<<<<<<<<<< * minLenRefHap = lenRef * else: */ __pyx_t_3 = (__pyx_v_lenRef < __pyx_v_lenHap); if (__pyx_t_3) { /* "platypusutils.pyx":821 * * if lenRef < lenHap: * minLenRefHap = lenRef # <<<<<<<<<<<<<< * else: * minLenRefHap = lenHap */ __pyx_v_minLenRefHap = __pyx_v_lenRef; goto __pyx_L6; } /*else*/ { /* "platypusutils.pyx":823 * minLenRefHap = lenRef * else: * minLenRefHap = lenHap # <<<<<<<<<<<<<< * * # First loop forwards to find out how far to the right we can push it */ __pyx_v_minLenRefHap = __pyx_v_lenHap; } __pyx_L6:; /* "platypusutils.pyx":826 * * # First loop forwards to find out how far to the right we can push it * for index from 0 <= index < minLenRefHap: # <<<<<<<<<<<<<< * if hapSequence[index] != refSequence[index]: * break; */ __pyx_t_6 = __pyx_v_minLenRefHap; for (__pyx_v_index = 0; __pyx_v_index < __pyx_t_6; __pyx_v_index++) { /* "platypusutils.pyx":827 * # First loop forwards to find out how far to the right we can push it * for index from 0 <= index < minLenRefHap: * if hapSequence[index] != refSequence[index]: # <<<<<<<<<<<<<< * break; * */ __pyx_t_3 = ((__pyx_v_hapSequence[__pyx_v_index]) != (__pyx_v_refSequence[__pyx_v_index])); if (__pyx_t_3) { /* "platypusutils.pyx":828 * for index from 0 <= index < minLenRefHap: * if hapSequence[index] != refSequence[index]: * break; # <<<<<<<<<<<<<< * * cdef int maxPos = windowMin + index + nRemoved */ goto __pyx_L8_break; goto __pyx_L9; } __pyx_L9:; } __pyx_L8_break:; /* "platypusutils.pyx":830 * break; * * cdef int maxPos = windowMin + index + nRemoved # <<<<<<<<<<<<<< * cdef int newPos = -1 * */ __pyx_v_maxPos = ((__pyx_v_windowMin + __pyx_v_index) + __pyx_v_nRemoved); /* "platypusutils.pyx":831 * * cdef int maxPos = windowMin + index + nRemoved * cdef int newPos = -1 # <<<<<<<<<<<<<< * * cdef char refChar */ __pyx_v_newPos = -1; /* "platypusutils.pyx":836 * cdef char hapChar * * cdef int hapIndex = 0 # <<<<<<<<<<<<<< * cdef int refIndex = 0 * */ __pyx_v_hapIndex = 0; /* "platypusutils.pyx":837 * * cdef int hapIndex = 0 * cdef int refIndex = 0 # <<<<<<<<<<<<<< * * cdef bytes newAdded = bytes("") */ __pyx_v_refIndex = 0; /* "platypusutils.pyx":839 * cdef int refIndex = 0 * * cdef bytes newAdded = bytes("") # <<<<<<<<<<<<<< * cdef bytes newRemoved = bytes("") * */ __pyx_t_9 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_k_tuple_27), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_v_newAdded = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":840 * * cdef bytes newAdded = bytes("") * cdef bytes newRemoved = bytes("") # <<<<<<<<<<<<<< * * cdef int effecctSize = 0 */ __pyx_t_9 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_k_tuple_28), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_v_newRemoved = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":842 * cdef bytes newRemoved = bytes("") * * cdef int effecctSize = 0 # <<<<<<<<<<<<<< * cdef int insStart = 0 * cdef int delStart = 0 */ __pyx_v_effecctSize = 0; /* "platypusutils.pyx":843 * * cdef int effecctSize = 0 * cdef int insStart = 0 # <<<<<<<<<<<<<< * cdef int delStart = 0 * cdef int lenNewAdded = 0 */ __pyx_v_insStart = 0; /* "platypusutils.pyx":844 * cdef int effecctSize = 0 * cdef int insStart = 0 * cdef int delStart = 0 # <<<<<<<<<<<<<< * cdef int lenNewAdded = 0 * cdef int lenNewRemoved = 0 */ __pyx_v_delStart = 0; /* "platypusutils.pyx":845 * cdef int insStart = 0 * cdef int delStart = 0 * cdef int lenNewAdded = 0 # <<<<<<<<<<<<<< * cdef int lenNewRemoved = 0 * */ __pyx_v_lenNewAdded = 0; /* "platypusutils.pyx":846 * cdef int delStart = 0 * cdef int lenNewAdded = 0 * cdef int lenNewRemoved = 0 # <<<<<<<<<<<<<< * * cdef Variant newVar */ __pyx_v_lenNewRemoved = 0; /* "platypusutils.pyx":851 * * # Loop backwards through the mutated and reference sequences * for index from 0 <= index < minLenRefHap: # <<<<<<<<<<<<<< * * hapIndex = (lenHap - index) - 1 */ __pyx_t_6 = __pyx_v_minLenRefHap; for (__pyx_v_index = 0; __pyx_v_index < __pyx_t_6; __pyx_v_index++) { /* "platypusutils.pyx":853 * for index from 0 <= index < minLenRefHap: * * hapIndex = (lenHap - index) - 1 # <<<<<<<<<<<<<< * refIndex = (lenRef - index) - 1 * */ __pyx_v_hapIndex = ((__pyx_v_lenHap - __pyx_v_index) - 1); /* "platypusutils.pyx":854 * * hapIndex = (lenHap - index) - 1 * refIndex = (lenRef - index) - 1 # <<<<<<<<<<<<<< * * refChar = refSequence[refIndex] */ __pyx_v_refIndex = ((__pyx_v_lenRef - __pyx_v_index) - 1); /* "platypusutils.pyx":856 * refIndex = (lenRef - index) - 1 * * refChar = refSequence[refIndex] # <<<<<<<<<<<<<< * hapChar = hapSequence[hapIndex] * */ __pyx_v_refChar = (__pyx_v_refSequence[__pyx_v_refIndex]); /* "platypusutils.pyx":857 * * refChar = refSequence[refIndex] * hapChar = hapSequence[hapIndex] # <<<<<<<<<<<<<< * * # If the sequences are the same at this point, keep going. */ __pyx_v_hapChar = (__pyx_v_hapSequence[__pyx_v_hapIndex]); /* "platypusutils.pyx":861 * # If the sequences are the same at this point, keep going. * # Once we hit a difference, use that position. * if hapChar != refChar: # <<<<<<<<<<<<<< * * if nAdded > 0: */ __pyx_t_3 = (__pyx_v_hapChar != __pyx_v_refChar); if (__pyx_t_3) { /* "platypusutils.pyx":863 * if hapChar != refChar: * * if nAdded > 0: # <<<<<<<<<<<<<< * newPos = windowMin + (lenRef - 1) - index * insStart = newPos - windowMin + 1 # Position of first inserted base in haplotype sequence string */ __pyx_t_3 = (__pyx_v_nAdded > 0); if (__pyx_t_3) { /* "platypusutils.pyx":864 * * if nAdded > 0: * newPos = windowMin + (lenRef - 1) - index # <<<<<<<<<<<<<< * insStart = newPos - windowMin + 1 # Position of first inserted base in haplotype sequence string * */ __pyx_v_newPos = ((__pyx_v_windowMin + (__pyx_v_lenRef - 1)) - __pyx_v_index); /* "platypusutils.pyx":865 * if nAdded > 0: * newPos = windowMin + (lenRef - 1) - index * insStart = newPos - windowMin + 1 # Position of first inserted base in haplotype sequence string # <<<<<<<<<<<<<< * * #if insStart > len(hapSequence) or insStart + nAdded > len(hapSequence): */ __pyx_v_insStart = ((__pyx_v_newPos - __pyx_v_windowMin) + 1); /* "platypusutils.pyx":870 * # logger.info("Shit. len hap seq = %s. insStart = %s. nAdded = %s. nRemoved = %s. newAdded = %s" %(len(hapSequence), insStart, nAdded, nRemoved, hapSequence[insStart: insStart + nAdded])) * * newAdded = hapSequence[insStart: insStart + nAdded] # <<<<<<<<<<<<<< * * if nRemoved > 0: */ __pyx_t_9 = PyBytes_FromStringAndSize(((const char*)__pyx_v_hapSequence) + __pyx_v_insStart, (__pyx_v_insStart + __pyx_v_nAdded) - __pyx_v_insStart); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __Pyx_DECREF(((PyObject *)__pyx_v_newAdded)); __pyx_v_newAdded = __pyx_t_9; __pyx_t_9 = 0; goto __pyx_L13; } __pyx_L13:; /* "platypusutils.pyx":872 * newAdded = hapSequence[insStart: insStart + nAdded] * * if nRemoved > 0: # <<<<<<<<<<<<<< * newPos = windowMin + (lenRef - 1) - index - (nRemoved) * delStart = newPos - windowMin + 1 # Position of first deleted base in reference sequence */ __pyx_t_3 = (__pyx_v_nRemoved > 0); if (__pyx_t_3) { /* "platypusutils.pyx":873 * * if nRemoved > 0: * newPos = windowMin + (lenRef - 1) - index - (nRemoved) # <<<<<<<<<<<<<< * delStart = newPos - windowMin + 1 # Position of first deleted base in reference sequence * newRemoved = refSequence[delStart: delStart + nRemoved] */ __pyx_v_newPos = (((__pyx_v_windowMin + (__pyx_v_lenRef - 1)) - __pyx_v_index) - __pyx_v_nRemoved); /* "platypusutils.pyx":874 * if nRemoved > 0: * newPos = windowMin + (lenRef - 1) - index - (nRemoved) * delStart = newPos - windowMin + 1 # Position of first deleted base in reference sequence # <<<<<<<<<<<<<< * newRemoved = refSequence[delStart: delStart + nRemoved] * */ __pyx_v_delStart = ((__pyx_v_newPos - __pyx_v_windowMin) + 1); /* "platypusutils.pyx":875 * newPos = windowMin + (lenRef - 1) - index - (nRemoved) * delStart = newPos - windowMin + 1 # Position of first deleted base in reference sequence * newRemoved = refSequence[delStart: delStart + nRemoved] # <<<<<<<<<<<<<< * * if newPos > variant.refPos: */ __pyx_t_9 = PyBytes_FromStringAndSize(((const char*)__pyx_v_refSequence) + __pyx_v_delStart, (__pyx_v_delStart + __pyx_v_nRemoved) - __pyx_v_delStart); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_9)); __Pyx_DECREF(((PyObject *)__pyx_v_newRemoved)); __pyx_v_newRemoved = __pyx_t_9; __pyx_t_9 = 0; goto __pyx_L14; } __pyx_L14:; /* "platypusutils.pyx":877 * newRemoved = refSequence[delStart: delStart + nRemoved] * * if newPos > variant.refPos: # <<<<<<<<<<<<<< * logger.error("Old pos = %s new pos = %s" %(variant.refPos, newPos)) * logger.error(variant) */ __pyx_t_3 = (__pyx_v_newPos > __pyx_v_variant->refPos); if (__pyx_t_3) { /* "platypusutils.pyx":878 * * if newPos > variant.refPos: * logger.error("Old pos = %s new pos = %s" %(variant.refPos, newPos)) # <<<<<<<<<<<<<< * logger.error(variant) * logger.error(refSequence) */ __pyx_t_9 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = PyObject_GetAttr(__pyx_t_9, __pyx_n_s__error); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyInt_FromLong(__pyx_v_variant->refPos); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = PyInt_FromLong(__pyx_v_newPos); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_29), ((PyObject *)__pyx_t_15)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __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 = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_t_8)); __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __pyx_t_8 = PyObject_Call(__pyx_t_12, ((PyObject *)__pyx_t_15), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":879 * if newPos > variant.refPos: * logger.error("Old pos = %s new pos = %s" %(variant.refPos, newPos)) * logger.error(variant) # <<<<<<<<<<<<<< * logger.error(refSequence) * logger.error(hapSequence) */ __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__error); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_v_variant)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variant)); __pyx_t_12 = PyObject_Call(__pyx_t_15, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* "platypusutils.pyx":880 * logger.error("Old pos = %s new pos = %s" %(variant.refPos, newPos)) * logger.error(variant) * logger.error(refSequence) # <<<<<<<<<<<<<< * logger.error(hapSequence) * */ __pyx_t_12 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = PyObject_GetAttr(__pyx_t_12, __pyx_n_s__error); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyBytes_FromString(__pyx_v_refSequence); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_12)); __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_t_12)); __Pyx_GIVEREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0; __pyx_t_12 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_15), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* "platypusutils.pyx":881 * logger.error(variant) * logger.error(refSequence) * logger.error(hapSequence) # <<<<<<<<<<<<<< * * newVar = Variant(variant.refName, newPos, newRemoved, newAdded, variant.nSupportingReads, variant.varSource) */ __pyx_t_12 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = PyObject_GetAttr(__pyx_t_12, __pyx_n_s__error); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyBytes_FromString(__pyx_v_hapSequence); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_12)); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_12)); __Pyx_GIVEREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0; __pyx_t_12 = PyObject_Call(__pyx_t_15, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L15; } __pyx_L15:; /* "platypusutils.pyx":883 * logger.error(hapSequence) * * newVar = Variant(variant.refName, newPos, newRemoved, newAdded, variant.nSupportingReads, variant.varSource) # <<<<<<<<<<<<<< * newVar.bamMinPos = newPos * newVar.bamMaxPos = maxPos */ __pyx_t_12 = PyInt_FromLong(__pyx_v_newPos); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = PyInt_FromLong(__pyx_v_variant->nSupportingReads); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = PyInt_FromLong(__pyx_v_variant->varSource); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_9 = PyTuple_New(6); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_variant->refName)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_variant->refName)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variant->refName)); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __Pyx_INCREF(((PyObject *)__pyx_v_newRemoved)); PyTuple_SET_ITEM(__pyx_t_9, 2, ((PyObject *)__pyx_v_newRemoved)); __Pyx_GIVEREF(((PyObject *)__pyx_v_newRemoved)); __Pyx_INCREF(((PyObject *)__pyx_v_newAdded)); PyTuple_SET_ITEM(__pyx_t_9, 3, ((PyObject *)__pyx_v_newAdded)); __Pyx_GIVEREF(((PyObject *)__pyx_v_newAdded)); PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_15); __pyx_t_12 = 0; __pyx_t_8 = 0; __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7variant_Variant)), ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __pyx_v_newVar = ((struct __pyx_obj_7variant_Variant *)__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":884 * * newVar = Variant(variant.refName, newPos, newRemoved, newAdded, variant.nSupportingReads, variant.varSource) * newVar.bamMinPos = newPos # <<<<<<<<<<<<<< * newVar.bamMaxPos = maxPos * newVar.bamAdded = variant.bamAdded */ __pyx_v_newVar->bamMinPos = __pyx_v_newPos; /* "platypusutils.pyx":885 * newVar = Variant(variant.refName, newPos, newRemoved, newAdded, variant.nSupportingReads, variant.varSource) * newVar.bamMinPos = newPos * newVar.bamMaxPos = maxPos # <<<<<<<<<<<<<< * newVar.bamAdded = variant.bamAdded * newVar.bamRemoved = variant.bamRemoved */ __pyx_v_newVar->bamMaxPos = __pyx_v_maxPos; /* "platypusutils.pyx":886 * newVar.bamMinPos = newPos * newVar.bamMaxPos = maxPos * newVar.bamAdded = variant.bamAdded # <<<<<<<<<<<<<< * newVar.bamRemoved = variant.bamRemoved * */ __pyx_t_15 = ((PyObject *)__pyx_v_variant->bamAdded); __Pyx_INCREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_15); __Pyx_GOTREF(__pyx_v_newVar->bamAdded); __Pyx_DECREF(((PyObject *)__pyx_v_newVar->bamAdded)); __pyx_v_newVar->bamAdded = ((PyObject*)__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":887 * newVar.bamMaxPos = maxPos * newVar.bamAdded = variant.bamAdded * newVar.bamRemoved = variant.bamRemoved # <<<<<<<<<<<<<< * * lenNewAdded = len(newAdded) */ __pyx_t_15 = ((PyObject *)__pyx_v_variant->bamRemoved); __Pyx_INCREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_15); __Pyx_GOTREF(__pyx_v_newVar->bamRemoved); __Pyx_DECREF(((PyObject *)__pyx_v_newVar->bamRemoved)); __pyx_v_newVar->bamRemoved = ((PyObject*)__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":889 * newVar.bamRemoved = variant.bamRemoved * * lenNewAdded = len(newAdded) # <<<<<<<<<<<<<< * lenNewRemoved = len(newRemoved) * */ if (unlikely(((PyObject *)__pyx_v_newAdded) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_16 = PyBytes_GET_SIZE(((PyObject *)__pyx_v_newAdded)); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_lenNewAdded = __pyx_t_16; /* "platypusutils.pyx":890 * * lenNewAdded = len(newAdded) * lenNewRemoved = len(newRemoved) # <<<<<<<<<<<<<< * * if lenNewAdded != nAdded or lenNewRemoved != nRemoved: */ if (unlikely(((PyObject *)__pyx_v_newRemoved) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_16 = PyBytes_GET_SIZE(((PyObject *)__pyx_v_newRemoved)); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_lenNewRemoved = __pyx_t_16; /* "platypusutils.pyx":892 * lenNewRemoved = len(newRemoved) * * if lenNewAdded != nAdded or lenNewRemoved != nRemoved: # <<<<<<<<<<<<<< * logger.error("New variant in standard format %s is broken" %(newVar)) * logger.error("Original variant was %s" %(variant)) */ __pyx_t_3 = (__pyx_v_lenNewAdded != __pyx_v_nAdded); if (!__pyx_t_3) { __pyx_t_4 = (__pyx_v_lenNewRemoved != __pyx_v_nRemoved); __pyx_t_2 = __pyx_t_4; } else { __pyx_t_2 = __pyx_t_3; } if (__pyx_t_2) { /* "platypusutils.pyx":893 * * if lenNewAdded != nAdded or lenNewRemoved != nRemoved: * logger.error("New variant in standard format %s is broken" %(newVar)) # <<<<<<<<<<<<<< * logger.error("Original variant was %s" %(variant)) * logger.error(refSequence) */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_9 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__error); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_30), ((PyObject *)__pyx_v_newVar)); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_15)); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_15)); __Pyx_GIVEREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":894 * if lenNewAdded != nAdded or lenNewRemoved != nRemoved: * logger.error("New variant in standard format %s is broken" %(newVar)) * logger.error("Original variant was %s" %(variant)) # <<<<<<<<<<<<<< * logger.error(refSequence) * logger.error(hapSequence) */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__error); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_31), ((PyObject *)__pyx_v_variant)); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_15)); __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_15)); __Pyx_GIVEREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":895 * logger.error("New variant in standard format %s is broken" %(newVar)) * logger.error("Original variant was %s" %(variant)) * logger.error(refSequence) # <<<<<<<<<<<<<< * logger.error(hapSequence) * raise StandardError, "Error in variant conversion to standard format" */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_9 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__error); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyBytes_FromString(__pyx_v_refSequence); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_15)); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_15)); __Pyx_GIVEREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":896 * logger.error("Original variant was %s" %(variant)) * logger.error(refSequence) * logger.error(hapSequence) # <<<<<<<<<<<<<< * raise StandardError, "Error in variant conversion to standard format" * */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__error); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyBytes_FromString(__pyx_v_hapSequence); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_15)); __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_15)); __Pyx_GIVEREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":897 * logger.error(refSequence) * logger.error(hapSequence) * raise StandardError, "Error in variant conversion to standard format" # <<<<<<<<<<<<<< * * return newVar */ __Pyx_Raise(__pyx_builtin_StandardError, ((PyObject *)__pyx_kp_s_32), 0, 0); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L16; } __pyx_L16:; /* "platypusutils.pyx":899 * raise StandardError, "Error in variant conversion to standard format" * * return newVar # <<<<<<<<<<<<<< * * # If we get to here, and we haven't returned, then it's almost certainly an error */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_newVar)); __pyx_r = __pyx_v_newVar; goto __pyx_L0; goto __pyx_L12; } __pyx_L12:; } /* "platypusutils.pyx":902 * * # If we get to here, and we haven't returned, then it's almost certainly an error * logger.warning("Could not left-normalise variant %s. Using position as reported in BAM" %(variant)) # <<<<<<<<<<<<<< * logger.info("\n") * logger.info(variant) */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_9 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__warning); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_33), ((PyObject *)__pyx_v_variant)); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_15)); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_15)); __Pyx_GIVEREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":903 * # If we get to here, and we haven't returned, then it's almost certainly an error * logger.warning("Could not left-normalise variant %s. Using position as reported in BAM" %(variant)) * logger.info("\n") # <<<<<<<<<<<<<< * logger.info(variant) * logger.info(bytesRefSeq) */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__info); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_k_tuple_35), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":904 * logger.warning("Could not left-normalise variant %s. Using position as reported in BAM" %(variant)) * logger.info("\n") * logger.info(variant) # <<<<<<<<<<<<<< * logger.info(bytesRefSeq) * logger.info(bytesHapSeq) */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__info); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__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 = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_variant)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variant)); __pyx_t_9 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_15), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "platypusutils.pyx":905 * logger.info("\n") * logger.info(variant) * logger.info(bytesRefSeq) # <<<<<<<<<<<<<< * logger.info(bytesHapSeq) * logger.info("\n") */ __pyx_t_9 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = PyObject_GetAttr(__pyx_t_9, __pyx_n_s__info); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(((PyObject *)__pyx_v_bytesRefSeq)); PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_v_bytesRefSeq)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bytesRefSeq)); __pyx_t_8 = PyObject_Call(__pyx_t_15, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "platypusutils.pyx":906 * logger.info(variant) * logger.info(bytesRefSeq) * logger.info(bytesHapSeq) # <<<<<<<<<<<<<< * logger.info("\n") * return variant */ __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__info); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(((PyObject *)__pyx_v_bytesHapSeq)); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_v_bytesHapSeq)); __Pyx_GIVEREF(((PyObject *)__pyx_v_bytesHapSeq)); __pyx_t_15 = PyObject_Call(__pyx_t_9, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":907 * logger.info(bytesRefSeq) * logger.info(bytesHapSeq) * logger.info("\n") # <<<<<<<<<<<<<< * return variant * */ __pyx_t_15 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = PyObject_GetAttr(__pyx_t_15, __pyx_n_s__info); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_k_tuple_36), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; /* "platypusutils.pyx":908 * logger.info(bytesHapSeq) * logger.info("\n") * return variant # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_variant)); __pyx_r = __pyx_v_variant; goto __pyx_L0; __pyx_r = ((struct __pyx_obj_7variant_Variant *)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_15); __Pyx_AddTraceback("platypusutils.leftNormaliseIndel", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_bytesRefSeq); __Pyx_XDECREF(__pyx_v_bytesHapSeq); __Pyx_XDECREF(__pyx_v_newAdded); __Pyx_XDECREF(__pyx_v_newRemoved); __Pyx_XDECREF((PyObject *)__pyx_v_newVar); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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 PyMethodDef __pyx_methods[] = { {__Pyx_NAMESTR("pruned_read_start_end"), (PyCFunction)__pyx_pw_13platypusutils_25pruned_read_start_end, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_24pruned_read_start_end)}, {__Pyx_NAMESTR("pruned_ref_start_end"), (PyCFunction)__pyx_pw_13platypusutils_27pruned_ref_start_end, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_13platypusutils_26pruned_ref_start_end)}, {0, 0, 0, 0} }; #if PY_MAJOR_VERSION >= 3 static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, __Pyx_NAMESTR("platypusutils"), __Pyx_DOCSTR(__pyx_k_37), /* 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_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_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_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 0}, {&__pyx_kp_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 0}, {&__pyx_kp_s_22, __pyx_k_22, sizeof(__pyx_k_22), 0, 0, 1, 0}, {&__pyx_kp_s_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 0, 1, 0}, {&__pyx_kp_s_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 0, 1, 0}, {&__pyx_kp_s_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 1, 0}, {&__pyx_kp_s_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 1, 0}, {&__pyx_kp_s_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 1, 0}, {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, {&__pyx_kp_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 0}, {&__pyx_kp_s_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 1, 0}, {&__pyx_kp_s_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 0, 1, 0}, {&__pyx_kp_s_33, __pyx_k_33, sizeof(__pyx_k_33), 0, 0, 1, 0}, {&__pyx_kp_s_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 1, 0}, {&__pyx_kp_s_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 1, 0}, {&__pyx_kp_s_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 0, 1, 0}, {&__pyx_n_s_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 1, 1}, {&__pyx_n_s_48, __pyx_k_48, sizeof(__pyx_k_48), 0, 0, 1, 1}, {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0}, {&__pyx_n_s_65, __pyx_k_65, sizeof(__pyx_k_65), 0, 0, 1, 1}, {&__pyx_n_s_68, __pyx_k_68, sizeof(__pyx_k_68), 0, 0, 1, 1}, {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0}, {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0}, {&__pyx_n_s__GzipFile, __pyx_k__GzipFile, sizeof(__pyx_k__GzipFile), 0, 0, 1, 1}, {&__pyx_n_s__ID, __pyx_k__ID, sizeof(__pyx_k__ID), 0, 0, 1, 1}, {&__pyx_n_s__Log, __pyx_k__Log, sizeof(__pyx_k__Log), 0, 0, 1, 1}, {&__pyx_n_s__PLATYPUS_VERSION, __pyx_k__PLATYPUS_VERSION, sizeof(__pyx_k__PLATYPUS_VERSION), 0, 0, 1, 1}, {&__pyx_n_s__RG, __pyx_k__RG, sizeof(__pyx_k__RG), 0, 0, 1, 1}, {&__pyx_n_s__SM, __pyx_k__SM, sizeof(__pyx_k__SM), 0, 0, 1, 1}, {&__pyx_n_s__SeqLength, __pyx_k__SeqLength, sizeof(__pyx_k__SeqLength), 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__acquire, __pyx_k__acquire, sizeof(__pyx_k__acquire), 0, 0, 1, 1}, {&__pyx_n_s__alpha, __pyx_k__alpha, sizeof(__pyx_k__alpha), 0, 0, 1, 1}, {&__pyx_n_s__answer, __pyx_k__answer, sizeof(__pyx_k__answer), 0, 0, 1, 1}, {&__pyx_n_s__assembleBrokenPairs, __pyx_k__assembleBrokenPairs, sizeof(__pyx_k__assembleBrokenPairs), 0, 0, 1, 1}, {&__pyx_n_s__bamFile, __pyx_k__bamFile, sizeof(__pyx_k__bamFile), 0, 0, 1, 1}, {&__pyx_n_s__bamFileNames, __pyx_k__bamFileNames, sizeof(__pyx_k__bamFileNames), 0, 0, 1, 1}, {&__pyx_n_s__bamFiles, __pyx_k__bamFiles, sizeof(__pyx_k__bamFiles), 0, 0, 1, 1}, {&__pyx_n_s__beta, __pyx_k__beta, sizeof(__pyx_k__beta), 0, 0, 1, 1}, {&__pyx_n_s__betaFunction, __pyx_k__betaFunction, sizeof(__pyx_k__betaFunction), 0, 0, 1, 1}, {&__pyx_n_s__betaPDF, __pyx_k__betaPDF, sizeof(__pyx_k__betaPDF), 0, 0, 1, 1}, {&__pyx_n_s__cacheOffsets, __pyx_k__cacheOffsets, sizeof(__pyx_k__cacheOffsets), 0, 0, 1, 1}, {&__pyx_n_s__cigar, __pyx_k__cigar, sizeof(__pyx_k__cigar), 0, 0, 1, 1}, {&__pyx_n_s__close, __pyx_k__close, sizeof(__pyx_k__close), 0, 0, 1, 1}, {&__pyx_n_s__compressLevel, __pyx_k__compressLevel, sizeof(__pyx_k__compressLevel), 0, 0, 1, 1}, {&__pyx_n_s__compressReads, __pyx_k__compressReads, sizeof(__pyx_k__compressReads), 0, 0, 1, 1}, {&__pyx_n_s__debug, __pyx_k__debug, sizeof(__pyx_k__debug), 0, 0, 1, 1}, {&__pyx_n_s__e, __pyx_k__e, sizeof(__pyx_k__e), 0, 0, 1, 1}, {&__pyx_n_s__endswith, __pyx_k__endswith, sizeof(__pyx_k__endswith), 0, 0, 1, 1}, {&__pyx_n_s__enumerate, __pyx_k__enumerate, sizeof(__pyx_k__enumerate), 0, 0, 1, 1}, {&__pyx_n_s__error, __pyx_k__error, sizeof(__pyx_k__error), 0, 0, 1, 1}, {&__pyx_n_s__extend, __pyx_k__extend, sizeof(__pyx_k__extend), 0, 0, 1, 1}, {&__pyx_n_s__file, __pyx_k__file, sizeof(__pyx_k__file), 0, 0, 1, 1}, {&__pyx_n_s__fileName, __pyx_k__fileName, sizeof(__pyx_k__fileName), 0, 0, 1, 1}, {&__pyx_n_s__fileNames, __pyx_k__fileNames, sizeof(__pyx_k__fileNames), 0, 0, 1, 1}, {&__pyx_n_s__getLogger, __pyx_k__getLogger, sizeof(__pyx_k__getLogger), 0, 0, 1, 1}, {&__pyx_n_s__gzip, __pyx_k__gzip, sizeof(__pyx_k__gzip), 0, 0, 1, 1}, {&__pyx_n_s__header, __pyx_k__header, sizeof(__pyx_k__header), 0, 0, 1, 1}, {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1}, {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1}, {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1}, {&__pyx_n_s__k, __pyx_k__k, sizeof(__pyx_k__k), 0, 0, 1, 1}, {&__pyx_n_s__line, __pyx_k__line, sizeof(__pyx_k__line), 0, 0, 1, 1}, {&__pyx_n_s__logDenominator, __pyx_k__logDenominator, sizeof(__pyx_k__logDenominator), 0, 0, 1, 1}, {&__pyx_n_s__logNumerator, __pyx_k__logNumerator, sizeof(__pyx_k__logNumerator), 0, 0, 1, 1}, {&__pyx_n_s__logPoch, __pyx_k__logPoch, sizeof(__pyx_k__logPoch), 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__minAnchor, __pyx_k__minAnchor, sizeof(__pyx_k__minAnchor), 0, 0, 1, 1}, {&__pyx_n_s__minq, __pyx_k__minq, sizeof(__pyx_k__minq), 0, 0, 1, 1}, {&__pyx_n_s__mode, __pyx_k__mode, sizeof(__pyx_k__mode), 0, 0, 1, 1}, {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1}, {&__pyx_n_s__nChosen, __pyx_k__nChosen, sizeof(__pyx_k__nChosen), 0, 0, 1, 1}, {&__pyx_n_s__nCombinations, __pyx_k__nCombinations, sizeof(__pyx_k__nCombinations), 0, 0, 1, 1}, {&__pyx_n_s__nFiles, __pyx_k__nFiles, sizeof(__pyx_k__nFiles), 0, 0, 1, 1}, {&__pyx_n_s__nObjects, __pyx_k__nObjects, sizeof(__pyx_k__nObjects), 0, 0, 1, 1}, {&__pyx_n_s__nPermutations, __pyx_k__nPermutations, sizeof(__pyx_k__nPermutations), 0, 0, 1, 1}, {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1}, {&__pyx_n_s__options, __pyx_k__options, sizeof(__pyx_k__options), 0, 0, 1, 1}, {&__pyx_n_s__pi, __pyx_k__pi, sizeof(__pyx_k__pi), 0, 0, 1, 1}, {&__pyx_n_s__platypusutils, __pyx_k__platypusutils, sizeof(__pyx_k__platypusutils), 0, 0, 1, 1}, {&__pyx_n_s__poch, __pyx_k__poch, sizeof(__pyx_k__poch), 0, 0, 1, 1}, {&__pyx_n_s__pos, __pyx_k__pos, sizeof(__pyx_k__pos), 0, 0, 1, 1}, {&__pyx_n_s__py_betaBinomialCDF, __pyx_k__py_betaBinomialCDF, sizeof(__pyx_k__py_betaBinomialCDF), 0, 0, 1, 1}, {&__pyx_n_s__qual, __pyx_k__qual, sizeof(__pyx_k__qual), 0, 0, 1, 1}, {&__pyx_n_s__qualBinSize, __pyx_k__qualBinSize, sizeof(__pyx_k__qualBinSize), 0, 0, 1, 1}, {&__pyx_n_s__r, __pyx_k__r, sizeof(__pyx_k__r), 0, 0, 1, 1}, {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, {&__pyx_n_s__rbh, __pyx_k__rbh, sizeof(__pyx_k__rbh), 0, 0, 1, 1}, {&__pyx_n_s__read, __pyx_k__read, sizeof(__pyx_k__read), 0, 0, 1, 1}, {&__pyx_n_s__readGroupTags, __pyx_k__readGroupTags, sizeof(__pyx_k__readGroupTags), 0, 0, 1, 1}, {&__pyx_n_s__regions, __pyx_k__regions, sizeof(__pyx_k__regions), 0, 0, 1, 1}, {&__pyx_n_s__release, __pyx_k__release, sizeof(__pyx_k__release), 0, 0, 1, 1}, {&__pyx_n_s__round, __pyx_k__round, sizeof(__pyx_k__round), 0, 0, 1, 1}, {&__pyx_n_s__sampleName, __pyx_k__sampleName, sizeof(__pyx_k__sampleName), 0, 0, 1, 1}, {&__pyx_n_s__samples, __pyx_k__samples, sizeof(__pyx_k__samples), 0, 0, 1, 1}, {&__pyx_n_s__samplesByBAM, __pyx_k__samplesByBAM, sizeof(__pyx_k__samplesByBAM), 0, 0, 1, 1}, {&__pyx_n_s__samplesByID, __pyx_k__samplesByID, sizeof(__pyx_k__samplesByID), 0, 0, 1, 1}, {&__pyx_n_s__samplesInBAM, __pyx_k__samplesInBAM, sizeof(__pyx_k__samplesInBAM), 0, 0, 1, 1}, {&__pyx_n_s__shareBAMFiles, __pyx_k__shareBAMFiles, sizeof(__pyx_k__shareBAMFiles), 0, 0, 1, 1}, {&__pyx_n_s__sorted, __pyx_k__sorted, sizeof(__pyx_k__sorted), 0, 0, 1, 1}, {&__pyx_n_s__split, __pyx_k__split, sizeof(__pyx_k__split), 0, 0, 1, 1}, {&__pyx_n_s__strip, __pyx_k__strip, sizeof(__pyx_k__strip), 0, 0, 1, 1}, {&__pyx_n_s__tag, __pyx_k__tag, sizeof(__pyx_k__tag), 0, 0, 1, 1}, {&__pyx_n_s__theHeader, __pyx_k__theHeader, sizeof(__pyx_k__theHeader), 0, 0, 1, 1}, {&__pyx_n_s__theTextFile, __pyx_k__theTextFile, sizeof(__pyx_k__theTextFile), 0, 0, 1, 1}, {&__pyx_n_s__verbosity, __pyx_k__verbosity, sizeof(__pyx_k__verbosity), 0, 0, 1, 1}, {&__pyx_n_s__warning, __pyx_k__warning, sizeof(__pyx_k__warning), 0, 0, 1, 1}, {&__pyx_n_s__x, __pyx_k__x, sizeof(__pyx_k__x), 0, 0, 1, 1}, {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1}, {&__pyx_n_s__y, __pyx_k__y, sizeof(__pyx_k__y), 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_file = __Pyx_GetName(__pyx_b, __pyx_n_s__file); if (!__pyx_builtin_file) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_enumerate = __Pyx_GetName(__pyx_b, __pyx_n_s__enumerate); if (!__pyx_builtin_enumerate) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_StandardError = __Pyx_GetName(__pyx_b, __pyx_n_s__StandardError); if (!__pyx_builtin_StandardError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if PY_MAJOR_VERSION >= 3 __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __pyx_builtin_round = __Pyx_GetName(__pyx_b, __pyx_n_s__round); if (!__pyx_builtin_round) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_sorted = __Pyx_GetName(__pyx_b, __pyx_n_s__sorted); if (!__pyx_builtin_sorted) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __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); /* "platypusutils.pyx":69 * Function that allows transparent usage of dictzip, gzip and ordinary files * """ * if fileName.endswith(".gz") or fileName.endswith(".GZ"): # <<<<<<<<<<<<<< * return gzip.GzipFile(fileName, mode, compressLevel) * else: */ __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_2); __Pyx_INCREF(((PyObject *)__pyx_kp_s_1)); PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, ((PyObject *)__pyx_kp_s_1)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2)); __pyx_k_tuple_4 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_4); __Pyx_INCREF(((PyObject *)__pyx_kp_s_3)); PyTuple_SET_ITEM(__pyx_k_tuple_4, 0, ((PyObject *)__pyx_kp_s_3)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4)); /* "platypusutils.pyx":131 * except StandardError, e: * logger.debug("Error in BAM header sample parsing. Error was \n%s\n" %(e)) * sampleName = fileName.split("/")[-1][0:-4] # <<<<<<<<<<<<<< * samples.append(sampleName) * samplesByBAM[bamFile] = sampleName */ __pyx_k_tuple_14 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_14); __Pyx_INCREF(((PyObject *)__pyx_kp_s_13)); PyTuple_SET_ITEM(__pyx_k_tuple_14, 0, ((PyObject *)__pyx_kp_s_13)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_13)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14)); /* "platypusutils.pyx":468 * * if len(set(samples)) == len(set(bamFiles)): * logger.debug("There is one sample in each BAM file. No merging is required") # <<<<<<<<<<<<<< * * for sample in uniqueSamples: */ __pyx_k_tuple_17 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_17); __Pyx_INCREF(((PyObject *)__pyx_kp_s_16)); PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_kp_s_16)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_16)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17)); /* "platypusutils.pyx":839 * cdef int refIndex = 0 * * cdef bytes newAdded = bytes("") # <<<<<<<<<<<<<< * cdef bytes newRemoved = bytes("") * */ __pyx_k_tuple_27 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_27); __Pyx_INCREF(((PyObject *)__pyx_kp_s_26)); PyTuple_SET_ITEM(__pyx_k_tuple_27, 0, ((PyObject *)__pyx_kp_s_26)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_26)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_27)); /* "platypusutils.pyx":840 * * cdef bytes newAdded = bytes("") * cdef bytes newRemoved = bytes("") # <<<<<<<<<<<<<< * * cdef int effecctSize = 0 */ __pyx_k_tuple_28 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_28); __Pyx_INCREF(((PyObject *)__pyx_kp_s_26)); PyTuple_SET_ITEM(__pyx_k_tuple_28, 0, ((PyObject *)__pyx_kp_s_26)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_26)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28)); /* "platypusutils.pyx":903 * # If we get to here, and we haven't returned, then it's almost certainly an error * logger.warning("Could not left-normalise variant %s. Using position as reported in BAM" %(variant)) * logger.info("\n") # <<<<<<<<<<<<<< * logger.info(variant) * logger.info(bytesRefSeq) */ __pyx_k_tuple_35 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_35); __Pyx_INCREF(((PyObject *)__pyx_kp_s_34)); PyTuple_SET_ITEM(__pyx_k_tuple_35, 0, ((PyObject *)__pyx_kp_s_34)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_34)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_35)); /* "platypusutils.pyx":907 * logger.info(bytesRefSeq) * logger.info(bytesHapSeq) * logger.info("\n") # <<<<<<<<<<<<<< * return variant * */ __pyx_k_tuple_36 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_36); __Pyx_INCREF(((PyObject *)__pyx_kp_s_34)); PyTuple_SET_ITEM(__pyx_k_tuple_36, 0, ((PyObject *)__pyx_kp_s_34)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_34)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_36)); /* "platypusutils.pyx":39 * ################################################################################################### * * logger = logging.getLogger("Log") # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_k_tuple_39 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_39); __Pyx_INCREF(((PyObject *)__pyx_n_s__Log)); PyTuple_SET_ITEM(__pyx_k_tuple_39, 0, ((PyObject *)__pyx_n_s__Log)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__Log)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_39)); /* "platypusutils.pyx":65 * ################################################################################################### * * def open(fileName, mode, compressLevel=9): # <<<<<<<<<<<<<< * """ * Function that allows transparent usage of dictzip, gzip and ordinary files */ __pyx_k_tuple_40 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_40); __Pyx_INCREF(((PyObject *)__pyx_n_s__fileName)); PyTuple_SET_ITEM(__pyx_k_tuple_40, 0, ((PyObject *)__pyx_n_s__fileName)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fileName)); __Pyx_INCREF(((PyObject *)__pyx_n_s__mode)); PyTuple_SET_ITEM(__pyx_k_tuple_40, 1, ((PyObject *)__pyx_n_s__mode)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__mode)); __Pyx_INCREF(((PyObject *)__pyx_n_s__compressLevel)); PyTuple_SET_ITEM(__pyx_k_tuple_40, 2, ((PyObject *)__pyx_n_s__compressLevel)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__compressLevel)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_40)); __pyx_k_codeobj_41 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__open, 65, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":76 * ################################################################################################### * * def getSampleNamesAndLoadIterators(bamFileNames, regions, options): # <<<<<<<<<<<<<< * """ * Return a list of all the sample labels in the BAM files. */ __pyx_k_tuple_43 = PyTuple_New(18); if (unlikely(!__pyx_k_tuple_43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_43); __Pyx_INCREF(((PyObject *)__pyx_n_s__bamFileNames)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 0, ((PyObject *)__pyx_n_s__bamFileNames)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bamFileNames)); __Pyx_INCREF(((PyObject *)__pyx_n_s__regions)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 1, ((PyObject *)__pyx_n_s__regions)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__regions)); __Pyx_INCREF(((PyObject *)__pyx_n_s__options)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 2, ((PyObject *)__pyx_n_s__options)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__options)); __Pyx_INCREF(((PyObject *)__pyx_n_s__samples)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 3, ((PyObject *)__pyx_n_s__samples)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__samples)); __Pyx_INCREF(((PyObject *)__pyx_n_s__samplesByID)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 4, ((PyObject *)__pyx_n_s__samplesByID)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__samplesByID)); __Pyx_INCREF(((PyObject *)__pyx_n_s__samplesByBAM)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 5, ((PyObject *)__pyx_n_s__samplesByBAM)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__samplesByBAM)); __Pyx_INCREF(((PyObject *)__pyx_n_s__bamFiles)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 6, ((PyObject *)__pyx_n_s__bamFiles)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bamFiles)); __Pyx_INCREF(((PyObject *)__pyx_n_s__nFiles)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 7, ((PyObject *)__pyx_n_s__nFiles)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nFiles)); __Pyx_INCREF(((PyObject *)__pyx_n_s__bamFile)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 8, ((PyObject *)__pyx_n_s__bamFile)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__bamFile)); __Pyx_INCREF(((PyObject *)__pyx_n_s__index)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 9, ((PyObject *)__pyx_n_s__index)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__index)); __Pyx_INCREF(((PyObject *)__pyx_n_s__fileName)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 10, ((PyObject *)__pyx_n_s__fileName)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fileName)); __Pyx_INCREF(((PyObject *)__pyx_n_s__theHeader)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 11, ((PyObject *)__pyx_n_s__theHeader)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__theHeader)); __Pyx_INCREF(((PyObject *)__pyx_n_s__readGroupTags)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 12, ((PyObject *)__pyx_n_s__readGroupTags)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__readGroupTags)); __Pyx_INCREF(((PyObject *)__pyx_n_s__samplesInBAM)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 13, ((PyObject *)__pyx_n_s__samplesInBAM)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__samplesInBAM)); __Pyx_INCREF(((PyObject *)__pyx_n_s__tag)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 14, ((PyObject *)__pyx_n_s__tag)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tag)); __Pyx_INCREF(((PyObject *)__pyx_n_s__sampleName)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 15, ((PyObject *)__pyx_n_s__sampleName)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__sampleName)); __Pyx_INCREF(((PyObject *)__pyx_n_s__e)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 16, ((PyObject *)__pyx_n_s__e)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__e)); __Pyx_INCREF(((PyObject *)__pyx_n_s__x)); PyTuple_SET_ITEM(__pyx_k_tuple_43, 17, ((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_43)); __pyx_k_codeobj_44 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s_45, 76, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":149 * ################################################################################################### * * def getBAMFileNamesFromTextFile(fileName): # <<<<<<<<<<<<<< * """ * Reads a list of BAM file names from a text file */ __pyx_k_tuple_46 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_46); __Pyx_INCREF(((PyObject *)__pyx_n_s__fileName)); PyTuple_SET_ITEM(__pyx_k_tuple_46, 0, ((PyObject *)__pyx_n_s__fileName)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fileName)); __Pyx_INCREF(((PyObject *)__pyx_n_s__fileNames)); PyTuple_SET_ITEM(__pyx_k_tuple_46, 1, ((PyObject *)__pyx_n_s__fileNames)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fileNames)); __Pyx_INCREF(((PyObject *)__pyx_n_s__theTextFile)); PyTuple_SET_ITEM(__pyx_k_tuple_46, 2, ((PyObject *)__pyx_n_s__theTextFile)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__theTextFile)); __Pyx_INCREF(((PyObject *)__pyx_n_s__line)); PyTuple_SET_ITEM(__pyx_k_tuple_46, 3, ((PyObject *)__pyx_n_s__line)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__line)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_46)); __pyx_k_codeobj_47 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s_48, 149, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":186 * ################################################################################################### * * def betaFunction(x,y): # <<<<<<<<<<<<<< * """ * For the special case of positive integers, the beta function is */ __pyx_k_tuple_49 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_49); __Pyx_INCREF(((PyObject *)__pyx_n_s__x)); PyTuple_SET_ITEM(__pyx_k_tuple_49, 0, ((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__x)); __Pyx_INCREF(((PyObject *)__pyx_n_s__y)); PyTuple_SET_ITEM(__pyx_k_tuple_49, 1, ((PyObject *)__pyx_n_s__y)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__y)); __Pyx_INCREF(((PyObject *)__pyx_n_s__logNumerator)); PyTuple_SET_ITEM(__pyx_k_tuple_49, 2, ((PyObject *)__pyx_n_s__logNumerator)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__logNumerator)); __Pyx_INCREF(((PyObject *)__pyx_n_s__logDenominator)); PyTuple_SET_ITEM(__pyx_k_tuple_49, 3, ((PyObject *)__pyx_n_s__logDenominator)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__logDenominator)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_49)); __pyx_k_codeobj_50 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__betaFunction, 186, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":212 * ################################################################################################### * * def betaPDF(alpha, beta, x): # <<<<<<<<<<<<<< * """ * The probability density function of a beta distribution. */ __pyx_k_tuple_51 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_51); __Pyx_INCREF(((PyObject *)__pyx_n_s__alpha)); PyTuple_SET_ITEM(__pyx_k_tuple_51, 0, ((PyObject *)__pyx_n_s__alpha)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__alpha)); __Pyx_INCREF(((PyObject *)__pyx_n_s__beta)); PyTuple_SET_ITEM(__pyx_k_tuple_51, 1, ((PyObject *)__pyx_n_s__beta)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__beta)); __Pyx_INCREF(((PyObject *)__pyx_n_s__x)); PyTuple_SET_ITEM(__pyx_k_tuple_51, 2, ((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_51)); __pyx_k_codeobj_52 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__betaPDF, 212, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":220 * ################################################################################################### * * def poch(x, n): # <<<<<<<<<<<<<< * """ * The pochhammer symbol. */ __pyx_k_tuple_53 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_53); __Pyx_INCREF(((PyObject *)__pyx_n_s__x)); PyTuple_SET_ITEM(__pyx_k_tuple_53, 0, ((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__x)); __Pyx_INCREF(((PyObject *)__pyx_n_s__n)); PyTuple_SET_ITEM(__pyx_k_tuple_53, 1, ((PyObject *)__pyx_n_s__n)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__n)); __Pyx_INCREF(((PyObject *)__pyx_n_s__answer)); PyTuple_SET_ITEM(__pyx_k_tuple_53, 2, ((PyObject *)__pyx_n_s__answer)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__answer)); __Pyx_INCREF(((PyObject *)__pyx_n_s__i)); PyTuple_SET_ITEM(__pyx_k_tuple_53, 3, ((PyObject *)__pyx_n_s__i)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_53)); __pyx_k_codeobj_54 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__poch, 220, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":236 * ################################################################################################### * * def logPoch(x,n): # <<<<<<<<<<<<<< * """ * Natural logarithm of the pochhammer symbol */ __pyx_k_tuple_55 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_55); __Pyx_INCREF(((PyObject *)__pyx_n_s__x)); PyTuple_SET_ITEM(__pyx_k_tuple_55, 0, ((PyObject *)__pyx_n_s__x)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__x)); __Pyx_INCREF(((PyObject *)__pyx_n_s__n)); PyTuple_SET_ITEM(__pyx_k_tuple_55, 1, ((PyObject *)__pyx_n_s__n)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__n)); __Pyx_INCREF(((PyObject *)__pyx_n_s__answer)); PyTuple_SET_ITEM(__pyx_k_tuple_55, 2, ((PyObject *)__pyx_n_s__answer)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__answer)); __Pyx_INCREF(((PyObject *)__pyx_n_s__i)); PyTuple_SET_ITEM(__pyx_k_tuple_55, 3, ((PyObject *)__pyx_n_s__i)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_55)); __pyx_k_codeobj_56 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__logPoch, 236, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":287 * ################################################################################################### * * def py_betaBinomialCDF(k, n, alpha, beta): # <<<<<<<<<<<<<< * """ * Thin Python wrapper. */ __pyx_k_tuple_57 = PyTuple_New(4); if (unlikely(!__pyx_k_tuple_57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_57); __Pyx_INCREF(((PyObject *)__pyx_n_s__k)); PyTuple_SET_ITEM(__pyx_k_tuple_57, 0, ((PyObject *)__pyx_n_s__k)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__k)); __Pyx_INCREF(((PyObject *)__pyx_n_s__n)); PyTuple_SET_ITEM(__pyx_k_tuple_57, 1, ((PyObject *)__pyx_n_s__n)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__n)); __Pyx_INCREF(((PyObject *)__pyx_n_s__alpha)); PyTuple_SET_ITEM(__pyx_k_tuple_57, 2, ((PyObject *)__pyx_n_s__alpha)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__alpha)); __Pyx_INCREF(((PyObject *)__pyx_n_s__beta)); PyTuple_SET_ITEM(__pyx_k_tuple_57, 3, ((PyObject *)__pyx_n_s__beta)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__beta)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_57)); __pyx_k_codeobj_58 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__py_betaBinomialCDF, 287, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":330 * ################################################################################################### * * def nPermutations(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_k_tuple_59 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_59); __Pyx_INCREF(((PyObject *)__pyx_n_s__nObjects)); PyTuple_SET_ITEM(__pyx_k_tuple_59, 0, ((PyObject *)__pyx_n_s__nObjects)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nObjects)); __Pyx_INCREF(((PyObject *)__pyx_n_s__nChosen)); PyTuple_SET_ITEM(__pyx_k_tuple_59, 1, ((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_59)); __pyx_k_codeobj_60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__nPermutations, 330, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":340 * ################################################################################################### * * def nCombinations(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_k_tuple_61 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_61); __Pyx_INCREF(((PyObject *)__pyx_n_s__nObjects)); PyTuple_SET_ITEM(__pyx_k_tuple_61, 0, ((PyObject *)__pyx_n_s__nObjects)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nObjects)); __Pyx_INCREF(((PyObject *)__pyx_n_s__nChosen)); PyTuple_SET_ITEM(__pyx_k_tuple_61, 1, ((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_61)); __pyx_k_codeobj_62 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s__nCombinations, 340, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":350 * ################################################################################################### * * def nPermutationsWithReplacement(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_k_tuple_63 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_63); __Pyx_INCREF(((PyObject *)__pyx_n_s__nObjects)); PyTuple_SET_ITEM(__pyx_k_tuple_63, 0, ((PyObject *)__pyx_n_s__nObjects)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nObjects)); __Pyx_INCREF(((PyObject *)__pyx_n_s__nChosen)); PyTuple_SET_ITEM(__pyx_k_tuple_63, 1, ((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_63)); __pyx_k_codeobj_64 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s_65, 350, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":360 * ################################################################################################### * * def nCombinationsWithReplacement(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_k_tuple_66 = PyTuple_New(2); if (unlikely(!__pyx_k_tuple_66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_66); __Pyx_INCREF(((PyObject *)__pyx_n_s__nObjects)); PyTuple_SET_ITEM(__pyx_k_tuple_66, 0, ((PyObject *)__pyx_n_s__nObjects)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nObjects)); __Pyx_INCREF(((PyObject *)__pyx_n_s__nChosen)); PyTuple_SET_ITEM(__pyx_k_tuple_66, 1, ((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nChosen)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_66)); __pyx_k_codeobj_67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_42, __pyx_n_s_68, 360, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __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;}; __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_neg_3 = PyInt_FromLong(-3); if (unlikely(!__pyx_int_neg_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_neg_5 = PyInt_FromLong(-5); if (unlikely(!__pyx_int_neg_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_neg_7 = PyInt_FromLong(-7); if (unlikely(!__pyx_int_neg_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_neg_9 = PyInt_FromLong(-9); if (unlikely(!__pyx_int_neg_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_12 = PyInt_FromLong(12); if (unlikely(!__pyx_int_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_360 = PyInt_FromLong(360); if (unlikely(!__pyx_int_360)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1188 = PyInt_FromLong(1188); if (unlikely(!__pyx_int_1188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1260 = PyInt_FromLong(1260); if (unlikely(!__pyx_int_1260)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1680 = PyInt_FromLong(1680); if (unlikely(!__pyx_int_1680)) {__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 initplatypusutils(void); /*proto*/ PyMODINIT_FUNC initplatypusutils(void) #else PyMODINIT_FUNC PyInit_platypusutils(void); /*proto*/ PyMODINIT_FUNC PyInit_platypusutils(void) #endif { PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; double __pyx_t_5; __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_platypusutils(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("platypusutils"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_37), 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, "platypusutils")) { if (unlikely(PyDict_SetItemString(modules, "platypusutils", __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_platypusutils) { 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 ---*/ if (__Pyx_ExportFunction("logFactorial", (void (*)(void))__pyx_f_13platypusutils_logFactorial, "double (int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("binomial", (void (*)(void))__pyx_f_13platypusutils_binomial, "double (int, int, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("betaBinomialCDF", (void (*)(void))__pyx_f_13platypusutils_betaBinomialCDF, "double (int, int, int, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("loadBAMData", (void (*)(void))__pyx_f_13platypusutils_loadBAMData, "PyObject *(PyObject *, PyObject *, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("getAlignmentErrorsBetweenReadsAndBestHaplotypes", (void (*)(void))__pyx_f_13platypusutils_getAlignmentErrorsBetweenReadsAndBestHaplotypes, "PyObject *(PyObject *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("pruned_read_start_end", (void (*)(void))__pyx_f_13platypusutils_pruned_read_start_end, "PyObject *(PyObject *, int, int, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("pruned_ref_start_end", (void (*)(void))__pyx_f_13platypusutils_pruned_ref_start_end, "PyObject *(PyObject *, int, int, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("isHaplotypeValid", (void (*)(void))__pyx_f_13platypusutils_isHaplotypeValid, "int (PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("leftNormaliseIndel", (void (*)(void))__pyx_f_13platypusutils_leftNormaliseIndel, "struct __pyx_obj_7variant_Variant *(struct __pyx_obj_7variant_Variant *, struct __pyx_obj_9fastafile_FastaFile *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Type init code ---*/ /*--- Type import code ---*/ __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[1]; __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[1]; __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[1]; __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[1]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __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[2]; __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[2]; __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[2]; __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[2]; __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[2]; __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[2]; __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[2]; __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[2]; __pyx_lineno = 266; __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[3]; __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[3]; __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[3]; __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[3]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7cwindow_ReadArray = __Pyx_ImportType("cwindow", "ReadArray", sizeof(struct __pyx_obj_7cwindow_ReadArray), 1); if (unlikely(!__pyx_ptype_7cwindow_ReadArray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_7cwindow_ReadArray = (struct __pyx_vtabstruct_7cwindow_ReadArray*)__Pyx_GetVtable(__pyx_ptype_7cwindow_ReadArray->tp_dict); if (unlikely(!__pyx_vtabptr_7cwindow_ReadArray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7cwindow_bamReadBuffer = __Pyx_ImportType("cwindow", "bamReadBuffer", sizeof(struct __pyx_obj_7cwindow_bamReadBuffer), 1); if (unlikely(!__pyx_ptype_7cwindow_bamReadBuffer)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_7cwindow_bamReadBuffer = (struct __pyx_vtabstruct_7cwindow_bamReadBuffer*)__Pyx_GetVtable(__pyx_ptype_7cwindow_bamReadBuffer->tp_dict); if (unlikely(!__pyx_vtabptr_7cwindow_bamReadBuffer)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 29; __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[5]; __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[5]; __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[5]; __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[5]; __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[5]; __pyx_lineno = 22; __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[6]; __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[6]; __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, "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, "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;} Py_DECREF(__pyx_t_2); __pyx_t_2 = 0; /*--- Execution code ---*/ /* "platypusutils.pyx":6 * """ * * import math # <<<<<<<<<<<<<< * import logging * import gzip */ __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__math), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__math, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":7 * * import math * import logging # <<<<<<<<<<<<<< * import gzip * */ __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__logging), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logging, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":8 * import math * import logging * import gzip # <<<<<<<<<<<<<< * * cimport samtoolsWrapper */ __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__gzip), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__gzip, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":35 * ################################################################################################### * * PLATYPUS_VERSION = "0.5.1" # <<<<<<<<<<<<<< * * ################################################################################################### */ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PLATYPUS_VERSION, ((PyObject *)__pyx_kp_s_38)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "platypusutils.pyx":39 * ################################################################################################### * * logger = logging.getLogger("Log") # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__logging); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__getLogger); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_39), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logger, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "platypusutils.pyx":54 * double log10(double) * * cdef double PI = math.pi # <<<<<<<<<<<<<< * cdef double mLTOT = -0.23025850929940459 # Minus log ten over ten * */ __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__math); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__pi); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_13platypusutils_PI = __pyx_t_5; /* "platypusutils.pyx":55 * * cdef double PI = math.pi * cdef double mLTOT = -0.23025850929940459 # Minus log ten over ten # <<<<<<<<<<<<<< * * cdef int CIGAR_M = 0 */ __pyx_v_13platypusutils_mLTOT = -0.23025850929940459; /* "platypusutils.pyx":57 * cdef double mLTOT = -0.23025850929940459 # Minus log ten over ten * * cdef int CIGAR_M = 0 # <<<<<<<<<<<<<< * cdef int CIGAR_I = 1 * cdef int CIGAR_D = 2 */ __pyx_v_13platypusutils_CIGAR_M = 0; /* "platypusutils.pyx":58 * * cdef int CIGAR_M = 0 * cdef int CIGAR_I = 1 # <<<<<<<<<<<<<< * cdef int CIGAR_D = 2 * cdef int CIGAR_N = 3 */ __pyx_v_13platypusutils_CIGAR_I = 1; /* "platypusutils.pyx":59 * cdef int CIGAR_M = 0 * cdef int CIGAR_I = 1 * cdef int CIGAR_D = 2 # <<<<<<<<<<<<<< * cdef int CIGAR_N = 3 * cdef int CIGAR_S = 4 */ __pyx_v_13platypusutils_CIGAR_D = 2; /* "platypusutils.pyx":60 * cdef int CIGAR_I = 1 * cdef int CIGAR_D = 2 * cdef int CIGAR_N = 3 # <<<<<<<<<<<<<< * cdef int CIGAR_S = 4 * */ __pyx_v_13platypusutils_CIGAR_N = 3; /* "platypusutils.pyx":61 * cdef int CIGAR_D = 2 * cdef int CIGAR_N = 3 * cdef int CIGAR_S = 4 # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_v_13platypusutils_CIGAR_S = 4; /* "platypusutils.pyx":65 * ################################################################################################### * * def open(fileName, mode, compressLevel=9): # <<<<<<<<<<<<<< * """ * Function that allows transparent usage of dictzip, gzip and ordinary files */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_1open, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":76 * ################################################################################################### * * def getSampleNamesAndLoadIterators(bamFileNames, regions, options): # <<<<<<<<<<<<<< * """ * Return a list of all the sample labels in the BAM files. */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_3getSampleNamesAndLoadIterators, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s_45, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":149 * ################################################################################################### * * def getBAMFileNamesFromTextFile(fileName): # <<<<<<<<<<<<<< * """ * Reads a list of BAM file names from a text file */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_5getBAMFileNamesFromTextFile, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s_48, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":186 * ################################################################################################### * * def betaFunction(x,y): # <<<<<<<<<<<<<< * """ * For the special case of positive integers, the beta function is */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_7betaFunction, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__betaFunction, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":212 * ################################################################################################### * * def betaPDF(alpha, beta, x): # <<<<<<<<<<<<<< * """ * The probability density function of a beta distribution. */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_9betaPDF, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__betaPDF, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":220 * ################################################################################################### * * def poch(x, n): # <<<<<<<<<<<<<< * """ * The pochhammer symbol. */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_11poch, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__poch, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":236 * ################################################################################################### * * def logPoch(x,n): # <<<<<<<<<<<<<< * """ * Natural logarithm of the pochhammer symbol */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_13logPoch, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logPoch, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":287 * ################################################################################################### * * def py_betaBinomialCDF(k, n, alpha, beta): # <<<<<<<<<<<<<< * """ * Thin Python wrapper. */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_15py_betaBinomialCDF, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__py_betaBinomialCDF, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":330 * ################################################################################################### * * def nPermutations(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_17nPermutations, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__nPermutations, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":340 * ################################################################################################### * * def nCombinations(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_19nCombinations, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__nCombinations, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":350 * ################################################################################################### * * def nPermutationsWithReplacement(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_21nPermutationsWithReplacement, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s_65, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":360 * ################################################################################################### * * def nCombinationsWithReplacement(nObjects, nChosen): # <<<<<<<<<<<<<< * """ * Return the number of combinations of nChosen objects selected from */ __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_13platypusutils_23nCombinationsWithReplacement, NULL, __pyx_n_s__platypusutils); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyObject_SetAttr(__pyx_m, __pyx_n_s_68, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "platypusutils.pyx":1 * """ # <<<<<<<<<<<<<< * Some utility functions and constants that don't belong anywhere * else. */ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 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); if (__pyx_m) { __Pyx_AddTraceback("init platypusutils", __pyx_clineno, __pyx_lineno, __pyx_filename); Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init platypusutils"); } __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_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 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 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 int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) { PyObject *local_type, *local_value, *local_tb; #if CYTHON_COMPILING_IN_CPYTHON PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); local_type = tstate->curexc_type; local_value = tstate->curexc_value; local_tb = tstate->curexc_traceback; tstate->curexc_type = 0; tstate->curexc_value = 0; tstate->curexc_traceback = 0; #else PyErr_Fetch(&local_type, &local_value, &local_tb); #endif PyErr_NormalizeException(&local_type, &local_value, &local_tb); #if CYTHON_COMPILING_IN_CPYTHON if (unlikely(tstate->curexc_type)) #else if (unlikely(PyErr_Occurred())) #endif goto bad; #if PY_MAJOR_VERSION >= 3 if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) goto bad; #endif Py_INCREF(local_type); Py_INCREF(local_value); Py_INCREF(local_tb); *type = local_type; *value = local_value; *tb = local_tb; #if CYTHON_COMPILING_IN_CPYTHON tmp_type = tstate->exc_type; tmp_value = tstate->exc_value; tmp_tb = tstate->exc_traceback; tstate->exc_type = local_type; tstate->exc_value = local_value; tstate->exc_traceback = local_tb; /* Make sure tstate is in a consistent state when we XDECREF these objects (DECREF may run arbitrary code). */ Py_XDECREF(tmp_type); Py_XDECREF(tmp_value); Py_XDECREF(tmp_tb); #else PyErr_SetExcInfo(local_type, local_value, local_tb); #endif return 0; bad: *type = 0; *value = 0; *tb = 0; Py_XDECREF(local_type); Py_XDECREF(local_value); Py_XDECREF(local_tb); return -1; } static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { PyErr_Format(PyExc_ValueError, "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); } static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { PyErr_Format(PyExc_ValueError, "need more than %" CYTHON_FORMAT_SSIZE_T "d value%s to unpack", index, (index == 1) ? "" : "s"); } static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } static CYTHON_INLINE int __Pyx_IterFinish(void) { #if CYTHON_COMPILING_IN_CPYTHON PyThreadState *tstate = PyThreadState_GET(); PyObject* exc_type = tstate->curexc_type; if (unlikely(exc_type)) { if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) { PyObject *exc_value, *exc_tb; exc_value = tstate->curexc_value; exc_tb = tstate->curexc_traceback; tstate->curexc_type = 0; tstate->curexc_value = 0; tstate->curexc_traceback = 0; Py_DECREF(exc_type); Py_XDECREF(exc_value); Py_XDECREF(exc_tb); return 0; } else { return -1; } } return 0; #else if (unlikely(PyErr_Occurred())) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { PyErr_Clear(); return 0; } else { return -1; } } return 0; #endif } static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { if (unlikely(retval)) { Py_DECREF(retval); __Pyx_RaiseTooManyValuesError(expected); return -1; } else { return __Pyx_IterFinish(); } return 0; } static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { if (unlikely(!type)) { PyErr_Format(PyExc_SystemError, "Missing type object"); return 0; } if (likely(PyObject_TypeCheck(obj, type))) return 1; PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", Py_TYPE(obj)->tp_name, type->tp_name); return 0; } static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) { #if CYTHON_COMPILING_IN_CPYTHON PyThreadState *tstate = PyThreadState_GET(); *type = tstate->exc_type; *value = tstate->exc_value; *tb = tstate->exc_traceback; Py_XINCREF(*type); Py_XINCREF(*value); Py_XINCREF(*tb); #else PyErr_GetExcInfo(type, value, tb); #endif } static void __Pyx_ExceptionReset(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->exc_type; tmp_value = tstate->exc_value; tmp_tb = tstate->exc_traceback; tstate->exc_type = type; tstate->exc_value = value; tstate->exc_traceback = tb; Py_XDECREF(tmp_type); Py_XDECREF(tmp_value); Py_XDECREF(tmp_tb); #else PyErr_SetExcInfo(type, value, tb); #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 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_ExportFunction(const char *name, void (*f)(void), const char *sig) { PyObject *d = 0; PyObject *cobj = 0; union { void (*fp)(void); void *p; } tmp; d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__"); if (!d) { PyErr_Clear(); d = PyDict_New(); if (!d) goto bad; Py_INCREF(d); if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0) goto bad; } tmp.fp = f; #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) cobj = PyCapsule_New(tmp.p, sig, 0); #else cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0); #endif if (!cobj) goto bad; if (PyDict_SetItemString(d, name, cobj) < 0) goto bad; Py_DECREF(cobj); Py_DECREF(d); return 0; bad: Py_XDECREF(cobj); Py_XDECREF(d); 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 */