/* Generated by Cython 0.17.2 on Mon Sep 30 14:29:55 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_TrueDivide(x,y) #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(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__variantFilter #define __PYX_HAVE_API__variantFilter #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[] = { "variantFilter.pyx", "fastafile.pxd", "samtoolsWrapper.pxd", "bamfileutils.pxd", "variant.pxd", "chaplotype.pxd", "cwindow.pxd", "cpopulation.pxd", "cgenotype.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_9cgenotype_HaploidGenotype; struct __pyx_obj_11cpopulation_Population; struct __pyx_obj_15samtoolsWrapper_Samfile; struct __pyx_obj_15samtoolsWrapper_IteratorRowAll; struct __pyx_obj_9cgenotype_DiploidGenotype; struct __pyx_obj_9fastafile_FastaIndex; struct __pyx_obj_12bamfileutils_MultiBamFileReader; struct __pyx_obj_12bamfileutils_MultiBamFileIterator; struct __pyx_obj_7cwindow_bamReadBuffer; struct __pyx_obj_7variant_Variant; struct __pyx_obj_12bamfileutils_BamFileIterator; struct __pyx_opt_args_15samtoolsWrapper_7Samfile__open; struct __pyx_opt_args_15samtoolsWrapper_7Samfile__parseRegion; struct __pyx_t_15samtoolsWrapper_cAlignedRead; typedef struct __pyx_t_15samtoolsWrapper_cAlignedRead __pyx_t_15samtoolsWrapper_cAlignedRead; /* "samtoolsWrapper.pxd":254 * cdef int _isOpen( self ) * cdef _hasIndex( self ) * cpdef _open(self, mode, loadIndex=*) # <<<<<<<<<<<<<< * cdef char* getrname(self, int tid) * cdef _parseRegion(self, reference=*, start=*, end=*, region=*) */ struct __pyx_opt_args_15samtoolsWrapper_7Samfile__open { int __pyx_n; PyObject *loadIndex; }; /* "samtoolsWrapper.pxd":256 * cpdef _open(self, mode, loadIndex=*) * cdef char* getrname(self, int tid) * cdef _parseRegion(self, reference=*, start=*, end=*, region=*) # <<<<<<<<<<<<<< * cpdef IteratorRow fetch(self, char* reference, int start, int end) * cpdef IteratorRowAll fetchAllReads(self) */ struct __pyx_opt_args_15samtoolsWrapper_7Samfile__parseRegion { int __pyx_n; PyObject *reference; PyObject *start; PyObject *end; PyObject *region; }; /* "samtoolsWrapper.pxd":311 * ################################################################################################### * * ctypedef struct cAlignedRead: # <<<<<<<<<<<<<< * char* seq * char* qual */ struct __pyx_t_15samtoolsWrapper_cAlignedRead { char *seq; char *qual; short *cigarOps; short *hash; short mateChromID; short cigarLen; short chromID; short rlen; int pos; int end; int insertSize; int matePos; int bitFlag; char mapq; }; struct __pyx_opt_args_10chaplotype_9Haplotype_getReferenceSequence; /* "chaplotype.pxd":47 * double* alignReads(self, int individualIndex, cAlignedRead** start, cAlignedRead** end, cAlignedRead** badReadStart, cAlignedRead** badReadsEnd, cAlignedRead** brokenReadsStart, cAlignedRead** brokenReadsEnd, int useMapQualCap, int printAlignments) * double alignSingleRead(self, cAlignedRead* theRead, int useMapQualCap, int printAlignments) * char* getReferenceSequence(self, prefix=*) # <<<<<<<<<<<<<< * char* getMutatedSequence(self) * dict vcfINFO(self) */ struct __pyx_opt_args_10chaplotype_9Haplotype_getReferenceSequence { int __pyx_n; PyObject *prefix; }; struct __pyx_opt_args_11cpopulation_10Population_calculatePosterior; /* "cpopulation.pxd":49 * # Class functions * cdef: * double calculatePosterior(self, Variant var, int flatPrior=*) # <<<<<<<<<<<<<< * void computeVariantPosteriors(self) * void computeVariantINFO(self) */ struct __pyx_opt_args_11cpopulation_10Population_calculatePosterior { int __pyx_n; int flatPrior; }; /* "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; }; /* "cgenotype.pxd":15 * cdef double calculateDataLikelihood(DiploidGenotype self, cAlignedRead** start, cAlignedRead** end, cAlignedRead** badReadsStart, cAlignedRead** badReadsEnd, cAlignedRead** brokenMatesStart, cAlignedRead** brokenMatesEnd, int individualIndex, int nIndividuals, double* gof, int printAlignments) * * cdef class HaploidGenotype: # <<<<<<<<<<<<<< * cdef Haplotype hap1 * cdef double calculateDataLikelihood(self, cAlignedRead** start, cAlignedRead** end, int individualIndex, int nIndividuals) */ struct __pyx_obj_9cgenotype_HaploidGenotype { PyObject_HEAD struct __pyx_vtabstruct_9cgenotype_HaploidGenotype *__pyx_vtab; struct __pyx_obj_10chaplotype_Haplotype *hap1; }; /* "cpopulation.pxd":12 * ################################################################################################### * * cdef class Population: # <<<<<<<<<<<<<< * * # Class variables */ struct __pyx_obj_11cpopulation_Population { PyObject_HEAD struct __pyx_vtabstruct_11cpopulation_Population *__pyx_vtab; PyObject *vcfInfo; PyObject *vcfFilter; PyObject *varsByPos; PyObject *variantPosteriors; PyObject *genotypeCalls; PyObject *variants; PyObject *haplotypes; PyObject *genotypes; double **genotypeLikelihoods; double **goodnessOfFitValues; double **EMLikelihoods; double *frequencies; double *newFrequencies; int **haplotypeIndexes; int *nReads; double *maxLogLikelihoods; double *freqsPrimeByHapIndex; int nVariants; int nHaplotypes; int nIndividuals; int maxHaplotypes; int maxGenotypes; int ploidy; int nGenotypes; int verbosity; int printAlignments; int useEMLikelihoods; PyObject *readBuffers; struct __pyx_obj_9fastafile_FastaFile *refFile; PyObject *options; }; /* "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; }; /* "cgenotype.pxd":8 * from samtoolsWrapper cimport cAlignedRead * * cdef class DiploidGenotype: # <<<<<<<<<<<<<< * cdef Haplotype hap1 * cdef Haplotype hap2 */ struct __pyx_obj_9cgenotype_DiploidGenotype { PyObject_HEAD struct __pyx_vtabstruct_9cgenotype_DiploidGenotype *__pyx_vtab; struct __pyx_obj_10chaplotype_Haplotype *hap1; struct __pyx_obj_10chaplotype_Haplotype *hap2; double hap1Like; double hap2Like; }; /* "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; /* "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":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; /* "cgenotype.pxd":8 * from samtoolsWrapper cimport cAlignedRead * * cdef class DiploidGenotype: # <<<<<<<<<<<<<< * cdef Haplotype hap1 * cdef Haplotype hap2 */ struct __pyx_vtabstruct_9cgenotype_DiploidGenotype { double (*calculateDataLikelihood)(struct __pyx_obj_9cgenotype_DiploidGenotype *, __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 *, int); }; static struct __pyx_vtabstruct_9cgenotype_DiploidGenotype *__pyx_vtabptr_9cgenotype_DiploidGenotype; /* "cpopulation.pxd":12 * ################################################################################################### * * cdef class Population: # <<<<<<<<<<<<<< * * # Class variables */ struct __pyx_vtabstruct_11cpopulation_Population { double (*calculatePosterior)(struct __pyx_obj_11cpopulation_Population *, struct __pyx_obj_7variant_Variant *, struct __pyx_opt_args_11cpopulation_10Population_calculatePosterior *__pyx_optional_args); void (*computeVariantPosteriors)(struct __pyx_obj_11cpopulation_Population *); void (*computeVariantINFO)(struct __pyx_obj_11cpopulation_Population *); void (*reset)(struct __pyx_obj_11cpopulation_Population *); void (*computeVariantFILTER)(struct __pyx_obj_11cpopulation_Population *); void (*callGenotypes)(struct __pyx_obj_11cpopulation_Population *); void (*call)(struct __pyx_obj_11cpopulation_Population *, int, int); double (*EMiteration)(struct __pyx_obj_11cpopulation_Population *, double *, double *); void (*setup)(struct __pyx_obj_11cpopulation_Population *, PyObject *, PyObject *, PyObject *, int, int, int, PyObject *); }; static struct __pyx_vtabstruct_11cpopulation_Population *__pyx_vtabptr_11cpopulation_Population; /* "samtoolsWrapper.pxd":233 * ################################################################################################### * * cdef class IteratorRowAll: # <<<<<<<<<<<<<< * cdef bam1_t* b * cdef samfile_t* fp */ struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRowAll { bam1_t *(*getCurrent)(struct __pyx_obj_15samtoolsWrapper_IteratorRowAll *); int (*cnext)(struct __pyx_obj_15samtoolsWrapper_IteratorRowAll *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRowAll *__pyx_vtabptr_15samtoolsWrapper_IteratorRowAll; /* "bamfileutils.pxd":22 * ################################################################################################### * * cdef class MultiBamFileReader(object): # <<<<<<<<<<<<<< * cdef public object files * cpdef getRName(self, int refId) */ struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader { PyObject *(*getRName)(struct __pyx_obj_12bamfileutils_MultiBamFileReader *, int, int __pyx_skip_dispatch); struct __pyx_obj_12bamfileutils_MultiBamFileIterator *(*fetch)(struct __pyx_obj_12bamfileutils_MultiBamFileReader *, char *, int, int, int __pyx_skip_dispatch); }; static struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader *__pyx_vtabptr_12bamfileutils_MultiBamFileReader; /* "samtoolsWrapper.pxd":266 * ################################################################################################### * * cdef class AlignedRead: # <<<<<<<<<<<<<< * cdef bam1_t* _delegate * cdef int hashValue */ struct __pyx_vtabstruct_15samtoolsWrapper_AlignedRead { PyObject *(*qname)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int __pyx_skip_dispatch); char *(*fastQName)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); char *(*seq)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); char *(*qual)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*tags)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*flag)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*rname)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*getCigarLength)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*pos)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*end)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*bin)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*getCigarOpCode)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int); int (*getCigarOpLength)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int); int (*rlen)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mapq)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, int __pyx_skip_dispatch); int (*mrnm)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mpos)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*isize)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_paired)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_proper_pair)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_unmapped)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mate_is_unmapped)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_reverse)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*mate_is_reverse)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_read1)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_read2)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_secondary)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_qcfail)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); int (*is_duplicate)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*opt)(struct __pyx_obj_15samtoolsWrapper_AlignedRead *, PyObject *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_AlignedRead *__pyx_vtabptr_15samtoolsWrapper_AlignedRead; /* "variant.pxd":42 * ################################################################################################### * * cdef class VariantCandidateGenerator: # <<<<<<<<<<<<<< * cdef int CIGAR_M * cdef int CIGAR_I */ struct __pyx_vtabstruct_7variant_VariantCandidateGenerator { void (*addVariantToList)(struct __pyx_obj_7variant_VariantCandidateGenerator *, struct __pyx_obj_7variant_Variant *); void (*getSnpCandidatesFromReadSegment)(struct __pyx_obj_7variant_VariantCandidateGenerator *, __pyx_t_15samtoolsWrapper_cAlignedRead *, char *, char *, int, int, int, int, int); void (*getVariantCandidatesFromSingleRead)(struct __pyx_obj_7variant_VariantCandidateGenerator *, __pyx_t_15samtoolsWrapper_cAlignedRead *); void (*addCandidatesFromReads)(struct __pyx_obj_7variant_VariantCandidateGenerator *, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **); PyObject *(*getCandidates)(struct __pyx_obj_7variant_VariantCandidateGenerator *, int); PyObject *(*getListOfSnpPositions)(struct __pyx_obj_7variant_VariantCandidateGenerator *, struct __pyx_obj_15samtoolsWrapper_AlignedRead *); PyObject *(*getListOfIndelPositions)(struct __pyx_obj_7variant_VariantCandidateGenerator *, struct __pyx_obj_15samtoolsWrapper_AlignedRead *); }; static struct __pyx_vtabstruct_7variant_VariantCandidateGenerator *__pyx_vtabptr_7variant_VariantCandidateGenerator; /* "bamfileutils.pxd":7 * ################################################################################################### * * cdef class BamFileIterator(object): # <<<<<<<<<<<<<< * cdef public object iterator * cdef public AlignedRead currentValue */ struct __pyx_vtabstruct_12bamfileutils_BamFileIterator { PyObject *(*next)(struct __pyx_obj_12bamfileutils_BamFileIterator *, int __pyx_skip_dispatch); }; static struct __pyx_vtabstruct_12bamfileutils_BamFileIterator *__pyx_vtabptr_12bamfileutils_BamFileIterator; /* "samtoolsWrapper.pxd":225 * cdef class Samfile * * cdef class IteratorRow: # <<<<<<<<<<<<<< * cdef bam_fetch_iterator_t* bam_iter # iterator state object * cdef bam1_t* b */ struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow { int (*cnext)(struct __pyx_obj_15samtoolsWrapper_IteratorRow *); }; static struct __pyx_vtabstruct_15samtoolsWrapper_IteratorRow *__pyx_vtabptr_15samtoolsWrapper_IteratorRow; /* "cgenotype.pxd":15 * cdef double calculateDataLikelihood(DiploidGenotype self, cAlignedRead** start, cAlignedRead** end, cAlignedRead** badReadsStart, cAlignedRead** badReadsEnd, cAlignedRead** brokenMatesStart, cAlignedRead** brokenMatesEnd, int individualIndex, int nIndividuals, double* gof, int printAlignments) * * cdef class HaploidGenotype: # <<<<<<<<<<<<<< * cdef Haplotype hap1 * cdef double calculateDataLikelihood(self, cAlignedRead** start, cAlignedRead** end, int individualIndex, int nIndividuals) */ struct __pyx_vtabstruct_9cgenotype_HaploidGenotype { double (*calculateDataLikelihood)(struct __pyx_obj_9cgenotype_HaploidGenotype *, __pyx_t_15samtoolsWrapper_cAlignedRead **, __pyx_t_15samtoolsWrapper_cAlignedRead **, int, int); }; static struct __pyx_vtabstruct_9cgenotype_HaploidGenotype *__pyx_vtabptr_9cgenotype_HaploidGenotype; #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 CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*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 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 CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); 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 PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) { if (likely(PyList_CheckExact(L))) { if (unlikely(PyList_Append(L, x) < 0)) return NULL; Py_INCREF(Py_None); return Py_None; /* this is just to have an accurate signature */ } else { PyObject *r, *m; m = __Pyx_GetAttrString(L, "append"); if (!m) return NULL; r = PyObject_CallFunctionObjArgs(m, x, NULL); Py_DECREF(m); return r; } } static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/ static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name); static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *); static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *); static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *); static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *); static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *); static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); static 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_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 'cython' */ /* Module declarations from 'samtoolsWrapper' */ static PyTypeObject *__pyx_ptype_15samtoolsWrapper_Samfile = 0; static PyTypeObject *__pyx_ptype_15samtoolsWrapper_IteratorRow = 0; static PyTypeObject *__pyx_ptype_15samtoolsWrapper_IteratorRowAll = 0; static PyTypeObject *__pyx_ptype_15samtoolsWrapper_AlignedRead = 0; static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsReverse(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsPaired(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsProperPair(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsDuplicate(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsUnmapped(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_MateIsUnmapped(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_MateIsReverse(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsQCFail(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsReadOne(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE int __pyx_f_15samtoolsWrapper_Read_IsSecondaryAlignment(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ static CYTHON_INLINE void __pyx_f_15samtoolsWrapper_Read_SetQCFail(__pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ /* Module declarations from 'bamfileutils' */ static PyTypeObject *__pyx_ptype_12bamfileutils_BamFileIterator = 0; static PyTypeObject *__pyx_ptype_12bamfileutils_MultiBamFileIterator = 0; static PyTypeObject *__pyx_ptype_12bamfileutils_MultiBamFileReader = 0; /* Module declarations from 'variant' */ static PyTypeObject *__pyx_ptype_7variant_Variant = 0; static PyTypeObject *__pyx_ptype_7variant_VariantCandidateGenerator = 0; static int *__pyx_vp_7variant_PLATYPUS_VAR = 0; #define __pyx_v_7variant_PLATYPUS_VAR (*__pyx_vp_7variant_PLATYPUS_VAR) static int *__pyx_vp_7variant_FILE_VAR = 0; #define __pyx_v_7variant_FILE_VAR (*__pyx_vp_7variant_FILE_VAR) static int *__pyx_vp_7variant_ASSEMBLER_VAR = 0; #define __pyx_v_7variant_ASSEMBLER_VAR (*__pyx_vp_7variant_ASSEMBLER_VAR) /* Module declarations from 'chaplotype' */ static PyTypeObject *__pyx_ptype_10chaplotype_Haplotype = 0; static int (*__pyx_f_10chaplotype_computeOverlapOfReadAndHaplotype)(int, int, __pyx_t_15samtoolsWrapper_cAlignedRead *); /*proto*/ /* Module declarations from 'cwindow' */ static PyTypeObject *__pyx_ptype_7cwindow_ReadArray = 0; static PyTypeObject *__pyx_ptype_7cwindow_bamReadBuffer = 0; /* Module declarations from 'cpopulation' */ static PyTypeObject *__pyx_ptype_11cpopulation_Population = 0; /* Module declarations from 'cgenotype' */ static PyTypeObject *__pyx_ptype_9cgenotype_DiploidGenotype = 0; static PyTypeObject *__pyx_ptype_9cgenotype_HaploidGenotype = 0; static PyObject *(*__pyx_f_9cgenotype_generateAllGenotypesFromHaplotypeList)(int, PyObject *); /*proto*/ /* Module declarations from 'cfilter' */ static PyObject *(*__pyx_f_7cfilter_getHaplotypes)(struct __pyx_obj_10chaplotype_Haplotype *, PyObject *, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, int, int, int, int, int, int, int); /*proto*/ /* Module declarations from 'platypusutils' */ static int (*__pyx_f_13platypusutils_isHaplotypeValid)(PyObject *); /*proto*/ static struct __pyx_obj_7variant_Variant *(*__pyx_f_13platypusutils_leftNormaliseIndel)(struct __pyx_obj_7variant_Variant *, struct __pyx_obj_9fastafile_FastaFile *, int); /*proto*/ /* Module declarations from 'variantFilter' */ static PyObject *__pyx_f_13variantFilter_getFilteredHaplotypes(PyObject *, PyObject *, int, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, PyObject *); /*proto*/ static double __pyx_f_13variantFilter_computeBestScoreForGenotype(PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, struct __pyx_obj_10chaplotype_Haplotype *, int); /*proto*/ static int __pyx_f_13variantFilter_recurse(PyObject *, PyObject *, int); /*proto*/ #define __Pyx_MODULE_NAME "variantFilter" int __pyx_module_is_main_variantFilter = 0; /* Implementation of 'variantFilter' */ static PyObject *__pyx_builtin_sorted; static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_max; static char __pyx_k_1[] = "Adding variant %s to filtered list"; static char __pyx_k_2[] = "Taking top 50 variant by coverage"; static char __pyx_k_4[] = "nSupportingReadsGetter"; static char __pyx_k_5[] = "There are %s variants. Filtering variants with EM method"; static char __pyx_k_6[] = "filterVarsByCoverage"; static char __pyx_k_7[] = "Taking top %s variants (out of %s) by coverage in window %s:%s-%s"; static char __pyx_k_8[] = ""; static char __pyx_k_10[] = "Window variants before filtering = %s"; static char __pyx_k_11[] = "Window variants after filtering = %s"; static char __pyx_k_13[] = "Coverage is zero in window %s:%s-%s. Variants considered in this window are %s"; static char __pyx_k_14[] = "\nVarious classes and functions for use in generating and processing\nvariant candidates.\n"; static char __pyx_k__Log[] = "Log"; static char __pyx_k__key[] = "key"; static char __pyx_k__max[] = "max"; static char __pyx_k__math[] = "math"; static char __pyx_k__nInd[] = "nInd"; static char __pyx_k__rlen[] = "rlen"; static char __pyx_k__sort[] = "sort"; static char __pyx_k__debug[] = "debug"; static char __pyx_k__heapq[] = "heapq"; static char __pyx_k__range[] = "range"; static char __pyx_k__endPos[] = "endPos"; static char __pyx_k__logger[] = "logger"; static char __pyx_k__ploidy[] = "ploidy"; static char __pyx_k__sorted[] = "sorted"; static char __pyx_k__heappop[] = "heappop"; static char __pyx_k__logging[] = "logging"; static char __pyx_k__maxSize[] = "maxSize"; static char __pyx_k__reverse[] = "reverse"; static char __pyx_k__warning[] = "warning"; static char __pyx_k____main__[] = "__main__"; static char __pyx_k____test__[] = "__test__"; static char __pyx_k__heappush[] = "heappush"; static char __pyx_k__minReads[] = "minReads"; static char __pyx_k__operator[] = "operator"; static char __pyx_k__startPos[] = "startPos"; static char __pyx_k__variants[] = "variants"; static char __pyx_k__fastafile[] = "fastafile"; static char __pyx_k__getLogger[] = "getLogger"; static char __pyx_k__itertools[] = "itertools"; static char __pyx_k__verbosity[] = "verbosity"; static char __pyx_k__attrgetter[] = "attrgetter"; static char __pyx_k__chromosome[] = "chromosome"; static char __pyx_k__heappushpop[] = "heappushpop"; static char __pyx_k__maxVariants[] = "maxVariants"; static char __pyx_k__combinations[] = "combinations"; static char __pyx_k__maxHaplotypes[] = "maxHaplotypes"; static char __pyx_k__outputRefCalls[] = "outputRefCalls"; static char __pyx_k__maxEMIterations[] = "maxEMIterations"; static char __pyx_k__printAlignments[] = "printAlignments"; static char __pyx_k__nSupportingReads[] = "nSupportingReads"; static char __pyx_k__useIndelErrorModel[] = "useIndelErrorModel"; static PyObject *__pyx_kp_s_1; static PyObject *__pyx_kp_s_10; static PyObject *__pyx_kp_s_11; static PyObject *__pyx_kp_s_13; static PyObject *__pyx_kp_s_2; static PyObject *__pyx_n_s_4; static PyObject *__pyx_kp_s_5; static PyObject *__pyx_n_s_6; static PyObject *__pyx_kp_s_7; static PyObject *__pyx_kp_s_8; static PyObject *__pyx_n_s__Log; static PyObject *__pyx_n_s____main__; static PyObject *__pyx_n_s____test__; static PyObject *__pyx_n_s__attrgetter; static PyObject *__pyx_n_s__chromosome; static PyObject *__pyx_n_s__combinations; static PyObject *__pyx_n_s__debug; static PyObject *__pyx_n_s__endPos; static PyObject *__pyx_n_s__fastafile; static PyObject *__pyx_n_s__getLogger; static PyObject *__pyx_n_s__heappop; static PyObject *__pyx_n_s__heappush; static PyObject *__pyx_n_s__heappushpop; static PyObject *__pyx_n_s__heapq; static PyObject *__pyx_n_s__itertools; static PyObject *__pyx_n_s__key; static PyObject *__pyx_n_s__logger; static PyObject *__pyx_n_s__logging; static PyObject *__pyx_n_s__math; static PyObject *__pyx_n_s__max; static PyObject *__pyx_n_s__maxEMIterations; static PyObject *__pyx_n_s__maxHaplotypes; static PyObject *__pyx_n_s__maxSize; static PyObject *__pyx_n_s__maxVariants; static PyObject *__pyx_n_s__minReads; static PyObject *__pyx_n_s__nInd; static PyObject *__pyx_n_s__nSupportingReads; static PyObject *__pyx_n_s__operator; static PyObject *__pyx_n_s__outputRefCalls; static PyObject *__pyx_n_s__ploidy; static PyObject *__pyx_n_s__printAlignments; static PyObject *__pyx_n_s__range; static PyObject *__pyx_n_s__reverse; static PyObject *__pyx_n_s__rlen; static PyObject *__pyx_n_s__sort; static PyObject *__pyx_n_s__sorted; static PyObject *__pyx_n_s__startPos; static PyObject *__pyx_n_s__useIndelErrorModel; static PyObject *__pyx_n_s__variants; static PyObject *__pyx_n_s__verbosity; static PyObject *__pyx_n_s__warning; static PyObject *__pyx_int_1; static PyObject *__pyx_int_3; static PyObject *__pyx_int_15; static PyObject *__pyx_k_tuple_3; static PyObject *__pyx_k_tuple_9; static PyObject *__pyx_k_tuple_12; static PyObject *__pyx_k_tuple_15; static PyObject *__pyx_k_tuple_16; /* "variantFilter.pyx":59 * ################################################################################################### * * cdef list padVariants(list sortedVariants, FastaFile refFile, bytes chrom): # <<<<<<<<<<<<<< * """ * All variants which overlap will be padded so that they start at the same place. This */ static PyObject *__pyx_f_13variantFilter_padVariants(PyObject *__pyx_v_sortedVariants, struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, PyObject *__pyx_v_chrom) { struct __pyx_obj_7variant_Variant *__pyx_v_thisVar = 0; struct __pyx_obj_7variant_Variant *__pyx_v_nextVar = 0; PyObject *__pyx_v_padding = 0; PyObject *__pyx_v_paddedVars = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; int __pyx_t_7; int __pyx_t_8; int __pyx_t_9; int __pyx_t_10; Py_ssize_t __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("padVariants", 0); /* "variantFilter.pyx":64 * is just for later convenience when calling. * """ * cdef Variant thisVar = None # <<<<<<<<<<<<<< * cdef Variant nextVar = None * cdef bytes padding = None */ __Pyx_INCREF(Py_None); __pyx_v_thisVar = ((struct __pyx_obj_7variant_Variant *)Py_None); /* "variantFilter.pyx":65 * """ * cdef Variant thisVar = None * cdef Variant nextVar = None # <<<<<<<<<<<<<< * cdef bytes padding = None * cdef list paddedVars = [] */ __Pyx_INCREF(Py_None); __pyx_v_nextVar = ((struct __pyx_obj_7variant_Variant *)Py_None); /* "variantFilter.pyx":66 * cdef Variant thisVar = None * cdef Variant nextVar = None * cdef bytes padding = None # <<<<<<<<<<<<<< * cdef list paddedVars = [] * */ __Pyx_INCREF(Py_None); __pyx_v_padding = ((PyObject*)Py_None); /* "variantFilter.pyx":67 * cdef Variant nextVar = None * cdef bytes padding = None * cdef list paddedVars = [] # <<<<<<<<<<<<<< * * for nextVar in sortedVariants: */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_paddedVars = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":69 * cdef list paddedVars = [] * * for nextVar in sortedVariants: # <<<<<<<<<<<<<< * * if thisVar is None: */ if (unlikely(((PyObject *)__pyx_v_sortedVariants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_sortedVariants); __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 = 69; __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 = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_nextVar)); __pyx_v_nextVar = ((struct __pyx_obj_7variant_Variant *)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":71 * for nextVar in sortedVariants: * * if thisVar is None: # <<<<<<<<<<<<<< * thisVar = nextVar * paddedVars.append(thisVar) */ __pyx_t_4 = (((PyObject *)__pyx_v_thisVar) == Py_None); if (__pyx_t_4) { /* "variantFilter.pyx":72 * * if thisVar is None: * thisVar = nextVar # <<<<<<<<<<<<<< * paddedVars.append(thisVar) * else: */ __Pyx_INCREF(((PyObject *)__pyx_v_nextVar)); __Pyx_DECREF(((PyObject *)__pyx_v_thisVar)); __pyx_v_thisVar = __pyx_v_nextVar; /* "variantFilter.pyx":73 * if thisVar is None: * thisVar = nextVar * paddedVars.append(thisVar) # <<<<<<<<<<<<<< * else: * */ __pyx_t_5 = PyList_Append(__pyx_v_paddedVars, ((PyObject *)__pyx_v_thisVar)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } /*else*/ { /* "variantFilter.pyx":77 * * # Overlapping variants. These need to be padded * if thisVar.maxRefPos >= nextVar.minRefPos and thisVar.refPos < nextVar.refPos and thisVar.nAdded == thisVar.nRemoved and nextVar.nAdded == nextVar.nRemoved: # <<<<<<<<<<<<<< * #logger.info("Padding variant %s to fit with %s" %(nextVar, thisVar)) * padding = refFile.getSequence(chrom, thisVar.minRefPos, nextVar.minRefPos) */ __pyx_t_4 = (__pyx_v_thisVar->maxRefPos >= __pyx_v_nextVar->minRefPos); if (__pyx_t_4) { __pyx_t_6 = (__pyx_v_thisVar->refPos < __pyx_v_nextVar->refPos); if (__pyx_t_6) { __pyx_t_7 = (__pyx_v_thisVar->nAdded == __pyx_v_thisVar->nRemoved); if (__pyx_t_7) { __pyx_t_8 = (__pyx_v_nextVar->nAdded == __pyx_v_nextVar->nRemoved); __pyx_t_9 = __pyx_t_8; } else { __pyx_t_9 = __pyx_t_7; } __pyx_t_7 = __pyx_t_9; } else { __pyx_t_7 = __pyx_t_6; } __pyx_t_6 = __pyx_t_7; } else { __pyx_t_6 = __pyx_t_4; } if (__pyx_t_6) { /* "variantFilter.pyx":79 * if thisVar.maxRefPos >= nextVar.minRefPos and thisVar.refPos < nextVar.refPos and thisVar.nAdded == thisVar.nRemoved and nextVar.nAdded == nextVar.nRemoved: * #logger.info("Padding variant %s to fit with %s" %(nextVar, thisVar)) * padding = refFile.getSequence(chrom, thisVar.minRefPos, nextVar.minRefPos) # <<<<<<<<<<<<<< * nextVar.minRefPos = thisVar.minRefPos * nextVar.refPos = thisVar.refPos */ __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_9fastafile_FastaFile *)__pyx_v_refFile->__pyx_vtab)->getSequence(__pyx_v_refFile, __pyx_v_chrom, __pyx_v_thisVar->minRefPos, __pyx_v_nextVar->minRefPos)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_v_padding)); __pyx_v_padding = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":80 * #logger.info("Padding variant %s to fit with %s" %(nextVar, thisVar)) * padding = refFile.getSequence(chrom, thisVar.minRefPos, nextVar.minRefPos) * nextVar.minRefPos = thisVar.minRefPos # <<<<<<<<<<<<<< * nextVar.refPos = thisVar.refPos * nextVar.removed = padding + nextVar.removed */ __pyx_t_10 = __pyx_v_thisVar->minRefPos; __pyx_v_nextVar->minRefPos = __pyx_t_10; /* "variantFilter.pyx":81 * padding = refFile.getSequence(chrom, thisVar.minRefPos, nextVar.minRefPos) * nextVar.minRefPos = thisVar.minRefPos * nextVar.refPos = thisVar.refPos # <<<<<<<<<<<<<< * nextVar.removed = padding + nextVar.removed * nextVar.added = padding + nextVar.added */ __pyx_t_10 = __pyx_v_thisVar->refPos; __pyx_v_nextVar->refPos = __pyx_t_10; /* "variantFilter.pyx":82 * nextVar.minRefPos = thisVar.minRefPos * nextVar.refPos = thisVar.refPos * nextVar.removed = padding + nextVar.removed # <<<<<<<<<<<<<< * nextVar.added = padding + nextVar.added * nextVar.nAdded = len(nextVar.added) */ __pyx_t_3 = PyNumber_Add(((PyObject *)__pyx_v_padding), ((PyObject *)__pyx_v_nextVar->removed)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); __Pyx_GOTREF(__pyx_v_nextVar->removed); __Pyx_DECREF(((PyObject *)__pyx_v_nextVar->removed)); __pyx_v_nextVar->removed = __pyx_t_3; __pyx_t_3 = 0; /* "variantFilter.pyx":83 * nextVar.refPos = thisVar.refPos * nextVar.removed = padding + nextVar.removed * nextVar.added = padding + nextVar.added # <<<<<<<<<<<<<< * nextVar.nAdded = len(nextVar.added) * nextVar.nRemoved = len(nextVar.removed) */ __pyx_t_3 = PyNumber_Add(((PyObject *)__pyx_v_padding), ((PyObject *)__pyx_v_nextVar->added)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); __Pyx_GOTREF(__pyx_v_nextVar->added); __Pyx_DECREF(((PyObject *)__pyx_v_nextVar->added)); __pyx_v_nextVar->added = __pyx_t_3; __pyx_t_3 = 0; /* "variantFilter.pyx":84 * nextVar.removed = padding + nextVar.removed * nextVar.added = padding + nextVar.added * nextVar.nAdded = len(nextVar.added) # <<<<<<<<<<<<<< * nextVar.nRemoved = len(nextVar.removed) * nextVar.hashValue = -1 */ __pyx_t_3 = ((PyObject *)__pyx_v_nextVar->added); __Pyx_INCREF(__pyx_t_3); if (unlikely(__pyx_t_3 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_11 = PyBytes_GET_SIZE(__pyx_t_3); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nextVar->nAdded = __pyx_t_11; /* "variantFilter.pyx":85 * nextVar.added = padding + nextVar.added * nextVar.nAdded = len(nextVar.added) * nextVar.nRemoved = len(nextVar.removed) # <<<<<<<<<<<<<< * nextVar.hashValue = -1 * paddedVars.append(nextVar) */ __pyx_t_3 = ((PyObject *)__pyx_v_nextVar->removed); __Pyx_INCREF(__pyx_t_3); if (unlikely(__pyx_t_3 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_11 = PyBytes_GET_SIZE(__pyx_t_3); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nextVar->nRemoved = __pyx_t_11; /* "variantFilter.pyx":86 * nextVar.nAdded = len(nextVar.added) * nextVar.nRemoved = len(nextVar.removed) * nextVar.hashValue = -1 # <<<<<<<<<<<<<< * paddedVars.append(nextVar) * #logger.info("Done padding. Now vars are %s and %s" %(nextVar, thisVar)) */ __pyx_v_nextVar->hashValue = -1; /* "variantFilter.pyx":87 * nextVar.nRemoved = len(nextVar.removed) * nextVar.hashValue = -1 * paddedVars.append(nextVar) # <<<<<<<<<<<<<< * #logger.info("Done padding. Now vars are %s and %s" %(nextVar, thisVar)) * */ __pyx_t_5 = PyList_Append(__pyx_v_paddedVars, ((PyObject *)__pyx_v_nextVar)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } /*else*/ { /* "variantFilter.pyx":92 * # No overlap * else: * paddedVars.append(nextVar) # <<<<<<<<<<<<<< * * thisVar = nextVar */ __pyx_t_5 = PyList_Append(__pyx_v_paddedVars, ((PyObject *)__pyx_v_nextVar)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L6:; /* "variantFilter.pyx":94 * paddedVars.append(nextVar) * * thisVar = nextVar # <<<<<<<<<<<<<< * * return paddedVars */ __Pyx_INCREF(((PyObject *)__pyx_v_nextVar)); __Pyx_DECREF(((PyObject *)__pyx_v_thisVar)); __pyx_v_thisVar = __pyx_v_nextVar; } __pyx_L5:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":96 * thisVar = nextVar * * return paddedVars # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_paddedVars)); __pyx_r = __pyx_v_paddedVars; 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_AddTraceback("variantFilter.padVariants", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_thisVar); __Pyx_XDECREF((PyObject *)__pyx_v_nextVar); __Pyx_XDECREF(__pyx_v_padding); __Pyx_XDECREF(__pyx_v_paddedVars); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":100 * ################################################################################################### * * cdef list filterVariants(list varList, FastaFile refFile, int maxReadLength, int minSupport, int maxDiff, int verbosity, options): # <<<<<<<<<<<<<< * """ * Generator function, this calls the Candidates generator function, and gets a list of */ static PyObject *__pyx_f_13variantFilter_filterVariants(PyObject *__pyx_v_varList, CYTHON_UNUSED struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, CYTHON_UNUSED int __pyx_v_maxReadLength, int __pyx_v_minSupport, CYTHON_UNUSED int __pyx_v_maxDiff, int __pyx_v_verbosity, PyObject *__pyx_v_options) { struct __pyx_obj_7variant_Variant *__pyx_v_v = 0; struct __pyx_obj_7variant_Variant *__pyx_v_lastVariant = 0; PyObject *__pyx_v_filteredVariants = 0; int __pyx_v_minReads; int __pyx_v_maxSize; int __pyx_v_support; int __pyx_v_source; PyObject *__pyx_v_varSize = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; int __pyx_t_7; int __pyx_t_8; int __pyx_t_9; int __pyx_t_10; int __pyx_t_11; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("filterVariants", 0); /* "variantFilter.pyx":108 * No additional filtering is done at this step. * """ * cdef Variant v = None # <<<<<<<<<<<<<< * cdef Variant lastVariant = None * cdef list filteredVariants = [] */ __Pyx_INCREF(Py_None); __pyx_v_v = ((struct __pyx_obj_7variant_Variant *)Py_None); /* "variantFilter.pyx":109 * """ * cdef Variant v = None * cdef Variant lastVariant = None # <<<<<<<<<<<<<< * cdef list filteredVariants = [] * cdef int minReads = options.minReads */ __Pyx_INCREF(Py_None); __pyx_v_lastVariant = ((struct __pyx_obj_7variant_Variant *)Py_None); /* "variantFilter.pyx":110 * cdef Variant v = None * cdef Variant lastVariant = None * cdef list filteredVariants = [] # <<<<<<<<<<<<<< * cdef int minReads = options.minReads * cdef int maxSize = options.maxSize */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_filteredVariants = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":111 * cdef Variant lastVariant = None * cdef list filteredVariants = [] * cdef int minReads = options.minReads # <<<<<<<<<<<<<< * cdef int maxSize = options.maxSize * */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__minReads); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __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 = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_minReads = __pyx_t_2; /* "variantFilter.pyx":112 * cdef list filteredVariants = [] * cdef int minReads = options.minReads * cdef int maxSize = options.maxSize # <<<<<<<<<<<<<< * * for v in varList: */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxSize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __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 = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_maxSize = __pyx_t_2; /* "variantFilter.pyx":114 * cdef int maxSize = options.maxSize * * for v in varList: # <<<<<<<<<<<<<< * * # Start. */ if (unlikely(((PyObject *)__pyx_v_varList) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_varList); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_v)); __pyx_v_v = ((struct __pyx_obj_7variant_Variant *)__pyx_t_4); __pyx_t_4 = 0; /* "variantFilter.pyx":117 * * # Start. * if lastVariant is None: # <<<<<<<<<<<<<< * lastVariant = v * */ __pyx_t_5 = (((PyObject *)__pyx_v_lastVariant) == Py_None); if (__pyx_t_5) { /* "variantFilter.pyx":118 * # Start. * if lastVariant is None: * lastVariant = v # <<<<<<<<<<<<<< * * # Same as last variant: add supporting reads. */ __Pyx_INCREF(((PyObject *)__pyx_v_v)); __Pyx_DECREF(((PyObject *)__pyx_v_lastVariant)); __pyx_v_lastVariant = __pyx_v_v; goto __pyx_L5; } /* "variantFilter.pyx":121 * * # Same as last variant: add supporting reads. * elif v == lastVariant: # <<<<<<<<<<<<<< * lastVariant.addVariant(v) * */ __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_v), ((PyObject *)__pyx_v_lastVariant), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* "variantFilter.pyx":122 * # Same as last variant: add supporting reads. * elif v == lastVariant: * lastVariant.addVariant(v) # <<<<<<<<<<<<<< * * # Not the same: add to filtered list, if it passes filters. */ ((struct __pyx_vtabstruct_7variant_Variant *)__pyx_v_lastVariant->__pyx_vtab)->addVariant(__pyx_v_lastVariant, __pyx_v_v); goto __pyx_L5; } /*else*/ { /* "variantFilter.pyx":126 * # Not the same: add to filtered list, if it passes filters. * else: * support = lastVariant.nSupportingReads # <<<<<<<<<<<<<< * source = lastVariant.varSource * varSize = max(lastVariant.nAdded, lastVariant.nRemoved) */ __pyx_t_2 = __pyx_v_lastVariant->nSupportingReads; __pyx_v_support = __pyx_t_2; /* "variantFilter.pyx":127 * else: * support = lastVariant.nSupportingReads * source = lastVariant.varSource # <<<<<<<<<<<<<< * varSize = max(lastVariant.nAdded, lastVariant.nRemoved) * */ __pyx_t_2 = __pyx_v_lastVariant->varSource; __pyx_v_source = __pyx_t_2; /* "variantFilter.pyx":128 * support = lastVariant.nSupportingReads * source = lastVariant.varSource * varSize = max(lastVariant.nAdded, lastVariant.nRemoved) # <<<<<<<<<<<<<< * * # Skip Vars with < minSupport supporting reads, if they only come from Platypus, and they are small (< 20 bases) */ __pyx_t_2 = __pyx_v_lastVariant->nRemoved; __pyx_t_6 = __pyx_v_lastVariant->nAdded; if ((__pyx_t_2 > __pyx_t_6)) { __pyx_t_7 = __pyx_t_2; } else { __pyx_t_7 = __pyx_t_6; } __pyx_t_4 = PyInt_FromLong(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF(__pyx_v_varSize); __pyx_v_varSize = __pyx_t_4; __pyx_t_4 = 0; /* "variantFilter.pyx":131 * * # Skip Vars with < minSupport supporting reads, if they only come from Platypus, and they are small (< 20 bases) * if support < minSupport and varSize < 15 and source & PLATYPUS_VAR and not (source & ASSEMBLER_VAR) and not(source & FILE_VAR): # <<<<<<<<<<<<<< * pass * */ __pyx_t_5 = (__pyx_v_support < __pyx_v_minSupport); if (__pyx_t_5) { __pyx_t_4 = PyObject_RichCompare(__pyx_v_varSize, __pyx_int_15, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_8) { if ((__pyx_v_source & __pyx_v_7variant_PLATYPUS_VAR)) { __pyx_t_9 = (!(__pyx_v_source & __pyx_v_7variant_ASSEMBLER_VAR)); if (__pyx_t_9) { __pyx_t_10 = (!(__pyx_v_source & __pyx_v_7variant_FILE_VAR)); __pyx_t_11 = __pyx_t_10; } else { __pyx_t_11 = __pyx_t_9; } __pyx_t_9 = __pyx_t_11; } else { __pyx_t_9 = (__pyx_v_source & __pyx_v_7variant_PLATYPUS_VAR); } __pyx_t_11 = __pyx_t_9; } else { __pyx_t_11 = __pyx_t_8; } __pyx_t_8 = __pyx_t_11; } else { __pyx_t_8 = __pyx_t_5; } if (__pyx_t_8) { goto __pyx_L6; } /* "variantFilter.pyx":135 * * # Skip Vars with < minReads supporting reads, if they only come from Platypus, and they are large (< 20 bases) * elif support < minReads and varSize >= 15 and source & PLATYPUS_VAR and not (source & ASSEMBLER_VAR) and not(source & FILE_VAR): # <<<<<<<<<<<<<< * pass * */ __pyx_t_8 = (__pyx_v_support < __pyx_v_minReads); if (__pyx_t_8) { __pyx_t_4 = PyObject_RichCompare(__pyx_v_varSize, __pyx_int_15, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { if ((__pyx_v_source & __pyx_v_7variant_PLATYPUS_VAR)) { __pyx_t_11 = (!(__pyx_v_source & __pyx_v_7variant_ASSEMBLER_VAR)); if (__pyx_t_11) { __pyx_t_9 = (!(__pyx_v_source & __pyx_v_7variant_FILE_VAR)); __pyx_t_10 = __pyx_t_9; } else { __pyx_t_10 = __pyx_t_11; } __pyx_t_11 = __pyx_t_10; } else { __pyx_t_11 = (__pyx_v_source & __pyx_v_7variant_PLATYPUS_VAR); } __pyx_t_10 = __pyx_t_11; } else { __pyx_t_10 = __pyx_t_5; } __pyx_t_5 = __pyx_t_10; } else { __pyx_t_5 = __pyx_t_8; } if (__pyx_t_5) { goto __pyx_L6; } /* "variantFilter.pyx":139 * * # Can't currently deal with very large variants due to hashing issues. * elif varSize > maxSize: # <<<<<<<<<<<<<< * pass * */ __pyx_t_4 = PyInt_FromLong(__pyx_v_maxSize); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_12 = PyObject_RichCompare(__pyx_v_varSize, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_5) { goto __pyx_L6; } /*else*/ { /* "variantFilter.pyx":152 * * #else: * if verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("Adding variant %s to filtered list" %(lastVariant)) * */ __pyx_t_5 = (__pyx_v_verbosity >= 3); if (__pyx_t_5) { /* "variantFilter.pyx":153 * #else: * if verbosity >= 3: * logger.debug("Adding variant %s to filtered list" %(lastVariant)) # <<<<<<<<<<<<<< * * filteredVariants.append(lastVariant) */ __pyx_t_12 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_4 = PyObject_GetAttr(__pyx_t_12, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), ((PyObject *)__pyx_v_lastVariant)); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_12)); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_t_12)); __Pyx_GIVEREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0; __pyx_t_12 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L7; } __pyx_L7:; /* "variantFilter.pyx":155 * logger.debug("Adding variant %s to filtered list" %(lastVariant)) * * filteredVariants.append(lastVariant) # <<<<<<<<<<<<<< * * lastVariant = v */ __pyx_t_14 = PyList_Append(__pyx_v_filteredVariants, ((PyObject *)__pyx_v_lastVariant)); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L6:; /* "variantFilter.pyx":157 * filteredVariants.append(lastVariant) * * lastVariant = v # <<<<<<<<<<<<<< * * if lastVariant is not None: */ __Pyx_INCREF(((PyObject *)__pyx_v_v)); __Pyx_DECREF(((PyObject *)__pyx_v_lastVariant)); __pyx_v_lastVariant = __pyx_v_v; } __pyx_L5:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":159 * lastVariant = v * * if lastVariant is not None: # <<<<<<<<<<<<<< * * support = lastVariant.nSupportingReads */ __pyx_t_5 = (((PyObject *)__pyx_v_lastVariant) != Py_None); if (__pyx_t_5) { /* "variantFilter.pyx":161 * if lastVariant is not None: * * support = lastVariant.nSupportingReads # <<<<<<<<<<<<<< * source = lastVariant.varSource * */ __pyx_t_7 = __pyx_v_lastVariant->nSupportingReads; __pyx_v_support = __pyx_t_7; /* "variantFilter.pyx":162 * * support = lastVariant.nSupportingReads * source = lastVariant.varSource # <<<<<<<<<<<<<< * * # Skip Vars with < minSupport supporting reads, if they only come from Platypus */ __pyx_t_7 = __pyx_v_lastVariant->varSource; __pyx_v_source = __pyx_t_7; /* "variantFilter.pyx":165 * * # Skip Vars with < minSupport supporting reads, if they only come from Platypus * if support < minSupport and source & PLATYPUS_VAR and not (source & ASSEMBLER_VAR) and not(source & FILE_VAR): # <<<<<<<<<<<<<< * pass * else: */ __pyx_t_5 = (__pyx_v_support < __pyx_v_minSupport); if (__pyx_t_5) { if ((__pyx_v_source & __pyx_v_7variant_PLATYPUS_VAR)) { __pyx_t_8 = (!(__pyx_v_source & __pyx_v_7variant_ASSEMBLER_VAR)); if (__pyx_t_8) { __pyx_t_10 = (!(__pyx_v_source & __pyx_v_7variant_FILE_VAR)); __pyx_t_11 = __pyx_t_10; } else { __pyx_t_11 = __pyx_t_8; } __pyx_t_8 = __pyx_t_11; } else { __pyx_t_8 = (__pyx_v_source & __pyx_v_7variant_PLATYPUS_VAR); } __pyx_t_11 = __pyx_t_8; } else { __pyx_t_11 = __pyx_t_5; } if (__pyx_t_11) { goto __pyx_L9; } /*else*/ { /* "variantFilter.pyx":168 * pass * else: * if verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("Adding variant %s to filtered list" %(lastVariant)) * */ __pyx_t_11 = (__pyx_v_verbosity >= 3); if (__pyx_t_11) { /* "variantFilter.pyx":169 * else: * if verbosity >= 3: * logger.debug("Adding variant %s to filtered list" %(lastVariant)) # <<<<<<<<<<<<<< * * filteredVariants.append(lastVariant) */ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__debug); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), ((PyObject *)__pyx_v_lastVariant)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_t_1)); __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_t_12, ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L10; } __pyx_L10:; /* "variantFilter.pyx":171 * logger.debug("Adding variant %s to filtered list" %(lastVariant)) * * filteredVariants.append(lastVariant) # <<<<<<<<<<<<<< * * return sorted(filteredVariants) */ __pyx_t_14 = PyList_Append(__pyx_v_filteredVariants, ((PyObject *)__pyx_v_lastVariant)); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L9:; goto __pyx_L8; } __pyx_L8:; /* "variantFilter.pyx":173 * filteredVariants.append(lastVariant) * * return sorted(filteredVariants) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_filteredVariants)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_filteredVariants)); __Pyx_GIVEREF(((PyObject *)__pyx_v_filteredVariants)); __pyx_t_13 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; if (!(likely(PyList_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_13)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = ((PyObject*)__pyx_t_13); __pyx_t_13 = 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_4); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("variantFilter.filterVariants", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_v); __Pyx_XDECREF((PyObject *)__pyx_v_lastVariant); __Pyx_XDECREF(__pyx_v_filteredVariants); __Pyx_XDECREF(__pyx_v_varSize); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":177 * ################################################################################################### * * cdef void filterVariantsInWindow(dict thisWindow, bytes chrom, int windowStart, int windowEnd, FastaFile refFile, options, list variants, Haplotype refHaplotype, list readBuffers): # <<<<<<<<<<<<<< * """ * In some windows there are too many variants to crunch through the complete Platypus model, so we need to */ static void __pyx_f_13variantFilter_filterVariantsInWindow(PyObject *__pyx_v_thisWindow, PyObject *__pyx_v_chrom, int __pyx_v_windowStart, int __pyx_v_windowEnd, struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, PyObject *__pyx_v_options, PyObject *__pyx_v_variants, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_refHaplotype, PyObject *__pyx_v_readBuffers) { int __pyx_v_nVar; PyObject *__pyx_v_varHaps = 0; PyObject *__pyx_v_varGens = 0; struct __pyx_obj_11cpopulation_Population *__pyx_v_pop = 0; PyObject *__pyx_v_varsByPost = 0; PyObject *__pyx_v_v = NULL; double __pyx_v_post; PyObject *__pyx_v_theTuple = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __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 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; int __pyx_t_13; int __pyx_t_14; int __pyx_t_15; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("filterVariantsInWindow", 0); __Pyx_INCREF(__pyx_v_variants); /* "variantFilter.pyx":190 * variant each). Take the variants with the highest posterior values. * """ * cdef int nVar = len(variants) # <<<<<<<<<<<<<< * * if nVar > 50: */ 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 = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVar = __pyx_t_1; /* "variantFilter.pyx":192 * cdef int nVar = len(variants) * * if nVar > 50: # <<<<<<<<<<<<<< * logger.debug("Taking top 50 variant by coverage") * variants = sorted(sorted(variants, key=nSupportingReadsGetter, reverse=True)[0:50]) */ __pyx_t_2 = (__pyx_v_nVar > 50); if (__pyx_t_2) { /* "variantFilter.pyx":193 * * if nVar > 50: * logger.debug("Taking top 50 variant by coverage") # <<<<<<<<<<<<<< * variants = sorted(sorted(variants, key=nSupportingReadsGetter, reverse=True)[0:50]) * nVar = len(variants) */ __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __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_3), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":194 * if nVar > 50: * logger.debug("Taking top 50 variant by coverage") * variants = sorted(sorted(variants, key=nSupportingReadsGetter, reverse=True)[0:50]) # <<<<<<<<<<<<<< * nVar = len(variants) * */ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_variants)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variants)); __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__key), __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__reverse), __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PySequence_GetSlice(__pyx_t_5, 0, 50); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__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 = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; if (!(likely(PyList_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_4)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_variants)); __pyx_v_variants = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0; /* "variantFilter.pyx":195 * logger.debug("Taking top 50 variant by coverage") * variants = sorted(sorted(variants, key=nSupportingReadsGetter, reverse=True)[0:50]) * nVar = len(variants) # <<<<<<<<<<<<<< * * logger.debug("There are %s variants. Filtering variants with EM method" %(nVar)) */ 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 = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVar = __pyx_t_1; goto __pyx_L3; } __pyx_L3:; /* "variantFilter.pyx":197 * nVar = len(variants) * * logger.debug("There are %s variants. Filtering variants with EM method" %(nVar)) # <<<<<<<<<<<<<< * cdef list varHaps = [refHaplotype] + [Haplotype(chrom, windowStart, windowEnd, (v,), refFile, options.rlen, options.useIndelErrorModel, options) for v in variants] * cdef list varGens = generateAllGenotypesFromHaplotypeList(options.ploidy, varHaps) */ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); 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_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__debug); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyInt_FromLong(__pyx_v_nVar); 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_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3)); __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":198 * * logger.debug("There are %s variants. Filtering variants with EM method" %(nVar)) * cdef list varHaps = [refHaplotype] + [Haplotype(chrom, windowStart, windowEnd, (v,), refFile, options.rlen, options.useIndelErrorModel, options) for v in variants] # <<<<<<<<<<<<<< * cdef list varGens = generateAllGenotypesFromHaplotypeList(options.ploidy, varHaps) * cdef Population pop = Population(options) */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_v_refHaplotype)); PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_refHaplotype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refHaplotype)); __pyx_t_4 = PyList_New(0); 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); if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_5 = ((PyObject *)__pyx_v_variants); __Pyx_INCREF(__pyx_t_5); __pyx_t_1 = 0; for (;;) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF(__pyx_v_v); __pyx_v_v = __pyx_t_6; __pyx_t_6 = 0; __pyx_t_6 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); __pyx_t_9 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__rlen); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__useIndelErrorModel); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyTuple_New(8); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_11, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 3, ((PyObject *)__pyx_t_8)); __Pyx_GIVEREF(((PyObject *)__pyx_t_8)); __Pyx_INCREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_11, 4, ((PyObject *)__pyx_v_refFile)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_11, 7, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_10 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10chaplotype_Haplotype)), ((PyObject *)__pyx_t_11), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; if (unlikely(__Pyx_PyList_Append(__pyx_t_4, (PyObject*)__pyx_t_10))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(((PyObject *)__pyx_t_3), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_5)); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_v_varHaps = __pyx_t_5; __pyx_t_5 = 0; /* "variantFilter.pyx":199 * logger.debug("There are %s variants. Filtering variants with EM method" %(nVar)) * cdef list varHaps = [refHaplotype] + [Haplotype(chrom, windowStart, windowEnd, (v,), refFile, options.rlen, options.useIndelErrorModel, options) for v in variants] * cdef list varGens = generateAllGenotypesFromHaplotypeList(options.ploidy, varHaps) # <<<<<<<<<<<<<< * cdef Population pop = Population(options) * pop.setup(variants, varHaps, varGens, options.nInd, options.ploidy, options.verbosity, readBuffers) */ __pyx_t_5 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__ploidy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyInt_AsInt(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = ((PyObject *)__pyx_f_9cgenotype_generateAllGenotypesFromHaplotypeList(__pyx_t_12, __pyx_v_varHaps)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_v_varGens = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; /* "variantFilter.pyx":200 * cdef list varHaps = [refHaplotype] + [Haplotype(chrom, windowStart, windowEnd, (v,), refFile, options.rlen, options.useIndelErrorModel, options) for v in variants] * cdef list varGens = generateAllGenotypesFromHaplotypeList(options.ploidy, varHaps) * cdef Population pop = Population(options) # <<<<<<<<<<<<<< * pop.setup(variants, varHaps, varGens, options.nInd, options.ploidy, options.verbosity, readBuffers) * pop.call(options.maxEMIterations, 0) */ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_11cpopulation_Population)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_v_pop = ((struct __pyx_obj_11cpopulation_Population *)__pyx_t_4); __pyx_t_4 = 0; /* "variantFilter.pyx":201 * cdef list varGens = generateAllGenotypesFromHaplotypeList(options.ploidy, varHaps) * cdef Population pop = Population(options) * pop.setup(variants, varHaps, varGens, options.nInd, options.ploidy, options.verbosity, readBuffers) # <<<<<<<<<<<<<< * pop.call(options.maxEMIterations, 0) * cdef list varsByPost = [] */ __pyx_t_4 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__nInd); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_12 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__ploidy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__verbosity); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; ((struct __pyx_vtabstruct_11cpopulation_Population *)__pyx_v_pop->__pyx_vtab)->setup(__pyx_v_pop, __pyx_v_variants, __pyx_v_varHaps, __pyx_v_varGens, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_v_readBuffers); /* "variantFilter.pyx":202 * cdef Population pop = Population(options) * pop.setup(variants, varHaps, varGens, options.nInd, options.ploidy, options.verbosity, readBuffers) * pop.call(options.maxEMIterations, 0) # <<<<<<<<<<<<<< * cdef list varsByPost = [] * */ __pyx_t_4 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxEMIterations); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; ((struct __pyx_vtabstruct_11cpopulation_Population *)__pyx_v_pop->__pyx_vtab)->call(__pyx_v_pop, __pyx_t_14, 0); /* "variantFilter.pyx":203 * pop.setup(variants, varHaps, varGens, options.nInd, options.ploidy, options.verbosity, readBuffers) * pop.call(options.maxEMIterations, 0) * cdef list varsByPost = [] # <<<<<<<<<<<<<< * * for v in variants: */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_v_varsByPost = __pyx_t_4; __pyx_t_4 = 0; /* "variantFilter.pyx":205 * cdef list varsByPost = [] * * for v in variants: # <<<<<<<<<<<<<< * post = pop.calculatePosterior(v) * varsByPost.append( (post,v) ) */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = ((PyObject *)__pyx_v_variants); __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0; for (;;) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF(__pyx_v_v); __pyx_v_v = __pyx_t_5; __pyx_t_5 = 0; /* "variantFilter.pyx":206 * * for v in variants: * post = pop.calculatePosterior(v) # <<<<<<<<<<<<<< * varsByPost.append( (post,v) ) * */ if (!(likely(((__pyx_v_v) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_v, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = __pyx_v_v; __Pyx_INCREF(__pyx_t_5); __pyx_v_post = ((struct __pyx_vtabstruct_11cpopulation_Population *)__pyx_v_pop->__pyx_vtab)->calculatePosterior(__pyx_v_pop, ((struct __pyx_obj_7variant_Variant *)__pyx_t_5), NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "variantFilter.pyx":207 * for v in variants: * post = pop.calculatePosterior(v) * varsByPost.append( (post,v) ) # <<<<<<<<<<<<<< * * varsByPost.sort(reverse=True) */ __pyx_t_5 = PyFloat_FromDouble(__pyx_v_post); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); __pyx_t_5 = 0; __pyx_t_15 = PyList_Append(__pyx_v_varsByPost, ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "variantFilter.pyx":209 * varsByPost.append( (post,v) ) * * varsByPost.sort(reverse=True) # <<<<<<<<<<<<<< * variants = sorted([theTuple[1] for theTuple in varsByPost[:options.maxVariants]]) * thisWindow['variants'] = variants */ __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_varsByPost), __pyx_n_s__sort); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_5 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__reverse), __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "variantFilter.pyx":210 * * varsByPost.sort(reverse=True) * variants = sorted([theTuple[1] for theTuple in varsByPost[:options.maxVariants]]) # <<<<<<<<<<<<<< * thisWindow['variants'] = variants * */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxVariants); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_varsByPost), 0, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_4)); if (unlikely(((PyObject *)__pyx_t_4) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_10 = ((PyObject *)__pyx_t_4); __Pyx_INCREF(__pyx_t_10); __pyx_t_1 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; for (;;) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF(__pyx_v_theTuple); __pyx_v_theTuple = __pyx_t_4; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_theTuple, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_10); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_t_5 = ((PyObject*)__pyx_t_10); __pyx_t_10 = 0; __pyx_t_15 = PyList_Sort(((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_variants)); __pyx_v_variants = __pyx_t_5; __pyx_t_5 = 0; /* "variantFilter.pyx":211 * varsByPost.sort(reverse=True) * variants = sorted([theTuple[1] for theTuple in varsByPost[:options.maxVariants]]) * thisWindow['variants'] = variants # <<<<<<<<<<<<<< * * ################################################################################################### */ if (unlikely(((PyObject *)__pyx_v_thisWindow) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } if (PyDict_SetItem(((PyObject *)__pyx_v_thisWindow), ((PyObject *)__pyx_n_s__variants), ((PyObject *)__pyx_v_variants)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L0; __pyx_L1_error:; __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_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_WriteUnraisable("variantFilter.filterVariantsInWindow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_XDECREF(__pyx_v_varHaps); __Pyx_XDECREF(__pyx_v_varGens); __Pyx_XDECREF((PyObject *)__pyx_v_pop); __Pyx_XDECREF(__pyx_v_varsByPost); __Pyx_XDECREF(__pyx_v_v); __Pyx_XDECREF(__pyx_v_theTuple); __Pyx_XDECREF(__pyx_v_variants); __Pyx_RefNannyFinishContext(); } /* "variantFilter.pyx":215 * ################################################################################################### * * cdef double computeBestScoreForHaplotype(list readBuffers, Haplotype hap, int printAlignments): # <<<<<<<<<<<<<< * """ * """ */ static double __pyx_f_13variantFilter_computeBestScoreForHaplotype(PyObject *__pyx_v_readBuffers, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_hap, int __pyx_v_printAlignments) { struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_readBuff = 0; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readBegin; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readEnd; double __pyx_v_bestScoreThisHap; double __pyx_v_scoreThisHapAndSample; double __pyx_r; __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; double __pyx_t_6; double __pyx_t_7; double __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("computeBestScoreForHaplotype", 0); /* "variantFilter.pyx":219 * """ * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL # <<<<<<<<<<<<<< * cdef cAlignedRead** readEnd = NULL * cdef double bestScoreThisHap = -1e20 */ __pyx_v_readBegin = NULL; /* "variantFilter.pyx":220 * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL # <<<<<<<<<<<<<< * cdef double bestScoreThisHap = -1e20 * cdef double scoreThisHapAndSample = 0.0 */ __pyx_v_readEnd = NULL; /* "variantFilter.pyx":221 * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL * cdef double bestScoreThisHap = -1e20 # <<<<<<<<<<<<<< * cdef double scoreThisHapAndSample = 0.0 * */ __pyx_v_bestScoreThisHap = -1e20; /* "variantFilter.pyx":222 * cdef cAlignedRead** readEnd = NULL * cdef double bestScoreThisHap = -1e20 * cdef double scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * * for readBuff in readBuffers: */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":224 * cdef double scoreThisHapAndSample = 0.0 * * for readBuff in readBuffers: # <<<<<<<<<<<<<< * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart */ if (unlikely(((PyObject *)__pyx_v_readBuffers) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __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 = 224; __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 = 224; __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 = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_readBuff)); __pyx_v_readBuff = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":225 * * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":226 * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart # <<<<<<<<<<<<<< * readEnd = readBuff.reads.windowEnd * */ __pyx_t_4 = __pyx_v_readBuff->reads->windowStart; __pyx_v_readBegin = __pyx_t_4; /* "variantFilter.pyx":227 * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd # <<<<<<<<<<<<<< * * while readBegin != readEnd: */ __pyx_t_4 = __pyx_v_readBuff->reads->windowEnd; __pyx_v_readEnd = __pyx_t_4; /* "variantFilter.pyx":229 * readEnd = readBuff.reads.windowEnd * * while readBegin != readEnd: # <<<<<<<<<<<<<< * scoreThisHapAndSample += hap.alignSingleRead(readBegin[0], False, printAlignments) * readBegin += 1 */ while (1) { __pyx_t_5 = (__pyx_v_readBegin != __pyx_v_readEnd); if (!__pyx_t_5) break; /* "variantFilter.pyx":230 * * while readBegin != readEnd: * scoreThisHapAndSample += hap.alignSingleRead(readBegin[0], False, printAlignments) # <<<<<<<<<<<<<< * readBegin += 1 * */ __pyx_v_scoreThisHapAndSample = (__pyx_v_scoreThisHapAndSample + ((struct __pyx_vtabstruct_10chaplotype_Haplotype *)__pyx_v_hap->__pyx_vtab)->alignSingleRead(__pyx_v_hap, (__pyx_v_readBegin[0]), 0, __pyx_v_printAlignments)); /* "variantFilter.pyx":231 * while readBegin != readEnd: * scoreThisHapAndSample += hap.alignSingleRead(readBegin[0], False, printAlignments) * readBegin += 1 # <<<<<<<<<<<<<< * * bestScoreThisHap = max(bestScoreThisHap, scoreThisHapAndSample) */ __pyx_v_readBegin = (__pyx_v_readBegin + 1); } /* "variantFilter.pyx":233 * readBegin += 1 * * bestScoreThisHap = max(bestScoreThisHap, scoreThisHapAndSample) # <<<<<<<<<<<<<< * * return bestScoreThisHap */ __pyx_t_6 = __pyx_v_scoreThisHapAndSample; __pyx_t_7 = __pyx_v_bestScoreThisHap; if ((__pyx_t_6 > __pyx_t_7)) { __pyx_t_8 = __pyx_t_6; } else { __pyx_t_8 = __pyx_t_7; } __pyx_v_bestScoreThisHap = __pyx_t_8; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":235 * bestScoreThisHap = max(bestScoreThisHap, scoreThisHapAndSample) * * return bestScoreThisHap # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_bestScoreThisHap; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("variantFilter.computeBestScoreForHaplotype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_readBuff); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":239 * ################################################################################################### * * cdef double computeBestScoreForGenotype(list readBuffers, Haplotype refHaplotype, Haplotype oneVarHap, int printAlignments): # <<<<<<<<<<<<<< * """ * """ */ static double __pyx_f_13variantFilter_computeBestScoreForGenotype(PyObject *__pyx_v_readBuffers, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_refHaplotype, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_oneVarHap, int __pyx_v_printAlignments) { struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_readBuff = 0; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readBegin; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readEnd; double __pyx_v_bestScoreThisHap; double __pyx_v_scoreThisHapAndSample; double __pyx_r; __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; double __pyx_t_6; double __pyx_t_7; double __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("computeBestScoreForGenotype", 0); /* "variantFilter.pyx":243 * """ * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL # <<<<<<<<<<<<<< * cdef cAlignedRead** readEnd = NULL * cdef double bestScoreThisHap = -1e20 */ __pyx_v_readBegin = NULL; /* "variantFilter.pyx":244 * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL # <<<<<<<<<<<<<< * cdef double bestScoreThisHap = -1e20 * cdef double scoreThisHapAndSample = 0.0 */ __pyx_v_readEnd = NULL; /* "variantFilter.pyx":245 * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL * cdef double bestScoreThisHap = -1e20 # <<<<<<<<<<<<<< * cdef double scoreThisHapAndSample = 0.0 * */ __pyx_v_bestScoreThisHap = -1e20; /* "variantFilter.pyx":246 * cdef cAlignedRead** readEnd = NULL * cdef double bestScoreThisHap = -1e20 * cdef double scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * * for readBuff in readBuffers: */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":248 * cdef double scoreThisHapAndSample = 0.0 * * for readBuff in readBuffers: # <<<<<<<<<<<<<< * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart */ if (unlikely(((PyObject *)__pyx_v_readBuffers) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __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 = 248; __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 = 248; __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 = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_readBuff)); __pyx_v_readBuff = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":249 * * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":250 * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart # <<<<<<<<<<<<<< * readEnd = readBuff.reads.windowEnd * */ __pyx_t_4 = __pyx_v_readBuff->reads->windowStart; __pyx_v_readBegin = __pyx_t_4; /* "variantFilter.pyx":251 * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd # <<<<<<<<<<<<<< * * while readBegin != readEnd: */ __pyx_t_4 = __pyx_v_readBuff->reads->windowEnd; __pyx_v_readEnd = __pyx_t_4; /* "variantFilter.pyx":253 * readEnd = readBuff.reads.windowEnd * * while readBegin != readEnd: # <<<<<<<<<<<<<< * scoreThisHapAndSample += log(0.5*(exp(refHaplotype.alignSingleRead(readBegin[0], False, printAlignments)) + exp(oneVarHap.alignSingleRead(readBegin[0], False, printAlignments)))) * readBegin += 1 */ while (1) { __pyx_t_5 = (__pyx_v_readBegin != __pyx_v_readEnd); if (!__pyx_t_5) break; /* "variantFilter.pyx":254 * * while readBegin != readEnd: * scoreThisHapAndSample += log(0.5*(exp(refHaplotype.alignSingleRead(readBegin[0], False, printAlignments)) + exp(oneVarHap.alignSingleRead(readBegin[0], False, printAlignments)))) # <<<<<<<<<<<<<< * readBegin += 1 * */ __pyx_v_scoreThisHapAndSample = (__pyx_v_scoreThisHapAndSample + log((0.5 * (exp(((struct __pyx_vtabstruct_10chaplotype_Haplotype *)__pyx_v_refHaplotype->__pyx_vtab)->alignSingleRead(__pyx_v_refHaplotype, (__pyx_v_readBegin[0]), 0, __pyx_v_printAlignments)) + exp(((struct __pyx_vtabstruct_10chaplotype_Haplotype *)__pyx_v_oneVarHap->__pyx_vtab)->alignSingleRead(__pyx_v_oneVarHap, (__pyx_v_readBegin[0]), 0, __pyx_v_printAlignments)))))); /* "variantFilter.pyx":255 * while readBegin != readEnd: * scoreThisHapAndSample += log(0.5*(exp(refHaplotype.alignSingleRead(readBegin[0], False, printAlignments)) + exp(oneVarHap.alignSingleRead(readBegin[0], False, printAlignments)))) * readBegin += 1 # <<<<<<<<<<<<<< * * bestScoreThisHap = max(bestScoreThisHap, scoreThisHapAndSample) */ __pyx_v_readBegin = (__pyx_v_readBegin + 1); } /* "variantFilter.pyx":257 * readBegin += 1 * * bestScoreThisHap = max(bestScoreThisHap, scoreThisHapAndSample) # <<<<<<<<<<<<<< * * return bestScoreThisHap */ __pyx_t_6 = __pyx_v_scoreThisHapAndSample; __pyx_t_7 = __pyx_v_bestScoreThisHap; if ((__pyx_t_6 > __pyx_t_7)) { __pyx_t_8 = __pyx_t_6; } else { __pyx_t_8 = __pyx_t_7; } __pyx_v_bestScoreThisHap = __pyx_t_8; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":259 * bestScoreThisHap = max(bestScoreThisHap, scoreThisHapAndSample) * * return bestScoreThisHap # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_bestScoreThisHap; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("variantFilter.computeBestScoreForGenotype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_readBuff); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":263 * ################################################################################################### * * cdef int doesAtLeastOneReadSupportHaplotype(list readBuffers, Haplotype hap, int printAlignments): # <<<<<<<<<<<<<< * """ * Return True if at least one read out of the lot gives an alignment score of 0. */ static int __pyx_f_13variantFilter_doesAtLeastOneReadSupportHaplotype(PyObject *__pyx_v_readBuffers, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_hap, int __pyx_v_printAlignments) { struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_readBuff = 0; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readBegin; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readEnd; double __pyx_v_scoreThisHapAndSample; CYTHON_UNUSED int __pyx_v_found; int __pyx_v_hapVarLen; int __pyx_v_readLen; int __pyx_v_readOverlap; int __pyx_r; __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_t_6; long __pyx_t_7; long __pyx_t_8; int __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("doesAtLeastOneReadSupportHaplotype", 0); /* "variantFilter.pyx":268 * """ * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL # <<<<<<<<<<<<<< * cdef cAlignedRead** readEnd = NULL * cdef double scoreThisHapAndSample = 0.0 */ __pyx_v_readBegin = NULL; /* "variantFilter.pyx":269 * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL # <<<<<<<<<<<<<< * cdef double scoreThisHapAndSample = 0.0 * cdef int found = 0 */ __pyx_v_readEnd = NULL; /* "variantFilter.pyx":270 * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL * cdef double scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * cdef int found = 0 * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":271 * cdef cAlignedRead** readEnd = NULL * cdef double scoreThisHapAndSample = 0.0 * cdef int found = 0 # <<<<<<<<<<<<<< * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos * cdef int readLen = 0 */ __pyx_v_found = 0; /* "variantFilter.pyx":272 * cdef double scoreThisHapAndSample = 0.0 * cdef int found = 0 * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos # <<<<<<<<<<<<<< * cdef int readLen = 0 * */ __pyx_v_hapVarLen = (__pyx_v_hap->maxVarPos - __pyx_v_hap->minVarPos); /* "variantFilter.pyx":273 * cdef int found = 0 * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos * cdef int readLen = 0 # <<<<<<<<<<<<<< * * for readBuff in readBuffers: */ __pyx_v_readLen = 0; /* "variantFilter.pyx":275 * cdef int readLen = 0 * * for readBuff in readBuffers: # <<<<<<<<<<<<<< * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart */ if (unlikely(((PyObject *)__pyx_v_readBuffers) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __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 = 275; __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 = 275; __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 = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_readBuff)); __pyx_v_readBuff = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":276 * * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":277 * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart # <<<<<<<<<<<<<< * readEnd = readBuff.reads.windowEnd * */ __pyx_t_4 = __pyx_v_readBuff->reads->windowStart; __pyx_v_readBegin = __pyx_t_4; /* "variantFilter.pyx":278 * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd # <<<<<<<<<<<<<< * * while readBegin != readEnd: */ __pyx_t_4 = __pyx_v_readBuff->reads->windowEnd; __pyx_v_readEnd = __pyx_t_4; /* "variantFilter.pyx":280 * readEnd = readBuff.reads.windowEnd * * while readBegin != readEnd: # <<<<<<<<<<<<<< * * readLen = readBegin[0].end - readBegin[0].pos */ while (1) { __pyx_t_5 = (__pyx_v_readBegin != __pyx_v_readEnd); if (!__pyx_t_5) break; /* "variantFilter.pyx":282 * while readBegin != readEnd: * * readLen = readBegin[0].end - readBegin[0].pos # <<<<<<<<<<<<<< * readOverlap = computeOverlapOfReadAndHaplotype(hap.minVarPos, hap.maxVarPos, readBegin[0]) * */ __pyx_v_readLen = ((__pyx_v_readBegin[0])->end - (__pyx_v_readBegin[0])->pos); /* "variantFilter.pyx":283 * * readLen = readBegin[0].end - readBegin[0].pos * readOverlap = computeOverlapOfReadAndHaplotype(hap.minVarPos, hap.maxVarPos, readBegin[0]) # <<<<<<<<<<<<<< * * if Read_IsQCFail(readBegin[0]) or readOverlap < min(readLen//2, hapVarLen): */ __pyx_v_readOverlap = __pyx_f_10chaplotype_computeOverlapOfReadAndHaplotype(__pyx_v_hap->minVarPos, __pyx_v_hap->maxVarPos, (__pyx_v_readBegin[0])); /* "variantFilter.pyx":285 * readOverlap = computeOverlapOfReadAndHaplotype(hap.minVarPos, hap.maxVarPos, readBegin[0]) * * if Read_IsQCFail(readBegin[0]) or readOverlap < min(readLen//2, hapVarLen): # <<<<<<<<<<<<<< * pass * else: */ if (!__pyx_f_15samtoolsWrapper_Read_IsQCFail((__pyx_v_readBegin[0]))) { __pyx_t_6 = __pyx_v_hapVarLen; __pyx_t_7 = (__pyx_v_readLen / 2); if ((__pyx_t_6 < __pyx_t_7)) { __pyx_t_8 = __pyx_t_6; } else { __pyx_t_8 = __pyx_t_7; } __pyx_t_5 = (__pyx_v_readOverlap < __pyx_t_8); __pyx_t_9 = __pyx_t_5; } else { __pyx_t_9 = __pyx_f_15samtoolsWrapper_Read_IsQCFail((__pyx_v_readBegin[0])); } if (__pyx_t_9) { goto __pyx_L7; } /*else*/ { /* "variantFilter.pyx":288 * pass * else: * scoreThisHapAndSample = hap.alignSingleRead(readBegin[0], False, printAlignments) # <<<<<<<<<<<<<< * * if scoreThisHapAndSample > -1e-2: */ __pyx_v_scoreThisHapAndSample = ((struct __pyx_vtabstruct_10chaplotype_Haplotype *)__pyx_v_hap->__pyx_vtab)->alignSingleRead(__pyx_v_hap, (__pyx_v_readBegin[0]), 0, __pyx_v_printAlignments); /* "variantFilter.pyx":290 * scoreThisHapAndSample = hap.alignSingleRead(readBegin[0], False, printAlignments) * * if scoreThisHapAndSample > -1e-2: # <<<<<<<<<<<<<< * return True * */ __pyx_t_9 = (__pyx_v_scoreThisHapAndSample > -1e-2); if (__pyx_t_9) { /* "variantFilter.pyx":291 * * if scoreThisHapAndSample > -1e-2: * return True # <<<<<<<<<<<<<< * * readBegin += 1 */ __pyx_r = 1; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; goto __pyx_L8; } __pyx_L8:; } __pyx_L7:; /* "variantFilter.pyx":293 * return True * * readBegin += 1 # <<<<<<<<<<<<<< * * return False */ __pyx_v_readBegin = (__pyx_v_readBegin + 1); } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":295 * readBegin += 1 * * return False # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("variantFilter.doesAtLeastOneReadSupportHaplotype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_readBuff); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":299 * ################################################################################################### * * cdef int countReadsSupportingHaplotype(list readBuffers, Haplotype hap, int printAlignments): # <<<<<<<<<<<<<< * """ * Return the number of reads supporting a given haplotype */ static int __pyx_f_13variantFilter_countReadsSupportingHaplotype(PyObject *__pyx_v_readBuffers, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_hap, int __pyx_v_printAlignments) { struct __pyx_obj_7cwindow_bamReadBuffer *__pyx_v_readBuff = 0; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readBegin; __pyx_t_15samtoolsWrapper_cAlignedRead **__pyx_v_readEnd; double __pyx_v_scoreThisHapAndSample; int __pyx_v_nSupporting; int __pyx_v_hapVarLen; int __pyx_v_readLen; int __pyx_v_readOverlap; int __pyx_r; __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_t_6; long __pyx_t_7; long __pyx_t_8; int __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("countReadsSupportingHaplotype", 0); /* "variantFilter.pyx":304 * """ * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL # <<<<<<<<<<<<<< * cdef cAlignedRead** readEnd = NULL * cdef double scoreThisHapAndSample = 0.0 */ __pyx_v_readBegin = NULL; /* "variantFilter.pyx":305 * cdef bamReadBuffer readBuff * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL # <<<<<<<<<<<<<< * cdef double scoreThisHapAndSample = 0.0 * cdef int nSupporting = 0 */ __pyx_v_readEnd = NULL; /* "variantFilter.pyx":306 * cdef cAlignedRead** readBegin = NULL * cdef cAlignedRead** readEnd = NULL * cdef double scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * cdef int nSupporting = 0 * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":307 * cdef cAlignedRead** readEnd = NULL * cdef double scoreThisHapAndSample = 0.0 * cdef int nSupporting = 0 # <<<<<<<<<<<<<< * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos * cdef int readLen = 0 */ __pyx_v_nSupporting = 0; /* "variantFilter.pyx":308 * cdef double scoreThisHapAndSample = 0.0 * cdef int nSupporting = 0 * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos # <<<<<<<<<<<<<< * cdef int readLen = 0 * */ __pyx_v_hapVarLen = (__pyx_v_hap->maxVarPos - __pyx_v_hap->minVarPos); /* "variantFilter.pyx":309 * cdef int nSupporting = 0 * cdef int hapVarLen = hap.maxVarPos - hap.minVarPos * cdef int readLen = 0 # <<<<<<<<<<<<<< * * for readBuff in readBuffers: */ __pyx_v_readLen = 0; /* "variantFilter.pyx":311 * cdef int readLen = 0 * * for readBuff in readBuffers: # <<<<<<<<<<<<<< * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart */ if (unlikely(((PyObject *)__pyx_v_readBuffers) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __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 = 311; __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 = 311; __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 = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_readBuff)); __pyx_v_readBuff = ((struct __pyx_obj_7cwindow_bamReadBuffer *)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":312 * * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":313 * for readBuff in readBuffers: * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart # <<<<<<<<<<<<<< * readEnd = readBuff.reads.windowEnd * */ __pyx_t_4 = __pyx_v_readBuff->reads->windowStart; __pyx_v_readBegin = __pyx_t_4; /* "variantFilter.pyx":314 * scoreThisHapAndSample = 0.0 * readBegin = readBuff.reads.windowStart * readEnd = readBuff.reads.windowEnd # <<<<<<<<<<<<<< * * while readBegin != readEnd: */ __pyx_t_4 = __pyx_v_readBuff->reads->windowEnd; __pyx_v_readEnd = __pyx_t_4; /* "variantFilter.pyx":316 * readEnd = readBuff.reads.windowEnd * * while readBegin != readEnd: # <<<<<<<<<<<<<< * * readLen = readBegin[0].end - readBegin[0].pos */ while (1) { __pyx_t_5 = (__pyx_v_readBegin != __pyx_v_readEnd); if (!__pyx_t_5) break; /* "variantFilter.pyx":318 * while readBegin != readEnd: * * readLen = readBegin[0].end - readBegin[0].pos # <<<<<<<<<<<<<< * readOverlap = computeOverlapOfReadAndHaplotype(hap.minVarPos, hap.maxVarPos, readBegin[0]) * */ __pyx_v_readLen = ((__pyx_v_readBegin[0])->end - (__pyx_v_readBegin[0])->pos); /* "variantFilter.pyx":319 * * readLen = readBegin[0].end - readBegin[0].pos * readOverlap = computeOverlapOfReadAndHaplotype(hap.minVarPos, hap.maxVarPos, readBegin[0]) # <<<<<<<<<<<<<< * * if Read_IsQCFail(readBegin[0]) or readOverlap < min(readLen//2, hapVarLen): */ __pyx_v_readOverlap = __pyx_f_10chaplotype_computeOverlapOfReadAndHaplotype(__pyx_v_hap->minVarPos, __pyx_v_hap->maxVarPos, (__pyx_v_readBegin[0])); /* "variantFilter.pyx":321 * readOverlap = computeOverlapOfReadAndHaplotype(hap.minVarPos, hap.maxVarPos, readBegin[0]) * * if Read_IsQCFail(readBegin[0]) or readOverlap < min(readLen//2, hapVarLen): # <<<<<<<<<<<<<< * pass * else: */ if (!__pyx_f_15samtoolsWrapper_Read_IsQCFail((__pyx_v_readBegin[0]))) { __pyx_t_6 = __pyx_v_hapVarLen; __pyx_t_7 = (__pyx_v_readLen / 2); if ((__pyx_t_6 < __pyx_t_7)) { __pyx_t_8 = __pyx_t_6; } else { __pyx_t_8 = __pyx_t_7; } __pyx_t_5 = (__pyx_v_readOverlap < __pyx_t_8); __pyx_t_9 = __pyx_t_5; } else { __pyx_t_9 = __pyx_f_15samtoolsWrapper_Read_IsQCFail((__pyx_v_readBegin[0])); } if (__pyx_t_9) { goto __pyx_L7; } /*else*/ { /* "variantFilter.pyx":324 * pass * else: * scoreThisHapAndSample = hap.alignSingleRead(readBegin[0], False, printAlignments) # <<<<<<<<<<<<<< * * if scoreThisHapAndSample > -1e-2: */ __pyx_v_scoreThisHapAndSample = ((struct __pyx_vtabstruct_10chaplotype_Haplotype *)__pyx_v_hap->__pyx_vtab)->alignSingleRead(__pyx_v_hap, (__pyx_v_readBegin[0]), 0, __pyx_v_printAlignments); /* "variantFilter.pyx":326 * scoreThisHapAndSample = hap.alignSingleRead(readBegin[0], False, printAlignments) * * if scoreThisHapAndSample > -1e-2: # <<<<<<<<<<<<<< * nSupporting += 1 * */ __pyx_t_9 = (__pyx_v_scoreThisHapAndSample > -1e-2); if (__pyx_t_9) { /* "variantFilter.pyx":327 * * if scoreThisHapAndSample > -1e-2: * nSupporting += 1 # <<<<<<<<<<<<<< * * readBegin += 1 */ __pyx_v_nSupporting = (__pyx_v_nSupporting + 1); goto __pyx_L8; } __pyx_L8:; } __pyx_L7:; /* "variantFilter.pyx":329 * nSupporting += 1 * * readBegin += 1 # <<<<<<<<<<<<<< * * return nSupporting */ __pyx_v_readBegin = (__pyx_v_readBegin + 1); } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":331 * readBegin += 1 * * return nSupporting # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_nSupporting; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("variantFilter.countReadsSupportingHaplotype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_readBuff); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":335 * ################################################################################################### * * cdef list getFilteredHaplotypes(dict thisWindow, bytes chrom, int windowStart, int windowEnd, FastaFile refFile, options, list variants, Haplotype refHaplotype, list readBuffers): # <<<<<<<<<<<<<< * """ * Here we attempt to filter variants in windows with many (>maxVariants) candidates. This is done by constructing */ static PyObject *__pyx_f_13variantFilter_getFilteredHaplotypes(CYTHON_UNUSED PyObject *__pyx_v_thisWindow, PyObject *__pyx_v_chrom, int __pyx_v_windowStart, int __pyx_v_windowEnd, struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, PyObject *__pyx_v_options, PyObject *__pyx_v_variants, struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_refHaplotype, PyObject *__pyx_v_readBuffers) { struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_hap = 0; PyObject *__pyx_v_varsThisHap = 0; PyObject *__pyx_v_varsThisHap2 = 0; PyObject *__pyx_v_varsFromBothSets = 0; PyObject *__pyx_v_allHaps = 0; PyObject *__pyx_v_hapsByBestScore = 0; PyObject *__pyx_v_tempOldHaps = 0; PyObject *__pyx_v_tempVars = 0; PyObject *__pyx_v_varsSortedByCoverage = 0; double __pyx_v_bestScoreThisHap; CYTHON_UNUSED double __pyx_v_scoreThisHapAndSample; int __pyx_v_maxHaplotypes; int __pyx_v_nVarsInHap; int __pyx_v_maxReadLength; int __pyx_v_useIndelErrorModel; int __pyx_v_nVarsProcessed; int __pyx_v_nVars; int __pyx_v_varChunkSize; CYTHON_UNUSED int __pyx_v_nTempOldHaps; int __pyx_v_nHapsTried; int __pyx_v_nHapsDone; int __pyx_v_nValidHaps; CYTHON_UNUSED int __pyx_v_verbosity; int __pyx_v_printAlignments; CYTHON_UNUSED PyObject *__pyx_v_score = 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; int __pyx_t_5; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_t_9; PyObject *(*__pyx_t_10)(PyObject *); int __pyx_t_11; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; int __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; PyObject *(*__pyx_t_18)(PyObject *); PyObject *__pyx_t_19 = NULL; Py_ssize_t __pyx_t_20; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getFilteredHaplotypes", 0); /* "variantFilter.pyx":345 * cdef tuple varsThisHap2 * cdef tuple varsFromBothSets * cdef list allHaps = [] # <<<<<<<<<<<<<< * cdef list hapsByBestScore = [] * cdef list tempOldHaps = [] */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_allHaps = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":346 * cdef tuple varsFromBothSets * cdef list allHaps = [] * cdef list hapsByBestScore = [] # <<<<<<<<<<<<<< * cdef list tempOldHaps = [] * cdef list tempVars = [] */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_hapsByBestScore = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":347 * cdef list allHaps = [] * cdef list hapsByBestScore = [] * cdef list tempOldHaps = [] # <<<<<<<<<<<<<< * cdef list tempVars = [] * cdef list varsSortedByCoverage = [] */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_tempOldHaps = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":348 * cdef list hapsByBestScore = [] * cdef list tempOldHaps = [] * cdef list tempVars = [] # <<<<<<<<<<<<<< * cdef list varsSortedByCoverage = [] * cdef double bestScoreThisHap = 0.0 */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_tempVars = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":349 * cdef list tempOldHaps = [] * cdef list tempVars = [] * cdef list varsSortedByCoverage = [] # <<<<<<<<<<<<<< * cdef double bestScoreThisHap = 0.0 * cdef double scoreThisHapAndSample = 0.0 */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_varsSortedByCoverage = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":350 * cdef list tempVars = [] * cdef list varsSortedByCoverage = [] * cdef double bestScoreThisHap = 0.0 # <<<<<<<<<<<<<< * cdef double scoreThisHapAndSample = 0.0 * cdef int maxHaplotypes = options.maxHaplotypes - 1 # Ref will be added later */ __pyx_v_bestScoreThisHap = 0.0; /* "variantFilter.pyx":351 * cdef list varsSortedByCoverage = [] * cdef double bestScoreThisHap = 0.0 * cdef double scoreThisHapAndSample = 0.0 # <<<<<<<<<<<<<< * cdef int maxHaplotypes = options.maxHaplotypes - 1 # Ref will be added later * cdef int nVarsInHap = 0 */ __pyx_v_scoreThisHapAndSample = 0.0; /* "variantFilter.pyx":352 * cdef double bestScoreThisHap = 0.0 * cdef double scoreThisHapAndSample = 0.0 * cdef int maxHaplotypes = options.maxHaplotypes - 1 # Ref will be added later # <<<<<<<<<<<<<< * cdef int nVarsInHap = 0 * cdef int maxReadLength = options.rlen */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxHaplotypes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __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 = 352; __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 = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_maxHaplotypes = __pyx_t_3; /* "variantFilter.pyx":353 * cdef double scoreThisHapAndSample = 0.0 * cdef int maxHaplotypes = options.maxHaplotypes - 1 # Ref will be added later * cdef int nVarsInHap = 0 # <<<<<<<<<<<<<< * cdef int maxReadLength = options.rlen * cdef int useIndelErrorModel = options.useIndelErrorModel */ __pyx_v_nVarsInHap = 0; /* "variantFilter.pyx":354 * cdef int maxHaplotypes = options.maxHaplotypes - 1 # Ref will be added later * cdef int nVarsInHap = 0 * cdef int maxReadLength = options.rlen # <<<<<<<<<<<<<< * cdef int useIndelErrorModel = options.useIndelErrorModel * cdef int nVarsProcessed = 0 */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__rlen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __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 = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_maxReadLength = __pyx_t_3; /* "variantFilter.pyx":355 * cdef int nVarsInHap = 0 * cdef int maxReadLength = options.rlen * cdef int useIndelErrorModel = options.useIndelErrorModel # <<<<<<<<<<<<<< * cdef int nVarsProcessed = 0 * cdef int nVars = len(variants) */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__useIndelErrorModel); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __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 = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_useIndelErrorModel = __pyx_t_3; /* "variantFilter.pyx":356 * cdef int maxReadLength = options.rlen * cdef int useIndelErrorModel = options.useIndelErrorModel * cdef int nVarsProcessed = 0 # <<<<<<<<<<<<<< * cdef int nVars = len(variants) * cdef int varChunkSize = 1 # How many vars to process in one go? */ __pyx_v_nVarsProcessed = 0; /* "variantFilter.pyx":357 * cdef int useIndelErrorModel = options.useIndelErrorModel * cdef int nVarsProcessed = 0 * cdef int nVars = len(variants) # <<<<<<<<<<<<<< * cdef int varChunkSize = 1 # How many vars to process in one go? * cdef int nTempOldHaps = 0 */ 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 = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVars = __pyx_t_4; /* "variantFilter.pyx":358 * cdef int nVarsProcessed = 0 * cdef int nVars = len(variants) * cdef int varChunkSize = 1 # How many vars to process in one go? # <<<<<<<<<<<<<< * cdef int nTempOldHaps = 0 * cdef int nHapsTried = 0 */ __pyx_v_varChunkSize = 1; /* "variantFilter.pyx":359 * cdef int nVars = len(variants) * cdef int varChunkSize = 1 # How many vars to process in one go? * cdef int nTempOldHaps = 0 # <<<<<<<<<<<<<< * cdef int nHapsTried = 0 * cdef int nHapsDone = 0 */ __pyx_v_nTempOldHaps = 0; /* "variantFilter.pyx":360 * cdef int varChunkSize = 1 # How many vars to process in one go? * cdef int nTempOldHaps = 0 * cdef int nHapsTried = 0 # <<<<<<<<<<<<<< * cdef int nHapsDone = 0 * cdef int nValidHaps = 0 */ __pyx_v_nHapsTried = 0; /* "variantFilter.pyx":361 * cdef int nTempOldHaps = 0 * cdef int nHapsTried = 0 * cdef int nHapsDone = 0 # <<<<<<<<<<<<<< * cdef int nValidHaps = 0 * cdef int verbosity = options.verbosity */ __pyx_v_nHapsDone = 0; /* "variantFilter.pyx":362 * cdef int nHapsTried = 0 * cdef int nHapsDone = 0 * cdef int nValidHaps = 0 # <<<<<<<<<<<<<< * cdef int verbosity = options.verbosity * cdef int printAlignments = options.printAlignments */ __pyx_v_nValidHaps = 0; /* "variantFilter.pyx":363 * cdef int nHapsDone = 0 * cdef int nValidHaps = 0 * cdef int verbosity = options.verbosity # <<<<<<<<<<<<<< * cdef int printAlignments = options.printAlignments * */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__verbosity); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __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 = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_verbosity = __pyx_t_3; /* "variantFilter.pyx":364 * cdef int nValidHaps = 0 * cdef int verbosity = options.verbosity * cdef int printAlignments = options.printAlignments # <<<<<<<<<<<<<< * * # If nVar is small, or we've already checked, and the number of valid haplotypes is less than the max, return all combinations */ __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__printAlignments); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __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 = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_printAlignments = __pyx_t_3; /* "variantFilter.pyx":367 * * # If nVar is small, or we've already checked, and the number of valid haplotypes is less than the max, return all combinations * if nVars <= log2(maxHaplotypes) or (options.filterVarsByCoverage and options.maxVariants <= log2(maxHaplotypes)): # <<<<<<<<<<<<<< * * for nVarsInHap from 1 <= nVarsInHap <= nVars: */ __pyx_t_5 = (__pyx_v_nVars <= log2(__pyx_v_maxHaplotypes)); if (!__pyx_t_5) { __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __pyx_t_2 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxVariants); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyFloat_FromDouble(log2(__pyx_v_maxHaplotypes)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __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_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_9 = __pyx_t_8; } else { __pyx_t_9 = __pyx_t_6; } __pyx_t_6 = __pyx_t_9; } else { __pyx_t_6 = __pyx_t_5; } if (__pyx_t_6) { /* "variantFilter.pyx":369 * if nVars <= log2(maxHaplotypes) or (options.filterVarsByCoverage and options.maxVariants <= log2(maxHaplotypes)): * * for nVarsInHap from 1 <= nVarsInHap <= nVars: # <<<<<<<<<<<<<< * for varsThisHap in combinations(variants, nVarsInHap): * if isHaplotypeValid(varsThisHap): */ __pyx_t_3 = __pyx_v_nVars; for (__pyx_v_nVarsInHap = 1; __pyx_v_nVarsInHap <= __pyx_t_3; __pyx_v_nVarsInHap++) { /* "variantFilter.pyx":370 * * for nVarsInHap from 1 <= nVarsInHap <= nVars: * for varsThisHap in combinations(variants, nVarsInHap): # <<<<<<<<<<<<<< * if isHaplotypeValid(varsThisHap): * nValidHaps += 1 */ __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__combinations); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = PyInt_FromLong(__pyx_v_nVarsInHap); 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_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_variants)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_2), NULL); 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_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_10 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (!__pyx_t_10 && PyList_CheckExact(__pyx_t_2)) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_10 && PyTuple_CheckExact(__pyx_t_2)) { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_1 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_1)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_1); } if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_varsThisHap)); __pyx_v_varsThisHap = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":371 * for nVarsInHap from 1 <= nVarsInHap <= nVars: * for varsThisHap in combinations(variants, nVarsInHap): * if isHaplotypeValid(varsThisHap): # <<<<<<<<<<<<<< * nValidHaps += 1 * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) */ __pyx_t_11 = __pyx_f_13platypusutils_isHaplotypeValid(__pyx_v_varsThisHap); if (__pyx_t_11) { /* "variantFilter.pyx":372 * for varsThisHap in combinations(variants, nVarsInHap): * if isHaplotypeValid(varsThisHap): * nValidHaps += 1 # <<<<<<<<<<<<<< * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) * allHaps.append(hap) */ __pyx_v_nValidHaps = (__pyx_v_nValidHaps + 1); /* "variantFilter.pyx":373 * if isHaplotypeValid(varsThisHap): * nValidHaps += 1 * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) # <<<<<<<<<<<<<< * allHaps.append(hap) * */ __pyx_t_1 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = PyInt_FromLong(__pyx_v_maxReadLength); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyInt_FromLong(__pyx_v_useIndelErrorModel); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyTuple_New(8); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_varsThisHap)); PyTuple_SET_ITEM(__pyx_t_14, 3, ((PyObject *)__pyx_v_varsThisHap)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsThisHap)); __Pyx_INCREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_14, 4, ((PyObject *)__pyx_v_refFile)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_14, 6, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_14, 7, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_1 = 0; __pyx_t_7 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_13 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10chaplotype_Haplotype)), ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_hap)); __pyx_v_hap = ((struct __pyx_obj_10chaplotype_Haplotype *)__pyx_t_13); __pyx_t_13 = 0; /* "variantFilter.pyx":374 * nValidHaps += 1 * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) * allHaps.append(hap) # <<<<<<<<<<<<<< * * ## Check for complex haps */ __pyx_t_15 = PyList_Append(__pyx_v_allHaps, ((PyObject *)__pyx_v_hap)); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L8; } __pyx_L8:; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } /* "variantFilter.pyx":394 * # logger.info("%s vars, %s valid haps. %s accepted haps" %(nVars, nValidHaps, len(allHaps))) * * return allHaps # <<<<<<<<<<<<<< * * # Otherwise, we need to do some filtering. First split the variant list into 2 lists, with all the well-supported */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_allHaps)); __pyx_r = __pyx_v_allHaps; goto __pyx_L0; goto __pyx_L3; } /*else*/ { /* "variantFilter.pyx":399 * # variants in ones list, and the poorly-supported (small nSupportingReads) variants in the other. * else: * varsSortedByCoverage = sorted(variants, key=nSupportingReadsGetter, reverse=True) # <<<<<<<<<<<<<< * #logger.debug("Vars by coverage are ...") * #for v in varsSortedByCoverage: */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_variants)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variants)); __pyx_t_13 = PyDict_New(); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_13)); __pyx_t_14 = __Pyx_GetName(__pyx_m, __pyx_n_s_4); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_13, ((PyObject *)__pyx_n_s__key), __pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_13, ((PyObject *)__pyx_n_s__reverse), __pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_2), ((PyObject *)__pyx_t_13)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; if (!(likely(PyList_CheckExact(__pyx_t_14))||((__pyx_t_14) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_14)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_varsSortedByCoverage)); __pyx_v_varsSortedByCoverage = ((PyObject*)__pyx_t_14); __pyx_t_14 = 0; /* "variantFilter.pyx":406 * #logger.info("Taking top %s haps in window %s:%s-%s out of (%s vars, %s haps)." %(maxHaplotypes, chrom, windowStart, windowEnd, nVars, math.pow(2,nVars) -1)) * * while nVarsProcessed < nVars: # <<<<<<<<<<<<<< * * tempVars = sorted(varsSortedByCoverage[nVarsProcessed: nVarsProcessed + varChunkSize]) */ while (1) { __pyx_t_6 = (__pyx_v_nVarsProcessed < __pyx_v_nVars); if (!__pyx_t_6) break; /* "variantFilter.pyx":408 * while nVarsProcessed < nVars: * * tempVars = sorted(varsSortedByCoverage[nVarsProcessed: nVarsProcessed + varChunkSize]) # <<<<<<<<<<<<<< * tempOldHaps = sorted(hapsByBestScore) * nTempOldHaps = len(tempOldHaps) */ __pyx_t_14 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_varsSortedByCoverage), __pyx_v_nVarsProcessed, (__pyx_v_nVarsProcessed + __pyx_v_varChunkSize)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_14)); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_t_14)); __Pyx_GIVEREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __pyx_t_14 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; if (!(likely(PyList_CheckExact(__pyx_t_14))||((__pyx_t_14) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_14)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_tempVars)); __pyx_v_tempVars = ((PyObject*)__pyx_t_14); __pyx_t_14 = 0; /* "variantFilter.pyx":409 * * tempVars = sorted(varsSortedByCoverage[nVarsProcessed: nVarsProcessed + varChunkSize]) * tempOldHaps = sorted(hapsByBestScore) # <<<<<<<<<<<<<< * nTempOldHaps = len(tempOldHaps) * */ __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_hapsByBestScore)); __Pyx_GIVEREF(((PyObject *)__pyx_v_hapsByBestScore)); __pyx_t_13 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; if (!(likely(PyList_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_13)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_tempOldHaps)); __pyx_v_tempOldHaps = ((PyObject*)__pyx_t_13); __pyx_t_13 = 0; /* "variantFilter.pyx":410 * tempVars = sorted(varsSortedByCoverage[nVarsProcessed: nVarsProcessed + varChunkSize]) * tempOldHaps = sorted(hapsByBestScore) * nTempOldHaps = len(tempOldHaps) # <<<<<<<<<<<<<< * * for nVarsInHap from 1 <= nVarsInHap <= len(tempVars): */ if (unlikely(((PyObject *)__pyx_v_tempOldHaps) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = PyList_GET_SIZE(((PyObject *)__pyx_v_tempOldHaps)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nTempOldHaps = __pyx_t_4; /* "variantFilter.pyx":412 * nTempOldHaps = len(tempOldHaps) * * for nVarsInHap from 1 <= nVarsInHap <= len(tempVars): # <<<<<<<<<<<<<< * for varsThisHap in combinations(tempVars, nVarsInHap): * */ if (unlikely(((PyObject *)__pyx_v_tempVars) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = PyList_GET_SIZE(((PyObject *)__pyx_v_tempVars)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;} for (__pyx_v_nVarsInHap = 1; __pyx_v_nVarsInHap <= __pyx_t_4; __pyx_v_nVarsInHap++) { /* "variantFilter.pyx":413 * * for nVarsInHap from 1 <= nVarsInHap <= len(tempVars): * for varsThisHap in combinations(tempVars, nVarsInHap): # <<<<<<<<<<<<<< * * nHapsTried += 1 */ __pyx_t_13 = __Pyx_GetName(__pyx_m, __pyx_n_s__combinations); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyInt_FromLong(__pyx_v_nVarsInHap); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_tempVars)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_tempVars)); __Pyx_GIVEREF(((PyObject *)__pyx_v_tempVars)); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyObject_Call(__pyx_t_13, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; if (PyList_CheckExact(__pyx_t_14) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_2 = __pyx_t_14; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; __pyx_t_10 = NULL; } else { __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (!__pyx_t_10 && PyList_CheckExact(__pyx_t_2)) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_14 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_14 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_10 && PyTuple_CheckExact(__pyx_t_2)) { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_14 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_14 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_14)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_14); } if (!(likely(PyTuple_CheckExact(__pyx_t_14))||((__pyx_t_14) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_14)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_varsThisHap)); __pyx_v_varsThisHap = ((PyObject*)__pyx_t_14); __pyx_t_14 = 0; /* "variantFilter.pyx":415 * for varsThisHap in combinations(tempVars, nVarsInHap): * * nHapsTried += 1 # <<<<<<<<<<<<<< * * # Check that this combination of variants is possible */ __pyx_v_nHapsTried = (__pyx_v_nHapsTried + 1); /* "variantFilter.pyx":418 * * # Check that this combination of variants is possible * if isHaplotypeValid(varsThisHap): # <<<<<<<<<<<<<< * * nHapsDone += 1 */ __pyx_t_3 = __pyx_f_13platypusutils_isHaplotypeValid(__pyx_v_varsThisHap); if (__pyx_t_3) { /* "variantFilter.pyx":420 * if isHaplotypeValid(varsThisHap): * * nHapsDone += 1 # <<<<<<<<<<<<<< * * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) */ __pyx_v_nHapsDone = (__pyx_v_nHapsDone + 1); /* "variantFilter.pyx":422 * nHapsDone += 1 * * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) # <<<<<<<<<<<<<< * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) * */ __pyx_t_14 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = PyInt_FromLong(__pyx_v_maxReadLength); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_7 = PyInt_FromLong(__pyx_v_useIndelErrorModel); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = PyTuple_New(8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_INCREF(((PyObject *)__pyx_v_varsThisHap)); PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)__pyx_v_varsThisHap)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsThisHap)); __Pyx_INCREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_1, 4, ((PyObject *)__pyx_v_refFile)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_7 = 0; __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10chaplotype_Haplotype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_hap)); __pyx_v_hap = ((struct __pyx_obj_10chaplotype_Haplotype *)__pyx_t_7); __pyx_t_7 = 0; /* "variantFilter.pyx":423 * * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) # <<<<<<<<<<<<<< * * if len(hapsByBestScore) < maxHaplotypes: */ __pyx_v_bestScoreThisHap = __pyx_f_13variantFilter_computeBestScoreForGenotype(__pyx_v_readBuffers, __pyx_v_refHaplotype, __pyx_v_hap, __pyx_v_printAlignments); /* "variantFilter.pyx":425 * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) * * if len(hapsByBestScore) < maxHaplotypes: # <<<<<<<<<<<<<< * heappush(hapsByBestScore, (bestScoreThisHap, varsThisHap)) * else: */ __pyx_t_17 = PyList_GET_SIZE(((PyObject *)__pyx_v_hapsByBestScore)); if (unlikely(__pyx_t_17 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = (__pyx_t_17 < __pyx_v_maxHaplotypes); if (__pyx_t_6) { /* "variantFilter.pyx":426 * * if len(hapsByBestScore) < maxHaplotypes: * heappush(hapsByBestScore, (bestScoreThisHap, varsThisHap)) # <<<<<<<<<<<<<< * else: * heappushpop(hapsByBestScore, (bestScoreThisHap, varsThisHap)) */ __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__heappush); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_bestScoreThisHap); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_varsThisHap)); PyTuple_SET_ITEM(__pyx_t_12, 1, ((PyObject *)__pyx_v_varsThisHap)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsThisHap)); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_hapsByBestScore)); __Pyx_GIVEREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_t_12)); __Pyx_GIVEREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0; __pyx_t_12 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L16; } /*else*/ { /* "variantFilter.pyx":428 * heappush(hapsByBestScore, (bestScoreThisHap, varsThisHap)) * else: * heappushpop(hapsByBestScore, (bestScoreThisHap, varsThisHap)) # <<<<<<<<<<<<<< * * for score,varsThisHap2 in tempOldHaps: */ __pyx_t_12 = __Pyx_GetName(__pyx_m, __pyx_n_s__heappushpop); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_bestScoreThisHap); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_varsThisHap)); PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_varsThisHap)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsThisHap)); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_hapsByBestScore)); __Pyx_GIVEREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_t_7)); __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_t_7 = PyObject_Call(__pyx_t_12, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __pyx_L16:; /* "variantFilter.pyx":430 * heappushpop(hapsByBestScore, (bestScoreThisHap, varsThisHap)) * * for score,varsThisHap2 in tempOldHaps: # <<<<<<<<<<<<<< * * # Create a set of variants which is the combination of this set with one of the top haplotypes */ if (unlikely(((PyObject *)__pyx_v_tempOldHaps) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_7 = ((PyObject *)__pyx_v_tempOldHaps); __Pyx_INCREF(__pyx_t_7); __pyx_t_17 = 0; for (;;) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_17); __Pyx_INCREF(__pyx_t_1); __pyx_t_17++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_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 = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_12 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_13 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_12 = PyList_GET_ITEM(sequence, 0); __pyx_t_13 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); #else __pyx_t_12 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_13 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_14)->tp_iternext; index = 0; __pyx_t_12 = __pyx_t_18(__pyx_t_14); if (unlikely(!__pyx_t_12)) goto __pyx_L19_unpacking_failed; __Pyx_GOTREF(__pyx_t_12); index = 1; __pyx_t_13 = __pyx_t_18(__pyx_t_14); if (unlikely(!__pyx_t_13)) goto __pyx_L19_unpacking_failed; __Pyx_GOTREF(__pyx_t_13); if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_14), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L20_unpacking_done; __pyx_L19_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L20_unpacking_done:; } if (!(likely(PyTuple_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_13)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(__pyx_v_score); __pyx_v_score = __pyx_t_12; __pyx_t_12 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_varsThisHap2)); __pyx_v_varsThisHap2 = ((PyObject*)__pyx_t_13); __pyx_t_13 = 0; /* "variantFilter.pyx":433 * * # Create a set of variants which is the combination of this set with one of the top haplotypes * varsFromBothSets = tuple(sorted(varsThisHap + varsThisHap2)) # <<<<<<<<<<<<<< * nHapsTried += 1 * */ __pyx_t_1 = PyNumber_Add(((PyObject *)__pyx_v_varsThisHap), ((PyObject *)__pyx_v_varsThisHap2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_t_1)); __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_varsFromBothSets)); __pyx_v_varsFromBothSets = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":434 * # Create a set of variants which is the combination of this set with one of the top haplotypes * varsFromBothSets = tuple(sorted(varsThisHap + varsThisHap2)) * nHapsTried += 1 # <<<<<<<<<<<<<< * * if isHaplotypeValid(varsFromBothSets): */ __pyx_v_nHapsTried = (__pyx_v_nHapsTried + 1); /* "variantFilter.pyx":436 * nHapsTried += 1 * * if isHaplotypeValid(varsFromBothSets): # <<<<<<<<<<<<<< * * nHapsDone += 1 */ __pyx_t_3 = __pyx_f_13platypusutils_isHaplotypeValid(__pyx_v_varsFromBothSets); if (__pyx_t_3) { /* "variantFilter.pyx":438 * if isHaplotypeValid(varsFromBothSets): * * nHapsDone += 1 # <<<<<<<<<<<<<< * hap = Haplotype(chrom, windowStart, windowEnd, varsFromBothSets, refFile, maxReadLength, useIndelErrorModel, options) * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) */ __pyx_v_nHapsDone = (__pyx_v_nHapsDone + 1); /* "variantFilter.pyx":439 * * nHapsDone += 1 * hap = Haplotype(chrom, windowStart, windowEnd, varsFromBothSets, refFile, maxReadLength, useIndelErrorModel, options) # <<<<<<<<<<<<<< * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) * */ __pyx_t_1 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = PyInt_FromLong(__pyx_v_maxReadLength); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = PyInt_FromLong(__pyx_v_useIndelErrorModel); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_19 = PyTuple_New(8); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_19, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_19, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_19, 2, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_INCREF(((PyObject *)__pyx_v_varsFromBothSets)); PyTuple_SET_ITEM(__pyx_t_19, 3, ((PyObject *)__pyx_v_varsFromBothSets)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsFromBothSets)); __Pyx_INCREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_19, 4, ((PyObject *)__pyx_v_refFile)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_19, 5, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_19, 6, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_19, 7, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_1 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_14 = 0; __pyx_t_14 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10chaplotype_Haplotype)), ((PyObject *)__pyx_t_19), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_hap)); __pyx_v_hap = ((struct __pyx_obj_10chaplotype_Haplotype *)__pyx_t_14); __pyx_t_14 = 0; /* "variantFilter.pyx":440 * nHapsDone += 1 * hap = Haplotype(chrom, windowStart, windowEnd, varsFromBothSets, refFile, maxReadLength, useIndelErrorModel, options) * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) # <<<<<<<<<<<<<< * * if len(hapsByBestScore) < maxHaplotypes: */ __pyx_v_bestScoreThisHap = __pyx_f_13variantFilter_computeBestScoreForGenotype(__pyx_v_readBuffers, __pyx_v_refHaplotype, __pyx_v_hap, __pyx_v_printAlignments); /* "variantFilter.pyx":442 * bestScoreThisHap = computeBestScoreForGenotype(readBuffers, refHaplotype, hap, printAlignments) * * if len(hapsByBestScore) < maxHaplotypes: # <<<<<<<<<<<<<< * heappush(hapsByBestScore, (bestScoreThisHap, varsFromBothSets)) * else: */ __pyx_t_20 = PyList_GET_SIZE(((PyObject *)__pyx_v_hapsByBestScore)); if (unlikely(__pyx_t_20 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = (__pyx_t_20 < __pyx_v_maxHaplotypes); if (__pyx_t_6) { /* "variantFilter.pyx":443 * * if len(hapsByBestScore) < maxHaplotypes: * heappush(hapsByBestScore, (bestScoreThisHap, varsFromBothSets)) # <<<<<<<<<<<<<< * else: * heappushpop(hapsByBestScore, (bestScoreThisHap, varsFromBothSets)) */ __pyx_t_14 = __Pyx_GetName(__pyx_m, __pyx_n_s__heappush); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_19 = PyFloat_FromDouble(__pyx_v_bestScoreThisHap); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __Pyx_INCREF(((PyObject *)__pyx_v_varsFromBothSets)); PyTuple_SET_ITEM(__pyx_t_12, 1, ((PyObject *)__pyx_v_varsFromBothSets)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsFromBothSets)); __pyx_t_19 = 0; __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_INCREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_19, 0, ((PyObject *)__pyx_v_hapsByBestScore)); __Pyx_GIVEREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_19, 1, ((PyObject *)__pyx_t_12)); __Pyx_GIVEREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0; __pyx_t_12 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_19), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L22; } /*else*/ { /* "variantFilter.pyx":445 * heappush(hapsByBestScore, (bestScoreThisHap, varsFromBothSets)) * else: * heappushpop(hapsByBestScore, (bestScoreThisHap, varsFromBothSets)) # <<<<<<<<<<<<<< * * nVarsProcessed += varChunkSize */ __pyx_t_12 = __Pyx_GetName(__pyx_m, __pyx_n_s__heappushpop); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_19 = PyFloat_FromDouble(__pyx_v_bestScoreThisHap); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __Pyx_INCREF(((PyObject *)__pyx_v_varsFromBothSets)); PyTuple_SET_ITEM(__pyx_t_14, 1, ((PyObject *)__pyx_v_varsFromBothSets)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsFromBothSets)); __pyx_t_19 = 0; __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __Pyx_INCREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_19, 0, ((PyObject *)__pyx_v_hapsByBestScore)); __Pyx_GIVEREF(((PyObject *)__pyx_v_hapsByBestScore)); PyTuple_SET_ITEM(__pyx_t_19, 1, ((PyObject *)__pyx_t_14)); __Pyx_GIVEREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; __pyx_t_14 = PyObject_Call(__pyx_t_12, ((PyObject *)__pyx_t_19), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_19)); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __pyx_L22:; goto __pyx_L21; } __pyx_L21:; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L15; } __pyx_L15:; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } /* "variantFilter.pyx":447 * heappushpop(hapsByBestScore, (bestScoreThisHap, varsFromBothSets)) * * nVarsProcessed += varChunkSize # <<<<<<<<<<<<<< * * #logger.debug("Summarising top 10 haplotypes...") */ __pyx_v_nVarsProcessed = (__pyx_v_nVarsProcessed + __pyx_v_varChunkSize); } } __pyx_L3:; /* "variantFilter.pyx":457 * #logger.debug("Done.") * * for score,varsThisHap in hapsByBestScore: # <<<<<<<<<<<<<< * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) * allHaps.append(hap) */ __pyx_t_2 = ((PyObject *)__pyx_v_hapsByBestScore); __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_7 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_7 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; #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 = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #if CYTHON_COMPILING_IN_CPYTHON if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_14 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_19 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_14 = PyList_GET_ITEM(sequence, 0); __pyx_t_19 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(__pyx_t_19); #else __pyx_t_14 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_19 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_12)->tp_iternext; index = 0; __pyx_t_14 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_14)) goto __pyx_L25_unpacking_failed; __Pyx_GOTREF(__pyx_t_14); index = 1; __pyx_t_19 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_19)) goto __pyx_L25_unpacking_failed; __Pyx_GOTREF(__pyx_t_19); if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_12), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L26_unpacking_done; __pyx_L25_unpacking_failed:; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_L26_unpacking_done:; } if (!(likely(PyTuple_CheckExact(__pyx_t_19))||((__pyx_t_19) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_19)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(__pyx_v_score); __pyx_v_score = __pyx_t_14; __pyx_t_14 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_varsThisHap)); __pyx_v_varsThisHap = ((PyObject*)__pyx_t_19); __pyx_t_19 = 0; /* "variantFilter.pyx":458 * * for score,varsThisHap in hapsByBestScore: * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) # <<<<<<<<<<<<<< * allHaps.append(hap) * */ __pyx_t_7 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_19); __pyx_t_14 = PyInt_FromLong(__pyx_v_maxReadLength); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = PyInt_FromLong(__pyx_v_useIndelErrorModel); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyTuple_New(8); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __Pyx_INCREF(((PyObject *)__pyx_v_varsThisHap)); PyTuple_SET_ITEM(__pyx_t_13, 3, ((PyObject *)__pyx_v_varsThisHap)); __Pyx_GIVEREF(((PyObject *)__pyx_v_varsThisHap)); __Pyx_INCREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_13, 4, ((PyObject *)__pyx_v_refFile)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_13, 5, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_13, 6, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_13, 7, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_7 = 0; __pyx_t_19 = 0; __pyx_t_14 = 0; __pyx_t_12 = 0; __pyx_t_12 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10chaplotype_Haplotype)), ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0; __Pyx_XDECREF(((PyObject *)__pyx_v_hap)); __pyx_v_hap = ((struct __pyx_obj_10chaplotype_Haplotype *)__pyx_t_12); __pyx_t_12 = 0; /* "variantFilter.pyx":459 * for score,varsThisHap in hapsByBestScore: * hap = Haplotype(chrom, windowStart, windowEnd, varsThisHap, refFile, maxReadLength, useIndelErrorModel, options) * allHaps.append(hap) # <<<<<<<<<<<<<< * * #logger.info("Done.") */ __pyx_t_15 = PyList_Append(__pyx_v_allHaps, ((PyObject *)__pyx_v_hap)); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "variantFilter.pyx":462 * * #logger.info("Done.") * return allHaps # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_allHaps)); __pyx_r = __pyx_v_allHaps; 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_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_19); __Pyx_AddTraceback("variantFilter.getFilteredHaplotypes", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_hap); __Pyx_XDECREF(__pyx_v_varsThisHap); __Pyx_XDECREF(__pyx_v_varsThisHap2); __Pyx_XDECREF(__pyx_v_varsFromBothSets); __Pyx_XDECREF(__pyx_v_allHaps); __Pyx_XDECREF(__pyx_v_hapsByBestScore); __Pyx_XDECREF(__pyx_v_tempOldHaps); __Pyx_XDECREF(__pyx_v_tempVars); __Pyx_XDECREF(__pyx_v_varsSortedByCoverage); __Pyx_XDECREF(__pyx_v_score); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":466 * ################################################################################################### * * cdef list calcNPossibleHaplotypes(list variants): # <<<<<<<<<<<<<< * """ * Check all possible haplotypes for consistency, and return */ static PyObject *__pyx_f_13variantFilter_calcNPossibleHaplotypes(PyObject *__pyx_v_variants) { int __pyx_v_nVars; PyObject *__pyx_v_haps = 0; long __pyx_v_nVarsInHap; PyObject *__pyx_v_varsThisHap = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("calcNPossibleHaplotypes", 0); /* "variantFilter.pyx":471 * the number of consistent haplotypes. * """ * cdef int nVars = len(variants) # <<<<<<<<<<<<<< * cdef list haps = [] * */ 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 = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVars = __pyx_t_1; /* "variantFilter.pyx":472 * """ * cdef int nVars = len(variants) * cdef list haps = [] # <<<<<<<<<<<<<< * * for nVarsInHap from 1 <= nVarsInHap <= nVars: */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_v_haps = __pyx_t_2; __pyx_t_2 = 0; /* "variantFilter.pyx":474 * cdef list haps = [] * * for nVarsInHap from 1 <= nVarsInHap <= nVars: # <<<<<<<<<<<<<< * for varsThisHap in combinations(variants, nVarsInHap): * if isHaplotypeValid(varsThisHap): */ __pyx_t_3 = __pyx_v_nVars; for (__pyx_v_nVarsInHap = 1; __pyx_v_nVarsInHap <= __pyx_t_3; __pyx_v_nVarsInHap++) { /* "variantFilter.pyx":475 * * for nVarsInHap from 1 <= nVarsInHap <= nVars: * for varsThisHap in combinations(variants, nVarsInHap): # <<<<<<<<<<<<<< * if isHaplotypeValid(varsThisHap): * haps.append(varsThisHap) */ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__combinations); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyInt_FromLong(__pyx_v_nVarsInHap); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __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 = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_variants)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; if (PyList_CheckExact(__pyx_t_4) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_1 = 0; __pyx_t_6 = NULL; } else { __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_5)) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_5)) { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF(__pyx_v_varsThisHap); __pyx_v_varsThisHap = __pyx_t_4; __pyx_t_4 = 0; /* "variantFilter.pyx":476 * for nVarsInHap from 1 <= nVarsInHap <= nVars: * for varsThisHap in combinations(variants, nVarsInHap): * if isHaplotypeValid(varsThisHap): # <<<<<<<<<<<<<< * haps.append(varsThisHap) * */ if (!(likely(PyTuple_CheckExact(__pyx_v_varsThisHap))||((__pyx_v_varsThisHap) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_v_varsThisHap)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = __pyx_v_varsThisHap; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = __pyx_f_13platypusutils_isHaplotypeValid(((PyObject*)__pyx_t_4)); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_7) { /* "variantFilter.pyx":477 * for varsThisHap in combinations(variants, nVarsInHap): * if isHaplotypeValid(varsThisHap): * haps.append(varsThisHap) # <<<<<<<<<<<<<< * * return haps */ __pyx_t_8 = PyList_Append(__pyx_v_haps, __pyx_v_varsThisHap); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L7; } __pyx_L7:; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } /* "variantFilter.pyx":479 * haps.append(varsThisHap) * * return haps # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_haps)); __pyx_r = __pyx_v_haps; goto __pyx_L0; __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("variantFilter.calcNPossibleHaplotypes", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_haps); __Pyx_XDECREF(__pyx_v_varsThisHap); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":483 * ################################################################################################### * * cdef int recurse(list variants, dict nonOverlaps, int maxHaps): # <<<<<<<<<<<<<< * """ * """ */ static int __pyx_f_13variantFilter_recurse(PyObject *__pyx_v_variants, PyObject *__pyx_v_nonOverlaps, int __pyx_v_maxHaps) { int __pyx_v_haps; int __pyx_v_newHaps; struct __pyx_obj_7variant_Variant *__pyx_v_variant = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("recurse", 0); /* "variantFilter.pyx":486 * """ * """ * cdef int haps = 0 # <<<<<<<<<<<<<< * cdef int newHaps = 0 * cdef Variant variant */ __pyx_v_haps = 0; /* "variantFilter.pyx":487 * """ * cdef int haps = 0 * cdef int newHaps = 0 # <<<<<<<<<<<<<< * cdef Variant variant * */ __pyx_v_newHaps = 0; /* "variantFilter.pyx":490 * cdef Variant variant * * for variant in variants: # <<<<<<<<<<<<<< * haps += 1 * newHaps = recurse(nonOverlaps[variant], nonOverlaps, maxHaps) */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = ((PyObject *)__pyx_v_variants); __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 = 490; __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 = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_variant)); __pyx_v_variant = ((struct __pyx_obj_7variant_Variant *)__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":491 * * for variant in variants: * haps += 1 # <<<<<<<<<<<<<< * newHaps = recurse(nonOverlaps[variant], nonOverlaps, maxHaps) * */ __pyx_v_haps = (__pyx_v_haps + 1); /* "variantFilter.pyx":492 * for variant in variants: * haps += 1 * newHaps = recurse(nonOverlaps[variant], nonOverlaps, maxHaps) # <<<<<<<<<<<<<< * * if newHaps == -1 or (haps + newHaps > maxHaps): */ if (unlikely(((PyObject *)__pyx_v_nonOverlaps) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_nonOverlaps), ((PyObject *)__pyx_v_variant)); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_newHaps = __pyx_f_13variantFilter_recurse(((PyObject*)__pyx_t_3), __pyx_v_nonOverlaps, __pyx_v_maxHaps); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":494 * newHaps = recurse(nonOverlaps[variant], nonOverlaps, maxHaps) * * if newHaps == -1 or (haps + newHaps > maxHaps): # <<<<<<<<<<<<<< * return -1 * else: */ __pyx_t_4 = (__pyx_v_newHaps == -1); if (!__pyx_t_4) { __pyx_t_5 = ((__pyx_v_haps + __pyx_v_newHaps) > __pyx_v_maxHaps); __pyx_t_6 = __pyx_t_5; } else { __pyx_t_6 = __pyx_t_4; } if (__pyx_t_6) { /* "variantFilter.pyx":495 * * if newHaps == -1 or (haps + newHaps > maxHaps): * return -1 # <<<<<<<<<<<<<< * else: * haps += newHaps */ __pyx_r = -1; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; goto __pyx_L5; } /*else*/ { /* "variantFilter.pyx":497 * return -1 * else: * haps += newHaps # <<<<<<<<<<<<<< * * return haps */ __pyx_v_haps = (__pyx_v_haps + __pyx_v_newHaps); } __pyx_L5:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":499 * haps += newHaps * * return haps # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_r = __pyx_v_haps; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("variantFilter.recurse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_variant); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":503 * ################################################################################################### * * cdef int countHapsByNVarsThatDontOverlap(list variants, int maxHaps): # <<<<<<<<<<<<<< * """ * Loop through variants, and count those that don't overlap with others, according to the */ static int __pyx_f_13variantFilter_countHapsByNVarsThatDontOverlap(PyObject *__pyx_v_variants, int __pyx_v_maxHaps) { PyObject *__pyx_v_nonOverlaps = NULL; struct __pyx_obj_7variant_Variant *__pyx_v_var_i = 0; struct __pyx_obj_7variant_Variant *__pyx_v_var_j = 0; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_j = NULL; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_ssize_t __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); Py_ssize_t __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *(*__pyx_t_8)(PyObject *); int __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("countHapsByNVarsThatDontOverlap", 0); /* "variantFilter.pyx":511 * This is quadratic in nVars * """ * nonOverlaps = {} # <<<<<<<<<<<<<< * cdef Variant var_i * cdef Variant var_j */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_v_nonOverlaps = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":515 * cdef Variant var_j * * for i in range(len(variants)): # <<<<<<<<<<<<<< * var_i = variants[i] * nonOverlaps[var_i] = [] */ 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 = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_2 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __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 = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_builtin_range, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = 0; __pyx_t_4 = NULL; } else { __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; 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_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __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_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF(__pyx_v_i); __pyx_v_i = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":516 * * for i in range(len(variants)): * var_i = variants[i] # <<<<<<<<<<<<<< * nonOverlaps[var_i] = [] * for j in range(i+1, len(variants)): */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = PyObject_GetItem(((PyObject *)__pyx_v_variants), __pyx_v_i); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_var_i)); __pyx_v_var_i = ((struct __pyx_obj_7variant_Variant *)__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":517 * for i in range(len(variants)): * var_i = variants[i] * nonOverlaps[var_i] = [] # <<<<<<<<<<<<<< * for j in range(i+1, len(variants)): * var_j = variants[j] */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(((PyObject *)__pyx_v_nonOverlaps), ((PyObject *)__pyx_v_var_i), ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; /* "variantFilter.pyx":518 * var_i = variants[i] * nonOverlaps[var_i] = [] * for j in range(i+1, len(variants)): # <<<<<<<<<<<<<< * var_j = variants[j] * if not var_i.overlaps(var_j): */ __pyx_t_1 = PyNumber_Add(__pyx_v_i, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); 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 = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_5 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_builtin_range, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; if (PyList_CheckExact(__pyx_t_6) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7); __pyx_t_5 = 0; __pyx_t_8 = NULL; } else { __pyx_t_5 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (!__pyx_t_8 && PyList_CheckExact(__pyx_t_7)) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_6 = PySequence_ITEM(__pyx_t_7, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else if (!__pyx_t_8 && PyTuple_CheckExact(__pyx_t_7)) { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_6 = PySequence_ITEM(__pyx_t_7, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif } else { __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) { if (PyErr_Occurred()) { if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear(); else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF(__pyx_v_j); __pyx_v_j = __pyx_t_6; __pyx_t_6 = 0; /* "variantFilter.pyx":519 * nonOverlaps[var_i] = [] * for j in range(i+1, len(variants)): * var_j = variants[j] # <<<<<<<<<<<<<< * if not var_i.overlaps(var_j): * nonOverlaps[var_i].append(var_j) */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_6 = PyObject_GetItem(((PyObject *)__pyx_v_variants), __pyx_v_j); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_var_j)); __pyx_v_var_j = ((struct __pyx_obj_7variant_Variant *)__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":520 * for j in range(i+1, len(variants)): * var_j = variants[j] * if not var_i.overlaps(var_j): # <<<<<<<<<<<<<< * nonOverlaps[var_i].append(var_j) * */ __pyx_t_9 = (!((struct __pyx_vtabstruct_7variant_Variant *)__pyx_v_var_i->__pyx_vtab)->overlaps(__pyx_v_var_i, __pyx_v_var_j)); if (__pyx_t_9) { /* "variantFilter.pyx":521 * var_j = variants[j] * if not var_i.overlaps(var_j): * nonOverlaps[var_i].append(var_j) # <<<<<<<<<<<<<< * * return recurse(nonOverlaps.keys(), nonOverlaps, maxHaps) */ __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_nonOverlaps), ((PyObject *)__pyx_v_var_i)); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_Append(__pyx_t_6, ((PyObject *)__pyx_v_var_j)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L7; } __pyx_L7:; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "variantFilter.pyx":523 * nonOverlaps[var_i].append(var_j) * * return recurse(nonOverlaps.keys(), nonOverlaps, maxHaps) # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_t_3 = PyDict_Keys(__pyx_v_nonOverlaps); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected list, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_f_13variantFilter_recurse(((PyObject*)__pyx_t_3), __pyx_v_nonOverlaps, __pyx_v_maxHaps); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_WriteUnraisable("variantFilter.countHapsByNVarsThatDontOverlap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_nonOverlaps); __Pyx_XDECREF((PyObject *)__pyx_v_var_i); __Pyx_XDECREF((PyObject *)__pyx_v_var_j); __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_j); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "variantFilter.pyx":527 * ################################################################################################### * * cdef void filterVariantsByCoverage(dict thisWindow, bytes chrom, int windowStart, int windowEnd, FastaFile refFile, options, list variants, Haplotype refHaplotype, list readBuffers): # <<<<<<<<<<<<<< * """ * Simple filtering: pick top maxVariants vars by coverage, prioritising indels. */ static void __pyx_f_13variantFilter_filterVariantsByCoverage(PyObject *__pyx_v_thisWindow, PyObject *__pyx_v_chrom, int __pyx_v_windowStart, int __pyx_v_windowEnd, CYTHON_UNUSED struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, PyObject *__pyx_v_options, PyObject *__pyx_v_variants, CYTHON_UNUSED struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_refHaplotype, CYTHON_UNUSED PyObject *__pyx_v_readBuffers) { int __pyx_v_maxVar; struct __pyx_obj_7variant_Variant *__pyx_v_thisVar = 0; PyObject *__pyx_v_filteredVars = 0; PyObject *__pyx_v_temp = 0; CYTHON_UNUSED int __pyx_v_nVars; int __pyx_v_maxSupport; CYTHON_UNUSED int __pyx_v_nPossHaps; CYTHON_UNUSED int __pyx_v_nPossHapsFromVars; CYTHON_UNUSED double __pyx_v_score; PyObject *__pyx_v_x = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; int __pyx_t_10; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("filterVariantsByCoverage", 0); /* "variantFilter.pyx":531 * Simple filtering: pick top maxVariants vars by coverage, prioritising indels. * """ * cdef int maxVar = options.maxVariants # <<<<<<<<<<<<<< * cdef Variant thisVar * cdef list filteredVars = [] */ __pyx_t_1 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__maxVariants); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __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 = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_maxVar = __pyx_t_2; /* "variantFilter.pyx":533 * cdef int maxVar = options.maxVariants * cdef Variant thisVar * cdef list filteredVars = [] # <<<<<<<<<<<<<< * cdef list temp = [] * */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_filteredVars = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":534 * cdef Variant thisVar * cdef list filteredVars = [] * cdef list temp = [] # <<<<<<<<<<<<<< * * cdef int nVars = len(variants) */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_v_temp = __pyx_t_1; __pyx_t_1 = 0; /* "variantFilter.pyx":536 * cdef list temp = [] * * cdef int nVars = len(variants) # <<<<<<<<<<<<<< * cdef int maxSupport = max( [thisVar.nSupportingReads for thisVar in variants] ) * cdef int nPossHaps = 0 */ 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 = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVars = __pyx_t_3; /* "variantFilter.pyx":537 * * cdef int nVars = len(variants) * cdef int maxSupport = max( [thisVar.nSupportingReads for thisVar in variants] ) # <<<<<<<<<<<<<< * cdef int nPossHaps = 0 * cdef int nPossHapsFromVars = 0 */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_4 = ((PyObject *)__pyx_v_variants); __Pyx_INCREF(__pyx_t_4); __pyx_t_3 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_thisVar)); __pyx_v_thisVar = ((struct __pyx_obj_7variant_Variant *)__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyInt_FromLong(__pyx_v_thisVar->nSupportingReads); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_PyList_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_t_1)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_1)); __Pyx_GIVEREF(((PyObject *)__pyx_t_1)); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_t_1 = PyObject_Call(__pyx_builtin_max, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __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 = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_maxSupport = __pyx_t_2; /* "variantFilter.pyx":538 * cdef int nVars = len(variants) * cdef int maxSupport = max( [thisVar.nSupportingReads for thisVar in variants] ) * cdef int nPossHaps = 0 # <<<<<<<<<<<<<< * cdef int nPossHapsFromVars = 0 * */ __pyx_v_nPossHaps = 0; /* "variantFilter.pyx":539 * cdef int maxSupport = max( [thisVar.nSupportingReads for thisVar in variants] ) * cdef int nPossHaps = 0 * cdef int nPossHapsFromVars = 0 # <<<<<<<<<<<<<< * * logger.debug("Taking top %s variants (out of %s) by coverage in window %s:%s-%s" %(maxVar, len(variants), chrom, windowStart, windowEnd)) */ __pyx_v_nPossHapsFromVars = 0; /* "variantFilter.pyx":541 * cdef int nPossHapsFromVars = 0 * * logger.debug("Taking top %s variants (out of %s) by coverage in window %s:%s-%s" %(maxVar, len(variants), chrom, windowStart, windowEnd)) # <<<<<<<<<<<<<< * * #cdef int nHaps = countHapsByNVarsThatDontOverlap(variants, options.maxHaplotypes) */ __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromLong(__pyx_v_maxVar); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); 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 = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __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_5); __Pyx_GIVEREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_8, 2, ((PyObject *)__pyx_v_chrom)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom)); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), ((PyObject *)__pyx_t_8)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); __Pyx_DECREF(((PyObject *)__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 = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_7)); __Pyx_GIVEREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_t_7 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "variantFilter.pyx":551 * * cdef Haplotype oneVarHap * cdef double score = 0.0 # <<<<<<<<<<<<<< * * for thisVar in variants: */ __pyx_v_score = 0.0; /* "variantFilter.pyx":553 * cdef double score = 0.0 * * for thisVar in variants: # <<<<<<<<<<<<<< * #oneVarHap = Haplotype(thisWindow['chromosome'], thisWindow['startPos'], thisWindow['endPos'], (thisVar,), refFile, options.rlen, options.useIndelErrorModel, options) * #score = computeBestScoreForGenotype(readBuffers, refHaplotype, oneVarHap) */ if (unlikely(((PyObject *)__pyx_v_variants) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_7 = ((PyObject *)__pyx_v_variants); __Pyx_INCREF(__pyx_t_7); __pyx_t_3 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_3); __Pyx_INCREF(__pyx_t_8); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_7variant_Variant))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF(((PyObject *)__pyx_v_thisVar)); __pyx_v_thisVar = ((struct __pyx_obj_7variant_Variant *)__pyx_t_8); __pyx_t_8 = 0; /* "variantFilter.pyx":561 * * # Prioritise assembler variants * if thisVar.varSource == ASSEMBLER_VAR: # <<<<<<<<<<<<<< * temp.append( (maxSupport+1, thisVar) ) * else: */ __pyx_t_9 = (__pyx_v_thisVar->varSource == __pyx_v_7variant_ASSEMBLER_VAR); if (__pyx_t_9) { /* "variantFilter.pyx":562 * # Prioritise assembler variants * if thisVar.varSource == ASSEMBLER_VAR: * temp.append( (maxSupport+1, thisVar) ) # <<<<<<<<<<<<<< * else: * temp.append( (thisVar.nSupportingReads, thisVar) ) */ __pyx_t_8 = PyInt_FromLong((__pyx_v_maxSupport + 1)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __Pyx_INCREF(((PyObject *)__pyx_v_thisVar)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_thisVar)); __Pyx_GIVEREF(((PyObject *)__pyx_v_thisVar)); __pyx_t_8 = 0; __pyx_t_10 = PyList_Append(__pyx_v_temp, ((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; goto __pyx_L7; } /*else*/ { /* "variantFilter.pyx":564 * temp.append( (maxSupport+1, thisVar) ) * else: * temp.append( (thisVar.nSupportingReads, thisVar) ) # <<<<<<<<<<<<<< * * # Sort by coverage, descending */ __pyx_t_4 = PyInt_FromLong(__pyx_v_thisVar->nSupportingReads); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_thisVar)); PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_thisVar)); __Pyx_GIVEREF(((PyObject *)__pyx_v_thisVar)); __pyx_t_4 = 0; __pyx_t_10 = PyList_Append(__pyx_v_temp, ((PyObject *)__pyx_t_8)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; } __pyx_L7:; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "variantFilter.pyx":567 * * # Sort by coverage, descending * temp.sort(reverse=True) # <<<<<<<<<<<<<< * * # Take top candidates */ __pyx_t_7 = PyObject_GetAttr(((PyObject *)__pyx_v_temp), __pyx_n_s__sort); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_8)); __pyx_t_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_8, ((PyObject *)__pyx_n_s__reverse), __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_8)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "variantFilter.pyx":570 * * # Take top candidates * filteredVars = sorted( [x[1] for x in temp[0:maxVar]] ) # <<<<<<<<<<<<<< * * if options.verbosity >= 3: */ __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_temp), 0, __pyx_v_maxVar); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_7)); if (unlikely(((PyObject *)__pyx_t_7) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_6 = ((PyObject *)__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_COMPILING_IN_CPYTHON __pyx_t_7 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_t_7); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF(__pyx_v_x); __pyx_v_x = __pyx_t_7; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_x, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); if (unlikely(__Pyx_PyList_Append(__pyx_t_8, (PyObject*)__pyx_t_7))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = ((PyObject *)__pyx_t_8); __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __pyx_t_4 = ((PyObject*)__pyx_t_6); __pyx_t_6 = 0; __pyx_t_10 = PyList_Sort(((PyObject *)__pyx_t_4)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_v_filteredVars)); __pyx_v_filteredVars = __pyx_t_4; __pyx_t_4 = 0; /* "variantFilter.pyx":572 * filteredVars = sorted( [x[1] for x in temp[0:maxVar]] ) * * if options.verbosity >= 3: # <<<<<<<<<<<<<< * logger.debug("") * logger.debug("Window variants before filtering = %s" %(variants)) */ __pyx_t_4 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__verbosity); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_int_3, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_9) { /* "variantFilter.pyx":573 * * if options.verbosity >= 3: * logger.debug("") # <<<<<<<<<<<<<< * logger.debug("Window variants before filtering = %s" %(variants)) * logger.debug("Window variants after filtering = %s" %(filteredVars)) */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":574 * if options.verbosity >= 3: * logger.debug("") * logger.debug("Window variants before filtering = %s" %(variants)) # <<<<<<<<<<<<<< * logger.debug("Window variants after filtering = %s" %(filteredVars)) * logger.debug("") */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_10), ((PyObject *)__pyx_v_variants)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __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 = 574; __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_4, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":575 * logger.debug("") * logger.debug("Window variants before filtering = %s" %(variants)) * logger.debug("Window variants after filtering = %s" %(filteredVars)) # <<<<<<<<<<<<<< * logger.debug("") * */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__debug); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), ((PyObject *)__pyx_v_filteredVars)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_6)); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_6)); __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":576 * logger.debug("Window variants before filtering = %s" %(variants)) * logger.debug("Window variants after filtering = %s" %(filteredVars)) * logger.debug("") # <<<<<<<<<<<<<< * * thisWindow['variants'] = filteredVars */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__debug); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L10; } __pyx_L10:; /* "variantFilter.pyx":578 * logger.debug("") * * thisWindow['variants'] = filteredVars # <<<<<<<<<<<<<< * * ################################################################################################### */ if (unlikely(((PyObject *)__pyx_v_thisWindow) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } if (PyDict_SetItem(((PyObject *)__pyx_v_thisWindow), ((PyObject *)__pyx_n_s__variants), ((PyObject *)__pyx_v_filteredVars)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_WriteUnraisable("variantFilter.filterVariantsByCoverage", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_thisVar); __Pyx_XDECREF(__pyx_v_filteredVars); __Pyx_XDECREF(__pyx_v_temp); __Pyx_XDECREF(__pyx_v_x); __Pyx_RefNannyFinishContext(); } /* "variantFilter.pyx":582 * ################################################################################################### * * cdef list getHaplotypesInWindow(dict window, int nReads, FastaFile refFile, int ploidy, int maxCoverage, int minMapQual, int minBaseQual, int maxHaplotypes, int maxVariants, int maxReadLength, int useIndelErrorModel, int verbosity, list readBuffers, options): # <<<<<<<<<<<<<< * """ * Takes a window with some potential variants. Using all data in this region, calculate what the best possible */ static PyObject *__pyx_f_13variantFilter_getHaplotypesInWindow(PyObject *__pyx_v_window, int __pyx_v_nReads, struct __pyx_obj_9fastafile_FastaFile *__pyx_v_refFile, CYTHON_UNUSED int __pyx_v_ploidy, CYTHON_UNUSED int __pyx_v_maxCoverage, CYTHON_UNUSED int __pyx_v_minMapQual, CYTHON_UNUSED int __pyx_v_minBaseQual, CYTHON_UNUSED int __pyx_v_maxHaplotypes, CYTHON_UNUSED int __pyx_v_maxVariants, int __pyx_v_maxReadLength, int __pyx_v_useIndelErrorModel, CYTHON_UNUSED int __pyx_v_verbosity, PyObject *__pyx_v_readBuffers, PyObject *__pyx_v_options) { PyObject *__pyx_v_windowChr = 0; int __pyx_v_windowStart; int __pyx_v_windowEnd; PyObject *__pyx_v_variants = 0; CYTHON_UNUSED int __pyx_v_nVar; CYTHON_UNUSED int __pyx_v_readLength; struct __pyx_obj_10chaplotype_Haplotype *__pyx_v_refHaplotype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; 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("getHaplotypesInWindow", 0); /* "variantFilter.pyx":592 * haplotypes: a list of haplotypes * """ * cdef bytes windowChr = window['chromosome'] # <<<<<<<<<<<<<< * cdef int windowStart = window['startPos'] * cdef int windowEnd = window['endPos'] */ if (unlikely(((PyObject *)__pyx_v_window) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_window), ((PyObject *)__pyx_n_s__chromosome)); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __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 = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_windowChr = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":593 * """ * cdef bytes windowChr = window['chromosome'] * cdef int windowStart = window['startPos'] # <<<<<<<<<<<<<< * cdef int windowEnd = window['endPos'] * cdef list variants = window['variants'] */ if (unlikely(((PyObject *)__pyx_v_window) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_window), ((PyObject *)__pyx_n_s__startPos)); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __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 = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_windowStart = __pyx_t_2; /* "variantFilter.pyx":594 * cdef bytes windowChr = window['chromosome'] * cdef int windowStart = window['startPos'] * cdef int windowEnd = window['endPos'] # <<<<<<<<<<<<<< * cdef list variants = window['variants'] * cdef int nVar = len(variants) */ if (unlikely(((PyObject *)__pyx_v_window) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_window), ((PyObject *)__pyx_n_s__endPos)); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __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 = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_windowEnd = __pyx_t_2; /* "variantFilter.pyx":595 * cdef int windowStart = window['startPos'] * cdef int windowEnd = window['endPos'] * cdef list variants = window['variants'] # <<<<<<<<<<<<<< * cdef int nVar = len(variants) * cdef int readLength = 0 */ if (unlikely(((PyObject *)__pyx_v_window) == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_window), ((PyObject *)__pyx_n_s__variants)); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __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 = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_variants = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "variantFilter.pyx":596 * cdef int windowEnd = window['endPos'] * cdef list variants = window['variants'] * cdef int nVar = len(variants) # <<<<<<<<<<<<<< * cdef int readLength = 0 * cdef Haplotype refHaplotype = Haplotype(windowChr, windowStart, windowEnd, (), refFile, maxReadLength, useIndelErrorModel, options) */ 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 = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = PyList_GET_SIZE(((PyObject *)__pyx_v_variants)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_nVar = __pyx_t_3; /* "variantFilter.pyx":597 * cdef list variants = window['variants'] * cdef int nVar = len(variants) * cdef int readLength = 0 # <<<<<<<<<<<<<< * cdef Haplotype refHaplotype = Haplotype(windowChr, windowStart, windowEnd, (), refFile, maxReadLength, useIndelErrorModel, options) * */ __pyx_v_readLength = 0; /* "variantFilter.pyx":598 * cdef int nVar = len(variants) * cdef int readLength = 0 * cdef Haplotype refHaplotype = Haplotype(windowChr, windowStart, windowEnd, (), refFile, maxReadLength, useIndelErrorModel, options) # <<<<<<<<<<<<<< * * # Make sure that we log regions of zero coverage. This should not really happen. */ __pyx_t_1 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyInt_FromLong(__pyx_v_maxReadLength); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyInt_FromLong(__pyx_v_useIndelErrorModel); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_windowChr)); PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_windowChr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_windowChr)); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_empty_tuple)); PyTuple_SET_ITEM(__pyx_t_7, 3, ((PyObject *)__pyx_empty_tuple)); __Pyx_GIVEREF(((PyObject *)__pyx_empty_tuple)); __Pyx_INCREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_7, 4, ((PyObject *)__pyx_v_refFile)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refFile)); PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 6, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_7, 7, __pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10chaplotype_Haplotype)), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_v_refHaplotype = ((struct __pyx_obj_10chaplotype_Haplotype *)__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":601 * * # Make sure that we log regions of zero coverage. This should not really happen. * if nReads == 0: # <<<<<<<<<<<<<< * if not options.outputRefCalls: * logger.warning("Coverage is zero in window %s:%s-%s. Variants considered in this window are %s" %(windowChr, windowStart, windowEnd, variants)) */ __pyx_t_8 = (__pyx_v_nReads == 0); if (__pyx_t_8) { /* "variantFilter.pyx":602 * # Make sure that we log regions of zero coverage. This should not really happen. * if nReads == 0: * if not options.outputRefCalls: # <<<<<<<<<<<<<< * logger.warning("Coverage is zero in window %s:%s-%s. Variants considered in this window are %s" %(windowChr, windowStart, windowEnd, variants)) * return [refHaplotype] */ __pyx_t_6 = PyObject_GetAttr(__pyx_v_options, __pyx_n_s__outputRefCalls); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = (!__pyx_t_8); if (__pyx_t_9) { /* "variantFilter.pyx":603 * if nReads == 0: * if not options.outputRefCalls: * logger.warning("Coverage is zero in window %s:%s-%s. Variants considered in this window are %s" %(windowChr, windowStart, windowEnd, variants)) # <<<<<<<<<<<<<< * return [refHaplotype] * */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logger); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__warning); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyInt_FromLong(__pyx_v_windowStart); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyInt_FromLong(__pyx_v_windowEnd); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_windowChr)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_windowChr)); __Pyx_GIVEREF(((PyObject *)__pyx_v_windowChr)); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_variants)); PyTuple_SET_ITEM(__pyx_t_4, 3, ((PyObject *)__pyx_v_variants)); __Pyx_GIVEREF(((PyObject *)__pyx_v_variants)); __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_13), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_5)); __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 = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_5)); __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; __pyx_t_5 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4; } __pyx_L4:; /* "variantFilter.pyx":604 * if not options.outputRefCalls: * logger.warning("Coverage is zero in window %s:%s-%s. Variants considered in this window are %s" %(windowChr, windowStart, windowEnd, variants)) * return [refHaplotype] # <<<<<<<<<<<<<< * * return getFilteredHaplotypes(window, windowChr, windowStart, windowEnd, refFile, options, variants, refHaplotype, readBuffers) */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_refHaplotype)); PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_refHaplotype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_refHaplotype)); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "variantFilter.pyx":606 * return [refHaplotype] * * return getFilteredHaplotypes(window, windowChr, windowStart, windowEnd, refFile, options, variants, refHaplotype, readBuffers) # <<<<<<<<<<<<<< * * ################################################################################################### */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_5 = ((PyObject *)__pyx_f_13variantFilter_getFilteredHaplotypes(__pyx_v_window, __pyx_v_windowChr, __pyx_v_windowStart, __pyx_v_windowEnd, __pyx_v_refFile, __pyx_v_options, __pyx_v_variants, __pyx_v_refHaplotype, __pyx_v_readBuffers)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_r = ((PyObject*)__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_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("variantFilter.getHaplotypesInWindow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_windowChr); __Pyx_XDECREF(__pyx_v_variants); __Pyx_XDECREF((PyObject *)__pyx_v_refHaplotype); __Pyx_XGIVEREF(__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[] = { {0, 0, 0, 0} }; #if PY_MAJOR_VERSION >= 3 static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, __Pyx_NAMESTR("variantFilter"), __Pyx_DOCSTR(__pyx_k_14), /* 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_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0}, {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, {&__pyx_n_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 1}, {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, {&__pyx_n_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 1}, {&__pyx_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_n_s__Log, __pyx_k__Log, sizeof(__pyx_k__Log), 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__attrgetter, __pyx_k__attrgetter, sizeof(__pyx_k__attrgetter), 0, 0, 1, 1}, {&__pyx_n_s__chromosome, __pyx_k__chromosome, sizeof(__pyx_k__chromosome), 0, 0, 1, 1}, {&__pyx_n_s__combinations, __pyx_k__combinations, sizeof(__pyx_k__combinations), 0, 0, 1, 1}, {&__pyx_n_s__debug, __pyx_k__debug, sizeof(__pyx_k__debug), 0, 0, 1, 1}, {&__pyx_n_s__endPos, __pyx_k__endPos, sizeof(__pyx_k__endPos), 0, 0, 1, 1}, {&__pyx_n_s__fastafile, __pyx_k__fastafile, sizeof(__pyx_k__fastafile), 0, 0, 1, 1}, {&__pyx_n_s__getLogger, __pyx_k__getLogger, sizeof(__pyx_k__getLogger), 0, 0, 1, 1}, {&__pyx_n_s__heappop, __pyx_k__heappop, sizeof(__pyx_k__heappop), 0, 0, 1, 1}, {&__pyx_n_s__heappush, __pyx_k__heappush, sizeof(__pyx_k__heappush), 0, 0, 1, 1}, {&__pyx_n_s__heappushpop, __pyx_k__heappushpop, sizeof(__pyx_k__heappushpop), 0, 0, 1, 1}, {&__pyx_n_s__heapq, __pyx_k__heapq, sizeof(__pyx_k__heapq), 0, 0, 1, 1}, {&__pyx_n_s__itertools, __pyx_k__itertools, sizeof(__pyx_k__itertools), 0, 0, 1, 1}, {&__pyx_n_s__key, __pyx_k__key, sizeof(__pyx_k__key), 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__max, __pyx_k__max, sizeof(__pyx_k__max), 0, 0, 1, 1}, {&__pyx_n_s__maxEMIterations, __pyx_k__maxEMIterations, sizeof(__pyx_k__maxEMIterations), 0, 0, 1, 1}, {&__pyx_n_s__maxHaplotypes, __pyx_k__maxHaplotypes, sizeof(__pyx_k__maxHaplotypes), 0, 0, 1, 1}, {&__pyx_n_s__maxSize, __pyx_k__maxSize, sizeof(__pyx_k__maxSize), 0, 0, 1, 1}, {&__pyx_n_s__maxVariants, __pyx_k__maxVariants, sizeof(__pyx_k__maxVariants), 0, 0, 1, 1}, {&__pyx_n_s__minReads, __pyx_k__minReads, sizeof(__pyx_k__minReads), 0, 0, 1, 1}, {&__pyx_n_s__nInd, __pyx_k__nInd, sizeof(__pyx_k__nInd), 0, 0, 1, 1}, {&__pyx_n_s__nSupportingReads, __pyx_k__nSupportingReads, sizeof(__pyx_k__nSupportingReads), 0, 0, 1, 1}, {&__pyx_n_s__operator, __pyx_k__operator, sizeof(__pyx_k__operator), 0, 0, 1, 1}, {&__pyx_n_s__outputRefCalls, __pyx_k__outputRefCalls, sizeof(__pyx_k__outputRefCalls), 0, 0, 1, 1}, {&__pyx_n_s__ploidy, __pyx_k__ploidy, sizeof(__pyx_k__ploidy), 0, 0, 1, 1}, {&__pyx_n_s__printAlignments, __pyx_k__printAlignments, sizeof(__pyx_k__printAlignments), 0, 0, 1, 1}, {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, {&__pyx_n_s__reverse, __pyx_k__reverse, sizeof(__pyx_k__reverse), 0, 0, 1, 1}, {&__pyx_n_s__rlen, __pyx_k__rlen, sizeof(__pyx_k__rlen), 0, 0, 1, 1}, {&__pyx_n_s__sort, __pyx_k__sort, sizeof(__pyx_k__sort), 0, 0, 1, 1}, {&__pyx_n_s__sorted, __pyx_k__sorted, sizeof(__pyx_k__sorted), 0, 0, 1, 1}, {&__pyx_n_s__startPos, __pyx_k__startPos, sizeof(__pyx_k__startPos), 0, 0, 1, 1}, {&__pyx_n_s__useIndelErrorModel, __pyx_k__useIndelErrorModel, sizeof(__pyx_k__useIndelErrorModel), 0, 0, 1, 1}, {&__pyx_n_s__variants, __pyx_k__variants, sizeof(__pyx_k__variants), 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}, {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_sorted = __Pyx_GetName(__pyx_b, __pyx_n_s__sorted); if (!__pyx_builtin_sorted) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_max = __Pyx_GetName(__pyx_b, __pyx_n_s__max); if (!__pyx_builtin_max) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __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); /* "variantFilter.pyx":193 * * if nVar > 50: * logger.debug("Taking top 50 variant by coverage") # <<<<<<<<<<<<<< * variants = sorted(sorted(variants, key=nSupportingReadsGetter, reverse=True)[0:50]) * nVar = len(variants) */ __pyx_k_tuple_3 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_3); __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, ((PyObject *)__pyx_kp_s_2)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3)); /* "variantFilter.pyx":573 * * if options.verbosity >= 3: * logger.debug("") # <<<<<<<<<<<<<< * logger.debug("Window variants before filtering = %s" %(variants)) * logger.debug("Window variants after filtering = %s" %(filteredVars)) */ __pyx_k_tuple_9 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_9); __Pyx_INCREF(((PyObject *)__pyx_kp_s_8)); PyTuple_SET_ITEM(__pyx_k_tuple_9, 0, ((PyObject *)__pyx_kp_s_8)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_8)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9)); /* "variantFilter.pyx":576 * logger.debug("Window variants before filtering = %s" %(variants)) * logger.debug("Window variants after filtering = %s" %(filteredVars)) * logger.debug("") # <<<<<<<<<<<<<< * * thisWindow['variants'] = filteredVars */ __pyx_k_tuple_12 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 576; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_12); __Pyx_INCREF(((PyObject *)__pyx_kp_s_8)); PyTuple_SET_ITEM(__pyx_k_tuple_12, 0, ((PyObject *)__pyx_kp_s_8)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_8)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12)); /* "variantFilter.pyx":44 * from heapq import heappush,heappop,heappushpop * * nSupportingReadsGetter = attrgetter("nSupportingReads") # <<<<<<<<<<<<<< * logger = logging.getLogger("Log") * */ __pyx_k_tuple_15 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_15); __Pyx_INCREF(((PyObject *)__pyx_n_s__nSupportingReads)); PyTuple_SET_ITEM(__pyx_k_tuple_15, 0, ((PyObject *)__pyx_n_s__nSupportingReads)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__nSupportingReads)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15)); /* "variantFilter.pyx":45 * * nSupportingReadsGetter = attrgetter("nSupportingReads") * logger = logging.getLogger("Log") # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_k_tuple_16 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_k_tuple_16); __Pyx_INCREF(((PyObject *)__pyx_n_s__Log)); PyTuple_SET_ITEM(__pyx_k_tuple_16, 0, ((PyObject *)__pyx_n_s__Log)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__Log)); __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16)); __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_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_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__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 initvariantFilter(void); /*proto*/ PyMODINIT_FUNC initvariantFilter(void) #else PyMODINIT_FUNC PyInit_variantFilter(void); /*proto*/ PyMODINIT_FUNC PyInit_variantFilter(void) #endif { PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; __Pyx_RefNannyDeclarations #if CYTHON_REFNANNY __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); if (!__Pyx_RefNanny) { PyErr_Clear(); __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); if (!__Pyx_RefNanny) Py_FatalError("failed to import 'refnanny' module"); } #endif __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_variantFilter(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("variantFilter"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_14), 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, "variantFilter")) { if (unlikely(PyDict_SetItemString(modules, "variantFilter", __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_variantFilter) { 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("filterVariants", (void (*)(void))__pyx_f_13variantFilter_filterVariants, "PyObject *(PyObject *, struct __pyx_obj_9fastafile_FastaFile *, int, int, int, int, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("filterVariantsInWindow", (void (*)(void))__pyx_f_13variantFilter_filterVariantsInWindow, "void (PyObject *, PyObject *, int, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("getFilteredHaplotypes", (void (*)(void))__pyx_f_13variantFilter_getFilteredHaplotypes, "PyObject *(PyObject *, PyObject *, int, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("filterVariantsByCoverage", (void (*)(void))__pyx_f_13variantFilter_filterVariantsByCoverage, "void (PyObject *, PyObject *, int, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, PyObject *, struct __pyx_obj_10chaplotype_Haplotype *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("getHaplotypesInWindow", (void (*)(void))__pyx_f_13variantFilter_getHaplotypesInWindow, "PyObject *(PyObject *, int, struct __pyx_obj_9fastafile_FastaFile *, int, int, int, int, int, int, int, int, int, PyObject *, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("padVariants", (void (*)(void))__pyx_f_13variantFilter_padVariants, "PyObject *(PyObject *, struct __pyx_obj_9fastafile_FastaFile *, PyObject *)") < 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_12bamfileutils_BamFileIterator = __Pyx_ImportType("bamfileutils", "BamFileIterator", sizeof(struct __pyx_obj_12bamfileutils_BamFileIterator), 1); if (unlikely(!__pyx_ptype_12bamfileutils_BamFileIterator)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_12bamfileutils_BamFileIterator = (struct __pyx_vtabstruct_12bamfileutils_BamFileIterator*)__Pyx_GetVtable(__pyx_ptype_12bamfileutils_BamFileIterator->tp_dict); if (unlikely(!__pyx_vtabptr_12bamfileutils_BamFileIterator)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_12bamfileutils_MultiBamFileIterator = __Pyx_ImportType("bamfileutils", "MultiBamFileIterator", sizeof(struct __pyx_obj_12bamfileutils_MultiBamFileIterator), 1); if (unlikely(!__pyx_ptype_12bamfileutils_MultiBamFileIterator)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_12bamfileutils_MultiBamFileReader = __Pyx_ImportType("bamfileutils", "MultiBamFileReader", sizeof(struct __pyx_obj_12bamfileutils_MultiBamFileReader), 1); if (unlikely(!__pyx_ptype_12bamfileutils_MultiBamFileReader)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_12bamfileutils_MultiBamFileReader = (struct __pyx_vtabstruct_12bamfileutils_MultiBamFileReader*)__Pyx_GetVtable(__pyx_ptype_12bamfileutils_MultiBamFileReader->tp_dict); if (unlikely(!__pyx_vtabptr_12bamfileutils_MultiBamFileReader)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7variant_Variant = __Pyx_ImportType("variant", "Variant", sizeof(struct __pyx_obj_7variant_Variant), 1); if (unlikely(!__pyx_ptype_7variant_Variant)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_7variant_Variant = (struct __pyx_vtabstruct_7variant_Variant*)__Pyx_GetVtable(__pyx_ptype_7variant_Variant->tp_dict); if (unlikely(!__pyx_vtabptr_7variant_Variant)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_7variant_VariantCandidateGenerator = __Pyx_ImportType("variant", "VariantCandidateGenerator", sizeof(struct __pyx_obj_7variant_VariantCandidateGenerator), 1); if (unlikely(!__pyx_ptype_7variant_VariantCandidateGenerator)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_7variant_VariantCandidateGenerator = (struct __pyx_vtabstruct_7variant_VariantCandidateGenerator*)__Pyx_GetVtable(__pyx_ptype_7variant_VariantCandidateGenerator->tp_dict); if (unlikely(!__pyx_vtabptr_7variant_VariantCandidateGenerator)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_10chaplotype_Haplotype = __Pyx_ImportType("chaplotype", "Haplotype", sizeof(struct __pyx_obj_10chaplotype_Haplotype), 1); if (unlikely(!__pyx_ptype_10chaplotype_Haplotype)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_10chaplotype_Haplotype = (struct __pyx_vtabstruct_10chaplotype_Haplotype*)__Pyx_GetVtable(__pyx_ptype_10chaplotype_Haplotype->tp_dict); if (unlikely(!__pyx_vtabptr_10chaplotype_Haplotype)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __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[6]; __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[6]; __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[6]; __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[6]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_11cpopulation_Population = __Pyx_ImportType("cpopulation", "Population", sizeof(struct __pyx_obj_11cpopulation_Population), 1); if (unlikely(!__pyx_ptype_11cpopulation_Population)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_11cpopulation_Population = (struct __pyx_vtabstruct_11cpopulation_Population*)__Pyx_GetVtable(__pyx_ptype_11cpopulation_Population->tp_dict); if (unlikely(!__pyx_vtabptr_11cpopulation_Population)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_9cgenotype_DiploidGenotype = __Pyx_ImportType("cgenotype", "DiploidGenotype", sizeof(struct __pyx_obj_9cgenotype_DiploidGenotype), 1); if (unlikely(!__pyx_ptype_9cgenotype_DiploidGenotype)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_9cgenotype_DiploidGenotype = (struct __pyx_vtabstruct_9cgenotype_DiploidGenotype*)__Pyx_GetVtable(__pyx_ptype_9cgenotype_DiploidGenotype->tp_dict); if (unlikely(!__pyx_vtabptr_9cgenotype_DiploidGenotype)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_9cgenotype_HaploidGenotype = __Pyx_ImportType("cgenotype", "HaploidGenotype", sizeof(struct __pyx_obj_9cgenotype_HaploidGenotype), 1); if (unlikely(!__pyx_ptype_9cgenotype_HaploidGenotype)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_vtabptr_9cgenotype_HaploidGenotype = (struct __pyx_vtabstruct_9cgenotype_HaploidGenotype*)__Pyx_GetVtable(__pyx_ptype_9cgenotype_HaploidGenotype->tp_dict); if (unlikely(!__pyx_vtabptr_9cgenotype_HaploidGenotype)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 15; __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("chaplotype"); 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, "computeOverlapOfReadAndHaplotype", (void (**)(void))&__pyx_f_10chaplotype_computeOverlapOfReadAndHaplotype, "int (int, int, __pyx_t_15samtoolsWrapper_cAlignedRead *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_ImportModule("cgenotype"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_3, "generateAllGenotypesFromHaplotypeList", (void (**)(void))&__pyx_f_9cgenotype_generateAllGenotypesFromHaplotypeList, "PyObject *(int, PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_ImportModule("cfilter"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_4, "getHaplotypes", (void (**)(void))&__pyx_f_7cfilter_getHaplotypes, "PyObject *(struct __pyx_obj_10chaplotype_Haplotype *, PyObject *, int, struct __pyx_obj_9fastafile_FastaFile *, PyObject *, int, int, int, int, int, int, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_ImportModule("platypusutils"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ImportFunction(__pyx_t_5, "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_ImportFunction(__pyx_t_5, "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;} Py_DECREF(__pyx_t_5); __pyx_t_5 = 0; /*--- Execution code ---*/ /* "variantFilter.pyx":7 * from __future__ import division * * import logging # <<<<<<<<<<<<<< * import fastafile * import cython */ __pyx_t_6 = __Pyx_Import(((PyObject *)__pyx_n_s__logging), 0, -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logging, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":8 * * import logging * import fastafile # <<<<<<<<<<<<<< * import cython * import math */ __pyx_t_6 = __Pyx_Import(((PyObject *)__pyx_n_s__fastafile), 0, -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__fastafile, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":10 * import fastafile * import cython * import math # <<<<<<<<<<<<<< * * cimport chaplotype */ __pyx_t_6 = __Pyx_Import(((PyObject *)__pyx_n_s__math), 0, -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__math, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":20 * from chaplotype cimport Haplotype,computeOverlapOfReadAndHaplotype * from fastafile cimport FastaFile * from operator import attrgetter # <<<<<<<<<<<<<< * from cpopulation cimport Population * from cgenotype cimport generateAllGenotypesFromHaplotypeList */ __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_n_s__attrgetter)); PyList_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_n_s__attrgetter)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__attrgetter)); __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s__operator), ((PyObject *)__pyx_t_6), -1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__attrgetter); if (__pyx_t_6 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__attrgetter); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__attrgetter, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "variantFilter.pyx":41 * from platypusutils cimport leftNormaliseIndel * from platypusutils cimport isHaplotypeValid * from itertools import combinations # <<<<<<<<<<<<<< * from heapq import heappush,heappop,heappushpop * */ __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_n_s__combinations)); PyList_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_n_s__combinations)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__combinations)); __pyx_t_6 = __Pyx_Import(((PyObject *)__pyx_n_s__itertools), ((PyObject *)__pyx_t_7), -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0; __pyx_t_7 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__combinations); if (__pyx_t_7 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__combinations); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_7); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__combinations, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":42 * from platypusutils cimport isHaplotypeValid * from itertools import combinations * from heapq import heappush,heappop,heappushpop # <<<<<<<<<<<<<< * * nSupportingReadsGetter = attrgetter("nSupportingReads") */ __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_n_s__heappush)); PyList_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_n_s__heappush)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__heappush)); __Pyx_INCREF(((PyObject *)__pyx_n_s__heappop)); PyList_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_n_s__heappop)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__heappop)); __Pyx_INCREF(((PyObject *)__pyx_n_s__heappushpop)); PyList_SET_ITEM(__pyx_t_6, 2, ((PyObject *)__pyx_n_s__heappushpop)); __Pyx_GIVEREF(((PyObject *)__pyx_n_s__heappushpop)); __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s__heapq), ((PyObject *)__pyx_t_6), -1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__heappush); if (__pyx_t_6 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__heappush); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__heappush, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__heappop); if (__pyx_t_6 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__heappop); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__heappop, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__heappushpop); if (__pyx_t_6 == NULL) { if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__heappushpop); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __Pyx_GOTREF(__pyx_t_6); if (PyObject_SetAttr(__pyx_m, __pyx_n_s__heappushpop, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "variantFilter.pyx":44 * from heapq import heappush,heappop,heappushpop * * nSupportingReadsGetter = attrgetter("nSupportingReads") # <<<<<<<<<<<<<< * logger = logging.getLogger("Log") * */ __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__attrgetter); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyObject_SetAttr(__pyx_m, __pyx_n_s_4, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":45 * * nSupportingReadsGetter = attrgetter("nSupportingReads") * logger = logging.getLogger("Log") # <<<<<<<<<<<<<< * * ################################################################################################### */ __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__logging); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__getLogger); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_k_tuple_16), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyObject_SetAttr(__pyx_m, __pyx_n_s__logger, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "variantFilter.pyx":1 * """ # <<<<<<<<<<<<<< * Various classes and functions for use in generating and processing * variant candidates. */ __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_6)); if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_6)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; /* "samtoolsWrapper.pxd":385 * theRead.bitFlag |= BAM_FCOMPRESSED * * cdef inline void Read_SetUnCompressed(cAlignedRead* theRead): # <<<<<<<<<<<<<< * theRead.bitFlag &= (~BAM_FCOMPRESSED) * */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); if (__pyx_m) { __Pyx_AddTraceback("init variantFilter", __pyx_clineno, __pyx_lineno, __pyx_filename); Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init variantFilter"); } __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 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_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 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 PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) { PyObject *py_import = 0; PyObject *empty_list = 0; PyObject *module = 0; PyObject *global_dict = 0; PyObject *empty_dict = 0; PyObject *list; py_import = __Pyx_GetAttrString(__pyx_b, "__import__"); if (!py_import) goto bad; if (from_list) list = from_list; else { empty_list = PyList_New(0); if (!empty_list) goto bad; list = empty_list; } global_dict = PyModule_GetDict(__pyx_m); if (!global_dict) goto bad; empty_dict = PyDict_New(); if (!empty_dict) goto bad; #if PY_VERSION_HEX >= 0x02050000 { #if PY_MAJOR_VERSION >= 3 if (level == -1) { if (strchr(__Pyx_MODULE_NAME, '.')) { /* try package relative import first */ PyObject *py_level = PyInt_FromLong(1); if (!py_level) goto bad; module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, py_level, NULL); Py_DECREF(py_level); if (!module) { if (!PyErr_ExceptionMatches(PyExc_ImportError)) goto bad; PyErr_Clear(); } } level = 0; /* try absolute import on failure */ } #endif if (!module) { PyObject *py_level = PyInt_FromLong(level); if (!py_level) goto bad; module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, py_level, NULL); Py_DECREF(py_level); } } #else if (level>0) { PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); goto bad; } module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, NULL); #endif bad: Py_XDECREF(empty_list); Py_XDECREF(py_import); Py_XDECREF(empty_dict); return module; } static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) { #if PY_MAJOR_VERSION < 3 PyErr_Format(PyExc_ImportError, "cannot import name %.230s", PyString_AsString(name)); #else PyErr_Format(PyExc_ImportError, "cannot import name %S", name); #endif } static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { const unsigned char neg_one = (unsigned char)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(unsigned char) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(unsigned char)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to unsigned char" : "value too large to convert to unsigned char"); } return (unsigned char)-1; } return (unsigned char)val; } return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); } static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { const unsigned short neg_one = (unsigned short)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(unsigned short) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(unsigned short)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to unsigned short" : "value too large to convert to unsigned short"); } return (unsigned short)-1; } return (unsigned short)val; } return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); } static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { const unsigned int neg_one = (unsigned int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(unsigned int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(unsigned int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to unsigned int" : "value too large to convert to unsigned int"); } return (unsigned int)-1; } return (unsigned int)val; } return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); } static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) { const char neg_one = (char)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(char) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(char)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to char" : "value too large to convert to char"); } return (char)-1; } return (char)val; } return (char)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) { const short neg_one = (short)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(short) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(short)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to short" : "value too large to convert to short"); } return (short)-1; } return (short)val; } return (short)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) { const int neg_one = (int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to int" : "value too large to convert to int"); } return (int)-1; } return (int)val; } return (int)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { const signed char neg_one = (signed char)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(signed char) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(signed char)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to signed char" : "value too large to convert to signed char"); } return (signed char)-1; } return (signed char)val; } return (signed char)__Pyx_PyInt_AsSignedLong(x); } static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { const signed short neg_one = (signed short)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(signed short) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(signed short)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to signed short" : "value too large to convert to signed short"); } return (signed short)-1; } return (signed short)val; } return (signed short)__Pyx_PyInt_AsSignedLong(x); } static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { const signed int neg_one = (signed int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(signed int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(signed int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to signed int" : "value too large to convert to signed int"); } return (signed int)-1; } return (signed int)val; } return (signed int)__Pyx_PyInt_AsSignedLong(x); } static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) { const int neg_one = (int)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; if (sizeof(int) < sizeof(long)) { long val = __Pyx_PyInt_AsLong(x); if (unlikely(val != (long)(int)val)) { if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, (is_unsigned && unlikely(val < 0)) ? "can't convert negative value to int" : "value too large to convert to int"); } return (int)-1; } return (int)val; } return (int)__Pyx_PyInt_AsLong(x); } static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { const unsigned long neg_one = (unsigned long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; } return (unsigned long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; } return (unsigned long)PyLong_AsUnsignedLong(x); } else { return (unsigned long)PyLong_AsLong(x); } } else { unsigned long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (unsigned long)-1; val = __Pyx_PyInt_AsUnsignedLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned PY_LONG_LONG"); return (unsigned PY_LONG_LONG)-1; } return (unsigned PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned PY_LONG_LONG"); return (unsigned PY_LONG_LONG)-1; } return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); } else { return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x); } } else { unsigned PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (unsigned PY_LONG_LONG)-1; val = __Pyx_PyInt_AsUnsignedLongLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) { const long neg_one = (long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long)-1; } return (long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long)-1; } return (long)PyLong_AsUnsignedLong(x); } else { return (long)PyLong_AsLong(x); } } else { long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (long)-1; val = __Pyx_PyInt_AsLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to PY_LONG_LONG"); return (PY_LONG_LONG)-1; } return (PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to PY_LONG_LONG"); return (PY_LONG_LONG)-1; } return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); } else { return (PY_LONG_LONG)PyLong_AsLongLong(x); } } else { PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1; val = __Pyx_PyInt_AsLongLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { const signed long neg_one = (signed long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed long"); return (signed long)-1; } return (signed long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed long"); return (signed long)-1; } return (signed long)PyLong_AsUnsignedLong(x); } else { return (signed long)PyLong_AsLong(x); } } else { signed long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (signed long)-1; val = __Pyx_PyInt_AsSignedLong(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed PY_LONG_LONG"); return (signed PY_LONG_LONG)-1; } return (signed PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed PY_LONG_LONG"); return (signed PY_LONG_LONG)-1; } return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x); } else { return (signed PY_LONG_LONG)PyLong_AsLongLong(x); } } else { signed PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (signed PY_LONG_LONG)-1; val = __Pyx_PyInt_AsSignedLongLong(tmp); Py_DECREF(tmp); return val; } } static 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 } 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 */