1 /* Generated by Cython 0.13 on Thu May 5 14:57:52 2011 */
3 #define PY_SSIZE_T_CLEAN
6 #error Python headers needed to compile C extensions, please install development version of Python.
9 #include <stddef.h> /* For offsetof */
11 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
14 #if !defined(WIN32) && !defined(MS_WINDOWS)
27 #define DL_IMPORT(t) t
30 #define DL_EXPORT(t) t
34 #define PY_LONG_LONG LONG_LONG
37 #if PY_VERSION_HEX < 0x02040000
38 #define METH_COEXIST 0
39 #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
40 #define PyDict_Contains(d,o) PySequence_Contains(d,o)
43 #if PY_VERSION_HEX < 0x02050000
44 typedef int Py_ssize_t;
45 #define PY_SSIZE_T_MAX INT_MAX
46 #define PY_SSIZE_T_MIN INT_MIN
47 #define PY_FORMAT_SIZE_T ""
48 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
49 #define PyInt_AsSsize_t(o) PyInt_AsLong(o)
50 #define PyNumber_Index(o) PyNumber_Int(o)
51 #define PyIndex_Check(o) PyNumber_Check(o)
52 #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
55 #if PY_VERSION_HEX < 0x02060000
56 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
57 #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
58 #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
59 #define PyVarObject_HEAD_INIT(type, size) \
60 PyObject_HEAD_INIT(type) size,
61 #define PyType_Modified(t)
73 Py_ssize_t *suboffsets;
77 #define PyBUF_SIMPLE 0
78 #define PyBUF_WRITABLE 0x0001
79 #define PyBUF_FORMAT 0x0004
80 #define PyBUF_ND 0x0008
81 #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
82 #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
83 #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
84 #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
85 #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
89 #if PY_MAJOR_VERSION < 3
90 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
92 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
95 #if PY_MAJOR_VERSION >= 3
96 #define Py_TPFLAGS_CHECKTYPES 0
97 #define Py_TPFLAGS_HAVE_INDEX 0
100 #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
101 #define Py_TPFLAGS_HAVE_NEWBUFFER 0
104 #if PY_MAJOR_VERSION >= 3
105 #define PyBaseString_Type PyUnicode_Type
106 #define PyStringObject PyUnicodeObject
107 #define PyString_Type PyUnicode_Type
108 #define PyString_Check PyUnicode_Check
109 #define PyString_CheckExact PyUnicode_CheckExact
112 #if PY_VERSION_HEX < 0x02060000
113 #define PyBytesObject PyStringObject
114 #define PyBytes_Type PyString_Type
115 #define PyBytes_Check PyString_Check
116 #define PyBytes_CheckExact PyString_CheckExact
117 #define PyBytes_FromString PyString_FromString
118 #define PyBytes_FromStringAndSize PyString_FromStringAndSize
119 #define PyBytes_FromFormat PyString_FromFormat
120 #define PyBytes_DecodeEscape PyString_DecodeEscape
121 #define PyBytes_AsString PyString_AsString
122 #define PyBytes_AsStringAndSize PyString_AsStringAndSize
123 #define PyBytes_Size PyString_Size
124 #define PyBytes_AS_STRING PyString_AS_STRING
125 #define PyBytes_GET_SIZE PyString_GET_SIZE
126 #define PyBytes_Repr PyString_Repr
127 #define PyBytes_Concat PyString_Concat
128 #define PyBytes_ConcatAndDel PyString_ConcatAndDel
129 #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type)
130 #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type)
133 #ifndef PySet_CheckExact
134 # define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
137 #if PY_MAJOR_VERSION >= 3
138 #define PyInt_Type PyLong_Type
139 #define PyInt_Check(op) PyLong_Check(op)
140 #define PyInt_CheckExact(op) PyLong_CheckExact(op)
141 #define PyInt_FromString PyLong_FromString
142 #define PyInt_FromUnicode PyLong_FromUnicode
143 #define PyInt_FromLong PyLong_FromLong
144 #define PyInt_FromSize_t PyLong_FromSize_t
145 #define PyInt_FromSsize_t PyLong_FromSsize_t
146 #define PyInt_AsLong PyLong_AsLong
147 #define PyInt_AS_LONG PyLong_AS_LONG
148 #define PyInt_AsSsize_t PyLong_AsSsize_t
149 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
150 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
153 #if PY_MAJOR_VERSION >= 3
154 #define PyBoolObject PyLongObject
158 #if PY_MAJOR_VERSION >= 3
159 #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
160 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
162 #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
163 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
166 #if PY_MAJOR_VERSION >= 3
167 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
170 #if PY_VERSION_HEX < 0x02050000
171 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
172 #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
173 #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
175 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
176 #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
177 #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
180 #if PY_VERSION_HEX < 0x02050000
181 #define __Pyx_NAMESTR(n) ((char *)(n))
182 #define __Pyx_DOCSTR(n) ((char *)(n))
184 #define __Pyx_NAMESTR(n) (n)
185 #define __Pyx_DOCSTR(n) (n)
189 #define __PYX_EXTERN_C extern "C"
191 #define __PYX_EXTERN_C extern
194 #if defined(WIN32) || defined(MS_WINDOWS)
195 #define _USE_MATH_DEFINES
198 #define __PYX_HAVE_API__TabProxies
203 #include "pythread.h"
205 /* inline attribute */
206 #ifndef CYTHON_INLINE
207 #if defined(__GNUC__)
208 #define CYTHON_INLINE __inline__
209 #elif defined(_MSC_VER)
210 #define CYTHON_INLINE __inline
211 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
212 #define CYTHON_INLINE inline
214 #define CYTHON_INLINE
218 /* unused attribute */
219 #ifndef CYTHON_UNUSED
220 # if defined(__GNUC__)
221 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
222 # define CYTHON_UNUSED __attribute__ ((__unused__))
224 # define CYTHON_UNUSED
226 # elif defined(__ICC) || defined(__INTEL_COMPILER)
227 # define CYTHON_UNUSED __attribute__ ((__unused__))
229 # define CYTHON_UNUSED
233 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*/
236 /* Type Conversion Predeclarations */
238 #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
239 #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s))
241 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
242 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
243 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
245 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
246 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
247 static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
249 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
253 /* Test for GCC > 2.95 */
254 #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
255 #define likely(x) __builtin_expect(!!(x), 1)
256 #define unlikely(x) __builtin_expect(!!(x), 0)
257 #else /* __GNUC__ > 2 ... */
258 #define likely(x) (x)
259 #define unlikely(x) (x)
260 #endif /* __GNUC__ > 2 ... */
262 #define likely(x) (x)
263 #define unlikely(x) (x)
264 #endif /* __GNUC__ */
266 static PyObject *__pyx_m;
267 static PyObject *__pyx_b;
268 static PyObject *__pyx_empty_tuple;
269 static PyObject *__pyx_empty_bytes;
270 static int __pyx_lineno;
271 static int __pyx_clineno = 0;
272 static const char * __pyx_cfilenm= __FILE__;
273 static const char *__pyx_filename;
276 static const char *__pyx_f[] = {
281 /* Type declarations */
283 /* "pysam/TabProxies.pxd":42
284 * ctypedef int uint64_t
286 * cdef class TupleProxy: # <<<<<<<<<<<<<<
291 struct __pyx_obj_10TabProxies_TupleProxy {
293 struct __pyx_vtabstruct_10TabProxies_TupleProxy *__pyx_vtab;
303 /* "pysam/TabProxies.pxd":77
304 * cdef update( self, char * buffer, size_t nbytes )
306 * cdef class NamedTupleProxy( TupleProxy) : # <<<<<<<<<<<<<<
311 struct __pyx_obj_10TabProxies_NamedTupleProxy {
312 struct __pyx_obj_10TabProxies_TupleProxy __pyx_base;
315 /* "pysam/TabProxies.pxd":91
316 * cdef update( self, char * buffer, size_t nbytes )
318 * cdef class VCFProxy( NamedTupleProxy) : # <<<<<<<<<<<<<<
323 struct __pyx_obj_10TabProxies_VCFProxy {
324 struct __pyx_obj_10TabProxies_NamedTupleProxy __pyx_base;
329 /* "pysam/TabProxies.pxd":60
330 * cdef update( self, char * buffer, size_t nbytes )
332 * cdef class GTFProxy( TupleProxy) : # <<<<<<<<<<<<<<
337 struct __pyx_obj_10TabProxies_GTFProxy {
338 struct __pyx_obj_10TabProxies_TupleProxy __pyx_base;
348 int hasOwnAttributes;
351 /* "pysam/TabProxies.pxd":80
354 * cdef class BedProxy( NamedTupleProxy) : # <<<<<<<<<<<<<<
359 struct __pyx_obj_10TabProxies_BedProxy {
360 struct __pyx_obj_10TabProxies_NamedTupleProxy __pyx_base;
368 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":20
369 * return not (buffer <= p < buffer + nbytes )
371 * cdef class TupleProxy: # <<<<<<<<<<<<<<
372 * '''Proxy class for access to parsed row as a tuple.
376 struct __pyx_vtabstruct_10TabProxies_TupleProxy {
377 int (*getMaxFields)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t);
378 PyObject *(*take)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
379 PyObject *(*present)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
380 PyObject *(*copy)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
381 PyObject *(*update)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
383 static struct __pyx_vtabstruct_10TabProxies_TupleProxy *__pyx_vtabptr_10TabProxies_TupleProxy;
386 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":488
389 * cdef class NamedTupleProxy( TupleProxy ): # <<<<<<<<<<<<<<
394 struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy {
395 struct __pyx_vtabstruct_10TabProxies_TupleProxy __pyx_base;
397 static struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy *__pyx_vtabptr_10TabProxies_NamedTupleProxy;
400 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":573
401 * TupleProxy._setindex(self, idx, str(value) )
403 * cdef class VCFProxy( NamedTupleProxy ): # <<<<<<<<<<<<<<
404 * '''Proxy class for access to VCF fields.
408 struct __pyx_vtabstruct_10TabProxies_VCFProxy {
409 struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy __pyx_base;
411 static struct __pyx_vtabstruct_10TabProxies_VCFProxy *__pyx_vtabptr_10TabProxies_VCFProxy;
414 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":507
415 * return f( self.fields[idx] )
417 * cdef class BedProxy( NamedTupleProxy ): # <<<<<<<<<<<<<<
418 * '''Proxy class for access to Bed fields.
422 struct __pyx_vtabstruct_10TabProxies_BedProxy {
423 struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy __pyx_base;
425 static struct __pyx_vtabstruct_10TabProxies_BedProxy *__pyx_vtabptr_10TabProxies_BedProxy;
428 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":231
431 * cdef class GTFProxy( TupleProxy ): # <<<<<<<<<<<<<<
432 * '''Proxy class for access to GTF fields.
436 struct __pyx_vtabstruct_10TabProxies_GTFProxy {
437 struct __pyx_vtabstruct_10TabProxies_TupleProxy __pyx_base;
439 static struct __pyx_vtabstruct_10TabProxies_GTFProxy *__pyx_vtabptr_10TabProxies_GTFProxy;
441 #ifndef CYTHON_REFNANNY
442 #define CYTHON_REFNANNY 0
447 void (*INCREF)(void*, PyObject*, int);
448 void (*DECREF)(void*, PyObject*, int);
449 void (*GOTREF)(void*, PyObject*, int);
450 void (*GIVEREF)(void*, PyObject*, int);
451 void* (*SetupContext)(const char*, int, const char*);
452 void (*FinishContext)(void**);
453 } __Pyx_RefNannyAPIStruct;
454 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
455 static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
456 PyObject *m = NULL, *p = NULL;
458 m = PyImport_ImportModule((char *)modname);
460 p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
462 r = PyLong_AsVoidPtr(p);
466 return (__Pyx_RefNannyAPIStruct *)r;
468 #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
469 #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
470 #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
471 #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
472 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
473 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
474 #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
476 #define __Pyx_RefNannySetupContext(name)
477 #define __Pyx_RefNannyFinishContext()
478 #define __Pyx_INCREF(r) Py_INCREF(r)
479 #define __Pyx_DECREF(r) Py_DECREF(r)
480 #define __Pyx_GOTREF(r)
481 #define __Pyx_GIVEREF(r)
482 #define __Pyx_XDECREF(r) Py_XDECREF(r)
483 #endif /* CYTHON_REFNANNY */
484 #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
485 #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)
487 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
489 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
490 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
492 static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict,
493 const char* function_name, int kw_allowed); /*proto*/
495 static void __Pyx_RaiseDoubleKeywordsError(
496 const char* func_name, PyObject* kw_name); /*proto*/
498 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/
500 static CYTHON_INLINE long __Pyx_NegateNonNeg(long b) { return unlikely(b < 0) ? b : !b; }
501 static CYTHON_INLINE PyObject* __Pyx_PyBoolOrNull_FromLong(long b) {
502 return unlikely(b < 0) ? NULL : __Pyx_PyBool_FromLong(b);
506 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
509 r = PyObject_GetItem(o, j);
515 #define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
516 __Pyx_GetItemInt_List_Fast(o, i) : \
517 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
519 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
520 if (likely(o != Py_None)) {
521 if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
522 PyObject *r = PyList_GET_ITEM(o, i);
526 else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
527 PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
532 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
535 #define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
536 __Pyx_GetItemInt_Tuple_Fast(o, i) : \
537 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
539 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
540 if (likely(o != Py_None)) {
541 if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
542 PyObject *r = PyTuple_GET_ITEM(o, i);
546 else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
547 PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
552 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
556 #define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
557 __Pyx_GetItemInt_Fast(o, i) : \
558 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
560 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
562 if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) {
563 r = PyList_GET_ITEM(o, i);
566 else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
567 r = PyTuple_GET_ITEM(o, i);
570 else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) {
571 r = PySequence_GetItem(o, i);
574 r = __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
579 static double __Pyx__PyObject_AsDouble(PyObject* obj); /* proto */
581 #define __Pyx_PyObject_AsDouble(obj) \
582 ((likely(PyFloat_CheckExact(obj))) ? \
583 PyFloat_AS_DOUBLE(obj) : __Pyx__PyObject_AsDouble(obj))
585 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
587 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
589 static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/
590 static int __Pyx_EndUnpack(PyObject *, Py_ssize_t expected); /*proto*/
592 static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
593 static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
595 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
597 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
598 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
600 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
602 static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_uint32_t(uint32_t);
604 static CYTHON_INLINE uint32_t __Pyx_PyInt_from_py_uint32_t(PyObject *);
606 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
608 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
610 static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
612 static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
614 static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
616 static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
618 static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
620 static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
622 static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
624 static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
626 static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
628 static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
630 static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
632 static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
634 static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
636 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
638 static void __Pyx_WriteUnraisable(const char *name); /*proto*/
640 static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
642 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/
644 static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
646 static void __Pyx_AddTraceback(const char *funcname); /*proto*/
648 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
649 /* Module declarations from cpython.version */
651 /* Module declarations from cpython.ref */
653 /* Module declarations from cpython.exc */
655 /* Module declarations from cpython.module */
657 /* Module declarations from cpython.mem */
659 /* Module declarations from cpython.tuple */
661 /* Module declarations from cpython.list */
663 /* Module declarations from libc.stdio */
665 /* Module declarations from cpython.object */
667 /* Module declarations from cpython.sequence */
669 /* Module declarations from cpython.mapping */
671 /* Module declarations from cpython.iterator */
673 /* Module declarations from cpython.type */
675 /* Module declarations from cpython.number */
677 /* Module declarations from cpython.int */
679 /* Module declarations from __builtin__ */
681 /* Module declarations from cpython.bool */
683 static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;
684 /* Module declarations from cpython.long */
686 /* Module declarations from cpython.float */
688 /* Module declarations from cpython.complex */
690 /* Module declarations from cpython.string */
692 /* Module declarations from cpython.unicode */
694 /* Module declarations from cpython.dict */
696 /* Module declarations from cpython.instance */
698 /* Module declarations from cpython.function */
700 /* Module declarations from cpython.method */
702 /* Module declarations from cpython.weakref */
704 /* Module declarations from cpython.getargs */
706 /* Module declarations from cpython.pythread */
708 /* Module declarations from cpython.cobject */
710 /* Module declarations from cpython.oldbuffer */
712 /* Module declarations from cpython.set */
714 /* Module declarations from cpython.buffer */
716 /* Module declarations from cpython.bytes */
718 /* Module declarations from cpython.pycapsule */
720 /* Module declarations from cpython */
722 /* Module declarations from TabProxies */
724 static PyTypeObject *__pyx_ptype_10TabProxies_TupleProxy = 0;
725 static PyTypeObject *__pyx_ptype_10TabProxies_GTFProxy = 0;
726 static PyTypeObject *__pyx_ptype_10TabProxies_NamedTupleProxy = 0;
727 static PyTypeObject *__pyx_ptype_10TabProxies_BedProxy = 0;
728 static PyTypeObject *__pyx_ptype_10TabProxies_VCFProxy = 0;
729 static char *__pyx_f_10TabProxies_nextItem(char *); /*proto*/
730 static char *__pyx_f_10TabProxies_StrOrEmpty(char *); /*proto*/
731 static int __pyx_f_10TabProxies_isNew(char *, char *, size_t); /*proto*/
732 #define __Pyx_MODULE_NAME "TabProxies"
733 int __pyx_module_is_main_TabProxies = 0;
735 /* Implementation of TabProxies */
736 static PyObject *__pyx_builtin_ValueError;
737 static PyObject *__pyx_builtin_IndexError;
738 static PyObject *__pyx_builtin_StopIteration;
739 static PyObject *__pyx_builtin_xrange;
740 static PyObject *__pyx_builtin_TypeError;
741 static PyObject *__pyx_builtin_AttributeError;
742 static PyObject *__pyx_builtin_KeyError;
743 static char __pyx_k_1[] = "malformatted entry at %s";
744 static char __pyx_k_2[] = "";
745 static char __pyx_k_3[] = "out of memory";
746 static char __pyx_k_4[] = "incomplete line at %s";
747 static char __pyx_k_5[] = "row too large - more than %i fields";
748 static char __pyx_k_6[] = "list index out of range";
749 static char __pyx_k_7[] = "\t";
750 static char __pyx_k_8[] = ".";
751 static char __pyx_k_9[] = "\"%s\"";
752 static char __pyx_k_10[] = ";";
753 static char __pyx_k_11[] = " ";
754 static char __pyx_k_12[] = "\"";
755 static char __pyx_k_13[] = "%s \"%s\"";
756 static char __pyx_k_14[] = "%s %s";
757 static char __pyx_k_15[] = "; ";
758 static char __pyx_k_16[] = "'GTFProxy' has no attribute '%s'";
759 static char __pyx_k_17[] = "field %s not set";
760 static char __pyx_k_18[] = "bed format requires at least three columns";
761 static char __pyx_k_19[] = "contig of feature.";
762 static char __pyx_k_20[] = "feature name.";
763 static char __pyx_k_21[] = "feature source.";
764 static char __pyx_k_22[] = "feature start (in 0-based open/closed coordinates).";
765 static char __pyx_k_23[] = "feature end (in 0-based open/closed coordinates).";
766 static char __pyx_k_24[] = "feature score.";
767 static char __pyx_k_25[] = "feature strand.";
768 static char __pyx_k_26[] = "feature frame.";
769 static char __pyx_k_27[] = "feature attributes (as a string).";
770 static char __pyx_k_28[] = "TupleProxy._setindex (line 154)";
771 static char __pyx_k_29[] = "TupleProxy.__setitem__ (line 177)";
772 static char __pyx_k_30[] = "TupleProxy.__next__ (line 192)";
773 static char __pyx_k_31[] = "TupleProxy.__str__ (line 202)";
774 static char __pyx_k_32[] = "toDot (line 219)";
775 static char __pyx_k_33[] = "quote (line 224)";
776 static char __pyx_k_34[] = "GTFProxy.asDict (line 350)";
777 static char __pyx_k_35[] = "GTFProxy.fromDict (line 385)";
778 static char __pyx_k_36[] = "GTFProxy.invert (line 430)";
779 static char __pyx_k_37[] = "GTFProxy.keys (line 441)";
780 static char __pyx_k_38[] = "GTFProxy.__getattr__ (line 449)";
781 static char __pyx_k_39[] = "GTFProxy.setAttribute (line 482)";
782 static char __pyx_k_40[] = "NamedTupleProxy.__setattr__ (line 492)";
783 static char __pyx_k_41[] = "BedProxy.__setattr__ (line 564)";
784 static char __pyx_k_42[] = "VCFProxy.__setattr__ (line 608)";
785 static char __pyx_k__id[] = "id";
786 static char __pyx_k__alt[] = "alt";
787 static char __pyx_k__end[] = "end";
788 static char __pyx_k__pos[] = "pos";
789 static char __pyx_k__ref[] = "ref";
790 static char __pyx_k__data[] = "data";
791 static char __pyx_k__info[] = "info";
792 static char __pyx_k__join[] = "join";
793 static char __pyx_k__keys[] = "keys";
794 static char __pyx_k__name[] = "name";
795 static char __pyx_k__qual[] = "qual";
796 static char __pyx_k__frame[] = "frame";
797 static char __pyx_k__index[] = "index";
798 static char __pyx_k__items[] = "items";
799 static char __pyx_k__quote[] = "quote";
800 static char __pyx_k__range[] = "range";
801 static char __pyx_k__score[] = "score";
802 static char __pyx_k__split[] = "split";
803 static char __pyx_k__start[] = "start";
804 static char __pyx_k__strip[] = "strip";
805 static char __pyx_k__toDot[] = "toDot";
806 static char __pyx_k__types[] = "types";
807 static char __pyx_k__value[] = "value";
808 static char __pyx_k__asDict[] = "asDict";
809 static char __pyx_k__contig[] = "contig";
810 static char __pyx_k__fields[] = "fields";
811 static char __pyx_k__filter[] = "filter";
812 static char __pyx_k__format[] = "format";
813 static char __pyx_k__invert[] = "invert";
814 static char __pyx_k__nbytes[] = "nbytes";
815 static char __pyx_k__offset[] = "offset";
816 static char __pyx_k__source[] = "source";
817 static char __pyx_k__strand[] = "strand";
818 static char __pyx_k__update[] = "update";
819 static char __pyx_k__xrange[] = "xrange";
820 static char __pyx_k____str__[] = "__str__";
821 static char __pyx_k__feature[] = "feature";
822 static char __pyx_k__itemRGB[] = "itemRGB";
823 static char __pyx_k__nfields[] = "nfields";
824 static char __pyx_k__BedProxy[] = "BedProxy";
825 static char __pyx_k__GTFProxy[] = "GTFProxy";
826 static char __pyx_k__KeyError[] = "KeyError";
827 static char __pyx_k__VCFProxy[] = "VCFProxy";
828 static char __pyx_k____main__[] = "__main__";
829 static char __pyx_k____next__[] = "__next__";
830 static char __pyx_k____test__[] = "__test__";
831 static char __pyx_k__fromDict[] = "fromDict";
832 static char __pyx_k__thickEnd[] = "thickEnd";
833 static char __pyx_k__TypeError[] = "TypeError";
834 static char __pyx_k___setindex[] = "_setindex";
835 static char __pyx_k__bedfields[] = "bedfields";
836 static char __pyx_k__IndexError[] = "IndexError";
837 static char __pyx_k__StringType[] = "StringType";
838 static char __pyx_k__TupleProxy[] = "TupleProxy";
839 static char __pyx_k__ValueError[] = "ValueError";
840 static char __pyx_k__attributes[] = "attributes";
841 static char __pyx_k__blockCount[] = "blockCount";
842 static char __pyx_k__blockSizes[] = "blockSizes";
843 static char __pyx_k__thickStart[] = "thickStart";
844 static char __pyx_k__StringTypes[] = "StringTypes";
845 static char __pyx_k____getattr__[] = "__getattr__";
846 static char __pyx_k____setattr__[] = "__setattr__";
847 static char __pyx_k____setitem__[] = "__setitem__";
848 static char __pyx_k__blockStarts[] = "blockStarts";
849 static char __pyx_k__is_modified[] = "is_modified";
850 static char __pyx_k__getMaxFields[] = "getMaxFields";
851 static char __pyx_k__setAttribute[] = "setAttribute";
852 static char __pyx_k__StopIteration[] = "StopIteration";
853 static char __pyx_k__map_key2field[] = "map_key2field";
854 static char __pyx_k__AttributeError[] = "AttributeError";
855 static char __pyx_k__NamedTupleProxy[] = "NamedTupleProxy";
856 static char __pyx_k__hasOwnAttributes[] = "hasOwnAttributes";
857 static PyObject *__pyx_kp_s_1;
858 static PyObject *__pyx_kp_s_10;
859 static PyObject *__pyx_kp_s_11;
860 static PyObject *__pyx_kp_s_12;
861 static PyObject *__pyx_kp_s_13;
862 static PyObject *__pyx_kp_s_14;
863 static PyObject *__pyx_kp_s_15;
864 static PyObject *__pyx_kp_s_16;
865 static PyObject *__pyx_kp_s_17;
866 static PyObject *__pyx_kp_s_18;
867 static PyObject *__pyx_kp_s_2;
868 static PyObject *__pyx_kp_u_28;
869 static PyObject *__pyx_kp_u_29;
870 static PyObject *__pyx_kp_s_3;
871 static PyObject *__pyx_kp_u_30;
872 static PyObject *__pyx_kp_u_31;
873 static PyObject *__pyx_kp_u_32;
874 static PyObject *__pyx_kp_u_33;
875 static PyObject *__pyx_kp_u_34;
876 static PyObject *__pyx_kp_u_35;
877 static PyObject *__pyx_kp_u_36;
878 static PyObject *__pyx_kp_u_37;
879 static PyObject *__pyx_kp_u_38;
880 static PyObject *__pyx_kp_u_39;
881 static PyObject *__pyx_kp_s_4;
882 static PyObject *__pyx_kp_u_40;
883 static PyObject *__pyx_kp_u_41;
884 static PyObject *__pyx_kp_u_42;
885 static PyObject *__pyx_kp_s_5;
886 static PyObject *__pyx_kp_s_6;
887 static PyObject *__pyx_kp_s_7;
888 static PyObject *__pyx_kp_s_8;
889 static PyObject *__pyx_kp_s_9;
890 static PyObject *__pyx_n_s__AttributeError;
891 static PyObject *__pyx_n_s__BedProxy;
892 static PyObject *__pyx_n_s__GTFProxy;
893 static PyObject *__pyx_n_s__IndexError;
894 static PyObject *__pyx_n_s__KeyError;
895 static PyObject *__pyx_n_s__NamedTupleProxy;
896 static PyObject *__pyx_n_s__StopIteration;
897 static PyObject *__pyx_n_s__StringType;
898 static PyObject *__pyx_n_s__StringTypes;
899 static PyObject *__pyx_n_s__TupleProxy;
900 static PyObject *__pyx_n_s__TypeError;
901 static PyObject *__pyx_n_s__VCFProxy;
902 static PyObject *__pyx_n_s__ValueError;
903 static PyObject *__pyx_n_s____getattr__;
904 static PyObject *__pyx_n_s____main__;
905 static PyObject *__pyx_n_s____next__;
906 static PyObject *__pyx_n_s____setattr__;
907 static PyObject *__pyx_n_s____setitem__;
908 static PyObject *__pyx_n_s____str__;
909 static PyObject *__pyx_n_s____test__;
910 static PyObject *__pyx_n_s___setindex;
911 static PyObject *__pyx_n_s__alt;
912 static PyObject *__pyx_n_s__asDict;
913 static PyObject *__pyx_n_s__attributes;
914 static PyObject *__pyx_n_s__bedfields;
915 static PyObject *__pyx_n_s__blockCount;
916 static PyObject *__pyx_n_s__blockSizes;
917 static PyObject *__pyx_n_s__blockStarts;
918 static PyObject *__pyx_n_s__contig;
919 static PyObject *__pyx_n_s__data;
920 static PyObject *__pyx_n_s__end;
921 static PyObject *__pyx_n_s__feature;
922 static PyObject *__pyx_n_s__fields;
923 static PyObject *__pyx_n_s__filter;
924 static PyObject *__pyx_n_s__format;
925 static PyObject *__pyx_n_s__frame;
926 static PyObject *__pyx_n_s__fromDict;
927 static PyObject *__pyx_n_s__getMaxFields;
928 static PyObject *__pyx_n_s__hasOwnAttributes;
929 static PyObject *__pyx_n_s__id;
930 static PyObject *__pyx_n_s__index;
931 static PyObject *__pyx_n_s__info;
932 static PyObject *__pyx_n_s__invert;
933 static PyObject *__pyx_n_s__is_modified;
934 static PyObject *__pyx_n_s__itemRGB;
935 static PyObject *__pyx_n_s__items;
936 static PyObject *__pyx_n_s__join;
937 static PyObject *__pyx_n_s__keys;
938 static PyObject *__pyx_n_s__map_key2field;
939 static PyObject *__pyx_n_s__name;
940 static PyObject *__pyx_n_s__nbytes;
941 static PyObject *__pyx_n_s__nfields;
942 static PyObject *__pyx_n_s__offset;
943 static PyObject *__pyx_n_s__pos;
944 static PyObject *__pyx_n_s__qual;
945 static PyObject *__pyx_n_s__quote;
946 static PyObject *__pyx_n_s__range;
947 static PyObject *__pyx_n_s__ref;
948 static PyObject *__pyx_n_s__score;
949 static PyObject *__pyx_n_s__setAttribute;
950 static PyObject *__pyx_n_s__source;
951 static PyObject *__pyx_n_s__split;
952 static PyObject *__pyx_n_s__start;
953 static PyObject *__pyx_n_s__strand;
954 static PyObject *__pyx_n_s__strip;
955 static PyObject *__pyx_n_s__thickEnd;
956 static PyObject *__pyx_n_s__thickStart;
957 static PyObject *__pyx_n_s__toDot;
958 static PyObject *__pyx_n_s__types;
959 static PyObject *__pyx_n_s__update;
960 static PyObject *__pyx_n_s__value;
961 static PyObject *__pyx_n_s__xrange;
962 static PyObject *__pyx_int_0;
963 static PyObject *__pyx_int_1;
964 static PyObject *__pyx_int_2;
965 static PyObject *__pyx_int_3;
966 static PyObject *__pyx_int_4;
967 static PyObject *__pyx_int_5;
968 static PyObject *__pyx_int_6;
969 static PyObject *__pyx_int_7;
970 static PyObject *__pyx_int_8;
971 static PyObject *__pyx_int_9;
972 static PyObject *__pyx_int_10;
973 static PyObject *__pyx_int_11;
975 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":4
976 * from cpython cimport PyString_FromStringAndSize, PyString_AsString, PyString_AS_STRING
978 * cdef char * nextItem( char * buffer ): # <<<<<<<<<<<<<<
980 * pos = strchr( buffer, '\t' )
983 static char *__pyx_f_10TabProxies_nextItem(char *__pyx_v_buffer) {
987 PyObject *__pyx_t_2 = NULL;
988 PyObject *__pyx_t_3 = NULL;
989 __Pyx_RefNannySetupContext("nextItem");
991 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":6
992 * cdef char * nextItem( char * buffer ):
994 * pos = strchr( buffer, '\t' ) # <<<<<<<<<<<<<<
995 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer )
998 __pyx_v_pos = strchr(__pyx_v_buffer, '\t');
1000 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":7
1002 * pos = strchr( buffer, '\t' )
1003 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer ) # <<<<<<<<<<<<<<
1007 __pyx_t_1 = (__pyx_v_pos == NULL);
1009 __pyx_t_2 = PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1010 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1011 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1012 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
1013 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
1014 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1015 __Pyx_GOTREF(__pyx_t_2);
1016 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
1017 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
1019 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1020 __Pyx_GOTREF(__pyx_t_3);
1021 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1022 __Pyx_Raise(__pyx_t_3, 0, 0);
1023 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1024 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1029 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":8
1030 * pos = strchr( buffer, '\t' )
1031 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer )
1032 * pos[0] = '\0' # <<<<<<<<<<<<<<
1036 (__pyx_v_pos[0]) = '\x00';
1038 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":9
1039 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer )
1041 * pos += 1 # <<<<<<<<<<<<<<
1047 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":10
1050 * return pos # <<<<<<<<<<<<<<
1052 * cdef char *StrOrEmpty( char * buffer ):
1054 __pyx_r = __pyx_v_pos;
1060 __Pyx_XDECREF(__pyx_t_2);
1061 __Pyx_XDECREF(__pyx_t_3);
1062 __Pyx_WriteUnraisable("TabProxies.nextItem");
1065 __Pyx_RefNannyFinishContext();
1069 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":12
1072 * cdef char *StrOrEmpty( char * buffer ): # <<<<<<<<<<<<<<
1073 * if buffer == NULL: return ""
1074 * else: return buffer
1077 static char *__pyx_f_10TabProxies_StrOrEmpty(char *__pyx_v_buffer) {
1080 __Pyx_RefNannySetupContext("StrOrEmpty");
1082 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":13
1084 * cdef char *StrOrEmpty( char * buffer ):
1085 * if buffer == NULL: return "" # <<<<<<<<<<<<<<
1086 * else: return buffer
1089 __pyx_t_1 = (__pyx_v_buffer == NULL);
1091 __pyx_r = __pyx_k_2;
1097 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":14
1098 * cdef char *StrOrEmpty( char * buffer ):
1099 * if buffer == NULL: return ""
1100 * else: return buffer # <<<<<<<<<<<<<<
1102 * cdef int isNew( char * p, char * buffer, size_t nbytes ):
1104 __pyx_r = __pyx_v_buffer;
1111 __Pyx_RefNannyFinishContext();
1115 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":16
1116 * else: return buffer
1118 * cdef int isNew( char * p, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
1119 * if p == NULL: return 0
1120 * return not (buffer <= p < buffer + nbytes )
1123 static int __pyx_f_10TabProxies_isNew(char *__pyx_v_p, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
1126 __Pyx_RefNannySetupContext("isNew");
1128 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":17
1130 * cdef int isNew( char * p, char * buffer, size_t nbytes ):
1131 * if p == NULL: return 0 # <<<<<<<<<<<<<<
1132 * return not (buffer <= p < buffer + nbytes )
1135 __pyx_t_1 = (__pyx_v_p == NULL);
1143 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":18
1144 * cdef int isNew( char * p, char * buffer, size_t nbytes ):
1145 * if p == NULL: return 0
1146 * return not (buffer <= p < buffer + nbytes ) # <<<<<<<<<<<<<<
1148 * cdef class TupleProxy:
1150 __pyx_t_1 = (__pyx_v_buffer <= __pyx_v_p);
1152 __pyx_t_1 = (__pyx_v_p < (__pyx_v_buffer + __pyx_v_nbytes));
1154 __pyx_r = (!__pyx_t_1);
1159 __Pyx_RefNannyFinishContext();
1163 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":30
1166 * def __cinit__(self ): # <<<<<<<<<<<<<<
1168 * self.fields = NULL
1171 static int __pyx_pf_10TabProxies_10TupleProxy___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1172 static int __pyx_pf_10TabProxies_10TupleProxy___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1174 __Pyx_RefNannySetupContext("__cinit__");
1175 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
1176 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
1177 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
1179 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":31
1181 * def __cinit__(self ):
1182 * self.data = NULL # <<<<<<<<<<<<<<
1183 * self.fields = NULL
1186 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->data = NULL;
1188 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":32
1189 * def __cinit__(self ):
1191 * self.fields = NULL # <<<<<<<<<<<<<<
1195 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields = NULL;
1197 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":33
1199 * self.fields = NULL
1200 * self.index = 0 # <<<<<<<<<<<<<<
1202 * self.is_modified = 0
1204 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->index = 0;
1206 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":34
1207 * self.fields = NULL
1209 * self.nbytes = 0 # <<<<<<<<<<<<<<
1210 * self.is_modified = 0
1213 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes = 0;
1215 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":35
1218 * self.is_modified = 0 # <<<<<<<<<<<<<<
1220 * # start counting at field offset
1222 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->is_modified = 0;
1224 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":36
1226 * self.is_modified = 0
1227 * self.nfields = 0 # <<<<<<<<<<<<<<
1228 * # start counting at field offset
1231 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields = 0;
1233 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":38
1235 * # start counting at field offset
1236 * self.offset = 0 # <<<<<<<<<<<<<<
1238 * def __dealloc__(self):
1240 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->offset = 0;
1243 __Pyx_RefNannyFinishContext();
1247 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":40
1250 * def __dealloc__(self): # <<<<<<<<<<<<<<
1252 * if self.is_modified:
1255 static void __pyx_pf_10TabProxies_10TupleProxy___dealloc__(PyObject *__pyx_v_self); /*proto*/
1256 static void __pyx_pf_10TabProxies_10TupleProxy___dealloc__(PyObject *__pyx_v_self) {
1261 __Pyx_RefNannySetupContext("__dealloc__");
1263 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":42
1264 * def __dealloc__(self):
1266 * if self.is_modified: # <<<<<<<<<<<<<<
1267 * for x from 0 <= x < self.nfields:
1268 * if isNew( self.fields[x], self.data, self.nbytes ):
1270 if (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->is_modified) {
1272 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":43
1274 * if self.is_modified:
1275 * for x from 0 <= x < self.nfields: # <<<<<<<<<<<<<<
1276 * if isNew( self.fields[x], self.data, self.nbytes ):
1277 * free( self.fields[x] )
1279 __pyx_t_1 = ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields;
1280 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_1; __pyx_v_x++) {
1282 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":44
1283 * if self.is_modified:
1284 * for x from 0 <= x < self.nfields:
1285 * if isNew( self.fields[x], self.data, self.nbytes ): # <<<<<<<<<<<<<<
1286 * free( self.fields[x] )
1287 * self.fields[x] = NULL
1289 __pyx_t_2 = __pyx_f_10TabProxies_isNew((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_x]), ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->data, ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes);
1292 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":45
1293 * for x from 0 <= x < self.nfields:
1294 * if isNew( self.fields[x], self.data, self.nbytes ):
1295 * free( self.fields[x] ) # <<<<<<<<<<<<<<
1296 * self.fields[x] = NULL
1299 free((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_x]));
1301 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":46
1302 * if isNew( self.fields[x], self.data, self.nbytes ):
1303 * free( self.fields[x] )
1304 * self.fields[x] = NULL # <<<<<<<<<<<<<<
1306 * if self.data != NULL: free(self.data)
1308 (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_x]) = NULL;
1317 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":48
1318 * self.fields[x] = NULL
1320 * if self.data != NULL: free(self.data) # <<<<<<<<<<<<<<
1321 * if self.fields != NULL: free( self.fields )
1324 __pyx_t_3 = (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->data != NULL);
1326 free(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->data);
1331 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":49
1333 * if self.data != NULL: free(self.data)
1334 * if self.fields != NULL: free( self.fields ) # <<<<<<<<<<<<<<
1336 * cdef take( self, char * buffer, size_t nbytes ):
1338 __pyx_t_3 = (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields != NULL);
1340 free(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields);
1345 __Pyx_RefNannyFinishContext();
1348 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":51
1349 * if self.fields != NULL: free( self.fields )
1351 * cdef take( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
1352 * '''start presenting buffer.
1356 static PyObject *__pyx_f_10TabProxies_10TupleProxy_take(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
1357 PyObject *__pyx_r = NULL;
1358 PyObject *__pyx_t_1 = NULL;
1359 __Pyx_RefNannySetupContext("take");
1361 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":56
1362 * Take ownership of the pointer.
1364 * self.data = buffer # <<<<<<<<<<<<<<
1365 * self.nbytes = nbytes
1366 * self.update( buffer, nbytes )
1368 __pyx_v_self->data = __pyx_v_buffer;
1370 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":57
1372 * self.data = buffer
1373 * self.nbytes = nbytes # <<<<<<<<<<<<<<
1374 * self.update( buffer, nbytes )
1377 __pyx_v_self->nbytes = __pyx_v_nbytes;
1379 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":58
1380 * self.data = buffer
1381 * self.nbytes = nbytes
1382 * self.update( buffer, nbytes ) # <<<<<<<<<<<<<<
1384 * cdef present( self, char * buffer, size_t nbytes ):
1386 __pyx_t_1 = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1387 __Pyx_GOTREF(__pyx_t_1);
1388 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1390 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1393 __Pyx_XDECREF(__pyx_t_1);
1394 __Pyx_AddTraceback("TabProxies.TupleProxy.take");
1397 __Pyx_XGIVEREF(__pyx_r);
1398 __Pyx_RefNannyFinishContext();
1402 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":60
1403 * self.update( buffer, nbytes )
1405 * cdef present( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
1406 * '''start presenting buffer.
1410 static PyObject *__pyx_f_10TabProxies_10TupleProxy_present(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
1411 PyObject *__pyx_r = NULL;
1412 PyObject *__pyx_t_1 = NULL;
1413 __Pyx_RefNannySetupContext("present");
1415 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":65
1416 * Do not take ownership of the pointer.
1418 * self.update( buffer, nbytes ) # <<<<<<<<<<<<<<
1420 * cdef copy( self, char * buffer, size_t nbytes ):
1422 __pyx_t_1 = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1423 __Pyx_GOTREF(__pyx_t_1);
1424 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1426 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1429 __Pyx_XDECREF(__pyx_t_1);
1430 __Pyx_AddTraceback("TabProxies.TupleProxy.present");
1433 __Pyx_XGIVEREF(__pyx_r);
1434 __Pyx_RefNannyFinishContext();
1438 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":67
1439 * self.update( buffer, nbytes )
1441 * cdef copy( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
1442 * '''start presenting buffer.
1446 static PyObject *__pyx_f_10TabProxies_10TupleProxy_copy(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
1448 PyObject *__pyx_r = NULL;
1450 PyObject *__pyx_t_2 = NULL;
1451 PyObject *__pyx_t_3 = NULL;
1452 __Pyx_RefNannySetupContext("copy");
1454 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":74
1457 * s = sizeof(char) * (nbytes + 1) # <<<<<<<<<<<<<<
1458 * self.data = <char*>malloc( s )
1459 * if self.data == NULL:
1461 __pyx_v_s = ((sizeof(char)) * (__pyx_v_nbytes + 1));
1463 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":75
1465 * s = sizeof(char) * (nbytes + 1)
1466 * self.data = <char*>malloc( s ) # <<<<<<<<<<<<<<
1467 * if self.data == NULL:
1468 * raise ValueError("out of memory" )
1470 __pyx_v_self->data = ((char *)malloc(__pyx_v_s));
1472 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":76
1473 * s = sizeof(char) * (nbytes + 1)
1474 * self.data = <char*>malloc( s )
1475 * if self.data == NULL: # <<<<<<<<<<<<<<
1476 * raise ValueError("out of memory" )
1477 * self.nbytes = nbytes
1479 __pyx_t_1 = (__pyx_v_self->data == NULL);
1482 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":77
1483 * self.data = <char*>malloc( s )
1484 * if self.data == NULL:
1485 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
1486 * self.nbytes = nbytes
1487 * memcpy( <char*>self.data, buffer, s )
1489 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1490 __Pyx_GOTREF(__pyx_t_2);
1491 __Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
1492 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_3));
1493 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
1494 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1495 __Pyx_GOTREF(__pyx_t_3);
1496 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1497 __Pyx_Raise(__pyx_t_3, 0, 0);
1498 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1499 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1504 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":78
1505 * if self.data == NULL:
1506 * raise ValueError("out of memory" )
1507 * self.nbytes = nbytes # <<<<<<<<<<<<<<
1508 * memcpy( <char*>self.data, buffer, s )
1509 * self.update( self.data, nbytes )
1511 __pyx_v_self->nbytes = __pyx_v_nbytes;
1513 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":79
1514 * raise ValueError("out of memory" )
1515 * self.nbytes = nbytes
1516 * memcpy( <char*>self.data, buffer, s ) # <<<<<<<<<<<<<<
1517 * self.update( self.data, nbytes )
1520 memcpy(__pyx_v_self->data, __pyx_v_buffer, __pyx_v_s);
1522 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":80
1523 * self.nbytes = nbytes
1524 * memcpy( <char*>self.data, buffer, s )
1525 * self.update( self.data, nbytes ) # <<<<<<<<<<<<<<
1527 * cdef int getMaxFields( self, size_t nbytes ):
1529 __pyx_t_3 = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_self->data, __pyx_v_nbytes); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1530 __Pyx_GOTREF(__pyx_t_3);
1531 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1533 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1536 __Pyx_XDECREF(__pyx_t_2);
1537 __Pyx_XDECREF(__pyx_t_3);
1538 __Pyx_AddTraceback("TabProxies.TupleProxy.copy");
1541 __Pyx_XGIVEREF(__pyx_r);
1542 __Pyx_RefNannyFinishContext();
1546 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":82
1547 * self.update( self.data, nbytes )
1549 * cdef int getMaxFields( self, size_t nbytes ): # <<<<<<<<<<<<<<
1550 * '''initialize fields.'''
1554 static int __pyx_f_10TabProxies_10TupleProxy_getMaxFields(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, size_t __pyx_v_nbytes) {
1556 __Pyx_RefNannySetupContext("getMaxFields");
1558 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":84
1559 * cdef int getMaxFields( self, size_t nbytes ):
1560 * '''initialize fields.'''
1561 * return nbytes / 2 # <<<<<<<<<<<<<<
1563 * cdef update( self, char * buffer, size_t nbytes ):
1565 __pyx_r = (__pyx_v_nbytes / 2);
1570 __Pyx_RefNannyFinishContext();
1574 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":86
1577 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
1578 * '''update internal data.
1582 static PyObject *__pyx_f_10TabProxies_10TupleProxy_update(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
1584 char *__pyx_v_old_pos;
1586 int __pyx_v_max_fields;
1587 PyObject *__pyx_r = NULL;
1589 PyObject *__pyx_t_2 = NULL;
1590 PyObject *__pyx_t_3 = NULL;
1593 __Pyx_RefNannySetupContext("update");
1595 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":101
1596 * cdef int max_fields, x
1598 * if buffer[nbytes] != 0: # <<<<<<<<<<<<<<
1599 * raise ValueError( "incomplete line at %s" % buffer )
1602 __pyx_t_1 = ((__pyx_v_buffer[__pyx_v_nbytes]) != 0);
1605 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":102
1607 * if buffer[nbytes] != 0:
1608 * raise ValueError( "incomplete line at %s" % buffer ) # <<<<<<<<<<<<<<
1610 * #################################
1612 __pyx_t_2 = PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1613 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1614 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1615 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
1616 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
1617 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1618 __Pyx_GOTREF(__pyx_t_2);
1619 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
1620 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
1622 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1623 __Pyx_GOTREF(__pyx_t_3);
1624 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1625 __Pyx_Raise(__pyx_t_3, 0, 0);
1626 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1627 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1632 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":106
1633 * #################################
1635 * if self.fields != NULL: free(self.fields) # <<<<<<<<<<<<<<
1637 * for field from 0 <= field < self.nfields:
1639 __pyx_t_1 = (__pyx_v_self->fields != NULL);
1641 free(__pyx_v_self->fields);
1646 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":108
1647 * if self.fields != NULL: free(self.fields)
1649 * for field from 0 <= field < self.nfields: # <<<<<<<<<<<<<<
1650 * if isNew( self.fields[field], self.data, self.nbytes ):
1651 * free( self.fields[field] )
1653 __pyx_t_4 = __pyx_v_self->nfields;
1654 for (__pyx_v_field = 0; __pyx_v_field < __pyx_t_4; __pyx_v_field++) {
1656 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":109
1658 * for field from 0 <= field < self.nfields:
1659 * if isNew( self.fields[field], self.data, self.nbytes ): # <<<<<<<<<<<<<<
1660 * free( self.fields[field] )
1663 __pyx_t_5 = __pyx_f_10TabProxies_isNew((__pyx_v_self->fields[__pyx_v_field]), __pyx_v_self->data, __pyx_v_self->nbytes);
1666 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":110
1667 * for field from 0 <= field < self.nfields:
1668 * if isNew( self.fields[field], self.data, self.nbytes ):
1669 * free( self.fields[field] ) # <<<<<<<<<<<<<<
1671 * self.is_modified = self.nfields = 0
1673 free((__pyx_v_self->fields[__pyx_v_field]));
1679 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":112
1680 * free( self.fields[field] )
1682 * self.is_modified = self.nfields = 0 # <<<<<<<<<<<<<<
1684 * #################################
1686 __pyx_v_self->is_modified = 0;
1687 __pyx_v_self->nfields = 0;
1689 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":116
1690 * #################################
1692 * max_fields = self.getMaxFields( nbytes ) # <<<<<<<<<<<<<<
1693 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
1694 * if self.fields == NULL:
1696 __pyx_v_max_fields = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->getMaxFields(__pyx_v_self, __pyx_v_nbytes);
1698 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":117
1700 * max_fields = self.getMaxFields( nbytes )
1701 * self.fields = <char **>calloc( max_fields, sizeof(char *) ) # <<<<<<<<<<<<<<
1702 * if self.fields == NULL:
1703 * raise ValueError("out of memory" )
1705 __pyx_v_self->fields = ((char **)calloc(__pyx_v_max_fields, (sizeof(char *))));
1707 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":118
1708 * max_fields = self.getMaxFields( nbytes )
1709 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
1710 * if self.fields == NULL: # <<<<<<<<<<<<<<
1711 * raise ValueError("out of memory" )
1714 __pyx_t_1 = (__pyx_v_self->fields == NULL);
1717 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":119
1718 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
1719 * if self.fields == NULL:
1720 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
1722 * #################################
1724 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1725 __Pyx_GOTREF(__pyx_t_3);
1726 __Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
1727 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_3));
1728 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
1729 __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1730 __Pyx_GOTREF(__pyx_t_2);
1731 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1732 __Pyx_Raise(__pyx_t_2, 0, 0);
1733 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1734 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1739 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":123
1740 * #################################
1742 * field = 0 # <<<<<<<<<<<<<<
1743 * self.fields[field] = pos = buffer
1748 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":124
1751 * self.fields[field] = pos = buffer # <<<<<<<<<<<<<<
1755 (__pyx_v_self->fields[__pyx_v_field]) = __pyx_v_buffer;
1756 __pyx_v_pos = __pyx_v_buffer;
1758 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":125
1760 * self.fields[field] = pos = buffer
1761 * field += 1 # <<<<<<<<<<<<<<
1767 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":126
1768 * self.fields[field] = pos = buffer
1770 * old_pos = pos # <<<<<<<<<<<<<<
1774 __pyx_v_old_pos = __pyx_v_pos;
1776 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":128
1779 * while 1: # <<<<<<<<<<<<<<
1781 * pos = <char*>memchr( pos, '\t', nbytes )
1786 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":130
1789 * pos = <char*>memchr( pos, '\t', nbytes ) # <<<<<<<<<<<<<<
1790 * if pos == NULL: break
1793 __pyx_v_pos = ((char *)memchr(__pyx_v_pos, '\t', __pyx_v_nbytes));
1795 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":131
1797 * pos = <char*>memchr( pos, '\t', nbytes )
1798 * if pos == NULL: break # <<<<<<<<<<<<<<
1802 __pyx_t_1 = (__pyx_v_pos == NULL);
1804 goto __pyx_L10_break;
1809 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":132
1810 * pos = <char*>memchr( pos, '\t', nbytes )
1811 * if pos == NULL: break
1812 * pos[0] = '\0' # <<<<<<<<<<<<<<
1814 * self.fields[field] = pos
1816 (__pyx_v_pos[0]) = '\x00';
1818 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":133
1819 * if pos == NULL: break
1821 * pos += 1 # <<<<<<<<<<<<<<
1822 * self.fields[field] = pos
1827 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":134
1830 * self.fields[field] = pos # <<<<<<<<<<<<<<
1832 * if field >= max_fields:
1834 (__pyx_v_self->fields[__pyx_v_field]) = __pyx_v_pos;
1836 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":135
1838 * self.fields[field] = pos
1839 * field += 1 # <<<<<<<<<<<<<<
1840 * if field >= max_fields:
1841 * raise ValueError("row too large - more than %i fields" % max_fields )
1845 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":136
1846 * self.fields[field] = pos
1848 * if field >= max_fields: # <<<<<<<<<<<<<<
1849 * raise ValueError("row too large - more than %i fields" % max_fields )
1850 * nbytes -= pos - old_pos
1852 __pyx_t_1 = (__pyx_v_field >= __pyx_v_max_fields);
1855 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":137
1857 * if field >= max_fields:
1858 * raise ValueError("row too large - more than %i fields" % max_fields ) # <<<<<<<<<<<<<<
1859 * nbytes -= pos - old_pos
1860 * if nbytes < 0: break
1862 __pyx_t_2 = PyInt_FromLong(__pyx_v_max_fields); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1863 __Pyx_GOTREF(__pyx_t_2);
1864 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1865 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
1866 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1867 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1868 __Pyx_GOTREF(__pyx_t_2);
1869 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
1870 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
1872 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1873 __Pyx_GOTREF(__pyx_t_3);
1874 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1875 __Pyx_Raise(__pyx_t_3, 0, 0);
1876 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1877 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1882 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":138
1883 * if field >= max_fields:
1884 * raise ValueError("row too large - more than %i fields" % max_fields )
1885 * nbytes -= pos - old_pos # <<<<<<<<<<<<<<
1886 * if nbytes < 0: break
1889 __pyx_v_nbytes -= (__pyx_v_pos - __pyx_v_old_pos);
1891 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":139
1892 * raise ValueError("row too large - more than %i fields" % max_fields )
1893 * nbytes -= pos - old_pos
1894 * if nbytes < 0: break # <<<<<<<<<<<<<<
1898 __pyx_t_1 = (__pyx_v_nbytes < 0);
1900 goto __pyx_L10_break;
1905 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":140
1906 * nbytes -= pos - old_pos
1907 * if nbytes < 0: break
1908 * old_pos = pos # <<<<<<<<<<<<<<
1910 * self.nfields = field
1912 __pyx_v_old_pos = __pyx_v_pos;
1916 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":142
1919 * self.nfields = field # <<<<<<<<<<<<<<
1921 * def __getitem__( self, key ):
1923 __pyx_v_self->nfields = __pyx_v_field;
1925 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1928 __Pyx_XDECREF(__pyx_t_2);
1929 __Pyx_XDECREF(__pyx_t_3);
1930 __Pyx_AddTraceback("TabProxies.TupleProxy.update");
1933 __Pyx_XGIVEREF(__pyx_r);
1934 __Pyx_RefNannyFinishContext();
1938 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":144
1939 * self.nfields = field
1941 * def __getitem__( self, key ): # <<<<<<<<<<<<<<
1946 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
1947 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
1949 PyObject *__pyx_r = NULL;
1952 PyObject *__pyx_t_3 = NULL;
1953 PyObject *__pyx_t_4 = NULL;
1954 __Pyx_RefNannySetupContext("__getitem__");
1956 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":146
1957 * def __getitem__( self, key ):
1959 * cdef int i = key # <<<<<<<<<<<<<<
1960 * if i < 0: i += self.nfields
1961 * if i < 0: raise IndexError( "list index out of range" )
1963 __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_key); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1964 __pyx_v_i = __pyx_t_1;
1966 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":147
1969 * if i < 0: i += self.nfields # <<<<<<<<<<<<<<
1970 * if i < 0: raise IndexError( "list index out of range" )
1973 __pyx_t_2 = (__pyx_v_i < 0);
1975 __pyx_v_i += ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields;
1980 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":148
1982 * if i < 0: i += self.nfields
1983 * if i < 0: raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
1985 * if i >= self.nfields:
1987 __pyx_t_2 = (__pyx_v_i < 0);
1989 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1990 __Pyx_GOTREF(__pyx_t_3);
1991 __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
1992 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_6));
1993 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
1994 __pyx_t_4 = PyObject_Call(__pyx_builtin_IndexError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1995 __Pyx_GOTREF(__pyx_t_4);
1996 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1997 __Pyx_Raise(__pyx_t_4, 0, 0);
1998 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1999 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2004 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":149
2005 * if i < 0: i += self.nfields
2006 * if i < 0: raise IndexError( "list index out of range" )
2007 * i += self.offset # <<<<<<<<<<<<<<
2008 * if i >= self.nfields:
2009 * raise IndexError( "list index out of range" )
2011 __pyx_v_i += ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->offset;
2013 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":150
2014 * if i < 0: raise IndexError( "list index out of range" )
2016 * if i >= self.nfields: # <<<<<<<<<<<<<<
2017 * raise IndexError( "list index out of range" )
2018 * return self.fields[i]
2020 __pyx_t_2 = (__pyx_v_i >= ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields);
2023 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":151
2025 * if i >= self.nfields:
2026 * raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
2027 * return self.fields[i]
2030 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2031 __Pyx_GOTREF(__pyx_t_4);
2032 __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
2033 PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_6));
2034 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
2035 __pyx_t_3 = PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2036 __Pyx_GOTREF(__pyx_t_3);
2037 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2038 __Pyx_Raise(__pyx_t_3, 0, 0);
2039 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2040 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2045 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":152
2046 * if i >= self.nfields:
2047 * raise IndexError( "list index out of range" )
2048 * return self.fields[i] # <<<<<<<<<<<<<<
2050 * def _setindex( self, index, value ):
2052 __Pyx_XDECREF(__pyx_r);
2053 __pyx_t_3 = PyBytes_FromString((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2054 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
2055 __pyx_r = ((PyObject *)__pyx_t_3);
2059 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2062 __Pyx_XDECREF(__pyx_t_3);
2063 __Pyx_XDECREF(__pyx_t_4);
2064 __Pyx_AddTraceback("TabProxies.TupleProxy.__getitem__");
2067 __Pyx_XGIVEREF(__pyx_r);
2068 __Pyx_RefNannyFinishContext();
2072 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":154
2073 * return self.fields[i]
2075 * def _setindex( self, index, value ): # <<<<<<<<<<<<<<
2076 * '''set item at idx index.'''
2077 * cdef int idx = index
2080 static PyObject *__pyx_pf_10TabProxies_10TupleProxy__setindex(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2081 static char __pyx_doc_10TabProxies_10TupleProxy__setindex[] = "set item at idx index.";
2082 static PyObject *__pyx_pf_10TabProxies_10TupleProxy__setindex(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2083 PyObject *__pyx_v_index = 0;
2084 PyObject *__pyx_v_value = 0;
2087 PyObject *__pyx_r = NULL;
2090 PyObject *__pyx_t_3 = NULL;
2091 PyObject *__pyx_t_4 = NULL;
2093 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__value,0};
2094 __Pyx_RefNannySetupContext("_setindex");
2095 if (unlikely(__pyx_kwds)) {
2096 Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2097 PyObject* values[2] = {0,0};
2098 switch (PyTuple_GET_SIZE(__pyx_args)) {
2099 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
2100 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2102 default: goto __pyx_L5_argtuple_error;
2104 switch (PyTuple_GET_SIZE(__pyx_args)) {
2106 values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
2107 if (likely(values[0])) kw_args--;
2108 else goto __pyx_L5_argtuple_error;
2110 values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value);
2111 if (likely(values[1])) kw_args--;
2113 __Pyx_RaiseArgtupleInvalid("_setindex", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2116 if (unlikely(kw_args > 0)) {
2117 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "_setindex") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2119 __pyx_v_index = values[0];
2120 __pyx_v_value = values[1];
2121 } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
2122 goto __pyx_L5_argtuple_error;
2124 __pyx_v_index = PyTuple_GET_ITEM(__pyx_args, 0);
2125 __pyx_v_value = PyTuple_GET_ITEM(__pyx_args, 1);
2127 goto __pyx_L4_argument_unpacking_done;
2128 __pyx_L5_argtuple_error:;
2129 __Pyx_RaiseArgtupleInvalid("_setindex", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2131 __Pyx_AddTraceback("TabProxies.TupleProxy._setindex");
2132 __Pyx_RefNannyFinishContext();
2134 __pyx_L4_argument_unpacking_done:;
2136 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":156
2137 * def _setindex( self, index, value ):
2138 * '''set item at idx index.'''
2139 * cdef int idx = index # <<<<<<<<<<<<<<
2140 * if idx < 0: raise IndexError( "list index out of range" )
2141 * if idx >= self.nfields:
2143 __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_index); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2144 __pyx_v_idx = __pyx_t_1;
2146 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":157
2147 * '''set item at idx index.'''
2148 * cdef int idx = index
2149 * if idx < 0: raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
2150 * if idx >= self.nfields:
2151 * raise IndexError( "list index out of range" )
2153 __pyx_t_2 = (__pyx_v_idx < 0);
2155 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2156 __Pyx_GOTREF(__pyx_t_3);
2157 __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
2158 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_6));
2159 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
2160 __pyx_t_4 = PyObject_Call(__pyx_builtin_IndexError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2161 __Pyx_GOTREF(__pyx_t_4);
2162 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2163 __Pyx_Raise(__pyx_t_4, 0, 0);
2164 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2165 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2170 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":158
2171 * cdef int idx = index
2172 * if idx < 0: raise IndexError( "list index out of range" )
2173 * if idx >= self.nfields: # <<<<<<<<<<<<<<
2174 * raise IndexError( "list index out of range" )
2177 __pyx_t_2 = (__pyx_v_idx >= ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields);
2180 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":159
2181 * if idx < 0: raise IndexError( "list index out of range" )
2182 * if idx >= self.nfields:
2183 * raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
2185 * if isNew( self.fields[idx], self.data, self.nbytes ):
2187 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2188 __Pyx_GOTREF(__pyx_t_4);
2189 __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
2190 PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_6));
2191 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
2192 __pyx_t_3 = PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2193 __Pyx_GOTREF(__pyx_t_3);
2194 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2195 __Pyx_Raise(__pyx_t_3, 0, 0);
2196 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2197 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2202 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":161
2203 * raise IndexError( "list index out of range" )
2205 * if isNew( self.fields[idx], self.data, self.nbytes ): # <<<<<<<<<<<<<<
2206 * free( self.fields[idx] )
2209 __pyx_t_1 = __pyx_f_10TabProxies_isNew((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_idx]), ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->data, ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes);
2212 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":162
2214 * if isNew( self.fields[idx], self.data, self.nbytes ):
2215 * free( self.fields[idx] ) # <<<<<<<<<<<<<<
2217 * self.is_modified = 1
2219 free((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_idx]));
2224 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":164
2225 * free( self.fields[idx] )
2227 * self.is_modified = 1 # <<<<<<<<<<<<<<
2231 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->is_modified = 1;
2233 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":166
2234 * self.is_modified = 1
2236 * if value == None: # <<<<<<<<<<<<<<
2237 * self.fields[idx] = NULL
2240 __pyx_t_3 = PyObject_RichCompare(__pyx_v_value, Py_None, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2241 __Pyx_GOTREF(__pyx_t_3);
2242 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2243 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2246 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":167
2249 * self.fields[idx] = NULL # <<<<<<<<<<<<<<
2253 (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_idx]) = NULL;
2255 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":168
2257 * self.fields[idx] = NULL
2258 * return # <<<<<<<<<<<<<<
2260 * # conversion with error checking
2262 __Pyx_XDECREF(__pyx_r);
2263 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2269 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":171
2271 * # conversion with error checking
2272 * cdef char * tmp = PyString_AsString( value ) # <<<<<<<<<<<<<<
2273 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
2274 * if self.fields[idx] == NULL:
2276 __pyx_t_5 = PyString_AsString(__pyx_v_value); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2277 __pyx_v_tmp = __pyx_t_5;
2279 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":172
2280 * # conversion with error checking
2281 * cdef char * tmp = PyString_AsString( value )
2282 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) ) # <<<<<<<<<<<<<<
2283 * if self.fields[idx] == NULL:
2284 * raise ValueError("out of memory" )
2286 (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_idx]) = ((char *)malloc(((strlen(__pyx_v_tmp) + 1) * (sizeof(char)))));
2288 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":173
2289 * cdef char * tmp = PyString_AsString( value )
2290 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
2291 * if self.fields[idx] == NULL: # <<<<<<<<<<<<<<
2292 * raise ValueError("out of memory" )
2293 * strcpy( self.fields[idx], tmp )
2295 __pyx_t_2 = ((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_idx]) == NULL);
2298 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":174
2299 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
2300 * if self.fields[idx] == NULL:
2301 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
2302 * strcpy( self.fields[idx], tmp )
2305 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2306 __Pyx_GOTREF(__pyx_t_3);
2307 __Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
2308 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_3));
2309 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
2310 __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2311 __Pyx_GOTREF(__pyx_t_4);
2312 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2313 __Pyx_Raise(__pyx_t_4, 0, 0);
2314 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2315 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2320 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":175
2321 * if self.fields[idx] == NULL:
2322 * raise ValueError("out of memory" )
2323 * strcpy( self.fields[idx], tmp ) # <<<<<<<<<<<<<<
2325 * def __setitem__(self, index, value ):
2327 strcpy((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_idx]), __pyx_v_tmp);
2329 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2332 __Pyx_XDECREF(__pyx_t_3);
2333 __Pyx_XDECREF(__pyx_t_4);
2334 __Pyx_AddTraceback("TabProxies.TupleProxy._setindex");
2337 __Pyx_XGIVEREF(__pyx_r);
2338 __Pyx_RefNannyFinishContext();
2342 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":177
2343 * strcpy( self.fields[idx], tmp )
2345 * def __setitem__(self, index, value ): # <<<<<<<<<<<<<<
2346 * '''set item at *index* to *value*'''
2347 * cdef int i = index
2350 static int __pyx_pf_10TabProxies_10TupleProxy___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/
2351 static char __pyx_doc_10TabProxies_10TupleProxy___setitem__[] = "set item at *index* to *value*";
2352 struct wrapperbase __pyx_wrapperbase_10TabProxies_10TupleProxy___setitem__;
2353 static int __pyx_pf_10TabProxies_10TupleProxy___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
2358 PyObject *__pyx_t_3 = NULL;
2359 PyObject *__pyx_t_4 = NULL;
2360 PyObject *__pyx_t_5 = NULL;
2361 __Pyx_RefNannySetupContext("__setitem__");
2363 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":179
2364 * def __setitem__(self, index, value ):
2365 * '''set item at *index* to *value*'''
2366 * cdef int i = index # <<<<<<<<<<<<<<
2367 * if i < 0: i += self.nfields
2370 __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_index); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2371 __pyx_v_i = __pyx_t_1;
2373 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":180
2374 * '''set item at *index* to *value*'''
2375 * cdef int i = index
2376 * if i < 0: i += self.nfields # <<<<<<<<<<<<<<
2380 __pyx_t_2 = (__pyx_v_i < 0);
2382 __pyx_v_i += ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields;
2387 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":181
2388 * cdef int i = index
2389 * if i < 0: i += self.nfields
2390 * i += self.offset # <<<<<<<<<<<<<<
2392 * self._setindex( i, value )
2394 __pyx_v_i += ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->offset;
2396 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":183
2399 * self._setindex( i, value ) # <<<<<<<<<<<<<<
2401 * def __len__(self):
2403 __pyx_t_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s___setindex); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2404 __Pyx_GOTREF(__pyx_t_3);
2405 __pyx_t_4 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2406 __Pyx_GOTREF(__pyx_t_4);
2407 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2408 __Pyx_GOTREF(__pyx_t_5);
2409 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
2410 __Pyx_GIVEREF(__pyx_t_4);
2411 __Pyx_INCREF(__pyx_v_value);
2412 PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_value);
2413 __Pyx_GIVEREF(__pyx_v_value);
2415 __pyx_t_4 = PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2416 __Pyx_GOTREF(__pyx_t_4);
2417 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2418 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2419 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2424 __Pyx_XDECREF(__pyx_t_3);
2425 __Pyx_XDECREF(__pyx_t_4);
2426 __Pyx_XDECREF(__pyx_t_5);
2427 __Pyx_AddTraceback("TabProxies.TupleProxy.__setitem__");
2430 __Pyx_RefNannyFinishContext();
2434 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":185
2435 * self._setindex( i, value )
2437 * def __len__(self): # <<<<<<<<<<<<<<
2438 * return self.nfields
2442 static Py_ssize_t __pyx_pf_10TabProxies_10TupleProxy___len__(PyObject *__pyx_v_self); /*proto*/
2443 static Py_ssize_t __pyx_pf_10TabProxies_10TupleProxy___len__(PyObject *__pyx_v_self) {
2445 __Pyx_RefNannySetupContext("__len__");
2447 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":186
2449 * def __len__(self):
2450 * return self.nfields # <<<<<<<<<<<<<<
2452 * def __iter__(self):
2454 __pyx_r = ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields;
2459 __Pyx_RefNannyFinishContext();
2463 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":188
2464 * return self.nfields
2466 * def __iter__(self): # <<<<<<<<<<<<<<
2471 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___iter__(PyObject *__pyx_v_self); /*proto*/
2472 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___iter__(PyObject *__pyx_v_self) {
2473 PyObject *__pyx_r = NULL;
2474 __Pyx_RefNannySetupContext("__iter__");
2476 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":189
2478 * def __iter__(self):
2479 * self.index = 0 # <<<<<<<<<<<<<<
2483 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->index = 0;
2485 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":190
2486 * def __iter__(self):
2488 * return self # <<<<<<<<<<<<<<
2490 * def __next__(self):
2492 __Pyx_XDECREF(__pyx_r);
2493 __Pyx_INCREF(__pyx_v_self);
2494 __pyx_r = __pyx_v_self;
2497 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2499 __Pyx_XGIVEREF(__pyx_r);
2500 __Pyx_RefNannyFinishContext();
2504 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":192
2507 * def __next__(self): # <<<<<<<<<<<<<<
2508 * """python version of next().
2512 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___next__(PyObject *__pyx_v_self); /*proto*/
2513 static char __pyx_doc_10TabProxies_10TupleProxy___next__[] = "python version of next().\n ";
2514 struct wrapperbase __pyx_wrapperbase_10TabProxies_10TupleProxy___next__;
2515 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___next__(PyObject *__pyx_v_self) {
2516 char *__pyx_v_retval;
2517 PyObject *__pyx_r = NULL;
2519 PyObject *__pyx_t_2 = NULL;
2520 __Pyx_RefNannySetupContext("__next__");
2522 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":195
2523 * """python version of next().
2525 * if self.index >= self.nfields: # <<<<<<<<<<<<<<
2526 * raise StopIteration
2527 * cdef char * retval = self.fields[self.index]
2529 __pyx_t_1 = (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->index >= ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields);
2532 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":196
2534 * if self.index >= self.nfields:
2535 * raise StopIteration # <<<<<<<<<<<<<<
2536 * cdef char * retval = self.fields[self.index]
2539 __Pyx_Raise(__pyx_builtin_StopIteration, 0, 0);
2540 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2545 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":197
2546 * if self.index >= self.nfields:
2547 * raise StopIteration
2548 * cdef char * retval = self.fields[self.index] # <<<<<<<<<<<<<<
2550 * if retval == NULL: return None
2552 __pyx_v_retval = (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->index]);
2554 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":198
2555 * raise StopIteration
2556 * cdef char * retval = self.fields[self.index]
2557 * self.index += 1 # <<<<<<<<<<<<<<
2558 * if retval == NULL: return None
2559 * else: return retval
2561 ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->index += 1;
2563 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":199
2564 * cdef char * retval = self.fields[self.index]
2566 * if retval == NULL: return None # <<<<<<<<<<<<<<
2567 * else: return retval
2570 __pyx_t_1 = (__pyx_v_retval == NULL);
2572 __Pyx_XDECREF(__pyx_r);
2573 __Pyx_INCREF(Py_None);
2580 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":200
2582 * if retval == NULL: return None
2583 * else: return retval # <<<<<<<<<<<<<<
2585 * def __str__(self):
2587 __Pyx_XDECREF(__pyx_r);
2588 __pyx_t_2 = PyBytes_FromString(__pyx_v_retval); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2589 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
2590 __pyx_r = ((PyObject *)__pyx_t_2);
2596 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2599 __Pyx_XDECREF(__pyx_t_2);
2600 __Pyx_AddTraceback("TabProxies.TupleProxy.__next__");
2603 __Pyx_XGIVEREF(__pyx_r);
2604 __Pyx_RefNannyFinishContext();
2608 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":202
2609 * else: return retval
2611 * def __str__(self): # <<<<<<<<<<<<<<
2612 * '''return original data'''
2613 * # copy and replace \0 bytes with \t characters
2616 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___str__(PyObject *__pyx_v_self); /*proto*/
2617 static char __pyx_doc_10TabProxies_10TupleProxy___str__[] = "return original data";
2618 struct wrapperbase __pyx_wrapperbase_10TabProxies_10TupleProxy___str__;
2619 static PyObject *__pyx_pf_10TabProxies_10TupleProxy___str__(PyObject *__pyx_v_self) {
2622 PyObject *__pyx_v_result;
2623 PyObject *__pyx_r = NULL;
2624 PyObject *__pyx_t_1 = NULL;
2625 PyObject *__pyx_t_2 = NULL;
2628 PyObject *__pyx_t_5 = NULL;
2630 __Pyx_RefNannySetupContext("__str__");
2631 __pyx_v_result = Py_None; __Pyx_INCREF(Py_None);
2633 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":205
2634 * '''return original data'''
2635 * # copy and replace \0 bytes with \t characters
2636 * if self.is_modified: # <<<<<<<<<<<<<<
2637 * # todo: treat NULL values
2638 * return "\t".join( [StrOrEmpty( self.fields[x]) for x in xrange(0, self.nfields ) ] )
2640 if (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->is_modified) {
2642 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":207
2643 * if self.is_modified:
2644 * # todo: treat NULL values
2645 * return "\t".join( [StrOrEmpty( self.fields[x]) for x in xrange(0, self.nfields ) ] ) # <<<<<<<<<<<<<<
2647 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
2649 __Pyx_XDECREF(__pyx_r);
2650 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_7), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2651 __Pyx_GOTREF(__pyx_t_1);
2652 __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2653 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
2654 __pyx_t_3 = ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nfields;
2655 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
2656 __pyx_v_x = __pyx_t_4;
2657 __pyx_t_5 = PyBytes_FromString(__pyx_f_10TabProxies_StrOrEmpty((((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->fields[__pyx_v_x]))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2658 __Pyx_GOTREF(((PyObject *)__pyx_t_5));
2659 if (unlikely(PyList_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2660 __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
2662 __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2663 __Pyx_GOTREF(__pyx_t_5);
2664 __Pyx_INCREF(((PyObject *)__pyx_t_2));
2665 PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_2));
2666 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
2667 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
2668 __pyx_t_2 = PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2669 __Pyx_GOTREF(__pyx_t_2);
2670 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2671 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2672 __pyx_r = __pyx_t_2;
2679 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":209
2680 * return "\t".join( [StrOrEmpty( self.fields[x]) for x in xrange(0, self.nfields ) ] )
2682 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 ) # <<<<<<<<<<<<<<
2684 * raise ValueError("out of memory" )
2686 __pyx_v_cpy = ((char *)calloc((sizeof(char)), (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes + 1)));
2688 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":210
2690 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
2691 * if cpy == NULL: # <<<<<<<<<<<<<<
2692 * raise ValueError("out of memory" )
2693 * memcpy( cpy, self.data, self.nbytes+1)
2695 __pyx_t_6 = (__pyx_v_cpy == NULL);
2698 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":211
2699 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
2701 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
2702 * memcpy( cpy, self.data, self.nbytes+1)
2703 * for x from 0 <= x < self.nbytes:
2705 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2706 __Pyx_GOTREF(__pyx_t_2);
2707 __Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
2708 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_3));
2709 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
2710 __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2711 __Pyx_GOTREF(__pyx_t_5);
2712 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2713 __Pyx_Raise(__pyx_t_5, 0, 0);
2714 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2715 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2720 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":212
2722 * raise ValueError("out of memory" )
2723 * memcpy( cpy, self.data, self.nbytes+1) # <<<<<<<<<<<<<<
2724 * for x from 0 <= x < self.nbytes:
2725 * if cpy[x] == '\0': cpy[x] = '\t'
2727 memcpy(__pyx_v_cpy, ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->data, (((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes + 1));
2729 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":213
2730 * raise ValueError("out of memory" )
2731 * memcpy( cpy, self.data, self.nbytes+1)
2732 * for x from 0 <= x < self.nbytes: # <<<<<<<<<<<<<<
2733 * if cpy[x] == '\0': cpy[x] = '\t'
2734 * result = PyString_FromStringAndSize(cpy, self.nbytes)
2736 __pyx_t_3 = ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes;
2737 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_3; __pyx_v_x++) {
2739 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":214
2740 * memcpy( cpy, self.data, self.nbytes+1)
2741 * for x from 0 <= x < self.nbytes:
2742 * if cpy[x] == '\0': cpy[x] = '\t' # <<<<<<<<<<<<<<
2743 * result = PyString_FromStringAndSize(cpy, self.nbytes)
2746 __pyx_t_6 = ((__pyx_v_cpy[__pyx_v_x]) == '\x00');
2748 (__pyx_v_cpy[__pyx_v_x]) = '\t';
2754 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":215
2755 * for x from 0 <= x < self.nbytes:
2756 * if cpy[x] == '\0': cpy[x] = '\t'
2757 * result = PyString_FromStringAndSize(cpy, self.nbytes) # <<<<<<<<<<<<<<
2761 __pyx_t_5 = PyString_FromStringAndSize(__pyx_v_cpy, ((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self)->nbytes); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2762 __Pyx_GOTREF(__pyx_t_5);
2763 __Pyx_DECREF(__pyx_v_result);
2764 __pyx_v_result = __pyx_t_5;
2767 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":216
2768 * if cpy[x] == '\0': cpy[x] = '\t'
2769 * result = PyString_FromStringAndSize(cpy, self.nbytes)
2770 * free(cpy) # <<<<<<<<<<<<<<
2776 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":217
2777 * result = PyString_FromStringAndSize(cpy, self.nbytes)
2779 * return result # <<<<<<<<<<<<<<
2783 __Pyx_XDECREF(__pyx_r);
2784 __Pyx_INCREF(__pyx_v_result);
2785 __pyx_r = __pyx_v_result;
2790 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2793 __Pyx_XDECREF(__pyx_t_1);
2794 __Pyx_XDECREF(__pyx_t_2);
2795 __Pyx_XDECREF(__pyx_t_5);
2796 __Pyx_AddTraceback("TabProxies.TupleProxy.__str__");
2799 __Pyx_DECREF(__pyx_v_result);
2800 __Pyx_XGIVEREF(__pyx_r);
2801 __Pyx_RefNannyFinishContext();
2805 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":219
2808 * def toDot( v ): # <<<<<<<<<<<<<<
2809 * '''convert value to '.' if None'''
2810 * if v == None: return "."
2813 static PyObject *__pyx_pf_10TabProxies_toDot(PyObject *__pyx_self, PyObject *__pyx_v_v); /*proto*/
2814 static char __pyx_doc_10TabProxies_toDot[] = "convert value to '.' if None";
2815 static PyObject *__pyx_pf_10TabProxies_toDot(PyObject *__pyx_self, PyObject *__pyx_v_v) {
2816 PyObject *__pyx_r = NULL;
2817 PyObject *__pyx_t_1 = NULL;
2819 PyObject *__pyx_t_3 = NULL;
2820 __Pyx_RefNannySetupContext("toDot");
2821 __pyx_self = __pyx_self;
2823 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":221
2825 * '''convert value to '.' if None'''
2826 * if v == None: return "." # <<<<<<<<<<<<<<
2827 * else: return str(v)
2830 __pyx_t_1 = PyObject_RichCompare(__pyx_v_v, Py_None, Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2831 __Pyx_GOTREF(__pyx_t_1);
2832 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2833 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2835 __Pyx_XDECREF(__pyx_r);
2836 __Pyx_INCREF(((PyObject *)__pyx_kp_s_8));
2837 __pyx_r = ((PyObject *)__pyx_kp_s_8);
2843 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":222
2844 * '''convert value to '.' if None'''
2845 * if v == None: return "."
2846 * else: return str(v) # <<<<<<<<<<<<<<
2850 __Pyx_XDECREF(__pyx_r);
2851 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2852 __Pyx_GOTREF(__pyx_t_1);
2853 __Pyx_INCREF(__pyx_v_v);
2854 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_v);
2855 __Pyx_GIVEREF(__pyx_v_v);
2856 __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2857 __Pyx_GOTREF(__pyx_t_3);
2858 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2859 __pyx_r = __pyx_t_3;
2865 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2868 __Pyx_XDECREF(__pyx_t_1);
2869 __Pyx_XDECREF(__pyx_t_3);
2870 __Pyx_AddTraceback("TabProxies.toDot");
2873 __Pyx_XGIVEREF(__pyx_r);
2874 __Pyx_RefNannyFinishContext();
2878 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":224
2879 * else: return str(v)
2881 * def quote( v ): # <<<<<<<<<<<<<<
2882 * '''return a quoted attribute.'''
2883 * if type(v) in types.StringTypes:
2886 static PyObject *__pyx_pf_10TabProxies_quote(PyObject *__pyx_self, PyObject *__pyx_v_v); /*proto*/
2887 static char __pyx_doc_10TabProxies_quote[] = "return a quoted attribute.";
2888 static PyObject *__pyx_pf_10TabProxies_quote(PyObject *__pyx_self, PyObject *__pyx_v_v) {
2889 PyObject *__pyx_r = NULL;
2890 PyObject *__pyx_t_1 = NULL;
2891 PyObject *__pyx_t_2 = NULL;
2893 __Pyx_RefNannySetupContext("quote");
2894 __pyx_self = __pyx_self;
2896 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":226
2898 * '''return a quoted attribute.'''
2899 * if type(v) in types.StringTypes: # <<<<<<<<<<<<<<
2903 __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__types); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2904 __Pyx_GOTREF(__pyx_t_1);
2905 __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__StringTypes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2906 __Pyx_GOTREF(__pyx_t_2);
2907 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2908 __pyx_t_3 = ((PySequence_Contains(__pyx_t_2, ((PyObject *)Py_TYPE(__pyx_v_v))))); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2909 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2912 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":227
2913 * '''return a quoted attribute.'''
2914 * if type(v) in types.StringTypes:
2915 * return '"%s"' % v # <<<<<<<<<<<<<<
2919 __Pyx_XDECREF(__pyx_r);
2920 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), __pyx_v_v); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2921 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
2922 __pyx_r = ((PyObject *)__pyx_t_2);
2929 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":229
2932 * return str(v) # <<<<<<<<<<<<<<
2934 * cdef class GTFProxy( TupleProxy ):
2936 __Pyx_XDECREF(__pyx_r);
2937 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2938 __Pyx_GOTREF(__pyx_t_2);
2939 __Pyx_INCREF(__pyx_v_v);
2940 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v);
2941 __Pyx_GIVEREF(__pyx_v_v);
2942 __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2943 __Pyx_GOTREF(__pyx_t_1);
2944 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2945 __pyx_r = __pyx_t_1;
2951 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2954 __Pyx_XDECREF(__pyx_t_1);
2955 __Pyx_XDECREF(__pyx_t_2);
2956 __Pyx_AddTraceback("TabProxies.quote");
2959 __Pyx_XGIVEREF(__pyx_r);
2960 __Pyx_RefNannyFinishContext();
2964 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":245
2967 * def __cinit__(self ): # <<<<<<<<<<<<<<
2968 * # automatically calls TupleProxy.__cinit__
2969 * self.hasOwnAttributes = False
2972 static int __pyx_pf_10TabProxies_8GTFProxy___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2973 static int __pyx_pf_10TabProxies_8GTFProxy___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2975 __Pyx_RefNannySetupContext("__cinit__");
2976 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
2977 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
2978 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
2980 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":247
2981 * def __cinit__(self ):
2982 * # automatically calls TupleProxy.__cinit__
2983 * self.hasOwnAttributes = False # <<<<<<<<<<<<<<
2985 * def __dealloc__(self):
2987 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->hasOwnAttributes = 0;
2990 __Pyx_RefNannyFinishContext();
2994 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":249
2995 * self.hasOwnAttributes = False
2997 * def __dealloc__(self): # <<<<<<<<<<<<<<
2998 * # automatically calls TupleProxy.__dealloc__
2999 * if self.hasOwnAttributes:
3002 static void __pyx_pf_10TabProxies_8GTFProxy___dealloc__(PyObject *__pyx_v_self); /*proto*/
3003 static void __pyx_pf_10TabProxies_8GTFProxy___dealloc__(PyObject *__pyx_v_self) {
3004 __Pyx_RefNannySetupContext("__dealloc__");
3006 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":251
3007 * def __dealloc__(self):
3008 * # automatically calls TupleProxy.__dealloc__
3009 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
3010 * free(self.attributes)
3013 if (((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->hasOwnAttributes) {
3015 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":252
3016 * # automatically calls TupleProxy.__dealloc__
3017 * if self.hasOwnAttributes:
3018 * free(self.attributes) # <<<<<<<<<<<<<<
3020 * cdef int getMaxFields( self, size_t nbytes ):
3022 free(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes);
3027 __Pyx_RefNannyFinishContext();
3030 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":254
3031 * free(self.attributes)
3033 * cdef int getMaxFields( self, size_t nbytes ): # <<<<<<<<<<<<<<
3034 * '''return max number of fields.'''
3038 static int __pyx_f_10TabProxies_8GTFProxy_getMaxFields(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, size_t __pyx_v_nbytes) {
3040 __Pyx_RefNannySetupContext("getMaxFields");
3042 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":256
3043 * cdef int getMaxFields( self, size_t nbytes ):
3044 * '''return max number of fields.'''
3045 * return 9 # <<<<<<<<<<<<<<
3047 * cdef update( self, char * buffer, size_t nbytes ):
3054 __Pyx_RefNannyFinishContext();
3058 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":258
3061 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
3062 * '''update internal data.
3066 static PyObject *__pyx_f_10TabProxies_8GTFProxy_update(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
3067 char *__pyx_v_cstart;
3070 PyObject *__pyx_r = NULL;
3072 PyObject *__pyx_t_2 = NULL;
3073 PyObject *__pyx_t_3 = NULL;
3075 __Pyx_RefNannySetupContext("update");
3077 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":265
3079 * cdef char * cstart, * cend, * cscore
3080 * self.contig = buffer # <<<<<<<<<<<<<<
3084 __pyx_v_self->contig = __pyx_v_buffer;
3086 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":268
3089 * if buffer[nbytes] != 0: # <<<<<<<<<<<<<<
3090 * raise ValueError( "incomplete line at %s" % buffer )
3093 __pyx_t_1 = ((__pyx_v_buffer[__pyx_v_nbytes]) != 0);
3096 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":269
3098 * if buffer[nbytes] != 0:
3099 * raise ValueError( "incomplete line at %s" % buffer ) # <<<<<<<<<<<<<<
3101 * self.source = pos = nextItem( buffer )
3103 __pyx_t_2 = PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3104 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
3105 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3106 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
3107 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
3108 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3109 __Pyx_GOTREF(__pyx_t_2);
3110 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
3111 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
3113 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3114 __Pyx_GOTREF(__pyx_t_3);
3115 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3116 __Pyx_Raise(__pyx_t_3, 0, 0);
3117 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3118 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3123 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":271
3124 * raise ValueError( "incomplete line at %s" % buffer )
3126 * self.source = pos = nextItem( buffer ) # <<<<<<<<<<<<<<
3127 * self.feature = pos = nextItem( pos )
3128 * cstart = pos = nextItem( pos )
3130 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_buffer);
3131 __pyx_v_self->source = __pyx_t_4;
3132 __pyx_v_pos = __pyx_t_4;
3134 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":272
3136 * self.source = pos = nextItem( buffer )
3137 * self.feature = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3138 * cstart = pos = nextItem( pos )
3139 * cend = pos = nextItem( pos )
3141 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3142 __pyx_v_self->feature = __pyx_t_4;
3143 __pyx_v_pos = __pyx_t_4;
3145 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":273
3146 * self.source = pos = nextItem( buffer )
3147 * self.feature = pos = nextItem( pos )
3148 * cstart = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3149 * cend = pos = nextItem( pos )
3150 * self.score = pos = nextItem( pos )
3152 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3153 __pyx_v_cstart = __pyx_t_4;
3154 __pyx_v_pos = __pyx_t_4;
3156 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":274
3157 * self.feature = pos = nextItem( pos )
3158 * cstart = pos = nextItem( pos )
3159 * cend = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3160 * self.score = pos = nextItem( pos )
3161 * self.strand = pos = nextItem( pos )
3163 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3164 __pyx_v_cend = __pyx_t_4;
3165 __pyx_v_pos = __pyx_t_4;
3167 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":275
3168 * cstart = pos = nextItem( pos )
3169 * cend = pos = nextItem( pos )
3170 * self.score = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3171 * self.strand = pos = nextItem( pos )
3172 * self.frame = pos = nextItem( pos )
3174 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3175 __pyx_v_self->score = __pyx_t_4;
3176 __pyx_v_pos = __pyx_t_4;
3178 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":276
3179 * cend = pos = nextItem( pos )
3180 * self.score = pos = nextItem( pos )
3181 * self.strand = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3182 * self.frame = pos = nextItem( pos )
3183 * self.attributes = pos = nextItem( pos )
3185 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3186 __pyx_v_self->strand = __pyx_t_4;
3187 __pyx_v_pos = __pyx_t_4;
3189 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":277
3190 * self.score = pos = nextItem( pos )
3191 * self.strand = pos = nextItem( pos )
3192 * self.frame = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3193 * self.attributes = pos = nextItem( pos )
3196 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3197 __pyx_v_self->frame = __pyx_t_4;
3198 __pyx_v_pos = __pyx_t_4;
3200 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":278
3201 * self.strand = pos = nextItem( pos )
3202 * self.frame = pos = nextItem( pos )
3203 * self.attributes = pos = nextItem( pos ) # <<<<<<<<<<<<<<
3205 * self.start = atoi( cstart ) - 1
3207 __pyx_t_4 = __pyx_f_10TabProxies_nextItem(__pyx_v_pos);
3208 __pyx_v_self->attributes = __pyx_t_4;
3209 __pyx_v_pos = __pyx_t_4;
3211 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":280
3212 * self.attributes = pos = nextItem( pos )
3214 * self.start = atoi( cstart ) - 1 # <<<<<<<<<<<<<<
3215 * self.end = atoi( cend )
3218 __pyx_v_self->start = (atoi(__pyx_v_cstart) - 1);
3220 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":281
3222 * self.start = atoi( cstart ) - 1
3223 * self.end = atoi( cend ) # <<<<<<<<<<<<<<
3227 __pyx_v_self->end = atoi(__pyx_v_cend);
3229 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3232 __Pyx_XDECREF(__pyx_t_2);
3233 __Pyx_XDECREF(__pyx_t_3);
3234 __Pyx_AddTraceback("TabProxies.GTFProxy.update");
3237 __Pyx_XGIVEREF(__pyx_r);
3238 __Pyx_RefNannyFinishContext();
3242 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":285
3244 * '''contig of feature.'''
3245 * def __get__( self ): return self.contig # <<<<<<<<<<<<<<
3246 * def __set__( self, value ):
3247 * self.is_modified = True
3250 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6contig___get__(PyObject *__pyx_v_self); /*proto*/
3251 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6contig___get__(PyObject *__pyx_v_self) {
3252 PyObject *__pyx_r = NULL;
3253 PyObject *__pyx_t_1 = NULL;
3254 __Pyx_RefNannySetupContext("__get__");
3255 __Pyx_XDECREF(__pyx_r);
3256 __pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->contig); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3257 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3258 __pyx_r = ((PyObject *)__pyx_t_1);
3262 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3265 __Pyx_XDECREF(__pyx_t_1);
3266 __Pyx_AddTraceback("TabProxies.GTFProxy.contig.__get__");
3269 __Pyx_XGIVEREF(__pyx_r);
3270 __Pyx_RefNannyFinishContext();
3274 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":286
3275 * '''contig of feature.'''
3276 * def __get__( self ): return self.contig
3277 * def __set__( self, value ): # <<<<<<<<<<<<<<
3278 * self.is_modified = True
3279 * self.contig = value
3282 static int __pyx_pf_10TabProxies_8GTFProxy_6contig___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3283 static int __pyx_pf_10TabProxies_8GTFProxy_6contig___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3286 __Pyx_RefNannySetupContext("__set__");
3288 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":287
3289 * def __get__( self ): return self.contig
3290 * def __set__( self, value ):
3291 * self.is_modified = True # <<<<<<<<<<<<<<
3292 * self.contig = value
3295 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3297 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":288
3298 * def __set__( self, value ):
3299 * self.is_modified = True
3300 * self.contig = value # <<<<<<<<<<<<<<
3304 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3305 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->contig = __pyx_t_1;
3310 __Pyx_AddTraceback("TabProxies.GTFProxy.contig.__set__");
3313 __Pyx_RefNannyFinishContext();
3317 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":292
3319 * '''feature name.'''
3320 * def __get__( self ): return self.feature # <<<<<<<<<<<<<<
3321 * def __set__( self, value ):
3322 * self.is_modified = True
3325 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_7feature___get__(PyObject *__pyx_v_self); /*proto*/
3326 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_7feature___get__(PyObject *__pyx_v_self) {
3327 PyObject *__pyx_r = NULL;
3328 PyObject *__pyx_t_1 = NULL;
3329 __Pyx_RefNannySetupContext("__get__");
3330 __Pyx_XDECREF(__pyx_r);
3331 __pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->feature); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3332 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3333 __pyx_r = ((PyObject *)__pyx_t_1);
3337 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3340 __Pyx_XDECREF(__pyx_t_1);
3341 __Pyx_AddTraceback("TabProxies.GTFProxy.feature.__get__");
3344 __Pyx_XGIVEREF(__pyx_r);
3345 __Pyx_RefNannyFinishContext();
3349 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":293
3350 * '''feature name.'''
3351 * def __get__( self ): return self.feature
3352 * def __set__( self, value ): # <<<<<<<<<<<<<<
3353 * self.is_modified = True
3354 * self.feature = value
3357 static int __pyx_pf_10TabProxies_8GTFProxy_7feature___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3358 static int __pyx_pf_10TabProxies_8GTFProxy_7feature___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3361 __Pyx_RefNannySetupContext("__set__");
3363 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":294
3364 * def __get__( self ): return self.feature
3365 * def __set__( self, value ):
3366 * self.is_modified = True # <<<<<<<<<<<<<<
3367 * self.feature = value
3370 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3372 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":295
3373 * def __set__( self, value ):
3374 * self.is_modified = True
3375 * self.feature = value # <<<<<<<<<<<<<<
3379 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3380 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->feature = __pyx_t_1;
3385 __Pyx_AddTraceback("TabProxies.GTFProxy.feature.__set__");
3388 __Pyx_RefNannyFinishContext();
3392 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":299
3394 * '''feature source.'''
3395 * def __get__( self ): return self.source # <<<<<<<<<<<<<<
3396 * def __set__( self, value ):
3397 * self.is_modified = True
3400 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6source___get__(PyObject *__pyx_v_self); /*proto*/
3401 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6source___get__(PyObject *__pyx_v_self) {
3402 PyObject *__pyx_r = NULL;
3403 PyObject *__pyx_t_1 = NULL;
3404 __Pyx_RefNannySetupContext("__get__");
3405 __Pyx_XDECREF(__pyx_r);
3406 __pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->source); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3407 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3408 __pyx_r = ((PyObject *)__pyx_t_1);
3412 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3415 __Pyx_XDECREF(__pyx_t_1);
3416 __Pyx_AddTraceback("TabProxies.GTFProxy.source.__get__");
3419 __Pyx_XGIVEREF(__pyx_r);
3420 __Pyx_RefNannyFinishContext();
3424 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":300
3425 * '''feature source.'''
3426 * def __get__( self ): return self.source
3427 * def __set__( self, value ): # <<<<<<<<<<<<<<
3428 * self.is_modified = True
3429 * self.source = value
3432 static int __pyx_pf_10TabProxies_8GTFProxy_6source___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3433 static int __pyx_pf_10TabProxies_8GTFProxy_6source___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3436 __Pyx_RefNannySetupContext("__set__");
3438 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":301
3439 * def __get__( self ): return self.source
3440 * def __set__( self, value ):
3441 * self.is_modified = True # <<<<<<<<<<<<<<
3442 * self.source = value
3445 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3447 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":302
3448 * def __set__( self, value ):
3449 * self.is_modified = True
3450 * self.source = value # <<<<<<<<<<<<<<
3454 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3455 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->source = __pyx_t_1;
3460 __Pyx_AddTraceback("TabProxies.GTFProxy.source.__set__");
3463 __Pyx_RefNannyFinishContext();
3467 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":306
3469 * '''feature start (in 0-based open/closed coordinates).'''
3470 * def __get__( self ): return self.start # <<<<<<<<<<<<<<
3471 * def __set__( self, value ):
3472 * self.is_modified = True
3475 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5start___get__(PyObject *__pyx_v_self); /*proto*/
3476 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5start___get__(PyObject *__pyx_v_self) {
3477 PyObject *__pyx_r = NULL;
3478 PyObject *__pyx_t_1 = NULL;
3479 __Pyx_RefNannySetupContext("__get__");
3480 __Pyx_XDECREF(__pyx_r);
3481 __pyx_t_1 = __Pyx_PyInt_to_py_uint32_t(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3482 __Pyx_GOTREF(__pyx_t_1);
3483 __pyx_r = __pyx_t_1;
3487 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3490 __Pyx_XDECREF(__pyx_t_1);
3491 __Pyx_AddTraceback("TabProxies.GTFProxy.start.__get__");
3494 __Pyx_XGIVEREF(__pyx_r);
3495 __Pyx_RefNannyFinishContext();
3499 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":307
3500 * '''feature start (in 0-based open/closed coordinates).'''
3501 * def __get__( self ): return self.start
3502 * def __set__( self, value ): # <<<<<<<<<<<<<<
3503 * self.is_modified = True
3504 * self.start = value
3507 static int __pyx_pf_10TabProxies_8GTFProxy_5start___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3508 static int __pyx_pf_10TabProxies_8GTFProxy_5start___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3511 __Pyx_RefNannySetupContext("__set__");
3513 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":308
3514 * def __get__( self ): return self.start
3515 * def __set__( self, value ):
3516 * self.is_modified = True # <<<<<<<<<<<<<<
3517 * self.start = value
3520 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3522 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":309
3523 * def __set__( self, value ):
3524 * self.is_modified = True
3525 * self.start = value # <<<<<<<<<<<<<<
3529 __pyx_t_1 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3530 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->start = __pyx_t_1;
3535 __Pyx_AddTraceback("TabProxies.GTFProxy.start.__set__");
3538 __Pyx_RefNannyFinishContext();
3542 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":313
3544 * '''feature end (in 0-based open/closed coordinates).'''
3545 * def __get__( self ): return self.end # <<<<<<<<<<<<<<
3546 * def __set__( self, value ):
3547 * self.is_modified = True
3550 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_3end___get__(PyObject *__pyx_v_self); /*proto*/
3551 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_3end___get__(PyObject *__pyx_v_self) {
3552 PyObject *__pyx_r = NULL;
3553 PyObject *__pyx_t_1 = NULL;
3554 __Pyx_RefNannySetupContext("__get__");
3555 __Pyx_XDECREF(__pyx_r);
3556 __pyx_t_1 = __Pyx_PyInt_to_py_uint32_t(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->end); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3557 __Pyx_GOTREF(__pyx_t_1);
3558 __pyx_r = __pyx_t_1;
3562 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3565 __Pyx_XDECREF(__pyx_t_1);
3566 __Pyx_AddTraceback("TabProxies.GTFProxy.end.__get__");
3569 __Pyx_XGIVEREF(__pyx_r);
3570 __Pyx_RefNannyFinishContext();
3574 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":314
3575 * '''feature end (in 0-based open/closed coordinates).'''
3576 * def __get__( self ): return self.end
3577 * def __set__( self, value ): # <<<<<<<<<<<<<<
3578 * self.is_modified = True
3582 static int __pyx_pf_10TabProxies_8GTFProxy_3end___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3583 static int __pyx_pf_10TabProxies_8GTFProxy_3end___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3586 __Pyx_RefNannySetupContext("__set__");
3588 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":315
3589 * def __get__( self ): return self.end
3590 * def __set__( self, value ):
3591 * self.is_modified = True # <<<<<<<<<<<<<<
3595 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3597 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":316
3598 * def __set__( self, value ):
3599 * self.is_modified = True
3600 * self.end = value # <<<<<<<<<<<<<<
3604 __pyx_t_1 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3605 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->end = __pyx_t_1;
3610 __Pyx_AddTraceback("TabProxies.GTFProxy.end.__set__");
3613 __Pyx_RefNannyFinishContext();
3617 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":320
3619 * '''feature score.'''
3620 * def __get__( self ): # <<<<<<<<<<<<<<
3621 * if self.score[0] == '.' and self.score[1] == '\0' :
3625 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5score___get__(PyObject *__pyx_v_self); /*proto*/
3626 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5score___get__(PyObject *__pyx_v_self) {
3627 PyObject *__pyx_r = NULL;
3631 PyObject *__pyx_t_4 = NULL;
3632 __Pyx_RefNannySetupContext("__get__");
3634 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":321
3635 * '''feature score.'''
3636 * def __get__( self ):
3637 * if self.score[0] == '.' and self.score[1] == '\0' : # <<<<<<<<<<<<<<
3641 __pyx_t_1 = ((((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->score[0]) == '.');
3643 __pyx_t_2 = ((((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->score[1]) == '\x00');
3644 __pyx_t_3 = __pyx_t_2;
3646 __pyx_t_3 = __pyx_t_1;
3650 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":322
3651 * def __get__( self ):
3652 * if self.score[0] == '.' and self.score[1] == '\0' :
3653 * return None # <<<<<<<<<<<<<<
3655 * return atof(self.score)
3657 __Pyx_XDECREF(__pyx_r);
3658 __Pyx_INCREF(Py_None);
3665 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":324
3668 * return atof(self.score) # <<<<<<<<<<<<<<
3669 * def __set__( self, value ):
3670 * self.is_modified = True
3672 __Pyx_XDECREF(__pyx_r);
3673 __pyx_t_4 = PyFloat_FromDouble(atof(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->score)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3674 __Pyx_GOTREF(__pyx_t_4);
3675 __pyx_r = __pyx_t_4;
3681 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3684 __Pyx_XDECREF(__pyx_t_4);
3685 __Pyx_AddTraceback("TabProxies.GTFProxy.score.__get__");
3688 __Pyx_XGIVEREF(__pyx_r);
3689 __Pyx_RefNannyFinishContext();
3693 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":325
3695 * return atof(self.score)
3696 * def __set__( self, value ): # <<<<<<<<<<<<<<
3697 * self.is_modified = True
3698 * self.score = value
3701 static int __pyx_pf_10TabProxies_8GTFProxy_5score___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3702 static int __pyx_pf_10TabProxies_8GTFProxy_5score___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3705 __Pyx_RefNannySetupContext("__set__");
3707 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":326
3708 * return atof(self.score)
3709 * def __set__( self, value ):
3710 * self.is_modified = True # <<<<<<<<<<<<<<
3711 * self.score = value
3714 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3716 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":327
3717 * def __set__( self, value ):
3718 * self.is_modified = True
3719 * self.score = value # <<<<<<<<<<<<<<
3723 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3724 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->score = __pyx_t_1;
3729 __Pyx_AddTraceback("TabProxies.GTFProxy.score.__set__");
3732 __Pyx_RefNannyFinishContext();
3736 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":331
3738 * '''feature strand.'''
3739 * def __get__( self ): return self.strand # <<<<<<<<<<<<<<
3740 * def __set__( self, value ):
3741 * self.is_modified = True
3744 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6strand___get__(PyObject *__pyx_v_self); /*proto*/
3745 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6strand___get__(PyObject *__pyx_v_self) {
3746 PyObject *__pyx_r = NULL;
3747 PyObject *__pyx_t_1 = NULL;
3748 __Pyx_RefNannySetupContext("__get__");
3749 __Pyx_XDECREF(__pyx_r);
3750 __pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->strand); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3751 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3752 __pyx_r = ((PyObject *)__pyx_t_1);
3756 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3759 __Pyx_XDECREF(__pyx_t_1);
3760 __Pyx_AddTraceback("TabProxies.GTFProxy.strand.__get__");
3763 __Pyx_XGIVEREF(__pyx_r);
3764 __Pyx_RefNannyFinishContext();
3768 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":332
3769 * '''feature strand.'''
3770 * def __get__( self ): return self.strand
3771 * def __set__( self, value ): # <<<<<<<<<<<<<<
3772 * self.is_modified = True
3773 * self.strand = value
3776 static int __pyx_pf_10TabProxies_8GTFProxy_6strand___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3777 static int __pyx_pf_10TabProxies_8GTFProxy_6strand___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3780 __Pyx_RefNannySetupContext("__set__");
3782 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":333
3783 * def __get__( self ): return self.strand
3784 * def __set__( self, value ):
3785 * self.is_modified = True # <<<<<<<<<<<<<<
3786 * self.strand = value
3789 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3791 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":334
3792 * def __set__( self, value ):
3793 * self.is_modified = True
3794 * self.strand = value # <<<<<<<<<<<<<<
3798 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3799 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->strand = __pyx_t_1;
3804 __Pyx_AddTraceback("TabProxies.GTFProxy.strand.__set__");
3807 __Pyx_RefNannyFinishContext();
3811 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":338
3813 * '''feature frame.'''
3814 * def __get__( self ): return self.frame # <<<<<<<<<<<<<<
3815 * def __set__( self, value ):
3816 * self.is_modified = True
3819 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5frame___get__(PyObject *__pyx_v_self); /*proto*/
3820 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5frame___get__(PyObject *__pyx_v_self) {
3821 PyObject *__pyx_r = NULL;
3822 PyObject *__pyx_t_1 = NULL;
3823 __Pyx_RefNannySetupContext("__get__");
3824 __Pyx_XDECREF(__pyx_r);
3825 __pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->frame); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3826 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3827 __pyx_r = ((PyObject *)__pyx_t_1);
3831 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3834 __Pyx_XDECREF(__pyx_t_1);
3835 __Pyx_AddTraceback("TabProxies.GTFProxy.frame.__get__");
3838 __Pyx_XGIVEREF(__pyx_r);
3839 __Pyx_RefNannyFinishContext();
3843 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":339
3844 * '''feature frame.'''
3845 * def __get__( self ): return self.frame
3846 * def __set__( self, value ): # <<<<<<<<<<<<<<
3847 * self.is_modified = True
3848 * self.frame = value
3851 static int __pyx_pf_10TabProxies_8GTFProxy_5frame___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3852 static int __pyx_pf_10TabProxies_8GTFProxy_5frame___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3855 __Pyx_RefNannySetupContext("__set__");
3857 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":340
3858 * def __get__( self ): return self.frame
3859 * def __set__( self, value ):
3860 * self.is_modified = True # <<<<<<<<<<<<<<
3861 * self.frame = value
3864 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3866 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":341
3867 * def __set__( self, value ):
3868 * self.is_modified = True
3869 * self.frame = value # <<<<<<<<<<<<<<
3871 * property attributes:
3873 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3874 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->frame = __pyx_t_1;
3879 __Pyx_AddTraceback("TabProxies.GTFProxy.frame.__set__");
3882 __Pyx_RefNannyFinishContext();
3886 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":345
3887 * property attributes:
3888 * '''feature attributes (as a string).'''
3889 * def __get__( self ): return self.attributes # <<<<<<<<<<<<<<
3890 * def __set__( self, value ):
3891 * self.is_modified = True
3894 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_10attributes___get__(PyObject *__pyx_v_self); /*proto*/
3895 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_10attributes___get__(PyObject *__pyx_v_self) {
3896 PyObject *__pyx_r = NULL;
3897 PyObject *__pyx_t_1 = NULL;
3898 __Pyx_RefNannySetupContext("__get__");
3899 __Pyx_XDECREF(__pyx_r);
3900 __pyx_t_1 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3901 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3902 __pyx_r = ((PyObject *)__pyx_t_1);
3906 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3909 __Pyx_XDECREF(__pyx_t_1);
3910 __Pyx_AddTraceback("TabProxies.GTFProxy.attributes.__get__");
3913 __Pyx_XGIVEREF(__pyx_r);
3914 __Pyx_RefNannyFinishContext();
3918 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":346
3919 * '''feature attributes (as a string).'''
3920 * def __get__( self ): return self.attributes
3921 * def __set__( self, value ): # <<<<<<<<<<<<<<
3922 * self.is_modified = True
3923 * self.attributes = value
3926 static int __pyx_pf_10TabProxies_8GTFProxy_10attributes___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
3927 static int __pyx_pf_10TabProxies_8GTFProxy_10attributes___set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
3930 __Pyx_RefNannySetupContext("__set__");
3932 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":347
3933 * def __get__( self ): return self.attributes
3934 * def __set__( self, value ):
3935 * self.is_modified = True # <<<<<<<<<<<<<<
3936 * self.attributes = value
3939 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
3941 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":348
3942 * def __set__( self, value ):
3943 * self.is_modified = True
3944 * self.attributes = value # <<<<<<<<<<<<<<
3946 * def asDict( self ):
3948 __pyx_t_1 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3949 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes = __pyx_t_1;
3954 __Pyx_AddTraceback("TabProxies.GTFProxy.attributes.__set__");
3957 __Pyx_RefNannyFinishContext();
3961 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":350
3962 * self.attributes = value
3964 * def asDict( self ): # <<<<<<<<<<<<<<
3965 * """parse attributes - return as dict
3969 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_asDict(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3970 static char __pyx_doc_10TabProxies_8GTFProxy_asDict[] = "parse attributes - return as dict\n ";
3971 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_asDict(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3972 char *__pyx_v_attributes;
3973 PyObject *__pyx_v_fields;
3974 PyObject *__pyx_v_result;
3975 PyObject *__pyx_v_f;
3976 PyObject *__pyx_v_d;
3977 PyObject *__pyx_v_n;
3978 PyObject *__pyx_v_v;
3979 PyObject *__pyx_v_x;
3980 PyObject *__pyx_r = NULL;
3981 PyObject *__pyx_t_1 = NULL;
3982 Py_ssize_t __pyx_t_2;
3983 PyObject *__pyx_t_3 = NULL;
3984 PyObject *__pyx_t_4 = NULL;
3985 PyObject *__pyx_t_5 = NULL;
3986 Py_ssize_t __pyx_t_6;
3987 PyObject *__pyx_t_7 = NULL;
3993 __Pyx_RefNannySetupContext("asDict");
3994 __pyx_v_fields = ((PyObject *)Py_None); __Pyx_INCREF(Py_None);
3995 __pyx_v_result = ((PyObject *)Py_None); __Pyx_INCREF(Py_None);
3996 __pyx_v_f = Py_None; __Pyx_INCREF(Py_None);
3997 __pyx_v_d = ((PyObject *)Py_None); __Pyx_INCREF(Py_None);
3998 __pyx_v_n = Py_None; __Pyx_INCREF(Py_None);
3999 __pyx_v_v = Py_None; __Pyx_INCREF(Py_None);
4000 __pyx_v_x = Py_None; __Pyx_INCREF(Py_None);
4002 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":355
4005 * attributes = self.attributes # <<<<<<<<<<<<<<
4007 * # separate into fields
4009 __pyx_v_attributes = ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes;
4011 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":358
4013 * # separate into fields
4014 * fields = [ x.strip() for x in attributes.split(";")[:-1]] # <<<<<<<<<<<<<<
4018 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4019 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
4020 __pyx_t_3 = PyBytes_FromString(__pyx_v_attributes); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4021 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
4022 __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_t_3), __pyx_n_s__split); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4023 __Pyx_GOTREF(__pyx_t_4);
4024 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4025 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4026 __Pyx_GOTREF(__pyx_t_3);
4027 __Pyx_INCREF(((PyObject *)__pyx_kp_s_10));
4028 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_10));
4029 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10));
4030 __pyx_t_5 = PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4031 __Pyx_GOTREF(__pyx_t_5);
4032 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4033 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4034 __pyx_t_3 = PySequence_GetSlice(__pyx_t_5, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4035 __Pyx_GOTREF(__pyx_t_3);
4036 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4037 if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) {
4038 __pyx_t_2 = 0; __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5);
4040 __pyx_t_2 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4041 __Pyx_GOTREF(__pyx_t_5);
4043 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4045 if (likely(PyList_CheckExact(__pyx_t_5))) {
4046 if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_5)) break;
4047 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++;
4048 } else if (likely(PyTuple_CheckExact(__pyx_t_5))) {
4049 if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
4050 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++;
4052 __pyx_t_3 = PyIter_Next(__pyx_t_5);
4054 if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4057 __Pyx_GOTREF(__pyx_t_3);
4059 __Pyx_DECREF(__pyx_v_x);
4060 __pyx_v_x = __pyx_t_3;
4062 __pyx_t_3 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4063 __Pyx_GOTREF(__pyx_t_3);
4064 __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4065 __Pyx_GOTREF(__pyx_t_4);
4066 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4067 if (unlikely(PyList_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4068 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4070 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4071 __Pyx_INCREF(((PyObject *)__pyx_t_1));
4072 __Pyx_DECREF(((PyObject *)__pyx_v_fields));
4073 __pyx_v_fields = __pyx_t_1;
4074 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
4076 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":360
4077 * fields = [ x.strip() for x in attributes.split(";")[:-1]]
4079 * result = {} # <<<<<<<<<<<<<<
4083 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4084 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
4085 __Pyx_DECREF(((PyObject *)__pyx_v_result));
4086 __pyx_v_result = __pyx_t_1;
4089 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":362
4092 * for f in fields: # <<<<<<<<<<<<<<
4094 * d = [ x.strip() for x in f.split(" ")]
4096 if (likely(((PyObject *)__pyx_v_fields) != Py_None)) {
4097 __pyx_t_2 = 0; __pyx_t_1 = ((PyObject *)__pyx_v_fields); __Pyx_INCREF(__pyx_t_1);
4099 PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4102 if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
4103 __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_5); __pyx_t_2++;
4104 __Pyx_DECREF(__pyx_v_f);
4105 __pyx_v_f = __pyx_t_5;
4108 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":364
4111 * d = [ x.strip() for x in f.split(" ")] # <<<<<<<<<<<<<<
4115 __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4116 __Pyx_GOTREF(((PyObject *)__pyx_t_5));
4117 __pyx_t_4 = PyObject_GetAttr(__pyx_v_f, __pyx_n_s__split); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4118 __Pyx_GOTREF(__pyx_t_4);
4119 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4120 __Pyx_GOTREF(__pyx_t_3);
4121 __Pyx_INCREF(((PyObject *)__pyx_kp_s_11));
4122 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_11));
4123 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_11));
4124 __pyx_t_7 = PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4125 __Pyx_GOTREF(__pyx_t_7);
4126 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4127 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4128 if (PyList_CheckExact(__pyx_t_7) || PyTuple_CheckExact(__pyx_t_7)) {
4129 __pyx_t_6 = 0; __pyx_t_3 = __pyx_t_7; __Pyx_INCREF(__pyx_t_3);
4131 __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4132 __Pyx_GOTREF(__pyx_t_3);
4134 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4136 if (likely(PyList_CheckExact(__pyx_t_3))) {
4137 if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
4138 __pyx_t_7 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++;
4139 } else if (likely(PyTuple_CheckExact(__pyx_t_3))) {
4140 if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
4141 __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++;
4143 __pyx_t_7 = PyIter_Next(__pyx_t_3);
4145 if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4148 __Pyx_GOTREF(__pyx_t_7);
4150 __Pyx_DECREF(__pyx_v_x);
4151 __pyx_v_x = __pyx_t_7;
4153 __pyx_t_7 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4154 __Pyx_GOTREF(__pyx_t_7);
4155 __pyx_t_4 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4156 __Pyx_GOTREF(__pyx_t_4);
4157 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4158 if (unlikely(PyList_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4159 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4161 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4162 __Pyx_INCREF(((PyObject *)__pyx_t_5));
4163 __Pyx_DECREF(((PyObject *)__pyx_v_d));
4164 __pyx_v_d = __pyx_t_5;
4165 __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
4167 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":366
4168 * d = [ x.strip() for x in f.split(" ")]
4170 * n,v = d[0], d[1] # <<<<<<<<<<<<<<
4171 * if len(d) > 2: v = d[1:]
4174 __pyx_t_5 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_d), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4175 __Pyx_GOTREF(__pyx_t_5);
4176 __pyx_t_3 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_d), 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4177 __Pyx_GOTREF(__pyx_t_3);
4178 __Pyx_DECREF(__pyx_v_n);
4179 __pyx_v_n = __pyx_t_5;
4181 __Pyx_DECREF(__pyx_v_v);
4182 __pyx_v_v = __pyx_t_3;
4185 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":367
4188 * if len(d) > 2: v = d[1:] # <<<<<<<<<<<<<<
4190 * if v[0] == '"' and v[-1] == '"':
4192 if (unlikely(__pyx_v_d == Py_None)) {
4193 PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4195 __pyx_t_6 = PyList_GET_SIZE(((PyObject *)__pyx_v_d));
4196 __pyx_t_8 = (__pyx_t_6 > 2);
4198 __pyx_t_3 = PySequence_GetSlice(((PyObject *)__pyx_v_d), 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4199 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
4200 __Pyx_DECREF(__pyx_v_v);
4201 __pyx_v_v = ((PyObject *)__pyx_t_3);
4207 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":369
4208 * if len(d) > 2: v = d[1:]
4210 * if v[0] == '"' and v[-1] == '"': # <<<<<<<<<<<<<<
4214 __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_v, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4215 __Pyx_GOTREF(__pyx_t_3);
4216 __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, ((PyObject *)__pyx_kp_s_12), Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4217 __Pyx_GOTREF(__pyx_t_5);
4218 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4219 __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4220 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4222 __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_v, -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4223 __Pyx_GOTREF(__pyx_t_5);
4224 __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, ((PyObject *)__pyx_kp_s_12), Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4225 __Pyx_GOTREF(__pyx_t_3);
4226 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4227 __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4228 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4229 __pyx_t_10 = __pyx_t_9;
4231 __pyx_t_10 = __pyx_t_8;
4235 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":370
4237 * if v[0] == '"' and v[-1] == '"':
4238 * v = v[1:-1] # <<<<<<<<<<<<<<
4240 * ## try to convert to a value
4242 __pyx_t_3 = PySequence_GetSlice(__pyx_v_v, 1, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4243 __Pyx_GOTREF(__pyx_t_3);
4244 __Pyx_DECREF(__pyx_v_v);
4245 __pyx_v_v = __pyx_t_3;
4251 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":373
4253 * ## try to convert to a value
4254 * try: # <<<<<<<<<<<<<<
4259 PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb;
4260 __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb);
4261 __Pyx_XGOTREF(__pyx_save_exc_type);
4262 __Pyx_XGOTREF(__pyx_save_exc_value);
4263 __Pyx_XGOTREF(__pyx_save_exc_tb);
4266 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":374
4267 * ## try to convert to a value
4269 * v = float( v ) # <<<<<<<<<<<<<<
4271 * except ValueError:
4273 __pyx_t_11 = __Pyx_PyObject_AsDouble(__pyx_v_v); if (unlikely(__pyx_t_11 == ((double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
4274 __pyx_t_3 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
4275 __Pyx_GOTREF(__pyx_t_3);
4276 __Pyx_DECREF(__pyx_v_v);
4277 __pyx_v_v = __pyx_t_3;
4280 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":375
4283 * v = int( v ) # <<<<<<<<<<<<<<
4284 * except ValueError:
4287 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
4288 __Pyx_GOTREF(__pyx_t_3);
4289 __Pyx_INCREF(__pyx_v_v);
4290 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_v);
4291 __Pyx_GIVEREF(__pyx_v_v);
4292 __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
4293 __Pyx_GOTREF(__pyx_t_5);
4294 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4295 __Pyx_DECREF(__pyx_v_v);
4296 __pyx_v_v = __pyx_t_5;
4299 __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0;
4300 __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0;
4301 __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
4302 goto __pyx_L20_try_end;
4304 __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
4305 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
4306 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4307 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
4309 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":376
4312 * except ValueError: # <<<<<<<<<<<<<<
4316 __pyx_t_12 = PyErr_ExceptionMatches(__pyx_builtin_ValueError);
4318 PyErr_Restore(0,0,0);
4319 goto __pyx_L14_exception_handled;
4322 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":378
4323 * except ValueError:
4325 * except TypeError: # <<<<<<<<<<<<<<
4329 __pyx_t_12 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
4331 PyErr_Restore(0,0,0);
4332 goto __pyx_L14_exception_handled;
4334 __Pyx_XGIVEREF(__pyx_save_exc_type);
4335 __Pyx_XGIVEREF(__pyx_save_exc_value);
4336 __Pyx_XGIVEREF(__pyx_save_exc_tb);
4337 __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
4338 goto __pyx_L1_error;
4339 __pyx_L14_exception_handled:;
4340 __Pyx_XGIVEREF(__pyx_save_exc_type);
4341 __Pyx_XGIVEREF(__pyx_save_exc_value);
4342 __Pyx_XGIVEREF(__pyx_save_exc_tb);
4343 __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
4349 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":381
4352 * result[n] = v # <<<<<<<<<<<<<<
4356 if (PyDict_SetItem(((PyObject *)__pyx_v_result), __pyx_v_n, __pyx_v_v) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4358 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4360 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":383
4363 * return result # <<<<<<<<<<<<<<
4365 * def fromDict( self, d ):
4367 __Pyx_XDECREF(__pyx_r);
4368 __Pyx_INCREF(((PyObject *)__pyx_v_result));
4369 __pyx_r = ((PyObject *)__pyx_v_result);
4372 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4375 __Pyx_XDECREF(__pyx_t_1);
4376 __Pyx_XDECREF(__pyx_t_3);
4377 __Pyx_XDECREF(__pyx_t_4);
4378 __Pyx_XDECREF(__pyx_t_5);
4379 __Pyx_XDECREF(__pyx_t_7);
4380 __Pyx_AddTraceback("TabProxies.GTFProxy.asDict");
4383 __Pyx_DECREF(__pyx_v_fields);
4384 __Pyx_DECREF(__pyx_v_result);
4385 __Pyx_DECREF(__pyx_v_f);
4386 __Pyx_DECREF(__pyx_v_d);
4387 __Pyx_DECREF(__pyx_v_n);
4388 __Pyx_DECREF(__pyx_v_v);
4389 __Pyx_DECREF(__pyx_v_x);
4390 __Pyx_XGIVEREF(__pyx_r);
4391 __Pyx_RefNannyFinishContext();
4395 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":385
4398 * def fromDict( self, d ): # <<<<<<<<<<<<<<
4399 * '''set attributes from a dictionary.'''
4403 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_fromDict(PyObject *__pyx_v_self, PyObject *__pyx_v_d); /*proto*/
4404 static char __pyx_doc_10TabProxies_8GTFProxy_fromDict[] = "set attributes from a dictionary.";
4405 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_fromDict(PyObject *__pyx_v_self, PyObject *__pyx_v_d) {
4408 PyObject *__pyx_v_aa;
4409 PyObject *__pyx_v_k;
4410 PyObject *__pyx_v_v;
4411 PyObject *__pyx_v_a;
4412 PyObject *__pyx_r = NULL;
4413 PyObject *__pyx_t_1 = NULL;
4414 Py_ssize_t __pyx_t_2;
4415 PyObject *__pyx_t_3 = NULL;
4416 PyObject *__pyx_t_4 = NULL;
4417 PyObject *__pyx_t_5 = NULL;
4418 PyObject *__pyx_t_6 = NULL;
4422 __Pyx_RefNannySetupContext("fromDict");
4423 __pyx_v_aa = ((PyObject *)Py_None); __Pyx_INCREF(Py_None);
4424 __pyx_v_k = Py_None; __Pyx_INCREF(Py_None);
4425 __pyx_v_v = Py_None; __Pyx_INCREF(Py_None);
4426 __pyx_v_a = Py_None; __Pyx_INCREF(Py_None);
4428 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":391
4430 * # clean up if this field is set twice
4431 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
4432 * free(self.attributes)
4435 if (((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->hasOwnAttributes) {
4437 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":392
4438 * # clean up if this field is set twice
4439 * if self.hasOwnAttributes:
4440 * free(self.attributes) # <<<<<<<<<<<<<<
4444 free(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes);
4449 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":394
4450 * free(self.attributes)
4452 * aa = [] # <<<<<<<<<<<<<<
4453 * for k,v in d.items():
4454 * if type(v) == types.StringType:
4456 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4457 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
4458 __Pyx_DECREF(((PyObject *)__pyx_v_aa));
4459 __pyx_v_aa = __pyx_t_1;
4462 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":395
4465 * for k,v in d.items(): # <<<<<<<<<<<<<<
4466 * if type(v) == types.StringType:
4467 * aa.append( '%s "%s"' % (k,v) )
4469 __pyx_t_1 = PyObject_GetAttr(__pyx_v_d, __pyx_n_s__items); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4470 __Pyx_GOTREF(__pyx_t_1);
4471 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4472 __Pyx_GOTREF(__pyx_t_3);
4473 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4474 if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) {
4475 __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1);
4477 __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4478 __Pyx_GOTREF(__pyx_t_1);
4480 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4482 if (likely(PyList_CheckExact(__pyx_t_1))) {
4483 if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
4484 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++;
4485 } else if (likely(PyTuple_CheckExact(__pyx_t_1))) {
4486 if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
4487 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++;
4489 __pyx_t_3 = PyIter_Next(__pyx_t_1);
4491 if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4494 __Pyx_GOTREF(__pyx_t_3);
4496 if (PyTuple_CheckExact(__pyx_t_3) && likely(PyTuple_GET_SIZE(__pyx_t_3) == 2)) {
4497 PyObject* tuple = __pyx_t_3;
4498 __pyx_t_4 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_4);
4499 __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5);
4500 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4501 __Pyx_DECREF(__pyx_v_k);
4502 __pyx_v_k = __pyx_t_4;
4504 __Pyx_DECREF(__pyx_v_v);
4505 __pyx_v_v = __pyx_t_5;
4508 __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4509 __Pyx_GOTREF(__pyx_t_6);
4510 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4511 __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_6, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4512 __Pyx_GOTREF(__pyx_t_4);
4513 __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_6, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4514 __Pyx_GOTREF(__pyx_t_5);
4515 if (__Pyx_EndUnpack(__pyx_t_6, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4516 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4517 __Pyx_DECREF(__pyx_v_k);
4518 __pyx_v_k = __pyx_t_4;
4520 __Pyx_DECREF(__pyx_v_v);
4521 __pyx_v_v = __pyx_t_5;
4525 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":396
4527 * for k,v in d.items():
4528 * if type(v) == types.StringType: # <<<<<<<<<<<<<<
4529 * aa.append( '%s "%s"' % (k,v) )
4532 __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__types); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4533 __Pyx_GOTREF(__pyx_t_3);
4534 __pyx_t_5 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__StringType); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4535 __Pyx_GOTREF(__pyx_t_5);
4536 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4537 __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4538 __Pyx_GOTREF(__pyx_t_3);
4539 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4540 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4541 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4544 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":397
4545 * for k,v in d.items():
4546 * if type(v) == types.StringType:
4547 * aa.append( '%s "%s"' % (k,v) ) # <<<<<<<<<<<<<<
4549 * aa.append( '%s %s' % (k,str(v)) )
4551 if (unlikely(__pyx_v_aa == Py_None)) {
4552 PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4554 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4555 __Pyx_GOTREF(__pyx_t_3);
4556 __Pyx_INCREF(__pyx_v_k);
4557 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_k);
4558 __Pyx_GIVEREF(__pyx_v_k);
4559 __Pyx_INCREF(__pyx_v_v);
4560 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_v);
4561 __Pyx_GIVEREF(__pyx_v_v);
4562 __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_13), __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4563 __Pyx_GOTREF(((PyObject *)__pyx_t_5));
4564 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4565 __pyx_t_8 = PyList_Append(((PyObject *)__pyx_v_aa), ((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4566 __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
4571 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":399
4572 * aa.append( '%s "%s"' % (k,v) )
4574 * aa.append( '%s %s' % (k,str(v)) ) # <<<<<<<<<<<<<<
4576 * a = "; ".join( aa ) + ";"
4578 if (unlikely(__pyx_v_aa == Py_None)) {
4579 PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4581 __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4582 __Pyx_GOTREF(__pyx_t_5);
4583 __Pyx_INCREF(__pyx_v_v);
4584 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_v);
4585 __Pyx_GIVEREF(__pyx_v_v);
4586 __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4587 __Pyx_GOTREF(__pyx_t_3);
4588 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4589 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4590 __Pyx_GOTREF(__pyx_t_5);
4591 __Pyx_INCREF(__pyx_v_k);
4592 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_k);
4593 __Pyx_GIVEREF(__pyx_v_k);
4594 PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
4595 __Pyx_GIVEREF(__pyx_t_3);
4597 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_14), __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4598 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
4599 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4600 __pyx_t_8 = PyList_Append(((PyObject *)__pyx_v_aa), ((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4601 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4605 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4607 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":401
4608 * aa.append( '%s %s' % (k,str(v)) )
4610 * a = "; ".join( aa ) + ";" # <<<<<<<<<<<<<<
4614 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_15), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4615 __Pyx_GOTREF(__pyx_t_1);
4616 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4617 __Pyx_GOTREF(__pyx_t_3);
4618 __Pyx_INCREF(((PyObject *)__pyx_v_aa));
4619 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_aa));
4620 __Pyx_GIVEREF(((PyObject *)__pyx_v_aa));
4621 __pyx_t_5 = PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4622 __Pyx_GOTREF(__pyx_t_5);
4623 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4624 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4625 __pyx_t_3 = PyNumber_Add(__pyx_t_5, ((PyObject *)__pyx_kp_s_10)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4626 __Pyx_GOTREF(__pyx_t_3);
4627 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4628 __Pyx_DECREF(__pyx_v_a);
4629 __pyx_v_a = __pyx_t_3;
4632 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":402
4634 * a = "; ".join( aa ) + ";"
4635 * p = a # <<<<<<<<<<<<<<
4637 * self.attributes = <char *>calloc( l + 1, sizeof(char) )
4639 __pyx_t_9 = PyBytes_AsString(__pyx_v_a); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4640 __pyx_v_p = __pyx_t_9;
4642 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":403
4643 * a = "; ".join( aa ) + ";"
4645 * l = len(a) # <<<<<<<<<<<<<<
4646 * self.attributes = <char *>calloc( l + 1, sizeof(char) )
4647 * if self.attributes == NULL:
4649 __pyx_t_2 = PyObject_Length(__pyx_v_a); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4650 __pyx_v_l = __pyx_t_2;
4652 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":404
4655 * self.attributes = <char *>calloc( l + 1, sizeof(char) ) # <<<<<<<<<<<<<<
4656 * if self.attributes == NULL:
4657 * raise ValueError("out of memory" )
4659 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes = ((char *)calloc((__pyx_v_l + 1), (sizeof(char))));
4661 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":405
4663 * self.attributes = <char *>calloc( l + 1, sizeof(char) )
4664 * if self.attributes == NULL: # <<<<<<<<<<<<<<
4665 * raise ValueError("out of memory" )
4666 * memcpy( self.attributes, p, l )
4668 __pyx_t_7 = (((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes == NULL);
4671 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":406
4672 * self.attributes = <char *>calloc( l + 1, sizeof(char) )
4673 * if self.attributes == NULL:
4674 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
4675 * memcpy( self.attributes, p, l )
4678 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4679 __Pyx_GOTREF(__pyx_t_3);
4680 __Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
4681 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_3));
4682 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
4683 __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4684 __Pyx_GOTREF(__pyx_t_5);
4685 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4686 __Pyx_Raise(__pyx_t_5, 0, 0);
4687 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4688 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4693 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":407
4694 * if self.attributes == NULL:
4695 * raise ValueError("out of memory" )
4696 * memcpy( self.attributes, p, l ) # <<<<<<<<<<<<<<
4698 * self.hasOwnAttributes = True
4700 memcpy(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes, __pyx_v_p, __pyx_v_l);
4702 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":409
4703 * memcpy( self.attributes, p, l )
4705 * self.hasOwnAttributes = True # <<<<<<<<<<<<<<
4706 * self.is_modified = True
4709 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->hasOwnAttributes = 1;
4711 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":410
4713 * self.hasOwnAttributes = True
4714 * self.is_modified = True # <<<<<<<<<<<<<<
4716 * def __str__(self):
4718 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified = 1;
4720 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4723 __Pyx_XDECREF(__pyx_t_1);
4724 __Pyx_XDECREF(__pyx_t_3);
4725 __Pyx_XDECREF(__pyx_t_4);
4726 __Pyx_XDECREF(__pyx_t_5);
4727 __Pyx_XDECREF(__pyx_t_6);
4728 __Pyx_AddTraceback("TabProxies.GTFProxy.fromDict");
4731 __Pyx_DECREF(__pyx_v_aa);
4732 __Pyx_DECREF(__pyx_v_k);
4733 __Pyx_DECREF(__pyx_v_v);
4734 __Pyx_DECREF(__pyx_v_a);
4735 __Pyx_XGIVEREF(__pyx_r);
4736 __Pyx_RefNannyFinishContext();
4740 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":412
4741 * self.is_modified = True
4743 * def __str__(self): # <<<<<<<<<<<<<<
4748 static PyObject *__pyx_pf_10TabProxies_8GTFProxy___str__(PyObject *__pyx_v_self); /*proto*/
4749 static PyObject *__pyx_pf_10TabProxies_8GTFProxy___str__(PyObject *__pyx_v_self) {
4750 PyObject *__pyx_r = NULL;
4751 PyObject *__pyx_t_1 = NULL;
4752 PyObject *__pyx_t_2 = NULL;
4753 PyObject *__pyx_t_3 = NULL;
4754 PyObject *__pyx_t_4 = NULL;
4755 PyObject *__pyx_t_5 = NULL;
4756 PyObject *__pyx_t_6 = NULL;
4757 PyObject *__pyx_t_7 = NULL;
4758 PyObject *__pyx_t_8 = NULL;
4759 PyObject *__pyx_t_9 = NULL;
4760 PyObject *__pyx_t_10 = NULL;
4761 PyObject *__pyx_t_11 = NULL;
4762 __Pyx_RefNannySetupContext("__str__");
4764 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":416
4767 * if self.is_modified: # <<<<<<<<<<<<<<
4771 if (((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->__pyx_base.is_modified) {
4773 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":417
4775 * if self.is_modified:
4776 * return "\t".join( # <<<<<<<<<<<<<<
4780 __Pyx_XDECREF(__pyx_r);
4781 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_7), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4782 __Pyx_GOTREF(__pyx_t_1);
4784 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":418
4785 * if self.is_modified:
4787 * (self.contig, # <<<<<<<<<<<<<<
4791 __pyx_t_2 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->contig); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4792 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
4794 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":419
4797 * self.source, # <<<<<<<<<<<<<<
4799 * str(self.start+1),
4801 __pyx_t_3 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->source); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4802 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
4804 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":420
4807 * self.feature, # <<<<<<<<<<<<<<
4808 * str(self.start+1),
4811 __pyx_t_4 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->feature); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4812 __Pyx_GOTREF(((PyObject *)__pyx_t_4));
4814 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":421
4817 * str(self.start+1), # <<<<<<<<<<<<<<
4819 * toDot(self.score),
4821 __pyx_t_5 = PyInt_FromLong((((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->start + 1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4822 __Pyx_GOTREF(__pyx_t_5);
4823 __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4824 __Pyx_GOTREF(__pyx_t_6);
4825 PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
4826 __Pyx_GIVEREF(__pyx_t_5);
4828 __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4829 __Pyx_GOTREF(__pyx_t_5);
4830 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4832 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":422
4834 * str(self.start+1),
4835 * str(self.end), # <<<<<<<<<<<<<<
4836 * toDot(self.score),
4839 __pyx_t_6 = __Pyx_PyInt_to_py_uint32_t(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->end); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4840 __Pyx_GOTREF(__pyx_t_6);
4841 __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4842 __Pyx_GOTREF(__pyx_t_7);
4843 PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
4844 __Pyx_GIVEREF(__pyx_t_6);
4846 __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4847 __Pyx_GOTREF(__pyx_t_6);
4848 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4850 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":423
4851 * str(self.start+1),
4853 * toDot(self.score), # <<<<<<<<<<<<<<
4857 __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__toDot); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4858 __Pyx_GOTREF(__pyx_t_7);
4859 __pyx_t_8 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->score); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4860 __Pyx_GOTREF(((PyObject *)__pyx_t_8));
4861 __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4862 __Pyx_GOTREF(__pyx_t_9);
4863 PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_8));
4864 __Pyx_GIVEREF(((PyObject *)__pyx_t_8));
4866 __pyx_t_8 = PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4867 __Pyx_GOTREF(__pyx_t_8);
4868 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4869 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4871 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":424
4873 * toDot(self.score),
4874 * self.strand, # <<<<<<<<<<<<<<
4876 * self.attributes ) )
4878 __pyx_t_9 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->strand); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4879 __Pyx_GOTREF(((PyObject *)__pyx_t_9));
4881 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":425
4882 * toDot(self.score),
4884 * self.frame, # <<<<<<<<<<<<<<
4885 * self.attributes ) )
4888 __pyx_t_7 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->frame); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4889 __Pyx_GOTREF(((PyObject *)__pyx_t_7));
4891 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":426
4894 * self.attributes ) ) # <<<<<<<<<<<<<<
4896 * return TupleProxy.__str__(self)
4898 __pyx_t_10 = PyBytes_FromString(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4899 __Pyx_GOTREF(((PyObject *)__pyx_t_10));
4900 __pyx_t_11 = PyTuple_New(9); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4901 __Pyx_GOTREF(__pyx_t_11);
4902 PyTuple_SET_ITEM(__pyx_t_11, 0, ((PyObject *)__pyx_t_2));
4903 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
4904 PyTuple_SET_ITEM(__pyx_t_11, 1, ((PyObject *)__pyx_t_3));
4905 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
4906 PyTuple_SET_ITEM(__pyx_t_11, 2, ((PyObject *)__pyx_t_4));
4907 __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
4908 PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_5);
4909 __Pyx_GIVEREF(__pyx_t_5);
4910 PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_t_6);
4911 __Pyx_GIVEREF(__pyx_t_6);
4912 PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_8);
4913 __Pyx_GIVEREF(__pyx_t_8);
4914 PyTuple_SET_ITEM(__pyx_t_11, 6, ((PyObject *)__pyx_t_9));
4915 __Pyx_GIVEREF(((PyObject *)__pyx_t_9));
4916 PyTuple_SET_ITEM(__pyx_t_11, 7, ((PyObject *)__pyx_t_7));
4917 __Pyx_GIVEREF(((PyObject *)__pyx_t_7));
4918 PyTuple_SET_ITEM(__pyx_t_11, 8, ((PyObject *)__pyx_t_10));
4919 __Pyx_GIVEREF(((PyObject *)__pyx_t_10));
4929 __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4930 __Pyx_GOTREF(__pyx_t_10);
4931 PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_11);
4932 __Pyx_GIVEREF(__pyx_t_11);
4934 __pyx_t_11 = PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4935 __Pyx_GOTREF(__pyx_t_11);
4936 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4937 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4938 __pyx_r = __pyx_t_11;
4945 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":428
4946 * self.attributes ) )
4948 * return TupleProxy.__str__(self) # <<<<<<<<<<<<<<
4950 * def invert( self, int lcontig ):
4952 __Pyx_XDECREF(__pyx_r);
4953 __pyx_t_11 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s____str__); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4954 __Pyx_GOTREF(__pyx_t_11);
4955 __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4956 __Pyx_GOTREF(__pyx_t_10);
4957 __Pyx_INCREF(__pyx_v_self);
4958 PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_self);
4959 __Pyx_GIVEREF(__pyx_v_self);
4960 __pyx_t_1 = PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4961 __Pyx_GOTREF(__pyx_t_1);
4962 __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
4963 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4964 __pyx_r = __pyx_t_1;
4970 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4973 __Pyx_XDECREF(__pyx_t_1);
4974 __Pyx_XDECREF(__pyx_t_2);
4975 __Pyx_XDECREF(__pyx_t_3);
4976 __Pyx_XDECREF(__pyx_t_4);
4977 __Pyx_XDECREF(__pyx_t_5);
4978 __Pyx_XDECREF(__pyx_t_6);
4979 __Pyx_XDECREF(__pyx_t_7);
4980 __Pyx_XDECREF(__pyx_t_8);
4981 __Pyx_XDECREF(__pyx_t_9);
4982 __Pyx_XDECREF(__pyx_t_10);
4983 __Pyx_XDECREF(__pyx_t_11);
4984 __Pyx_AddTraceback("TabProxies.GTFProxy.__str__");
4987 __Pyx_XGIVEREF(__pyx_r);
4988 __Pyx_RefNannyFinishContext();
4992 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":430
4993 * return TupleProxy.__str__(self)
4995 * def invert( self, int lcontig ): # <<<<<<<<<<<<<<
4996 * '''invert coordinates to negative strand coordinates
5000 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_invert(PyObject *__pyx_v_self, PyObject *__pyx_arg_lcontig); /*proto*/
5001 static char __pyx_doc_10TabProxies_8GTFProxy_invert[] = "invert coordinates to negative strand coordinates\n \n This method will only act if the feature is on the\n negative strand.";
5002 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_invert(PyObject *__pyx_v_self, PyObject *__pyx_arg_lcontig) {
5003 int __pyx_v_lcontig;
5004 PyObject *__pyx_v_start;
5005 PyObject *__pyx_v_end;
5006 PyObject *__pyx_r = NULL;
5011 PyObject *__pyx_t_5 = NULL;
5012 PyObject *__pyx_t_6 = NULL;
5013 __Pyx_RefNannySetupContext("invert");
5014 assert(__pyx_arg_lcontig); {
5015 __pyx_v_lcontig = __Pyx_PyInt_AsInt(__pyx_arg_lcontig); if (unlikely((__pyx_v_lcontig == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
5017 goto __pyx_L4_argument_unpacking_done;
5019 __Pyx_AddTraceback("TabProxies.GTFProxy.invert");
5020 __Pyx_RefNannyFinishContext();
5022 __pyx_L4_argument_unpacking_done:;
5023 __pyx_v_start = Py_None; __Pyx_INCREF(Py_None);
5024 __pyx_v_end = Py_None; __Pyx_INCREF(Py_None);
5026 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":436
5027 * negative strand.'''
5029 * if self.strand[0] == '-': # <<<<<<<<<<<<<<
5030 * start = min(self.start, self.end)
5031 * end = max(self.start, self.end)
5033 __pyx_t_1 = ((((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->strand[0]) == '-');
5036 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":437
5038 * if self.strand[0] == '-':
5039 * start = min(self.start, self.end) # <<<<<<<<<<<<<<
5040 * end = max(self.start, self.end)
5041 * self.start, self.end = lcontig - end, lcontig - start
5043 __pyx_t_2 = ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->end;
5044 __pyx_t_3 = ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->start;
5045 if ((__pyx_t_2 < __pyx_t_3)) {
5046 __pyx_t_4 = __pyx_t_2;
5048 __pyx_t_4 = __pyx_t_3;
5050 __pyx_t_5 = __Pyx_PyInt_to_py_uint32_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5051 __Pyx_GOTREF(__pyx_t_5);
5052 __Pyx_DECREF(__pyx_v_start);
5053 __pyx_v_start = __pyx_t_5;
5056 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":438
5057 * if self.strand[0] == '-':
5058 * start = min(self.start, self.end)
5059 * end = max(self.start, self.end) # <<<<<<<<<<<<<<
5060 * self.start, self.end = lcontig - end, lcontig - start
5063 __pyx_t_4 = ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->end;
5064 __pyx_t_2 = ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->start;
5065 if ((__pyx_t_4 > __pyx_t_2)) {
5066 __pyx_t_3 = __pyx_t_4;
5068 __pyx_t_3 = __pyx_t_2;
5070 __pyx_t_5 = __Pyx_PyInt_to_py_uint32_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5071 __Pyx_GOTREF(__pyx_t_5);
5072 __Pyx_DECREF(__pyx_v_end);
5073 __pyx_v_end = __pyx_t_5;
5076 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":439
5077 * start = min(self.start, self.end)
5078 * end = max(self.start, self.end)
5079 * self.start, self.end = lcontig - end, lcontig - start # <<<<<<<<<<<<<<
5083 __pyx_t_5 = PyInt_FromLong(__pyx_v_lcontig); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5084 __Pyx_GOTREF(__pyx_t_5);
5085 __pyx_t_6 = PyNumber_Subtract(__pyx_t_5, __pyx_v_end); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5086 __Pyx_GOTREF(__pyx_t_6);
5087 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5088 __pyx_t_3 = __Pyx_PyInt_from_py_uint32_t(__pyx_t_6); if (unlikely((__pyx_t_3 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5089 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5090 __pyx_t_6 = PyInt_FromLong(__pyx_v_lcontig); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5091 __Pyx_GOTREF(__pyx_t_6);
5092 __pyx_t_5 = PyNumber_Subtract(__pyx_t_6, __pyx_v_start); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5093 __Pyx_GOTREF(__pyx_t_5);
5094 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5095 __pyx_t_4 = __Pyx_PyInt_from_py_uint32_t(__pyx_t_5); if (unlikely((__pyx_t_4 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5096 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5097 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->start = __pyx_t_3;
5098 ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->end = __pyx_t_4;
5103 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5106 __Pyx_XDECREF(__pyx_t_5);
5107 __Pyx_XDECREF(__pyx_t_6);
5108 __Pyx_AddTraceback("TabProxies.GTFProxy.invert");
5111 __Pyx_DECREF(__pyx_v_start);
5112 __Pyx_DECREF(__pyx_v_end);
5113 __Pyx_XGIVEREF(__pyx_r);
5114 __Pyx_RefNannyFinishContext();
5118 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":441
5119 * self.start, self.end = lcontig - end, lcontig - start
5121 * def keys( self ): # <<<<<<<<<<<<<<
5122 * '''return a list of attributes defined in this entry.'''
5123 * r = self.attributes
5126 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5127 static char __pyx_doc_10TabProxies_8GTFProxy_keys[] = "return a list of attributes defined in this entry.";
5128 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5130 PyObject *__pyx_v_x;
5131 PyObject *__pyx_r = NULL;
5132 PyObject *__pyx_t_1 = NULL;
5133 Py_ssize_t __pyx_t_2;
5134 PyObject *__pyx_t_3 = NULL;
5135 PyObject *__pyx_t_4 = NULL;
5136 PyObject *__pyx_t_5 = NULL;
5138 PyObject *__pyx_t_7 = NULL;
5139 __Pyx_RefNannySetupContext("keys");
5140 __pyx_v_x = Py_None; __Pyx_INCREF(Py_None);
5142 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":443
5144 * '''return a list of attributes defined in this entry.'''
5145 * r = self.attributes # <<<<<<<<<<<<<<
5146 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ]
5149 __pyx_v_r = ((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes;
5151 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":444
5152 * '''return a list of attributes defined in this entry.'''
5153 * r = self.attributes
5154 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ] # <<<<<<<<<<<<<<
5156 * def __getitem__(self, item):
5158 __Pyx_XDECREF(__pyx_r);
5159 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5160 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5161 __pyx_t_3 = PyBytes_FromString(__pyx_v_r); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5162 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
5163 __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_t_3), __pyx_n_s__split); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5164 __Pyx_GOTREF(__pyx_t_4);
5165 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
5166 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5167 __Pyx_GOTREF(__pyx_t_3);
5168 __Pyx_INCREF(((PyObject *)__pyx_kp_s_10));
5169 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_10));
5170 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10));
5171 __pyx_t_5 = PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5172 __Pyx_GOTREF(__pyx_t_5);
5173 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5174 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5175 if (PyList_CheckExact(__pyx_t_5) || PyTuple_CheckExact(__pyx_t_5)) {
5176 __pyx_t_2 = 0; __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3);
5178 __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5179 __Pyx_GOTREF(__pyx_t_3);
5181 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5183 if (likely(PyList_CheckExact(__pyx_t_3))) {
5184 if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_3)) break;
5185 __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_5); __pyx_t_2++;
5186 } else if (likely(PyTuple_CheckExact(__pyx_t_3))) {
5187 if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
5188 __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_5); __pyx_t_2++;
5190 __pyx_t_5 = PyIter_Next(__pyx_t_3);
5192 if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5195 __Pyx_GOTREF(__pyx_t_5);
5197 __Pyx_DECREF(__pyx_v_x);
5198 __pyx_v_x = __pyx_t_5;
5200 __pyx_t_5 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5201 __Pyx_GOTREF(__pyx_t_5);
5202 __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5203 __Pyx_GOTREF(__pyx_t_4);
5204 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5205 __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_kp_s_2), Py_NE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5206 __Pyx_GOTREF(__pyx_t_5);
5207 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5208 __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5209 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5211 __pyx_t_5 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5212 __Pyx_GOTREF(__pyx_t_5);
5213 __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5214 __Pyx_GOTREF(__pyx_t_4);
5215 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5216 __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5217 __Pyx_GOTREF(__pyx_t_5);
5218 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5219 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5220 __Pyx_GOTREF(__pyx_t_4);
5221 __Pyx_INCREF(((PyObject *)__pyx_kp_s_11));
5222 PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_11));
5223 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_11));
5224 __pyx_t_7 = PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5225 __Pyx_GOTREF(__pyx_t_7);
5226 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5227 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5228 __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_7, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5229 __Pyx_GOTREF(__pyx_t_4);
5230 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
5231 if (unlikely(PyList_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5232 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5237 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5238 __Pyx_INCREF(((PyObject *)__pyx_t_1));
5239 __pyx_r = ((PyObject *)__pyx_t_1);
5240 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
5243 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5246 __Pyx_XDECREF(__pyx_t_1);
5247 __Pyx_XDECREF(__pyx_t_3);
5248 __Pyx_XDECREF(__pyx_t_4);
5249 __Pyx_XDECREF(__pyx_t_5);
5250 __Pyx_XDECREF(__pyx_t_7);
5251 __Pyx_AddTraceback("TabProxies.GTFProxy.keys");
5254 __Pyx_DECREF(__pyx_v_x);
5255 __Pyx_XGIVEREF(__pyx_r);
5256 __Pyx_RefNannyFinishContext();
5260 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":446
5261 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ]
5263 * def __getitem__(self, item): # <<<<<<<<<<<<<<
5264 * return self.__getattr__( item )
5268 static PyObject *__pyx_pf_10TabProxies_8GTFProxy___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/
5269 static PyObject *__pyx_pf_10TabProxies_8GTFProxy___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
5270 PyObject *__pyx_r = NULL;
5271 PyObject *__pyx_t_1 = NULL;
5272 PyObject *__pyx_t_2 = NULL;
5273 PyObject *__pyx_t_3 = NULL;
5274 __Pyx_RefNannySetupContext("__getitem__");
5276 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":447
5278 * def __getitem__(self, item):
5279 * return self.__getattr__( item ) # <<<<<<<<<<<<<<
5281 * def __getattr__(self, item ):
5283 __Pyx_XDECREF(__pyx_r);
5284 __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____getattr__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5285 __Pyx_GOTREF(__pyx_t_1);
5286 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5287 __Pyx_GOTREF(__pyx_t_2);
5288 __Pyx_INCREF(__pyx_v_item);
5289 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_item);
5290 __Pyx_GIVEREF(__pyx_v_item);
5291 __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5292 __Pyx_GOTREF(__pyx_t_3);
5293 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5294 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5295 __pyx_r = __pyx_t_3;
5299 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5302 __Pyx_XDECREF(__pyx_t_1);
5303 __Pyx_XDECREF(__pyx_t_2);
5304 __Pyx_XDECREF(__pyx_t_3);
5305 __Pyx_AddTraceback("TabProxies.GTFProxy.__getitem__");
5308 __Pyx_XGIVEREF(__pyx_r);
5309 __Pyx_RefNannyFinishContext();
5313 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":449
5314 * return self.__getattr__( item )
5316 * def __getattr__(self, item ): # <<<<<<<<<<<<<<
5317 * """Generic lookup of attribute from GFF/GTF attributes
5318 * Only called if there *isn't* an attribute with this name
5321 static PyObject *__pyx_pf_10TabProxies_8GTFProxy___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/
5322 static char __pyx_doc_10TabProxies_8GTFProxy___getattr__[] = "Generic lookup of attribute from GFF/GTF attributes \n Only called if there *isn't* an attribute with this name\n ";
5323 struct wrapperbase __pyx_wrapperbase_10TabProxies_8GTFProxy___getattr__;
5324 static PyObject *__pyx_pf_10TabProxies_8GTFProxy___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
5325 char *__pyx_v_start;
5326 char *__pyx_v_query;
5330 char *__pyx_v_result;
5331 PyObject *__pyx_r = NULL;
5334 PyObject *__pyx_t_3 = NULL;
5335 PyObject *__pyx_t_4 = NULL;
5338 __Pyx_RefNannySetupContext("__getattr__");
5340 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":458
5343 * query = item # <<<<<<<<<<<<<<
5345 * start = strstr( self.attributes, query)
5347 __pyx_t_1 = PyBytes_AsString(__pyx_v_item); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5348 __pyx_v_query = __pyx_t_1;
5350 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":460
5353 * start = strstr( self.attributes, query) # <<<<<<<<<<<<<<
5355 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item )
5357 __pyx_v_start = strstr(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self)->attributes, __pyx_v_query);
5359 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":461
5361 * start = strstr( self.attributes, query)
5362 * if start == NULL: # <<<<<<<<<<<<<<
5363 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item )
5366 __pyx_t_2 = (__pyx_v_start == NULL);
5369 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":462
5370 * start = strstr( self.attributes, query)
5372 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item ) # <<<<<<<<<<<<<<
5374 * start += strlen(query) + 1
5376 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_16), __pyx_v_item); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5377 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
5378 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5379 __Pyx_GOTREF(__pyx_t_4);
5380 PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3));
5381 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
5383 __pyx_t_3 = PyObject_Call(__pyx_builtin_AttributeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5384 __Pyx_GOTREF(__pyx_t_3);
5385 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5386 __Pyx_Raise(__pyx_t_3, 0, 0);
5387 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5388 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5393 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":464
5394 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item )
5396 * start += strlen(query) + 1 # <<<<<<<<<<<<<<
5397 * # skip gaps before
5398 * while start[0] == " ": start += 1
5400 __pyx_v_start += (strlen(__pyx_v_query) + 1);
5402 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":466
5403 * start += strlen(query) + 1
5404 * # skip gaps before
5405 * while start[0] == " ": start += 1 # <<<<<<<<<<<<<<
5406 * if start[0] == '"':
5410 __pyx_t_2 = ((__pyx_v_start[0]) == ' ');
5411 if (!__pyx_t_2) break;
5415 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":467
5416 * # skip gaps before
5417 * while start[0] == " ": start += 1
5418 * if start[0] == '"': # <<<<<<<<<<<<<<
5422 __pyx_t_2 = ((__pyx_v_start[0]) == '"');
5425 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":468
5426 * while start[0] == " ": start += 1
5427 * if start[0] == '"':
5428 * start += 1 # <<<<<<<<<<<<<<
5430 * while end[0] != '\0' and end[0] != '"': end += 1
5434 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":469
5435 * if start[0] == '"':
5437 * end = start # <<<<<<<<<<<<<<
5438 * while end[0] != '\0' and end[0] != '"': end += 1
5439 * l = end - start + 1
5441 __pyx_v_end = __pyx_v_start;
5443 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":470
5446 * while end[0] != '\0' and end[0] != '"': end += 1 # <<<<<<<<<<<<<<
5447 * l = end - start + 1
5448 * cpy = <char*>calloc( l, sizeof(char ) )
5451 __pyx_t_2 = ((__pyx_v_end[0]) != '\x00');
5453 __pyx_t_5 = ((__pyx_v_end[0]) != '"');
5454 __pyx_t_6 = __pyx_t_5;
5456 __pyx_t_6 = __pyx_t_2;
5458 if (!__pyx_t_6) break;
5462 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":471
5464 * while end[0] != '\0' and end[0] != '"': end += 1
5465 * l = end - start + 1 # <<<<<<<<<<<<<<
5466 * cpy = <char*>calloc( l, sizeof(char ) )
5467 * if cpy == NULL: raise ValueError("out of memory" )
5469 __pyx_v_l = ((__pyx_v_end - __pyx_v_start) + 1);
5471 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":472
5472 * while end[0] != '\0' and end[0] != '"': end += 1
5473 * l = end - start + 1
5474 * cpy = <char*>calloc( l, sizeof(char ) ) # <<<<<<<<<<<<<<
5475 * if cpy == NULL: raise ValueError("out of memory" )
5476 * memcpy( cpy, start, l )
5478 __pyx_v_cpy = ((char *)calloc(__pyx_v_l, (sizeof(char))));
5480 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":473
5481 * l = end - start + 1
5482 * cpy = <char*>calloc( l, sizeof(char ) )
5483 * if cpy == NULL: raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
5484 * memcpy( cpy, start, l )
5487 __pyx_t_6 = (__pyx_v_cpy == NULL);
5489 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5490 __Pyx_GOTREF(__pyx_t_3);
5491 __Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
5492 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_3));
5493 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
5494 __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5495 __Pyx_GOTREF(__pyx_t_4);
5496 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5497 __Pyx_Raise(__pyx_t_4, 0, 0);
5498 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5499 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5504 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":474
5505 * cpy = <char*>calloc( l, sizeof(char ) )
5506 * if cpy == NULL: raise ValueError("out of memory" )
5507 * memcpy( cpy, start, l ) # <<<<<<<<<<<<<<
5511 memcpy(__pyx_v_cpy, __pyx_v_start, __pyx_v_l);
5513 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":475
5514 * if cpy == NULL: raise ValueError("out of memory" )
5515 * memcpy( cpy, start, l )
5516 * cpy[l-1] = '\0' # <<<<<<<<<<<<<<
5520 (__pyx_v_cpy[(__pyx_v_l - 1)]) = '\x00';
5522 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":476
5523 * memcpy( cpy, start, l )
5525 * result = cpy # <<<<<<<<<<<<<<
5529 __pyx_v_result = __pyx_v_cpy;
5531 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":477
5534 * free(cpy) # <<<<<<<<<<<<<<
5540 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":478
5543 * return result # <<<<<<<<<<<<<<
5547 __Pyx_XDECREF(__pyx_r);
5548 __pyx_t_4 = PyBytes_FromString(__pyx_v_result); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5549 __Pyx_GOTREF(((PyObject *)__pyx_t_4));
5550 __pyx_r = ((PyObject *)__pyx_t_4);
5557 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":480
5560 * return start # <<<<<<<<<<<<<<
5562 * def setAttribute( self, name, value ):
5564 __Pyx_XDECREF(__pyx_r);
5565 __pyx_t_4 = PyBytes_FromString(__pyx_v_start); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5566 __Pyx_GOTREF(((PyObject *)__pyx_t_4));
5567 __pyx_r = ((PyObject *)__pyx_t_4);
5573 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5576 __Pyx_XDECREF(__pyx_t_3);
5577 __Pyx_XDECREF(__pyx_t_4);
5578 __Pyx_AddTraceback("TabProxies.GTFProxy.__getattr__");
5581 __Pyx_XGIVEREF(__pyx_r);
5582 __Pyx_RefNannyFinishContext();
5586 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":482
5589 * def setAttribute( self, name, value ): # <<<<<<<<<<<<<<
5590 * '''convenience method to set an attribute.'''
5594 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_setAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5595 static char __pyx_doc_10TabProxies_8GTFProxy_setAttribute[] = "convenience method to set an attribute.";
5596 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_setAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5597 PyObject *__pyx_v_name = 0;
5598 PyObject *__pyx_v_value = 0;
5599 PyObject *__pyx_v_r;
5600 PyObject *__pyx_r = NULL;
5601 PyObject *__pyx_t_1 = NULL;
5602 PyObject *__pyx_t_2 = NULL;
5603 PyObject *__pyx_t_3 = NULL;
5604 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__value,0};
5605 __Pyx_RefNannySetupContext("setAttribute");
5606 if (unlikely(__pyx_kwds)) {
5607 Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
5608 PyObject* values[2] = {0,0};
5609 switch (PyTuple_GET_SIZE(__pyx_args)) {
5610 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5611 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5613 default: goto __pyx_L5_argtuple_error;
5615 switch (PyTuple_GET_SIZE(__pyx_args)) {
5617 values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
5618 if (likely(values[0])) kw_args--;
5619 else goto __pyx_L5_argtuple_error;
5621 values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value);
5622 if (likely(values[1])) kw_args--;
5624 __Pyx_RaiseArgtupleInvalid("setAttribute", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
5627 if (unlikely(kw_args > 0)) {
5628 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "setAttribute") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
5630 __pyx_v_name = values[0];
5631 __pyx_v_value = values[1];
5632 } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
5633 goto __pyx_L5_argtuple_error;
5635 __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0);
5636 __pyx_v_value = PyTuple_GET_ITEM(__pyx_args, 1);
5638 goto __pyx_L4_argument_unpacking_done;
5639 __pyx_L5_argtuple_error:;
5640 __Pyx_RaiseArgtupleInvalid("setAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
5642 __Pyx_AddTraceback("TabProxies.GTFProxy.setAttribute");
5643 __Pyx_RefNannyFinishContext();
5645 __pyx_L4_argument_unpacking_done:;
5646 __pyx_v_r = Py_None; __Pyx_INCREF(Py_None);
5648 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":484
5649 * def setAttribute( self, name, value ):
5650 * '''convenience method to set an attribute.'''
5651 * r = self.asDict() # <<<<<<<<<<<<<<
5653 * self.fromDict( r )
5655 __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__asDict); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5656 __Pyx_GOTREF(__pyx_t_1);
5657 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5658 __Pyx_GOTREF(__pyx_t_2);
5659 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5660 __Pyx_DECREF(__pyx_v_r);
5661 __pyx_v_r = __pyx_t_2;
5664 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":485
5665 * '''convenience method to set an attribute.'''
5667 * r[name] = value # <<<<<<<<<<<<<<
5668 * self.fromDict( r )
5671 if (PyObject_SetItem(__pyx_v_r, __pyx_v_name, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5673 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":486
5676 * self.fromDict( r ) # <<<<<<<<<<<<<<
5678 * cdef class NamedTupleProxy( TupleProxy ):
5680 __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__fromDict); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5681 __Pyx_GOTREF(__pyx_t_2);
5682 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5683 __Pyx_GOTREF(__pyx_t_1);
5684 __Pyx_INCREF(__pyx_v_r);
5685 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_r);
5686 __Pyx_GIVEREF(__pyx_v_r);
5687 __pyx_t_3 = PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5688 __Pyx_GOTREF(__pyx_t_3);
5689 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5690 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5691 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5693 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5696 __Pyx_XDECREF(__pyx_t_1);
5697 __Pyx_XDECREF(__pyx_t_2);
5698 __Pyx_XDECREF(__pyx_t_3);
5699 __Pyx_AddTraceback("TabProxies.GTFProxy.setAttribute");
5702 __Pyx_DECREF(__pyx_v_r);
5703 __Pyx_XGIVEREF(__pyx_r);
5704 __Pyx_RefNannyFinishContext();
5708 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":492
5709 * map_key2field = {}
5711 * def __setattr__(self, key, value ): # <<<<<<<<<<<<<<
5712 * '''set attribute.'''
5716 static int __pyx_pf_10TabProxies_15NamedTupleProxy___setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
5717 static char __pyx_doc_10TabProxies_15NamedTupleProxy___setattr__[] = "set attribute.";
5718 struct wrapperbase __pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__;
5719 static int __pyx_pf_10TabProxies_15NamedTupleProxy___setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
5721 PyObject *__pyx_v_f;
5723 PyObject *__pyx_t_1 = NULL;
5724 PyObject *__pyx_t_2 = NULL;
5725 PyObject *__pyx_t_3 = NULL;
5727 PyObject *__pyx_t_5 = NULL;
5729 __Pyx_RefNannySetupContext("__setattr__");
5730 __pyx_v_f = Py_None; __Pyx_INCREF(Py_None);
5732 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":495
5733 * '''set attribute.'''
5735 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
5736 * if self.nfields < idx:
5737 * raise KeyError( "field %s not set" % key )
5739 __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5740 __Pyx_GOTREF(__pyx_t_1);
5741 __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5742 __Pyx_GOTREF(__pyx_t_2);
5743 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5744 if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 2)) {
5745 PyObject* tuple = __pyx_t_2;
5746 __pyx_t_1 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_1);
5747 __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5748 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5749 __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3);
5750 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5751 __pyx_v_idx = __pyx_t_4;
5752 __Pyx_DECREF(__pyx_v_f);
5753 __pyx_v_f = __pyx_t_3;
5756 __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5757 __Pyx_GOTREF(__pyx_t_5);
5758 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5759 __pyx_t_1 = __Pyx_UnpackItem(__pyx_t_5, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5760 __Pyx_GOTREF(__pyx_t_1);
5761 __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5762 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5763 __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_5, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5764 __Pyx_GOTREF(__pyx_t_3);
5765 if (__Pyx_EndUnpack(__pyx_t_5, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5766 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5767 __pyx_v_idx = __pyx_t_4;
5768 __Pyx_DECREF(__pyx_v_f);
5769 __pyx_v_f = __pyx_t_3;
5773 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":496
5775 * idx, f = self.map_key2field[key]
5776 * if self.nfields < idx: # <<<<<<<<<<<<<<
5777 * raise KeyError( "field %s not set" % key )
5778 * TupleProxy.__setitem__(self, idx, str(value) )
5780 __pyx_t_6 = (((struct __pyx_obj_10TabProxies_NamedTupleProxy *)__pyx_v_self)->__pyx_base.nfields < __pyx_v_idx);
5783 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":497
5784 * idx, f = self.map_key2field[key]
5785 * if self.nfields < idx:
5786 * raise KeyError( "field %s not set" % key ) # <<<<<<<<<<<<<<
5787 * TupleProxy.__setitem__(self, idx, str(value) )
5790 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_17), __pyx_v_key); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5791 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
5792 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5793 __Pyx_GOTREF(__pyx_t_3);
5794 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
5795 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
5797 __pyx_t_2 = PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5798 __Pyx_GOTREF(__pyx_t_2);
5799 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5800 __Pyx_Raise(__pyx_t_2, 0, 0);
5801 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5802 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5807 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":498
5808 * if self.nfields < idx:
5809 * raise KeyError( "field %s not set" % key )
5810 * TupleProxy.__setitem__(self, idx, str(value) ) # <<<<<<<<<<<<<<
5812 * def __getattr__(self, key ):
5814 __pyx_t_2 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s____setitem__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5815 __Pyx_GOTREF(__pyx_t_2);
5816 __pyx_t_3 = PyInt_FromLong(__pyx_v_idx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5817 __Pyx_GOTREF(__pyx_t_3);
5818 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5819 __Pyx_GOTREF(__pyx_t_1);
5820 __Pyx_INCREF(__pyx_v_value);
5821 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value);
5822 __Pyx_GIVEREF(__pyx_v_value);
5823 __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5824 __Pyx_GOTREF(__pyx_t_5);
5825 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5826 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5827 __Pyx_GOTREF(__pyx_t_1);
5828 __Pyx_INCREF(__pyx_v_self);
5829 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self);
5830 __Pyx_GIVEREF(__pyx_v_self);
5831 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
5832 __Pyx_GIVEREF(__pyx_t_3);
5833 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5);
5834 __Pyx_GIVEREF(__pyx_t_5);
5837 __pyx_t_5 = PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5838 __Pyx_GOTREF(__pyx_t_5);
5839 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5840 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5841 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5846 __Pyx_XDECREF(__pyx_t_1);
5847 __Pyx_XDECREF(__pyx_t_2);
5848 __Pyx_XDECREF(__pyx_t_3);
5849 __Pyx_XDECREF(__pyx_t_5);
5850 __Pyx_AddTraceback("TabProxies.NamedTupleProxy.__setattr__");
5853 __Pyx_DECREF(__pyx_v_f);
5854 __Pyx_RefNannyFinishContext();
5858 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":500
5859 * TupleProxy.__setitem__(self, idx, str(value) )
5861 * def __getattr__(self, key ): # <<<<<<<<<<<<<<
5863 * idx, f = self.map_key2field[key]
5866 static PyObject *__pyx_pf_10TabProxies_15NamedTupleProxy___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
5867 static PyObject *__pyx_pf_10TabProxies_15NamedTupleProxy___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
5869 PyObject *__pyx_v_f;
5870 PyObject *__pyx_r = NULL;
5871 PyObject *__pyx_t_1 = NULL;
5872 PyObject *__pyx_t_2 = NULL;
5873 PyObject *__pyx_t_3 = NULL;
5875 PyObject *__pyx_t_5 = NULL;
5877 __Pyx_RefNannySetupContext("__getattr__");
5878 __pyx_v_f = Py_None; __Pyx_INCREF(Py_None);
5880 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":502
5881 * def __getattr__(self, key ):
5883 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
5884 * if self.nfields < idx:
5885 * raise KeyError( "field %s not set" % key )
5887 __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5888 __Pyx_GOTREF(__pyx_t_1);
5889 __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5890 __Pyx_GOTREF(__pyx_t_2);
5891 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5892 if (PyTuple_CheckExact(__pyx_t_2) && likely(PyTuple_GET_SIZE(__pyx_t_2) == 2)) {
5893 PyObject* tuple = __pyx_t_2;
5894 __pyx_t_1 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_1);
5895 __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5896 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5897 __pyx_t_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_3);
5898 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5899 __pyx_v_idx = __pyx_t_4;
5900 __Pyx_DECREF(__pyx_v_f);
5901 __pyx_v_f = __pyx_t_3;
5904 __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5905 __Pyx_GOTREF(__pyx_t_5);
5906 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5907 __pyx_t_1 = __Pyx_UnpackItem(__pyx_t_5, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5908 __Pyx_GOTREF(__pyx_t_1);
5909 __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5910 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5911 __pyx_t_3 = __Pyx_UnpackItem(__pyx_t_5, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5912 __Pyx_GOTREF(__pyx_t_3);
5913 if (__Pyx_EndUnpack(__pyx_t_5, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5914 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5915 __pyx_v_idx = __pyx_t_4;
5916 __Pyx_DECREF(__pyx_v_f);
5917 __pyx_v_f = __pyx_t_3;
5921 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":503
5923 * idx, f = self.map_key2field[key]
5924 * if self.nfields < idx: # <<<<<<<<<<<<<<
5925 * raise KeyError( "field %s not set" % key )
5926 * return f( self.fields[idx] )
5928 __pyx_t_6 = (((struct __pyx_obj_10TabProxies_NamedTupleProxy *)__pyx_v_self)->__pyx_base.nfields < __pyx_v_idx);
5931 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":504
5932 * idx, f = self.map_key2field[key]
5933 * if self.nfields < idx:
5934 * raise KeyError( "field %s not set" % key ) # <<<<<<<<<<<<<<
5935 * return f( self.fields[idx] )
5938 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_17), __pyx_v_key); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5939 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
5940 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5941 __Pyx_GOTREF(__pyx_t_3);
5942 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
5943 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
5945 __pyx_t_2 = PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5946 __Pyx_GOTREF(__pyx_t_2);
5947 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5948 __Pyx_Raise(__pyx_t_2, 0, 0);
5949 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5950 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5955 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":505
5956 * if self.nfields < idx:
5957 * raise KeyError( "field %s not set" % key )
5958 * return f( self.fields[idx] ) # <<<<<<<<<<<<<<
5960 * cdef class BedProxy( NamedTupleProxy ):
5962 __Pyx_XDECREF(__pyx_r);
5963 __pyx_t_2 = PyBytes_FromString((((struct __pyx_obj_10TabProxies_NamedTupleProxy *)__pyx_v_self)->__pyx_base.fields[__pyx_v_idx])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5964 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
5965 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5966 __Pyx_GOTREF(__pyx_t_3);
5967 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
5968 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
5970 __pyx_t_2 = PyObject_Call(__pyx_v_f, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5971 __Pyx_GOTREF(__pyx_t_2);
5972 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5973 __pyx_r = __pyx_t_2;
5977 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5980 __Pyx_XDECREF(__pyx_t_1);
5981 __Pyx_XDECREF(__pyx_t_2);
5982 __Pyx_XDECREF(__pyx_t_3);
5983 __Pyx_XDECREF(__pyx_t_5);
5984 __Pyx_AddTraceback("TabProxies.NamedTupleProxy.__getattr__");
5987 __Pyx_DECREF(__pyx_v_f);
5988 __Pyx_XGIVEREF(__pyx_r);
5989 __Pyx_RefNannyFinishContext();
5993 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":526
5994 * 'blockStarts': (11,str), }
5996 * cdef int getMaxFields( self, size_t nbytes ): # <<<<<<<<<<<<<<
5997 * '''return max number of fields.'''
6001 static int __pyx_f_10TabProxies_8BedProxy_getMaxFields(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self, size_t __pyx_v_nbytes) {
6003 __Pyx_RefNannySetupContext("getMaxFields");
6005 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":528
6006 * cdef int getMaxFields( self, size_t nbytes ):
6007 * '''return max number of fields.'''
6008 * return 12 # <<<<<<<<<<<<<<
6010 * cdef update( self, char * buffer, size_t nbytes ):
6017 __Pyx_RefNannyFinishContext();
6021 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":530
6024 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
6025 * '''update internal data.
6029 static PyObject *__pyx_f_10TabProxies_8BedProxy_update(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
6030 PyObject *__pyx_r = NULL;
6031 PyObject *__pyx_t_1 = NULL;
6033 PyObject *__pyx_t_3 = NULL;
6034 __Pyx_RefNannySetupContext("update");
6036 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":535
6037 * nbytes does not include the terminal '\0'.
6039 * TupleProxy.update( self, buffer, nbytes ) # <<<<<<<<<<<<<<
6041 * if self.nfields < 3:
6043 __pyx_t_1 = __pyx_vtabptr_10TabProxies_TupleProxy->update(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6044 __Pyx_GOTREF(__pyx_t_1);
6045 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6047 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":537
6048 * TupleProxy.update( self, buffer, nbytes )
6050 * if self.nfields < 3: # <<<<<<<<<<<<<<
6051 * raise ValueError( "bed format requires at least three columns" )
6054 __pyx_t_2 = (__pyx_v_self->__pyx_base.__pyx_base.nfields < 3);
6057 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":538
6059 * if self.nfields < 3:
6060 * raise ValueError( "bed format requires at least three columns" ) # <<<<<<<<<<<<<<
6062 * # determines bed format
6064 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6065 __Pyx_GOTREF(__pyx_t_1);
6066 __Pyx_INCREF(((PyObject *)__pyx_kp_s_18));
6067 PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_18));
6068 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_18));
6069 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6070 __Pyx_GOTREF(__pyx_t_3);
6071 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6072 __Pyx_Raise(__pyx_t_3, 0, 0);
6073 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6074 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6079 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":541
6081 * # determines bed format
6082 * self.bedfields = self.nfields # <<<<<<<<<<<<<<
6084 * # do automatic conversion
6086 __pyx_v_self->bedfields = __pyx_v_self->__pyx_base.__pyx_base.nfields;
6088 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":544
6090 * # do automatic conversion
6091 * self.contig = self.fields[0] # <<<<<<<<<<<<<<
6092 * self.start = atoi( self.fields[1] )
6093 * self.end = atoi( self.fields[2] )
6095 __pyx_v_self->contig = (__pyx_v_self->__pyx_base.__pyx_base.fields[0]);
6097 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":545
6098 * # do automatic conversion
6099 * self.contig = self.fields[0]
6100 * self.start = atoi( self.fields[1] ) # <<<<<<<<<<<<<<
6101 * self.end = atoi( self.fields[2] )
6104 __pyx_v_self->start = atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[1]));
6106 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":546
6107 * self.contig = self.fields[0]
6108 * self.start = atoi( self.fields[1] )
6109 * self.end = atoi( self.fields[2] ) # <<<<<<<<<<<<<<
6111 * # __setattr__ in base class seems to take precedence
6113 __pyx_v_self->end = atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[2]));
6115 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6118 __Pyx_XDECREF(__pyx_t_1);
6119 __Pyx_XDECREF(__pyx_t_3);
6120 __Pyx_AddTraceback("TabProxies.BedProxy.update");
6123 __Pyx_XGIVEREF(__pyx_r);
6124 __Pyx_RefNannyFinishContext();
6128 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":555
6129 * # def __get__( self ): return self.end
6131 * def __str__(self): # <<<<<<<<<<<<<<
6133 * cdef int save_fields = self.nfields
6136 static PyObject *__pyx_pf_10TabProxies_8BedProxy___str__(PyObject *__pyx_v_self); /*proto*/
6137 static PyObject *__pyx_pf_10TabProxies_8BedProxy___str__(PyObject *__pyx_v_self) {
6138 int __pyx_v_save_fields;
6139 PyObject *__pyx_v_retval;
6140 PyObject *__pyx_r = NULL;
6141 PyObject *__pyx_t_1 = NULL;
6142 PyObject *__pyx_t_2 = NULL;
6143 PyObject *__pyx_t_3 = NULL;
6144 __Pyx_RefNannySetupContext("__str__");
6145 __pyx_v_retval = Py_None; __Pyx_INCREF(Py_None);
6147 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":557
6148 * def __str__(self):
6150 * cdef int save_fields = self.nfields # <<<<<<<<<<<<<<
6151 * # ensure fields to use correct format
6152 * self.nfields = self.bedfields
6154 __pyx_v_save_fields = ((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self)->__pyx_base.__pyx_base.nfields;
6156 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":559
6157 * cdef int save_fields = self.nfields
6158 * # ensure fields to use correct format
6159 * self.nfields = self.bedfields # <<<<<<<<<<<<<<
6160 * retval = TupleProxy.__str__( self )
6161 * self.nfields = save_fields
6163 ((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self)->__pyx_base.__pyx_base.nfields = ((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self)->bedfields;
6165 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":560
6166 * # ensure fields to use correct format
6167 * self.nfields = self.bedfields
6168 * retval = TupleProxy.__str__( self ) # <<<<<<<<<<<<<<
6169 * self.nfields = save_fields
6172 __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s____str__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6173 __Pyx_GOTREF(__pyx_t_1);
6174 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6175 __Pyx_GOTREF(__pyx_t_2);
6176 __Pyx_INCREF(__pyx_v_self);
6177 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self);
6178 __Pyx_GIVEREF(__pyx_v_self);
6179 __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6180 __Pyx_GOTREF(__pyx_t_3);
6181 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6182 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6183 __Pyx_DECREF(__pyx_v_retval);
6184 __pyx_v_retval = __pyx_t_3;
6187 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":561
6188 * self.nfields = self.bedfields
6189 * retval = TupleProxy.__str__( self )
6190 * self.nfields = save_fields # <<<<<<<<<<<<<<
6194 ((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self)->__pyx_base.__pyx_base.nfields = __pyx_v_save_fields;
6196 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":562
6197 * retval = TupleProxy.__str__( self )
6198 * self.nfields = save_fields
6199 * return retval # <<<<<<<<<<<<<<
6201 * def __setattr__(self, key, value ):
6203 __Pyx_XDECREF(__pyx_r);
6204 __Pyx_INCREF(__pyx_v_retval);
6205 __pyx_r = __pyx_v_retval;
6208 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6211 __Pyx_XDECREF(__pyx_t_1);
6212 __Pyx_XDECREF(__pyx_t_2);
6213 __Pyx_XDECREF(__pyx_t_3);
6214 __Pyx_AddTraceback("TabProxies.BedProxy.__str__");
6217 __Pyx_DECREF(__pyx_v_retval);
6218 __Pyx_XGIVEREF(__pyx_r);
6219 __Pyx_RefNannyFinishContext();
6223 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":564
6226 * def __setattr__(self, key, value ): # <<<<<<<<<<<<<<
6227 * '''set attribute.'''
6228 * if key == "start": self.start = value
6231 static int __pyx_pf_10TabProxies_8BedProxy___setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
6232 static char __pyx_doc_10TabProxies_8BedProxy___setattr__[] = "set attribute.";
6233 struct wrapperbase __pyx_wrapperbase_10TabProxies_8BedProxy___setattr__;
6234 static int __pyx_pf_10TabProxies_8BedProxy___setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
6236 PyObject *__pyx_v_f;
6238 PyObject *__pyx_t_1 = NULL;
6241 PyObject *__pyx_t_4 = NULL;
6242 PyObject *__pyx_t_5 = NULL;
6244 PyObject *__pyx_t_7 = NULL;
6245 __Pyx_RefNannySetupContext("__setattr__");
6246 __pyx_v_f = Py_None; __Pyx_INCREF(Py_None);
6248 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":566
6249 * def __setattr__(self, key, value ):
6250 * '''set attribute.'''
6251 * if key == "start": self.start = value # <<<<<<<<<<<<<<
6252 * elif key == "end": self.end = value
6255 __pyx_t_1 = PyObject_RichCompare(__pyx_v_key, ((PyObject *)__pyx_n_s__start), Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6256 __Pyx_GOTREF(__pyx_t_1);
6257 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6258 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6260 __pyx_t_3 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_3 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6261 ((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self)->start = __pyx_t_3;
6265 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":567
6266 * '''set attribute.'''
6267 * if key == "start": self.start = value
6268 * elif key == "end": self.end = value # <<<<<<<<<<<<<<
6272 __pyx_t_1 = PyObject_RichCompare(__pyx_v_key, ((PyObject *)__pyx_n_s__end), Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6273 __Pyx_GOTREF(__pyx_t_1);
6274 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6275 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6277 __pyx_t_3 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_3 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6278 ((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self)->end = __pyx_t_3;
6283 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":570
6286 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
6287 * TupleProxy._setindex(self, idx, str(value) )
6290 __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6291 __Pyx_GOTREF(__pyx_t_1);
6292 __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6293 __Pyx_GOTREF(__pyx_t_4);
6294 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6295 if (PyTuple_CheckExact(__pyx_t_4) && likely(PyTuple_GET_SIZE(__pyx_t_4) == 2)) {
6296 PyObject* tuple = __pyx_t_4;
6297 __pyx_t_1 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_1);
6298 __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6299 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6300 __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5);
6301 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6302 __pyx_v_idx = __pyx_t_6;
6303 __Pyx_DECREF(__pyx_v_f);
6304 __pyx_v_f = __pyx_t_5;
6307 __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6308 __Pyx_GOTREF(__pyx_t_7);
6309 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6310 __pyx_t_1 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6311 __Pyx_GOTREF(__pyx_t_1);
6312 __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6313 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6314 __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6315 __Pyx_GOTREF(__pyx_t_5);
6316 if (__Pyx_EndUnpack(__pyx_t_7, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6317 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6318 __pyx_v_idx = __pyx_t_6;
6319 __Pyx_DECREF(__pyx_v_f);
6320 __pyx_v_f = __pyx_t_5;
6324 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":571
6326 * idx, f = self.map_key2field[key]
6327 * TupleProxy._setindex(self, idx, str(value) ) # <<<<<<<<<<<<<<
6329 * cdef class VCFProxy( NamedTupleProxy ):
6331 __pyx_t_4 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s___setindex); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6332 __Pyx_GOTREF(__pyx_t_4);
6333 __pyx_t_5 = PyInt_FromLong(__pyx_v_idx); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6334 __Pyx_GOTREF(__pyx_t_5);
6335 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6336 __Pyx_GOTREF(__pyx_t_1);
6337 __Pyx_INCREF(__pyx_v_value);
6338 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value);
6339 __Pyx_GIVEREF(__pyx_v_value);
6340 __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6341 __Pyx_GOTREF(__pyx_t_7);
6342 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6343 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6344 __Pyx_GOTREF(__pyx_t_1);
6345 __Pyx_INCREF(__pyx_v_self);
6346 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self);
6347 __Pyx_GIVEREF(__pyx_v_self);
6348 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
6349 __Pyx_GIVEREF(__pyx_t_5);
6350 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_7);
6351 __Pyx_GIVEREF(__pyx_t_7);
6354 __pyx_t_7 = PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6355 __Pyx_GOTREF(__pyx_t_7);
6356 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6357 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6358 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6363 __Pyx_XDECREF(__pyx_t_1);
6364 __Pyx_XDECREF(__pyx_t_4);
6365 __Pyx_XDECREF(__pyx_t_5);
6366 __Pyx_XDECREF(__pyx_t_7);
6367 __Pyx_AddTraceback("TabProxies.BedProxy.__setattr__");
6370 __Pyx_DECREF(__pyx_v_f);
6371 __Pyx_RefNannyFinishContext();
6375 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":589
6376 * 'format' : (8,str) }
6378 * def __cinit__(self ): # <<<<<<<<<<<<<<
6379 * # automatically calls TupleProxy.__cinit__
6380 * # start indexed access at genotypes
6383 static int __pyx_pf_10TabProxies_8VCFProxy___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6384 static int __pyx_pf_10TabProxies_8VCFProxy___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6386 __Pyx_RefNannySetupContext("__cinit__");
6387 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
6388 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
6389 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
6391 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":592
6392 * # automatically calls TupleProxy.__cinit__
6393 * # start indexed access at genotypes
6394 * self.offset = 9 # <<<<<<<<<<<<<<
6396 * cdef update( self, char * buffer, size_t nbytes ):
6398 ((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self)->__pyx_base.__pyx_base.offset = 9;
6401 __Pyx_RefNannyFinishContext();
6405 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":594
6408 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
6409 * '''update internal data.
6413 static PyObject *__pyx_f_10TabProxies_8VCFProxy_update(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
6414 PyObject *__pyx_r = NULL;
6415 PyObject *__pyx_t_1 = NULL;
6416 __Pyx_RefNannySetupContext("update");
6418 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":599
6419 * nbytes does not include the terminal '\0'.
6421 * TupleProxy.update( self, buffer, nbytes ) # <<<<<<<<<<<<<<
6423 * self.contig = self.fields[0]
6425 __pyx_t_1 = __pyx_vtabptr_10TabProxies_TupleProxy->update(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6426 __Pyx_GOTREF(__pyx_t_1);
6427 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6429 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":601
6430 * TupleProxy.update( self, buffer, nbytes )
6432 * self.contig = self.fields[0] # <<<<<<<<<<<<<<
6433 * # vcf counts from 1 - correct here
6434 * self.pos = atoi( self.fields[1] ) - 1
6436 __pyx_v_self->contig = (__pyx_v_self->__pyx_base.__pyx_base.fields[0]);
6438 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":603
6439 * self.contig = self.fields[0]
6440 * # vcf counts from 1 - correct here
6441 * self.pos = atoi( self.fields[1] ) - 1 # <<<<<<<<<<<<<<
6443 * def __len__(self):
6445 __pyx_v_self->pos = (atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[1])) - 1);
6447 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6450 __Pyx_XDECREF(__pyx_t_1);
6451 __Pyx_AddTraceback("TabProxies.VCFProxy.update");
6454 __Pyx_XGIVEREF(__pyx_r);
6455 __Pyx_RefNannyFinishContext();
6459 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":605
6460 * self.pos = atoi( self.fields[1] ) - 1
6462 * def __len__(self): # <<<<<<<<<<<<<<
6463 * return max(0, self.nfields - 9)
6467 static Py_ssize_t __pyx_pf_10TabProxies_8VCFProxy___len__(PyObject *__pyx_v_self); /*proto*/
6468 static Py_ssize_t __pyx_pf_10TabProxies_8VCFProxy___len__(PyObject *__pyx_v_self) {
6473 __Pyx_RefNannySetupContext("__len__");
6475 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":606
6477 * def __len__(self):
6478 * return max(0, self.nfields - 9) # <<<<<<<<<<<<<<
6480 * def __setattr__(self, key, value ):
6482 __pyx_t_1 = (((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self)->__pyx_base.__pyx_base.nfields - 9);
6484 if ((__pyx_t_1 > __pyx_t_2)) {
6485 __pyx_t_3 = __pyx_t_1;
6487 __pyx_t_3 = __pyx_t_2;
6489 __pyx_r = __pyx_t_3;
6494 __Pyx_RefNannyFinishContext();
6498 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":608
6499 * return max(0, self.nfields - 9)
6501 * def __setattr__(self, key, value ): # <<<<<<<<<<<<<<
6502 * '''set attribute.'''
6506 static int __pyx_pf_10TabProxies_8VCFProxy___setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
6507 static char __pyx_doc_10TabProxies_8VCFProxy___setattr__[] = "set attribute.";
6508 struct wrapperbase __pyx_wrapperbase_10TabProxies_8VCFProxy___setattr__;
6509 static int __pyx_pf_10TabProxies_8VCFProxy___setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
6511 PyObject *__pyx_v_f;
6513 PyObject *__pyx_t_1 = NULL;
6516 PyObject *__pyx_t_4 = NULL;
6517 PyObject *__pyx_t_5 = NULL;
6519 PyObject *__pyx_t_7 = NULL;
6520 __Pyx_RefNannySetupContext("__setattr__");
6521 __Pyx_INCREF(__pyx_v_value);
6522 __pyx_v_f = Py_None; __Pyx_INCREF(Py_None);
6524 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":610
6525 * def __setattr__(self, key, value ):
6526 * '''set attribute.'''
6527 * if key == "pos": # <<<<<<<<<<<<<<
6531 __pyx_t_1 = PyObject_RichCompare(__pyx_v_key, ((PyObject *)__pyx_n_s__pos), Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6532 __Pyx_GOTREF(__pyx_t_1);
6533 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6534 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6537 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":611
6538 * '''set attribute.'''
6540 * self.pos = value # <<<<<<<<<<<<<<
6544 __pyx_t_3 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_3 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6545 ((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self)->pos = __pyx_t_3;
6547 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":612
6550 * value += 1 # <<<<<<<<<<<<<<
6554 __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_value, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6555 __Pyx_GOTREF(__pyx_t_1);
6556 __Pyx_DECREF(__pyx_v_value);
6557 __pyx_v_value = __pyx_t_1;
6563 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":615
6566 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
6567 * TupleProxy._setindex(self, idx, str(value) )
6570 __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6571 __Pyx_GOTREF(__pyx_t_1);
6572 __pyx_t_4 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6573 __Pyx_GOTREF(__pyx_t_4);
6574 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6575 if (PyTuple_CheckExact(__pyx_t_4) && likely(PyTuple_GET_SIZE(__pyx_t_4) == 2)) {
6576 PyObject* tuple = __pyx_t_4;
6577 __pyx_t_1 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_1);
6578 __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6579 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6580 __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5);
6581 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6582 __pyx_v_idx = __pyx_t_6;
6583 __Pyx_DECREF(__pyx_v_f);
6584 __pyx_v_f = __pyx_t_5;
6587 __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6588 __Pyx_GOTREF(__pyx_t_7);
6589 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6590 __pyx_t_1 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6591 __Pyx_GOTREF(__pyx_t_1);
6592 __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6593 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6594 __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6595 __Pyx_GOTREF(__pyx_t_5);
6596 if (__Pyx_EndUnpack(__pyx_t_7, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6597 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6598 __pyx_v_idx = __pyx_t_6;
6599 __Pyx_DECREF(__pyx_v_f);
6600 __pyx_v_f = __pyx_t_5;
6604 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":616
6606 * idx, f = self.map_key2field[key]
6607 * TupleProxy._setindex(self, idx, str(value) ) # <<<<<<<<<<<<<<
6610 __pyx_t_4 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s___setindex); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6611 __Pyx_GOTREF(__pyx_t_4);
6612 __pyx_t_5 = PyInt_FromLong(__pyx_v_idx); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6613 __Pyx_GOTREF(__pyx_t_5);
6614 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6615 __Pyx_GOTREF(__pyx_t_1);
6616 __Pyx_INCREF(__pyx_v_value);
6617 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value);
6618 __Pyx_GIVEREF(__pyx_v_value);
6619 __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6620 __Pyx_GOTREF(__pyx_t_7);
6621 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6622 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6623 __Pyx_GOTREF(__pyx_t_1);
6624 __Pyx_INCREF(__pyx_v_self);
6625 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self);
6626 __Pyx_GIVEREF(__pyx_v_self);
6627 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
6628 __Pyx_GIVEREF(__pyx_t_5);
6629 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_7);
6630 __Pyx_GIVEREF(__pyx_t_7);
6633 __pyx_t_7 = PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6634 __Pyx_GOTREF(__pyx_t_7);
6635 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6636 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6637 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6642 __Pyx_XDECREF(__pyx_t_1);
6643 __Pyx_XDECREF(__pyx_t_4);
6644 __Pyx_XDECREF(__pyx_t_5);
6645 __Pyx_XDECREF(__pyx_t_7);
6646 __Pyx_AddTraceback("TabProxies.VCFProxy.__setattr__");
6649 __Pyx_DECREF(__pyx_v_f);
6650 __Pyx_DECREF(__pyx_v_value);
6651 __Pyx_RefNannyFinishContext();
6654 static struct __pyx_vtabstruct_10TabProxies_TupleProxy __pyx_vtable_10TabProxies_TupleProxy;
6656 static PyObject *__pyx_tp_new_10TabProxies_TupleProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
6657 struct __pyx_obj_10TabProxies_TupleProxy *p;
6658 PyObject *o = (*t->tp_alloc)(t, 0);
6660 p = ((struct __pyx_obj_10TabProxies_TupleProxy *)o);
6661 p->__pyx_vtab = __pyx_vtabptr_10TabProxies_TupleProxy;
6662 if (__pyx_pf_10TabProxies_10TupleProxy___cinit__(o, __pyx_empty_tuple, NULL) < 0) {
6663 Py_DECREF(o); o = 0;
6668 static void __pyx_tp_dealloc_10TabProxies_TupleProxy(PyObject *o) {
6670 PyObject *etype, *eval, *etb;
6671 PyErr_Fetch(&etype, &eval, &etb);
6673 __pyx_pf_10TabProxies_10TupleProxy___dealloc__(o);
6674 if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
6676 PyErr_Restore(etype, eval, etb);
6678 (*Py_TYPE(o)->tp_free)(o);
6680 static PyObject *__pyx_sq_item_10TabProxies_TupleProxy(PyObject *o, Py_ssize_t i) {
6682 PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
6683 r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
6688 static int __pyx_mp_ass_subscript_10TabProxies_TupleProxy(PyObject *o, PyObject *i, PyObject *v) {
6690 return __pyx_pf_10TabProxies_10TupleProxy___setitem__(o, i, v);
6693 PyErr_Format(PyExc_NotImplementedError,
6694 "Subscript deletion not supported by %s", Py_TYPE(o)->tp_name);
6699 static PyMethodDef __pyx_methods_10TabProxies_TupleProxy[] = {
6700 {__Pyx_NAMESTR("_setindex"), (PyCFunction)__pyx_pf_10TabProxies_10TupleProxy__setindex, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_10TupleProxy__setindex)},
6701 {__Pyx_NAMESTR("__next__"), (PyCFunction)__pyx_pf_10TabProxies_10TupleProxy___next__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(__pyx_doc_10TabProxies_10TupleProxy___next__)},
6705 static PyNumberMethods __pyx_tp_as_number_TupleProxy = {
6709 #if PY_MAJOR_VERSION < 3
6725 #if PY_MAJOR_VERSION < 3
6729 #if PY_MAJOR_VERSION < 3
6735 #if PY_MAJOR_VERSION < 3
6738 #if PY_MAJOR_VERSION < 3
6741 0, /*nb_inplace_add*/
6742 0, /*nb_inplace_subtract*/
6743 0, /*nb_inplace_multiply*/
6744 #if PY_MAJOR_VERSION < 3
6745 0, /*nb_inplace_divide*/
6747 0, /*nb_inplace_remainder*/
6748 0, /*nb_inplace_power*/
6749 0, /*nb_inplace_lshift*/
6750 0, /*nb_inplace_rshift*/
6751 0, /*nb_inplace_and*/
6752 0, /*nb_inplace_xor*/
6753 0, /*nb_inplace_or*/
6754 0, /*nb_floor_divide*/
6755 0, /*nb_true_divide*/
6756 0, /*nb_inplace_floor_divide*/
6757 0, /*nb_inplace_true_divide*/
6758 #if PY_VERSION_HEX >= 0x02050000
6763 static PySequenceMethods __pyx_tp_as_sequence_TupleProxy = {
6764 __pyx_pf_10TabProxies_10TupleProxy___len__, /*sq_length*/
6767 __pyx_sq_item_10TabProxies_TupleProxy, /*sq_item*/
6772 0, /*sq_inplace_concat*/
6773 0, /*sq_inplace_repeat*/
6776 static PyMappingMethods __pyx_tp_as_mapping_TupleProxy = {
6777 __pyx_pf_10TabProxies_10TupleProxy___len__, /*mp_length*/
6778 __pyx_pf_10TabProxies_10TupleProxy___getitem__, /*mp_subscript*/
6779 __pyx_mp_ass_subscript_10TabProxies_TupleProxy, /*mp_ass_subscript*/
6782 static PyBufferProcs __pyx_tp_as_buffer_TupleProxy = {
6783 #if PY_MAJOR_VERSION < 3
6784 0, /*bf_getreadbuffer*/
6786 #if PY_MAJOR_VERSION < 3
6787 0, /*bf_getwritebuffer*/
6789 #if PY_MAJOR_VERSION < 3
6790 0, /*bf_getsegcount*/
6792 #if PY_MAJOR_VERSION < 3
6793 0, /*bf_getcharbuffer*/
6795 #if PY_VERSION_HEX >= 0x02060000
6798 #if PY_VERSION_HEX >= 0x02060000
6799 0, /*bf_releasebuffer*/
6803 PyTypeObject __pyx_type_10TabProxies_TupleProxy = {
6804 PyVarObject_HEAD_INIT(0, 0)
6805 __Pyx_NAMESTR("TabProxies.TupleProxy"), /*tp_name*/
6806 sizeof(struct __pyx_obj_10TabProxies_TupleProxy), /*tp_basicsize*/
6808 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
6812 #if PY_MAJOR_VERSION < 3
6818 &__pyx_tp_as_number_TupleProxy, /*tp_as_number*/
6819 &__pyx_tp_as_sequence_TupleProxy, /*tp_as_sequence*/
6820 &__pyx_tp_as_mapping_TupleProxy, /*tp_as_mapping*/
6823 __pyx_pf_10TabProxies_10TupleProxy___str__, /*tp_str*/
6826 &__pyx_tp_as_buffer_TupleProxy, /*tp_as_buffer*/
6827 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/
6828 __Pyx_DOCSTR("Proxy class for access to parsed row as a tuple.\n\n This class represents a table row for fast read-access.\n\n Access to individual fields is via the [] operator.\n \n Only read-only access is implemented.\n "), /*tp_doc*/
6831 0, /*tp_richcompare*/
6832 0, /*tp_weaklistoffset*/
6833 __pyx_pf_10TabProxies_10TupleProxy___iter__, /*tp_iter*/
6834 __pyx_pf_10TabProxies_10TupleProxy___next__, /*tp_iternext*/
6835 __pyx_methods_10TabProxies_TupleProxy, /*tp_methods*/
6842 0, /*tp_dictoffset*/
6845 __pyx_tp_new_10TabProxies_TupleProxy, /*tp_new*/
6851 0, /*tp_subclasses*/
6854 #if PY_VERSION_HEX >= 0x02060000
6855 0, /*tp_version_tag*/
6858 static struct __pyx_vtabstruct_10TabProxies_GTFProxy __pyx_vtable_10TabProxies_GTFProxy;
6860 static PyObject *__pyx_tp_new_10TabProxies_GTFProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
6861 struct __pyx_obj_10TabProxies_GTFProxy *p;
6862 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
6864 p = ((struct __pyx_obj_10TabProxies_GTFProxy *)o);
6865 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_GTFProxy;
6866 if (__pyx_pf_10TabProxies_8GTFProxy___cinit__(o, __pyx_empty_tuple, NULL) < 0) {
6867 Py_DECREF(o); o = 0;
6872 static void __pyx_tp_dealloc_10TabProxies_GTFProxy(PyObject *o) {
6874 PyObject *etype, *eval, *etb;
6875 PyErr_Fetch(&etype, &eval, &etb);
6877 __pyx_pf_10TabProxies_8GTFProxy___dealloc__(o);
6878 if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
6880 PyErr_Restore(etype, eval, etb);
6882 __pyx_tp_dealloc_10TabProxies_TupleProxy(o);
6884 static PyObject *__pyx_sq_item_10TabProxies_GTFProxy(PyObject *o, Py_ssize_t i) {
6886 PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
6887 r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
6892 static PyObject *__pyx_tp_getattro_10TabProxies_GTFProxy(PyObject *o, PyObject *n) {
6893 PyObject *v = PyObject_GenericGetAttr(o, n);
6894 if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
6896 v = __pyx_pf_10TabProxies_8GTFProxy___getattr__(o, n);
6901 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_contig(PyObject *o, void *x) {
6902 return __pyx_pf_10TabProxies_8GTFProxy_6contig___get__(o);
6905 static int __pyx_setprop_10TabProxies_8GTFProxy_contig(PyObject *o, PyObject *v, void *x) {
6907 return __pyx_pf_10TabProxies_8GTFProxy_6contig___set__(o, v);
6910 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6915 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_feature(PyObject *o, void *x) {
6916 return __pyx_pf_10TabProxies_8GTFProxy_7feature___get__(o);
6919 static int __pyx_setprop_10TabProxies_8GTFProxy_feature(PyObject *o, PyObject *v, void *x) {
6921 return __pyx_pf_10TabProxies_8GTFProxy_7feature___set__(o, v);
6924 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6929 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_source(PyObject *o, void *x) {
6930 return __pyx_pf_10TabProxies_8GTFProxy_6source___get__(o);
6933 static int __pyx_setprop_10TabProxies_8GTFProxy_source(PyObject *o, PyObject *v, void *x) {
6935 return __pyx_pf_10TabProxies_8GTFProxy_6source___set__(o, v);
6938 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6943 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_start(PyObject *o, void *x) {
6944 return __pyx_pf_10TabProxies_8GTFProxy_5start___get__(o);
6947 static int __pyx_setprop_10TabProxies_8GTFProxy_start(PyObject *o, PyObject *v, void *x) {
6949 return __pyx_pf_10TabProxies_8GTFProxy_5start___set__(o, v);
6952 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6957 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_end(PyObject *o, void *x) {
6958 return __pyx_pf_10TabProxies_8GTFProxy_3end___get__(o);
6961 static int __pyx_setprop_10TabProxies_8GTFProxy_end(PyObject *o, PyObject *v, void *x) {
6963 return __pyx_pf_10TabProxies_8GTFProxy_3end___set__(o, v);
6966 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6971 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_score(PyObject *o, void *x) {
6972 return __pyx_pf_10TabProxies_8GTFProxy_5score___get__(o);
6975 static int __pyx_setprop_10TabProxies_8GTFProxy_score(PyObject *o, PyObject *v, void *x) {
6977 return __pyx_pf_10TabProxies_8GTFProxy_5score___set__(o, v);
6980 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6985 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_strand(PyObject *o, void *x) {
6986 return __pyx_pf_10TabProxies_8GTFProxy_6strand___get__(o);
6989 static int __pyx_setprop_10TabProxies_8GTFProxy_strand(PyObject *o, PyObject *v, void *x) {
6991 return __pyx_pf_10TabProxies_8GTFProxy_6strand___set__(o, v);
6994 PyErr_SetString(PyExc_NotImplementedError, "__del__");
6999 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_frame(PyObject *o, void *x) {
7000 return __pyx_pf_10TabProxies_8GTFProxy_5frame___get__(o);
7003 static int __pyx_setprop_10TabProxies_8GTFProxy_frame(PyObject *o, PyObject *v, void *x) {
7005 return __pyx_pf_10TabProxies_8GTFProxy_5frame___set__(o, v);
7008 PyErr_SetString(PyExc_NotImplementedError, "__del__");
7013 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_attributes(PyObject *o, void *x) {
7014 return __pyx_pf_10TabProxies_8GTFProxy_10attributes___get__(o);
7017 static int __pyx_setprop_10TabProxies_8GTFProxy_attributes(PyObject *o, PyObject *v, void *x) {
7019 return __pyx_pf_10TabProxies_8GTFProxy_10attributes___set__(o, v);
7022 PyErr_SetString(PyExc_NotImplementedError, "__del__");
7027 static PyMethodDef __pyx_methods_10TabProxies_GTFProxy[] = {
7028 {__Pyx_NAMESTR("asDict"), (PyCFunction)__pyx_pf_10TabProxies_8GTFProxy_asDict, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_asDict)},
7029 {__Pyx_NAMESTR("fromDict"), (PyCFunction)__pyx_pf_10TabProxies_8GTFProxy_fromDict, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_fromDict)},
7030 {__Pyx_NAMESTR("invert"), (PyCFunction)__pyx_pf_10TabProxies_8GTFProxy_invert, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_invert)},
7031 {__Pyx_NAMESTR("keys"), (PyCFunction)__pyx_pf_10TabProxies_8GTFProxy_keys, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_keys)},
7032 {__Pyx_NAMESTR("__getattr__"), (PyCFunction)__pyx_pf_10TabProxies_8GTFProxy___getattr__, METH_O|METH_COEXIST, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy___getattr__)},
7033 {__Pyx_NAMESTR("setAttribute"), (PyCFunction)__pyx_pf_10TabProxies_8GTFProxy_setAttribute, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_setAttribute)},
7037 static struct PyGetSetDef __pyx_getsets_10TabProxies_GTFProxy[] = {
7038 {(char *)"contig", __pyx_getprop_10TabProxies_8GTFProxy_contig, __pyx_setprop_10TabProxies_8GTFProxy_contig, __Pyx_DOCSTR(__pyx_k_19), 0},
7039 {(char *)"feature", __pyx_getprop_10TabProxies_8GTFProxy_feature, __pyx_setprop_10TabProxies_8GTFProxy_feature, __Pyx_DOCSTR(__pyx_k_20), 0},
7040 {(char *)"source", __pyx_getprop_10TabProxies_8GTFProxy_source, __pyx_setprop_10TabProxies_8GTFProxy_source, __Pyx_DOCSTR(__pyx_k_21), 0},
7041 {(char *)"start", __pyx_getprop_10TabProxies_8GTFProxy_start, __pyx_setprop_10TabProxies_8GTFProxy_start, __Pyx_DOCSTR(__pyx_k_22), 0},
7042 {(char *)"end", __pyx_getprop_10TabProxies_8GTFProxy_end, __pyx_setprop_10TabProxies_8GTFProxy_end, __Pyx_DOCSTR(__pyx_k_23), 0},
7043 {(char *)"score", __pyx_getprop_10TabProxies_8GTFProxy_score, __pyx_setprop_10TabProxies_8GTFProxy_score, __Pyx_DOCSTR(__pyx_k_24), 0},
7044 {(char *)"strand", __pyx_getprop_10TabProxies_8GTFProxy_strand, __pyx_setprop_10TabProxies_8GTFProxy_strand, __Pyx_DOCSTR(__pyx_k_25), 0},
7045 {(char *)"frame", __pyx_getprop_10TabProxies_8GTFProxy_frame, __pyx_setprop_10TabProxies_8GTFProxy_frame, __Pyx_DOCSTR(__pyx_k_26), 0},
7046 {(char *)"attributes", __pyx_getprop_10TabProxies_8GTFProxy_attributes, __pyx_setprop_10TabProxies_8GTFProxy_attributes, __Pyx_DOCSTR(__pyx_k_27), 0},
7050 static PyNumberMethods __pyx_tp_as_number_GTFProxy = {
7054 #if PY_MAJOR_VERSION < 3
7070 #if PY_MAJOR_VERSION < 3
7074 #if PY_MAJOR_VERSION < 3
7080 #if PY_MAJOR_VERSION < 3
7083 #if PY_MAJOR_VERSION < 3
7086 0, /*nb_inplace_add*/
7087 0, /*nb_inplace_subtract*/
7088 0, /*nb_inplace_multiply*/
7089 #if PY_MAJOR_VERSION < 3
7090 0, /*nb_inplace_divide*/
7092 0, /*nb_inplace_remainder*/
7093 0, /*nb_inplace_power*/
7094 0, /*nb_inplace_lshift*/
7095 0, /*nb_inplace_rshift*/
7096 0, /*nb_inplace_and*/
7097 0, /*nb_inplace_xor*/
7098 0, /*nb_inplace_or*/
7099 0, /*nb_floor_divide*/
7100 0, /*nb_true_divide*/
7101 0, /*nb_inplace_floor_divide*/
7102 0, /*nb_inplace_true_divide*/
7103 #if PY_VERSION_HEX >= 0x02050000
7108 static PySequenceMethods __pyx_tp_as_sequence_GTFProxy = {
7112 __pyx_sq_item_10TabProxies_GTFProxy, /*sq_item*/
7117 0, /*sq_inplace_concat*/
7118 0, /*sq_inplace_repeat*/
7121 static PyMappingMethods __pyx_tp_as_mapping_GTFProxy = {
7123 __pyx_pf_10TabProxies_8GTFProxy___getitem__, /*mp_subscript*/
7124 0, /*mp_ass_subscript*/
7127 static PyBufferProcs __pyx_tp_as_buffer_GTFProxy = {
7128 #if PY_MAJOR_VERSION < 3
7129 0, /*bf_getreadbuffer*/
7131 #if PY_MAJOR_VERSION < 3
7132 0, /*bf_getwritebuffer*/
7134 #if PY_MAJOR_VERSION < 3
7135 0, /*bf_getsegcount*/
7137 #if PY_MAJOR_VERSION < 3
7138 0, /*bf_getcharbuffer*/
7140 #if PY_VERSION_HEX >= 0x02060000
7143 #if PY_VERSION_HEX >= 0x02060000
7144 0, /*bf_releasebuffer*/
7148 PyTypeObject __pyx_type_10TabProxies_GTFProxy = {
7149 PyVarObject_HEAD_INIT(0, 0)
7150 __Pyx_NAMESTR("TabProxies.GTFProxy"), /*tp_name*/
7151 sizeof(struct __pyx_obj_10TabProxies_GTFProxy), /*tp_basicsize*/
7153 __pyx_tp_dealloc_10TabProxies_GTFProxy, /*tp_dealloc*/
7157 #if PY_MAJOR_VERSION < 3
7163 &__pyx_tp_as_number_GTFProxy, /*tp_as_number*/
7164 &__pyx_tp_as_sequence_GTFProxy, /*tp_as_sequence*/
7165 &__pyx_tp_as_mapping_GTFProxy, /*tp_as_mapping*/
7168 __pyx_pf_10TabProxies_8GTFProxy___str__, /*tp_str*/
7169 __pyx_tp_getattro_10TabProxies_GTFProxy, /*tp_getattro*/
7171 &__pyx_tp_as_buffer_GTFProxy, /*tp_as_buffer*/
7172 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/
7173 __Pyx_DOCSTR("Proxy class for access to GTF fields.\n\n This class represents a GTF entry for fast read-access.\n Write-access has been added as well, though some care must\n be taken. If any of the string fields (contig, source, ...)\n are set, the new value is tied to the lifetime of the\n argument that was supplied.\n\n The only exception is the attributes field when set from\n a dictionary - this field will manage its own memory.\n\n "), /*tp_doc*/
7176 0, /*tp_richcompare*/
7177 0, /*tp_weaklistoffset*/
7180 __pyx_methods_10TabProxies_GTFProxy, /*tp_methods*/
7182 __pyx_getsets_10TabProxies_GTFProxy, /*tp_getset*/
7187 0, /*tp_dictoffset*/
7190 __pyx_tp_new_10TabProxies_GTFProxy, /*tp_new*/
7196 0, /*tp_subclasses*/
7199 #if PY_VERSION_HEX >= 0x02060000
7200 0, /*tp_version_tag*/
7203 static struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy __pyx_vtable_10TabProxies_NamedTupleProxy;
7205 static PyObject *__pyx_tp_new_10TabProxies_NamedTupleProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
7206 struct __pyx_obj_10TabProxies_NamedTupleProxy *p;
7207 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
7209 p = ((struct __pyx_obj_10TabProxies_NamedTupleProxy *)o);
7210 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_NamedTupleProxy;
7214 static PyObject *__pyx_tp_getattro_10TabProxies_NamedTupleProxy(PyObject *o, PyObject *n) {
7215 PyObject *v = PyObject_GenericGetAttr(o, n);
7216 if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
7218 v = __pyx_pf_10TabProxies_15NamedTupleProxy___getattr__(o, n);
7223 static int __pyx_tp_setattro_10TabProxies_NamedTupleProxy(PyObject *o, PyObject *n, PyObject *v) {
7225 return __pyx_pf_10TabProxies_15NamedTupleProxy___setattr__(o, n, v);
7228 if (__pyx_ptype_10TabProxies_TupleProxy->tp_setattro)
7229 return __pyx_ptype_10TabProxies_TupleProxy->tp_setattro(o, n, v);
7230 return PyObject_GenericSetAttr(o, n, 0);
7234 static PyMethodDef __pyx_methods_10TabProxies_NamedTupleProxy[] = {
7235 {__Pyx_NAMESTR("__getattr__"), (PyCFunction)__pyx_pf_10TabProxies_15NamedTupleProxy___getattr__, METH_O|METH_COEXIST, __Pyx_DOCSTR(0)},
7239 static PyNumberMethods __pyx_tp_as_number_NamedTupleProxy = {
7243 #if PY_MAJOR_VERSION < 3
7259 #if PY_MAJOR_VERSION < 3
7263 #if PY_MAJOR_VERSION < 3
7269 #if PY_MAJOR_VERSION < 3
7272 #if PY_MAJOR_VERSION < 3
7275 0, /*nb_inplace_add*/
7276 0, /*nb_inplace_subtract*/
7277 0, /*nb_inplace_multiply*/
7278 #if PY_MAJOR_VERSION < 3
7279 0, /*nb_inplace_divide*/
7281 0, /*nb_inplace_remainder*/
7282 0, /*nb_inplace_power*/
7283 0, /*nb_inplace_lshift*/
7284 0, /*nb_inplace_rshift*/
7285 0, /*nb_inplace_and*/
7286 0, /*nb_inplace_xor*/
7287 0, /*nb_inplace_or*/
7288 0, /*nb_floor_divide*/
7289 0, /*nb_true_divide*/
7290 0, /*nb_inplace_floor_divide*/
7291 0, /*nb_inplace_true_divide*/
7292 #if PY_VERSION_HEX >= 0x02050000
7297 static PySequenceMethods __pyx_tp_as_sequence_NamedTupleProxy = {
7306 0, /*sq_inplace_concat*/
7307 0, /*sq_inplace_repeat*/
7310 static PyMappingMethods __pyx_tp_as_mapping_NamedTupleProxy = {
7313 0, /*mp_ass_subscript*/
7316 static PyBufferProcs __pyx_tp_as_buffer_NamedTupleProxy = {
7317 #if PY_MAJOR_VERSION < 3
7318 0, /*bf_getreadbuffer*/
7320 #if PY_MAJOR_VERSION < 3
7321 0, /*bf_getwritebuffer*/
7323 #if PY_MAJOR_VERSION < 3
7324 0, /*bf_getsegcount*/
7326 #if PY_MAJOR_VERSION < 3
7327 0, /*bf_getcharbuffer*/
7329 #if PY_VERSION_HEX >= 0x02060000
7332 #if PY_VERSION_HEX >= 0x02060000
7333 0, /*bf_releasebuffer*/
7337 PyTypeObject __pyx_type_10TabProxies_NamedTupleProxy = {
7338 PyVarObject_HEAD_INIT(0, 0)
7339 __Pyx_NAMESTR("TabProxies.NamedTupleProxy"), /*tp_name*/
7340 sizeof(struct __pyx_obj_10TabProxies_NamedTupleProxy), /*tp_basicsize*/
7342 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
7346 #if PY_MAJOR_VERSION < 3
7352 &__pyx_tp_as_number_NamedTupleProxy, /*tp_as_number*/
7353 &__pyx_tp_as_sequence_NamedTupleProxy, /*tp_as_sequence*/
7354 &__pyx_tp_as_mapping_NamedTupleProxy, /*tp_as_mapping*/
7358 __pyx_tp_getattro_10TabProxies_NamedTupleProxy, /*tp_getattro*/
7359 __pyx_tp_setattro_10TabProxies_NamedTupleProxy, /*tp_setattro*/
7360 &__pyx_tp_as_buffer_NamedTupleProxy, /*tp_as_buffer*/
7361 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/
7365 0, /*tp_richcompare*/
7366 0, /*tp_weaklistoffset*/
7369 __pyx_methods_10TabProxies_NamedTupleProxy, /*tp_methods*/
7376 0, /*tp_dictoffset*/
7379 __pyx_tp_new_10TabProxies_NamedTupleProxy, /*tp_new*/
7385 0, /*tp_subclasses*/
7388 #if PY_VERSION_HEX >= 0x02060000
7389 0, /*tp_version_tag*/
7392 static struct __pyx_vtabstruct_10TabProxies_BedProxy __pyx_vtable_10TabProxies_BedProxy;
7394 static PyObject *__pyx_tp_new_10TabProxies_BedProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
7395 struct __pyx_obj_10TabProxies_BedProxy *p;
7396 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
7398 p = ((struct __pyx_obj_10TabProxies_BedProxy *)o);
7399 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_BedProxy;
7403 static int __pyx_tp_setattro_10TabProxies_BedProxy(PyObject *o, PyObject *n, PyObject *v) {
7405 return __pyx_pf_10TabProxies_8BedProxy___setattr__(o, n, v);
7408 if (__pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro)
7409 return __pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro(o, n, v);
7410 return PyObject_GenericSetAttr(o, n, 0);
7414 static PyMethodDef __pyx_methods_10TabProxies_BedProxy[] = {
7418 static PyNumberMethods __pyx_tp_as_number_BedProxy = {
7422 #if PY_MAJOR_VERSION < 3
7438 #if PY_MAJOR_VERSION < 3
7442 #if PY_MAJOR_VERSION < 3
7448 #if PY_MAJOR_VERSION < 3
7451 #if PY_MAJOR_VERSION < 3
7454 0, /*nb_inplace_add*/
7455 0, /*nb_inplace_subtract*/
7456 0, /*nb_inplace_multiply*/
7457 #if PY_MAJOR_VERSION < 3
7458 0, /*nb_inplace_divide*/
7460 0, /*nb_inplace_remainder*/
7461 0, /*nb_inplace_power*/
7462 0, /*nb_inplace_lshift*/
7463 0, /*nb_inplace_rshift*/
7464 0, /*nb_inplace_and*/
7465 0, /*nb_inplace_xor*/
7466 0, /*nb_inplace_or*/
7467 0, /*nb_floor_divide*/
7468 0, /*nb_true_divide*/
7469 0, /*nb_inplace_floor_divide*/
7470 0, /*nb_inplace_true_divide*/
7471 #if PY_VERSION_HEX >= 0x02050000
7476 static PySequenceMethods __pyx_tp_as_sequence_BedProxy = {
7485 0, /*sq_inplace_concat*/
7486 0, /*sq_inplace_repeat*/
7489 static PyMappingMethods __pyx_tp_as_mapping_BedProxy = {
7492 0, /*mp_ass_subscript*/
7495 static PyBufferProcs __pyx_tp_as_buffer_BedProxy = {
7496 #if PY_MAJOR_VERSION < 3
7497 0, /*bf_getreadbuffer*/
7499 #if PY_MAJOR_VERSION < 3
7500 0, /*bf_getwritebuffer*/
7502 #if PY_MAJOR_VERSION < 3
7503 0, /*bf_getsegcount*/
7505 #if PY_MAJOR_VERSION < 3
7506 0, /*bf_getcharbuffer*/
7508 #if PY_VERSION_HEX >= 0x02060000
7511 #if PY_VERSION_HEX >= 0x02060000
7512 0, /*bf_releasebuffer*/
7516 PyTypeObject __pyx_type_10TabProxies_BedProxy = {
7517 PyVarObject_HEAD_INIT(0, 0)
7518 __Pyx_NAMESTR("TabProxies.BedProxy"), /*tp_name*/
7519 sizeof(struct __pyx_obj_10TabProxies_BedProxy), /*tp_basicsize*/
7521 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
7525 #if PY_MAJOR_VERSION < 3
7531 &__pyx_tp_as_number_BedProxy, /*tp_as_number*/
7532 &__pyx_tp_as_sequence_BedProxy, /*tp_as_sequence*/
7533 &__pyx_tp_as_mapping_BedProxy, /*tp_as_mapping*/
7536 __pyx_pf_10TabProxies_8BedProxy___str__, /*tp_str*/
7538 __pyx_tp_setattro_10TabProxies_BedProxy, /*tp_setattro*/
7539 &__pyx_tp_as_buffer_BedProxy, /*tp_as_buffer*/
7540 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/
7541 __Pyx_DOCSTR("Proxy class for access to Bed fields.\n\n This class represents a GTF entry for fast read-access.\n "), /*tp_doc*/
7544 0, /*tp_richcompare*/
7545 0, /*tp_weaklistoffset*/
7548 __pyx_methods_10TabProxies_BedProxy, /*tp_methods*/
7555 0, /*tp_dictoffset*/
7558 __pyx_tp_new_10TabProxies_BedProxy, /*tp_new*/
7564 0, /*tp_subclasses*/
7567 #if PY_VERSION_HEX >= 0x02060000
7568 0, /*tp_version_tag*/
7571 static struct __pyx_vtabstruct_10TabProxies_VCFProxy __pyx_vtable_10TabProxies_VCFProxy;
7573 static PyObject *__pyx_tp_new_10TabProxies_VCFProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
7574 struct __pyx_obj_10TabProxies_VCFProxy *p;
7575 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
7577 p = ((struct __pyx_obj_10TabProxies_VCFProxy *)o);
7578 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_VCFProxy;
7579 if (__pyx_pf_10TabProxies_8VCFProxy___cinit__(o, __pyx_empty_tuple, NULL) < 0) {
7580 Py_DECREF(o); o = 0;
7585 static int __pyx_tp_setattro_10TabProxies_VCFProxy(PyObject *o, PyObject *n, PyObject *v) {
7587 return __pyx_pf_10TabProxies_8VCFProxy___setattr__(o, n, v);
7590 if (__pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro)
7591 return __pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro(o, n, v);
7592 return PyObject_GenericSetAttr(o, n, 0);
7596 static PyMethodDef __pyx_methods_10TabProxies_VCFProxy[] = {
7600 static PyNumberMethods __pyx_tp_as_number_VCFProxy = {
7604 #if PY_MAJOR_VERSION < 3
7620 #if PY_MAJOR_VERSION < 3
7624 #if PY_MAJOR_VERSION < 3
7630 #if PY_MAJOR_VERSION < 3
7633 #if PY_MAJOR_VERSION < 3
7636 0, /*nb_inplace_add*/
7637 0, /*nb_inplace_subtract*/
7638 0, /*nb_inplace_multiply*/
7639 #if PY_MAJOR_VERSION < 3
7640 0, /*nb_inplace_divide*/
7642 0, /*nb_inplace_remainder*/
7643 0, /*nb_inplace_power*/
7644 0, /*nb_inplace_lshift*/
7645 0, /*nb_inplace_rshift*/
7646 0, /*nb_inplace_and*/
7647 0, /*nb_inplace_xor*/
7648 0, /*nb_inplace_or*/
7649 0, /*nb_floor_divide*/
7650 0, /*nb_true_divide*/
7651 0, /*nb_inplace_floor_divide*/
7652 0, /*nb_inplace_true_divide*/
7653 #if PY_VERSION_HEX >= 0x02050000
7658 static PySequenceMethods __pyx_tp_as_sequence_VCFProxy = {
7659 __pyx_pf_10TabProxies_8VCFProxy___len__, /*sq_length*/
7667 0, /*sq_inplace_concat*/
7668 0, /*sq_inplace_repeat*/
7671 static PyMappingMethods __pyx_tp_as_mapping_VCFProxy = {
7672 __pyx_pf_10TabProxies_8VCFProxy___len__, /*mp_length*/
7674 0, /*mp_ass_subscript*/
7677 static PyBufferProcs __pyx_tp_as_buffer_VCFProxy = {
7678 #if PY_MAJOR_VERSION < 3
7679 0, /*bf_getreadbuffer*/
7681 #if PY_MAJOR_VERSION < 3
7682 0, /*bf_getwritebuffer*/
7684 #if PY_MAJOR_VERSION < 3
7685 0, /*bf_getsegcount*/
7687 #if PY_MAJOR_VERSION < 3
7688 0, /*bf_getcharbuffer*/
7690 #if PY_VERSION_HEX >= 0x02060000
7693 #if PY_VERSION_HEX >= 0x02060000
7694 0, /*bf_releasebuffer*/
7698 PyTypeObject __pyx_type_10TabProxies_VCFProxy = {
7699 PyVarObject_HEAD_INIT(0, 0)
7700 __Pyx_NAMESTR("TabProxies.VCFProxy"), /*tp_name*/
7701 sizeof(struct __pyx_obj_10TabProxies_VCFProxy), /*tp_basicsize*/
7703 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
7707 #if PY_MAJOR_VERSION < 3
7713 &__pyx_tp_as_number_VCFProxy, /*tp_as_number*/
7714 &__pyx_tp_as_sequence_VCFProxy, /*tp_as_sequence*/
7715 &__pyx_tp_as_mapping_VCFProxy, /*tp_as_mapping*/
7720 __pyx_tp_setattro_10TabProxies_VCFProxy, /*tp_setattro*/
7721 &__pyx_tp_as_buffer_VCFProxy, /*tp_as_buffer*/
7722 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/
7723 __Pyx_DOCSTR("Proxy class for access to VCF fields.\n\n The genotypes are accessed via index.\n "), /*tp_doc*/
7726 0, /*tp_richcompare*/
7727 0, /*tp_weaklistoffset*/
7730 __pyx_methods_10TabProxies_VCFProxy, /*tp_methods*/
7737 0, /*tp_dictoffset*/
7740 __pyx_tp_new_10TabProxies_VCFProxy, /*tp_new*/
7746 0, /*tp_subclasses*/
7749 #if PY_VERSION_HEX >= 0x02060000
7750 0, /*tp_version_tag*/
7754 static PyMethodDef __pyx_methods[] = {
7755 {__Pyx_NAMESTR("toDot"), (PyCFunction)__pyx_pf_10TabProxies_toDot, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_toDot)},
7756 {__Pyx_NAMESTR("quote"), (PyCFunction)__pyx_pf_10TabProxies_quote, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_quote)},
7760 #if PY_MAJOR_VERSION >= 3
7761 static struct PyModuleDef __pyx_moduledef = {
7762 PyModuleDef_HEAD_INIT,
7763 __Pyx_NAMESTR("TabProxies"),
7766 __pyx_methods /* m_methods */,
7767 NULL, /* m_reload */
7768 NULL, /* m_traverse */
7774 static __Pyx_StringTabEntry __pyx_string_tab[] = {
7775 {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
7776 {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
7777 {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0},
7778 {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0},
7779 {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
7780 {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0},
7781 {&__pyx_kp_s_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 1, 0},
7782 {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
7783 {&__pyx_kp_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 0},
7784 {&__pyx_kp_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 0},
7785 {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
7786 {&__pyx_kp_u_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 1, 0, 0},
7787 {&__pyx_kp_u_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 1, 0, 0},
7788 {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
7789 {&__pyx_kp_u_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 1, 0, 0},
7790 {&__pyx_kp_u_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 1, 0, 0},
7791 {&__pyx_kp_u_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 1, 0, 0},
7792 {&__pyx_kp_u_33, __pyx_k_33, sizeof(__pyx_k_33), 0, 1, 0, 0},
7793 {&__pyx_kp_u_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 1, 0, 0},
7794 {&__pyx_kp_u_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 1, 0, 0},
7795 {&__pyx_kp_u_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 1, 0, 0},
7796 {&__pyx_kp_u_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 1, 0, 0},
7797 {&__pyx_kp_u_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 1, 0, 0},
7798 {&__pyx_kp_u_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 1, 0, 0},
7799 {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
7800 {&__pyx_kp_u_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 1, 0, 0},
7801 {&__pyx_kp_u_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 1, 0, 0},
7802 {&__pyx_kp_u_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 1, 0, 0},
7803 {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
7804 {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
7805 {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
7806 {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0},
7807 {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0},
7808 {&__pyx_n_s__AttributeError, __pyx_k__AttributeError, sizeof(__pyx_k__AttributeError), 0, 0, 1, 1},
7809 {&__pyx_n_s__BedProxy, __pyx_k__BedProxy, sizeof(__pyx_k__BedProxy), 0, 0, 1, 1},
7810 {&__pyx_n_s__GTFProxy, __pyx_k__GTFProxy, sizeof(__pyx_k__GTFProxy), 0, 0, 1, 1},
7811 {&__pyx_n_s__IndexError, __pyx_k__IndexError, sizeof(__pyx_k__IndexError), 0, 0, 1, 1},
7812 {&__pyx_n_s__KeyError, __pyx_k__KeyError, sizeof(__pyx_k__KeyError), 0, 0, 1, 1},
7813 {&__pyx_n_s__NamedTupleProxy, __pyx_k__NamedTupleProxy, sizeof(__pyx_k__NamedTupleProxy), 0, 0, 1, 1},
7814 {&__pyx_n_s__StopIteration, __pyx_k__StopIteration, sizeof(__pyx_k__StopIteration), 0, 0, 1, 1},
7815 {&__pyx_n_s__StringType, __pyx_k__StringType, sizeof(__pyx_k__StringType), 0, 0, 1, 1},
7816 {&__pyx_n_s__StringTypes, __pyx_k__StringTypes, sizeof(__pyx_k__StringTypes), 0, 0, 1, 1},
7817 {&__pyx_n_s__TupleProxy, __pyx_k__TupleProxy, sizeof(__pyx_k__TupleProxy), 0, 0, 1, 1},
7818 {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
7819 {&__pyx_n_s__VCFProxy, __pyx_k__VCFProxy, sizeof(__pyx_k__VCFProxy), 0, 0, 1, 1},
7820 {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
7821 {&__pyx_n_s____getattr__, __pyx_k____getattr__, sizeof(__pyx_k____getattr__), 0, 0, 1, 1},
7822 {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
7823 {&__pyx_n_s____next__, __pyx_k____next__, sizeof(__pyx_k____next__), 0, 0, 1, 1},
7824 {&__pyx_n_s____setattr__, __pyx_k____setattr__, sizeof(__pyx_k____setattr__), 0, 0, 1, 1},
7825 {&__pyx_n_s____setitem__, __pyx_k____setitem__, sizeof(__pyx_k____setitem__), 0, 0, 1, 1},
7826 {&__pyx_n_s____str__, __pyx_k____str__, sizeof(__pyx_k____str__), 0, 0, 1, 1},
7827 {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
7828 {&__pyx_n_s___setindex, __pyx_k___setindex, sizeof(__pyx_k___setindex), 0, 0, 1, 1},
7829 {&__pyx_n_s__alt, __pyx_k__alt, sizeof(__pyx_k__alt), 0, 0, 1, 1},
7830 {&__pyx_n_s__asDict, __pyx_k__asDict, sizeof(__pyx_k__asDict), 0, 0, 1, 1},
7831 {&__pyx_n_s__attributes, __pyx_k__attributes, sizeof(__pyx_k__attributes), 0, 0, 1, 1},
7832 {&__pyx_n_s__bedfields, __pyx_k__bedfields, sizeof(__pyx_k__bedfields), 0, 0, 1, 1},
7833 {&__pyx_n_s__blockCount, __pyx_k__blockCount, sizeof(__pyx_k__blockCount), 0, 0, 1, 1},
7834 {&__pyx_n_s__blockSizes, __pyx_k__blockSizes, sizeof(__pyx_k__blockSizes), 0, 0, 1, 1},
7835 {&__pyx_n_s__blockStarts, __pyx_k__blockStarts, sizeof(__pyx_k__blockStarts), 0, 0, 1, 1},
7836 {&__pyx_n_s__contig, __pyx_k__contig, sizeof(__pyx_k__contig), 0, 0, 1, 1},
7837 {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1},
7838 {&__pyx_n_s__end, __pyx_k__end, sizeof(__pyx_k__end), 0, 0, 1, 1},
7839 {&__pyx_n_s__feature, __pyx_k__feature, sizeof(__pyx_k__feature), 0, 0, 1, 1},
7840 {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1},
7841 {&__pyx_n_s__filter, __pyx_k__filter, sizeof(__pyx_k__filter), 0, 0, 1, 1},
7842 {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1},
7843 {&__pyx_n_s__frame, __pyx_k__frame, sizeof(__pyx_k__frame), 0, 0, 1, 1},
7844 {&__pyx_n_s__fromDict, __pyx_k__fromDict, sizeof(__pyx_k__fromDict), 0, 0, 1, 1},
7845 {&__pyx_n_s__getMaxFields, __pyx_k__getMaxFields, sizeof(__pyx_k__getMaxFields), 0, 0, 1, 1},
7846 {&__pyx_n_s__hasOwnAttributes, __pyx_k__hasOwnAttributes, sizeof(__pyx_k__hasOwnAttributes), 0, 0, 1, 1},
7847 {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
7848 {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
7849 {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1},
7850 {&__pyx_n_s__invert, __pyx_k__invert, sizeof(__pyx_k__invert), 0, 0, 1, 1},
7851 {&__pyx_n_s__is_modified, __pyx_k__is_modified, sizeof(__pyx_k__is_modified), 0, 0, 1, 1},
7852 {&__pyx_n_s__itemRGB, __pyx_k__itemRGB, sizeof(__pyx_k__itemRGB), 0, 0, 1, 1},
7853 {&__pyx_n_s__items, __pyx_k__items, sizeof(__pyx_k__items), 0, 0, 1, 1},
7854 {&__pyx_n_s__join, __pyx_k__join, sizeof(__pyx_k__join), 0, 0, 1, 1},
7855 {&__pyx_n_s__keys, __pyx_k__keys, sizeof(__pyx_k__keys), 0, 0, 1, 1},
7856 {&__pyx_n_s__map_key2field, __pyx_k__map_key2field, sizeof(__pyx_k__map_key2field), 0, 0, 1, 1},
7857 {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
7858 {&__pyx_n_s__nbytes, __pyx_k__nbytes, sizeof(__pyx_k__nbytes), 0, 0, 1, 1},
7859 {&__pyx_n_s__nfields, __pyx_k__nfields, sizeof(__pyx_k__nfields), 0, 0, 1, 1},
7860 {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1},
7861 {&__pyx_n_s__pos, __pyx_k__pos, sizeof(__pyx_k__pos), 0, 0, 1, 1},
7862 {&__pyx_n_s__qual, __pyx_k__qual, sizeof(__pyx_k__qual), 0, 0, 1, 1},
7863 {&__pyx_n_s__quote, __pyx_k__quote, sizeof(__pyx_k__quote), 0, 0, 1, 1},
7864 {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
7865 {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
7866 {&__pyx_n_s__score, __pyx_k__score, sizeof(__pyx_k__score), 0, 0, 1, 1},
7867 {&__pyx_n_s__setAttribute, __pyx_k__setAttribute, sizeof(__pyx_k__setAttribute), 0, 0, 1, 1},
7868 {&__pyx_n_s__source, __pyx_k__source, sizeof(__pyx_k__source), 0, 0, 1, 1},
7869 {&__pyx_n_s__split, __pyx_k__split, sizeof(__pyx_k__split), 0, 0, 1, 1},
7870 {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1},
7871 {&__pyx_n_s__strand, __pyx_k__strand, sizeof(__pyx_k__strand), 0, 0, 1, 1},
7872 {&__pyx_n_s__strip, __pyx_k__strip, sizeof(__pyx_k__strip), 0, 0, 1, 1},
7873 {&__pyx_n_s__thickEnd, __pyx_k__thickEnd, sizeof(__pyx_k__thickEnd), 0, 0, 1, 1},
7874 {&__pyx_n_s__thickStart, __pyx_k__thickStart, sizeof(__pyx_k__thickStart), 0, 0, 1, 1},
7875 {&__pyx_n_s__toDot, __pyx_k__toDot, sizeof(__pyx_k__toDot), 0, 0, 1, 1},
7876 {&__pyx_n_s__types, __pyx_k__types, sizeof(__pyx_k__types), 0, 0, 1, 1},
7877 {&__pyx_n_s__update, __pyx_k__update, sizeof(__pyx_k__update), 0, 0, 1, 1},
7878 {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1},
7879 {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1},
7880 {0, 0, 0, 0, 0, 0, 0}
7882 static int __Pyx_InitCachedBuiltins(void) {
7883 __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7884 __pyx_builtin_IndexError = __Pyx_GetName(__pyx_b, __pyx_n_s__IndexError); if (!__pyx_builtin_IndexError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7885 __pyx_builtin_StopIteration = __Pyx_GetName(__pyx_b, __pyx_n_s__StopIteration); if (!__pyx_builtin_StopIteration) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7886 #if PY_MAJOR_VERSION >= 3
7887 __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7889 __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7891 __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7892 __pyx_builtin_AttributeError = __Pyx_GetName(__pyx_b, __pyx_n_s__AttributeError); if (!__pyx_builtin_AttributeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7893 __pyx_builtin_KeyError = __Pyx_GetName(__pyx_b, __pyx_n_s__KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7899 static int __Pyx_InitGlobals(void) {
7900 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7901 __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7902 __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;};
7903 __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7904 __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;};
7905 __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7906 __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7907 __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7908 __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7909 __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7910 __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7911 __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7912 __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7918 #if PY_MAJOR_VERSION < 3
7919 PyMODINIT_FUNC initTabProxies(void); /*proto*/
7920 PyMODINIT_FUNC initTabProxies(void)
7922 PyMODINIT_FUNC PyInit_TabProxies(void); /*proto*/
7923 PyMODINIT_FUNC PyInit_TabProxies(void)
7926 PyObject *__pyx_t_1 = NULL;
7927 PyObject *__pyx_t_2 = NULL;
7928 PyObject *__pyx_t_3 = NULL;
7930 void* __pyx_refnanny = NULL;
7931 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
7932 if (!__Pyx_RefNanny) {
7934 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
7935 if (!__Pyx_RefNanny)
7936 Py_FatalError("failed to import 'refnanny' module");
7938 __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_TabProxies(void)", __LINE__, __FILE__);
7940 __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;}
7941 __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;}
7942 #ifdef __pyx_binding_PyCFunctionType_USED
7943 if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7945 /*--- Library function declarations ---*/
7946 /*--- Threads initialization code ---*/
7947 #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
7948 #ifdef WITH_THREAD /* Python build with threading support? */
7949 PyEval_InitThreads();
7952 /*--- Module creation code ---*/
7953 #if PY_MAJOR_VERSION < 3
7954 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("TabProxies"), __pyx_methods, 0, 0, PYTHON_API_VERSION);
7956 __pyx_m = PyModule_Create(&__pyx_moduledef);
7958 if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7959 #if PY_MAJOR_VERSION < 3
7962 __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
7963 if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7964 if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
7965 /*--- Initialize various global constants etc. ---*/
7966 if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7967 if (__pyx_module_is_main_TabProxies) {
7968 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;};
7970 /*--- Builtin init code ---*/
7971 if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7972 /*--- Global init code ---*/
7973 /*--- Function export code ---*/
7974 /*--- Type init code ---*/
7975 __pyx_vtabptr_10TabProxies_TupleProxy = &__pyx_vtable_10TabProxies_TupleProxy;
7976 #if PY_MAJOR_VERSION >= 3
7977 __pyx_vtable_10TabProxies_TupleProxy.getMaxFields = (int (*)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t))__pyx_f_10TabProxies_10TupleProxy_getMaxFields;
7978 __pyx_vtable_10TabProxies_TupleProxy.take = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_take;
7979 __pyx_vtable_10TabProxies_TupleProxy.present = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_present;
7980 __pyx_vtable_10TabProxies_TupleProxy.copy = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_copy;
7981 __pyx_vtable_10TabProxies_TupleProxy.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_update;
7983 *(void(**)(void))&__pyx_vtable_10TabProxies_TupleProxy.getMaxFields = (void(*)(void))__pyx_f_10TabProxies_10TupleProxy_getMaxFields;
7984 *(void(**)(void))&__pyx_vtable_10TabProxies_TupleProxy.take = (void(*)(void))__pyx_f_10TabProxies_10TupleProxy_take;
7985 *(void(**)(void))&__pyx_vtable_10TabProxies_TupleProxy.present = (void(*)(void))__pyx_f_10TabProxies_10TupleProxy_present;
7986 *(void(**)(void))&__pyx_vtable_10TabProxies_TupleProxy.copy = (void(*)(void))__pyx_f_10TabProxies_10TupleProxy_copy;
7987 *(void(**)(void))&__pyx_vtable_10TabProxies_TupleProxy.update = (void(*)(void))__pyx_f_10TabProxies_10TupleProxy_update;
7989 if (PyType_Ready(&__pyx_type_10TabProxies_TupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7991 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_TupleProxy, "__setitem__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7992 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
7993 __pyx_wrapperbase_10TabProxies_10TupleProxy___setitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
7994 __pyx_wrapperbase_10TabProxies_10TupleProxy___setitem__.doc = __pyx_doc_10TabProxies_10TupleProxy___setitem__;
7995 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_10TupleProxy___setitem__;
7999 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_TupleProxy, "__next__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8000 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
8001 __pyx_wrapperbase_10TabProxies_10TupleProxy___next__ = *((PyWrapperDescrObject *)wrapper)->d_base;
8002 __pyx_wrapperbase_10TabProxies_10TupleProxy___next__.doc = __pyx_doc_10TabProxies_10TupleProxy___next__;
8003 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_10TupleProxy___next__;
8007 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_TupleProxy, "__str__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8008 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
8009 __pyx_wrapperbase_10TabProxies_10TupleProxy___str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
8010 __pyx_wrapperbase_10TabProxies_10TupleProxy___str__.doc = __pyx_doc_10TabProxies_10TupleProxy___str__;
8011 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_10TupleProxy___str__;
8014 if (__Pyx_SetVtable(__pyx_type_10TabProxies_TupleProxy.tp_dict, __pyx_vtabptr_10TabProxies_TupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8015 if (__Pyx_SetAttrString(__pyx_m, "TupleProxy", (PyObject *)&__pyx_type_10TabProxies_TupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8016 __pyx_ptype_10TabProxies_TupleProxy = &__pyx_type_10TabProxies_TupleProxy;
8017 __pyx_vtabptr_10TabProxies_GTFProxy = &__pyx_vtable_10TabProxies_GTFProxy;
8018 __pyx_vtable_10TabProxies_GTFProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_TupleProxy;
8019 #if PY_MAJOR_VERSION >= 3
8020 __pyx_vtable_10TabProxies_GTFProxy.__pyx_base.getMaxFields = (int (*)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t))__pyx_f_10TabProxies_8GTFProxy_getMaxFields;
8021 __pyx_vtable_10TabProxies_GTFProxy.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_8GTFProxy_update;
8023 *(void(**)(void))&__pyx_vtable_10TabProxies_GTFProxy.__pyx_base.getMaxFields = (void(*)(void))__pyx_f_10TabProxies_8GTFProxy_getMaxFields;
8024 *(void(**)(void))&__pyx_vtable_10TabProxies_GTFProxy.__pyx_base.update = (void(*)(void))__pyx_f_10TabProxies_8GTFProxy_update;
8026 __pyx_type_10TabProxies_GTFProxy.tp_base = __pyx_ptype_10TabProxies_TupleProxy;
8027 if (PyType_Ready(&__pyx_type_10TabProxies_GTFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8029 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_GTFProxy, "__getattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8030 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
8031 __pyx_wrapperbase_10TabProxies_8GTFProxy___getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
8032 __pyx_wrapperbase_10TabProxies_8GTFProxy___getattr__.doc = __pyx_doc_10TabProxies_8GTFProxy___getattr__;
8033 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8GTFProxy___getattr__;
8036 if (__Pyx_SetVtable(__pyx_type_10TabProxies_GTFProxy.tp_dict, __pyx_vtabptr_10TabProxies_GTFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8037 if (__Pyx_SetAttrString(__pyx_m, "GTFProxy", (PyObject *)&__pyx_type_10TabProxies_GTFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8038 __pyx_ptype_10TabProxies_GTFProxy = &__pyx_type_10TabProxies_GTFProxy;
8039 __pyx_vtabptr_10TabProxies_NamedTupleProxy = &__pyx_vtable_10TabProxies_NamedTupleProxy;
8040 __pyx_vtable_10TabProxies_NamedTupleProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_TupleProxy;
8041 __pyx_type_10TabProxies_NamedTupleProxy.tp_base = __pyx_ptype_10TabProxies_TupleProxy;
8042 if (PyType_Ready(&__pyx_type_10TabProxies_NamedTupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8044 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_NamedTupleProxy, "__setattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8045 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
8046 __pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
8047 __pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__.doc = __pyx_doc_10TabProxies_15NamedTupleProxy___setattr__;
8048 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__;
8051 if (__Pyx_SetVtable(__pyx_type_10TabProxies_NamedTupleProxy.tp_dict, __pyx_vtabptr_10TabProxies_NamedTupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8052 if (__Pyx_SetAttrString(__pyx_m, "NamedTupleProxy", (PyObject *)&__pyx_type_10TabProxies_NamedTupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8053 __pyx_ptype_10TabProxies_NamedTupleProxy = &__pyx_type_10TabProxies_NamedTupleProxy;
8054 __pyx_vtabptr_10TabProxies_BedProxy = &__pyx_vtable_10TabProxies_BedProxy;
8055 __pyx_vtable_10TabProxies_BedProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_NamedTupleProxy;
8056 #if PY_MAJOR_VERSION >= 3
8057 __pyx_vtable_10TabProxies_BedProxy.__pyx_base.__pyx_base.getMaxFields = (int (*)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t))__pyx_f_10TabProxies_8BedProxy_getMaxFields;
8058 __pyx_vtable_10TabProxies_BedProxy.__pyx_base.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_8BedProxy_update;
8060 *(void(**)(void))&__pyx_vtable_10TabProxies_BedProxy.__pyx_base.__pyx_base.getMaxFields = (void(*)(void))__pyx_f_10TabProxies_8BedProxy_getMaxFields;
8061 *(void(**)(void))&__pyx_vtable_10TabProxies_BedProxy.__pyx_base.__pyx_base.update = (void(*)(void))__pyx_f_10TabProxies_8BedProxy_update;
8063 __pyx_type_10TabProxies_BedProxy.tp_base = __pyx_ptype_10TabProxies_NamedTupleProxy;
8064 if (PyType_Ready(&__pyx_type_10TabProxies_BedProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8066 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_BedProxy, "__setattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8067 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
8068 __pyx_wrapperbase_10TabProxies_8BedProxy___setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
8069 __pyx_wrapperbase_10TabProxies_8BedProxy___setattr__.doc = __pyx_doc_10TabProxies_8BedProxy___setattr__;
8070 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8BedProxy___setattr__;
8073 if (__Pyx_SetVtable(__pyx_type_10TabProxies_BedProxy.tp_dict, __pyx_vtabptr_10TabProxies_BedProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8074 if (__Pyx_SetAttrString(__pyx_m, "BedProxy", (PyObject *)&__pyx_type_10TabProxies_BedProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8075 __pyx_ptype_10TabProxies_BedProxy = &__pyx_type_10TabProxies_BedProxy;
8076 __pyx_vtabptr_10TabProxies_VCFProxy = &__pyx_vtable_10TabProxies_VCFProxy;
8077 __pyx_vtable_10TabProxies_VCFProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_NamedTupleProxy;
8078 #if PY_MAJOR_VERSION >= 3
8079 __pyx_vtable_10TabProxies_VCFProxy.__pyx_base.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_8VCFProxy_update;
8081 *(void(**)(void))&__pyx_vtable_10TabProxies_VCFProxy.__pyx_base.__pyx_base.update = (void(*)(void))__pyx_f_10TabProxies_8VCFProxy_update;
8083 __pyx_type_10TabProxies_VCFProxy.tp_base = __pyx_ptype_10TabProxies_NamedTupleProxy;
8084 if (PyType_Ready(&__pyx_type_10TabProxies_VCFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8086 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_VCFProxy, "__setattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8087 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
8088 __pyx_wrapperbase_10TabProxies_8VCFProxy___setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
8089 __pyx_wrapperbase_10TabProxies_8VCFProxy___setattr__.doc = __pyx_doc_10TabProxies_8VCFProxy___setattr__;
8090 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8VCFProxy___setattr__;
8093 if (__Pyx_SetVtable(__pyx_type_10TabProxies_VCFProxy.tp_dict, __pyx_vtabptr_10TabProxies_VCFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8094 if (__Pyx_SetAttrString(__pyx_m, "VCFProxy", (PyObject *)&__pyx_type_10TabProxies_VCFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8095 __pyx_ptype_10TabProxies_VCFProxy = &__pyx_type_10TabProxies_VCFProxy;
8096 /*--- Type import code ---*/
8097 __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), 0); if (unlikely(!__pyx_ptype_7cpython_4bool_bool)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8098 /*--- Function import code ---*/
8099 /*--- Execution code ---*/
8101 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":1
8102 * import types # <<<<<<<<<<<<<<
8103 * from cpython cimport PyString_FromStringAndSize, PyString_AsString, PyString_AS_STRING
8106 __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__types), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8107 __Pyx_GOTREF(__pyx_t_1);
8108 if (PyObject_SetAttr(__pyx_m, __pyx_n_s__types, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8109 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8111 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":490
8112 * cdef class NamedTupleProxy( TupleProxy ):
8114 * map_key2field = {} # <<<<<<<<<<<<<<
8116 * def __setattr__(self, key, value ):
8118 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8119 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
8120 if (PyDict_SetItem((PyObject *)__pyx_ptype_10TabProxies_NamedTupleProxy->tp_dict, __pyx_n_s__map_key2field, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8121 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
8122 PyType_Modified(__pyx_ptype_10TabProxies_NamedTupleProxy);
8124 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":512
8125 * This class represents a GTF entry for fast read-access.
8127 * map_key2field = { # <<<<<<<<<<<<<<
8128 * 'contig' : (0, str),
8129 * 'start' : (1, int),
8131 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8132 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
8134 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":513
8137 * 'contig' : (0, str), # <<<<<<<<<<<<<<
8138 * 'start' : (1, int),
8141 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8142 __Pyx_GOTREF(__pyx_t_2);
8143 __Pyx_INCREF(__pyx_int_0);
8144 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
8145 __Pyx_GIVEREF(__pyx_int_0);
8146 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8147 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8148 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8149 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__contig), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8150 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8152 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":514
8154 * 'contig' : (0, str),
8155 * 'start' : (1, int), # <<<<<<<<<<<<<<
8157 * 'name' : (3, str),
8159 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8160 __Pyx_GOTREF(__pyx_t_2);
8161 __Pyx_INCREF(__pyx_int_1);
8162 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1);
8163 __Pyx_GIVEREF(__pyx_int_1);
8164 __Pyx_INCREF(((PyObject *)((PyObject*)&PyInt_Type)));
8165 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyInt_Type)));
8166 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyInt_Type)));
8167 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__start), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8168 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8170 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":515
8171 * 'contig' : (0, str),
8172 * 'start' : (1, int),
8173 * 'end' : (2, int), # <<<<<<<<<<<<<<
8174 * 'name' : (3, str),
8175 * 'score' : (4, float),
8177 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8178 __Pyx_GOTREF(__pyx_t_2);
8179 __Pyx_INCREF(__pyx_int_2);
8180 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2);
8181 __Pyx_GIVEREF(__pyx_int_2);
8182 __Pyx_INCREF(((PyObject *)((PyObject*)&PyInt_Type)));
8183 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyInt_Type)));
8184 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyInt_Type)));
8185 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__end), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8186 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8188 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":516
8189 * 'start' : (1, int),
8191 * 'name' : (3, str), # <<<<<<<<<<<<<<
8192 * 'score' : (4, float),
8193 * 'strand' : (5, str),
8195 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8196 __Pyx_GOTREF(__pyx_t_2);
8197 __Pyx_INCREF(__pyx_int_3);
8198 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3);
8199 __Pyx_GIVEREF(__pyx_int_3);
8200 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8201 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8202 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8203 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__name), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8204 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8206 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":517
8208 * 'name' : (3, str),
8209 * 'score' : (4, float), # <<<<<<<<<<<<<<
8210 * 'strand' : (5, str),
8211 * 'thickStart' : (6,int ),
8213 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8214 __Pyx_GOTREF(__pyx_t_2);
8215 __Pyx_INCREF(__pyx_int_4);
8216 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_4);
8217 __Pyx_GIVEREF(__pyx_int_4);
8218 __Pyx_INCREF(((PyObject *)((PyObject*)&PyFloat_Type)));
8219 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyFloat_Type)));
8220 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyFloat_Type)));
8221 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__score), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8222 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8224 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":518
8225 * 'name' : (3, str),
8226 * 'score' : (4, float),
8227 * 'strand' : (5, str), # <<<<<<<<<<<<<<
8228 * 'thickStart' : (6,int ),
8229 * 'thickEnd' : (7,int),
8231 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8232 __Pyx_GOTREF(__pyx_t_2);
8233 __Pyx_INCREF(__pyx_int_5);
8234 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_5);
8235 __Pyx_GIVEREF(__pyx_int_5);
8236 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8237 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8238 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8239 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__strand), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8240 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8242 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":519
8243 * 'score' : (4, float),
8244 * 'strand' : (5, str),
8245 * 'thickStart' : (6,int ), # <<<<<<<<<<<<<<
8246 * 'thickEnd' : (7,int),
8247 * 'itemRGB' : (8,str),
8249 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8250 __Pyx_GOTREF(__pyx_t_2);
8251 __Pyx_INCREF(__pyx_int_6);
8252 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_6);
8253 __Pyx_GIVEREF(__pyx_int_6);
8254 __Pyx_INCREF(((PyObject *)((PyObject*)&PyInt_Type)));
8255 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyInt_Type)));
8256 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyInt_Type)));
8257 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__thickStart), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8258 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8260 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":520
8261 * 'strand' : (5, str),
8262 * 'thickStart' : (6,int ),
8263 * 'thickEnd' : (7,int), # <<<<<<<<<<<<<<
8264 * 'itemRGB' : (8,str),
8265 * 'blockCount': (9,int),
8267 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8268 __Pyx_GOTREF(__pyx_t_2);
8269 __Pyx_INCREF(__pyx_int_7);
8270 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_7);
8271 __Pyx_GIVEREF(__pyx_int_7);
8272 __Pyx_INCREF(((PyObject *)((PyObject*)&PyInt_Type)));
8273 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyInt_Type)));
8274 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyInt_Type)));
8275 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__thickEnd), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8276 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8278 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":521
8279 * 'thickStart' : (6,int ),
8280 * 'thickEnd' : (7,int),
8281 * 'itemRGB' : (8,str), # <<<<<<<<<<<<<<
8282 * 'blockCount': (9,int),
8283 * 'blockSizes': (10,str),
8285 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8286 __Pyx_GOTREF(__pyx_t_2);
8287 __Pyx_INCREF(__pyx_int_8);
8288 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_8);
8289 __Pyx_GIVEREF(__pyx_int_8);
8290 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8291 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8292 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8293 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__itemRGB), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8294 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8296 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":522
8297 * 'thickEnd' : (7,int),
8298 * 'itemRGB' : (8,str),
8299 * 'blockCount': (9,int), # <<<<<<<<<<<<<<
8300 * 'blockSizes': (10,str),
8301 * 'blockStarts': (11,str), }
8303 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8304 __Pyx_GOTREF(__pyx_t_2);
8305 __Pyx_INCREF(__pyx_int_9);
8306 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_9);
8307 __Pyx_GIVEREF(__pyx_int_9);
8308 __Pyx_INCREF(((PyObject *)((PyObject*)&PyInt_Type)));
8309 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyInt_Type)));
8310 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyInt_Type)));
8311 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__blockCount), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8312 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8314 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":523
8315 * 'itemRGB' : (8,str),
8316 * 'blockCount': (9,int),
8317 * 'blockSizes': (10,str), # <<<<<<<<<<<<<<
8318 * 'blockStarts': (11,str), }
8321 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8322 __Pyx_GOTREF(__pyx_t_2);
8323 __Pyx_INCREF(__pyx_int_10);
8324 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_10);
8325 __Pyx_GIVEREF(__pyx_int_10);
8326 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8327 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8328 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8329 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__blockSizes), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8330 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8332 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":524
8333 * 'blockCount': (9,int),
8334 * 'blockSizes': (10,str),
8335 * 'blockStarts': (11,str), } # <<<<<<<<<<<<<<
8337 * cdef int getMaxFields( self, size_t nbytes ):
8339 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8340 __Pyx_GOTREF(__pyx_t_2);
8341 __Pyx_INCREF(__pyx_int_11);
8342 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_11);
8343 __Pyx_GIVEREF(__pyx_int_11);
8344 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8345 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8346 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8347 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__blockStarts), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8348 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8349 if (PyDict_SetItem((PyObject *)__pyx_ptype_10TabProxies_BedProxy->tp_dict, __pyx_n_s__map_key2field, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8350 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
8351 PyType_Modified(__pyx_ptype_10TabProxies_BedProxy);
8353 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":578
8354 * The genotypes are accessed via index.
8356 * map_key2field = { # <<<<<<<<<<<<<<
8357 * 'contig' : (0, str),
8360 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8361 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
8363 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":579
8366 * 'contig' : (0, str), # <<<<<<<<<<<<<<
8370 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8371 __Pyx_GOTREF(__pyx_t_2);
8372 __Pyx_INCREF(__pyx_int_0);
8373 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
8374 __Pyx_GIVEREF(__pyx_int_0);
8375 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8376 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8377 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8378 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__contig), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8379 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8381 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":580
8383 * 'contig' : (0, str),
8384 * 'pos' : (1, int), # <<<<<<<<<<<<<<
8388 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8389 __Pyx_GOTREF(__pyx_t_2);
8390 __Pyx_INCREF(__pyx_int_1);
8391 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1);
8392 __Pyx_GIVEREF(__pyx_int_1);
8393 __Pyx_INCREF(((PyObject *)((PyObject*)&PyInt_Type)));
8394 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyInt_Type)));
8395 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyInt_Type)));
8396 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__pos), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8397 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8399 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":581
8400 * 'contig' : (0, str),
8402 * 'id' : (2, str), # <<<<<<<<<<<<<<
8406 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8407 __Pyx_GOTREF(__pyx_t_2);
8408 __Pyx_INCREF(__pyx_int_2);
8409 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2);
8410 __Pyx_GIVEREF(__pyx_int_2);
8411 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8412 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8413 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8414 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__id), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8415 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8417 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":582
8420 * 'ref' : (3, str), # <<<<<<<<<<<<<<
8422 * 'qual' : (5, str),
8424 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8425 __Pyx_GOTREF(__pyx_t_2);
8426 __Pyx_INCREF(__pyx_int_3);
8427 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3);
8428 __Pyx_GIVEREF(__pyx_int_3);
8429 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8430 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8431 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8432 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__ref), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8433 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8435 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":583
8438 * 'alt' : (4, str), # <<<<<<<<<<<<<<
8439 * 'qual' : (5, str),
8440 * 'filter' : (6,str),
8442 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8443 __Pyx_GOTREF(__pyx_t_2);
8444 __Pyx_INCREF(__pyx_int_4);
8445 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_4);
8446 __Pyx_GIVEREF(__pyx_int_4);
8447 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8448 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8449 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8450 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__alt), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8451 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8453 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":584
8456 * 'qual' : (5, str), # <<<<<<<<<<<<<<
8457 * 'filter' : (6,str),
8460 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8461 __Pyx_GOTREF(__pyx_t_2);
8462 __Pyx_INCREF(__pyx_int_5);
8463 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_5);
8464 __Pyx_GIVEREF(__pyx_int_5);
8465 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8466 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8467 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8468 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__qual), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8469 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8471 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":585
8473 * 'qual' : (5, str),
8474 * 'filter' : (6,str), # <<<<<<<<<<<<<<
8476 * 'format' : (8,str) }
8478 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8479 __Pyx_GOTREF(__pyx_t_2);
8480 __Pyx_INCREF(__pyx_int_6);
8481 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_6);
8482 __Pyx_GIVEREF(__pyx_int_6);
8483 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8484 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8485 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8486 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__filter), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8487 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8489 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":586
8490 * 'qual' : (5, str),
8491 * 'filter' : (6,str),
8492 * 'info' : (7,str), # <<<<<<<<<<<<<<
8493 * 'format' : (8,str) }
8496 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8497 __Pyx_GOTREF(__pyx_t_2);
8498 __Pyx_INCREF(__pyx_int_7);
8499 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_7);
8500 __Pyx_GIVEREF(__pyx_int_7);
8501 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8502 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8503 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8504 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__info), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8505 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8507 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":587
8508 * 'filter' : (6,str),
8510 * 'format' : (8,str) } # <<<<<<<<<<<<<<
8512 * def __cinit__(self ):
8514 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8515 __Pyx_GOTREF(__pyx_t_2);
8516 __Pyx_INCREF(__pyx_int_8);
8517 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_8);
8518 __Pyx_GIVEREF(__pyx_int_8);
8519 __Pyx_INCREF(((PyObject *)((PyObject*)&PyString_Type)));
8520 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)&PyString_Type)));
8521 __Pyx_GIVEREF(((PyObject *)((PyObject*)&PyString_Type)));
8522 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__format), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8523 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8524 if (PyDict_SetItem((PyObject *)__pyx_ptype_10TabProxies_VCFProxy->tp_dict, __pyx_n_s__map_key2field, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8525 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
8526 PyType_Modified(__pyx_ptype_10TabProxies_VCFProxy);
8528 /* "/ifs/devel/pysam/pysam/pysam/TabProxies.pyx":1
8529 * import types # <<<<<<<<<<<<<<
8530 * from cpython cimport PyString_FromStringAndSize, PyString_AsString, PyString_AS_STRING
8533 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8534 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
8535 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__TupleProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8536 __Pyx_GOTREF(__pyx_t_2);
8537 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___setindex); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8538 __Pyx_GOTREF(__pyx_t_3);
8539 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8540 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8541 __Pyx_GOTREF(__pyx_t_2);
8542 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8543 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_28), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8544 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8545 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__TupleProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8546 __Pyx_GOTREF(__pyx_t_2);
8547 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____setitem__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8548 __Pyx_GOTREF(__pyx_t_3);
8549 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8550 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8551 __Pyx_GOTREF(__pyx_t_2);
8552 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8553 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_29), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8554 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8555 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__TupleProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8556 __Pyx_GOTREF(__pyx_t_2);
8557 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____next__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8558 __Pyx_GOTREF(__pyx_t_3);
8559 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8560 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8561 __Pyx_GOTREF(__pyx_t_2);
8562 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8563 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_30), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8564 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8565 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__TupleProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8566 __Pyx_GOTREF(__pyx_t_2);
8567 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____str__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8568 __Pyx_GOTREF(__pyx_t_3);
8569 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8570 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8571 __Pyx_GOTREF(__pyx_t_2);
8572 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8573 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_31), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8574 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8575 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__toDot); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8576 __Pyx_GOTREF(__pyx_t_2);
8577 __pyx_t_3 = __Pyx_GetAttrString(__pyx_t_2, "__doc__"); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8578 __Pyx_GOTREF(__pyx_t_3);
8579 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8580 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_32), __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8581 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8582 __pyx_t_3 = PyObject_GetAttr(__pyx_m, __pyx_n_s__quote); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8583 __Pyx_GOTREF(__pyx_t_3);
8584 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8585 __Pyx_GOTREF(__pyx_t_2);
8586 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8587 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_33), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8588 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8589 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__GTFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8590 __Pyx_GOTREF(__pyx_t_2);
8591 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__asDict); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8592 __Pyx_GOTREF(__pyx_t_3);
8593 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8594 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8595 __Pyx_GOTREF(__pyx_t_2);
8596 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8597 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_34), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8598 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8599 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__GTFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8600 __Pyx_GOTREF(__pyx_t_2);
8601 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__fromDict); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8602 __Pyx_GOTREF(__pyx_t_3);
8603 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8604 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8605 __Pyx_GOTREF(__pyx_t_2);
8606 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8607 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_35), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8608 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8609 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__GTFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8610 __Pyx_GOTREF(__pyx_t_2);
8611 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__invert); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8612 __Pyx_GOTREF(__pyx_t_3);
8613 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8614 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8615 __Pyx_GOTREF(__pyx_t_2);
8616 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8617 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_36), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8618 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8619 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__GTFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8620 __Pyx_GOTREF(__pyx_t_2);
8621 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__keys); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8622 __Pyx_GOTREF(__pyx_t_3);
8623 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8624 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8625 __Pyx_GOTREF(__pyx_t_2);
8626 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8627 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_37), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8628 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8629 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__GTFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8630 __Pyx_GOTREF(__pyx_t_2);
8631 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____getattr__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8632 __Pyx_GOTREF(__pyx_t_3);
8633 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8634 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8635 __Pyx_GOTREF(__pyx_t_2);
8636 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8637 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_38), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8638 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8639 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__GTFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8640 __Pyx_GOTREF(__pyx_t_2);
8641 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__setAttribute); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8642 __Pyx_GOTREF(__pyx_t_3);
8643 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8644 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8645 __Pyx_GOTREF(__pyx_t_2);
8646 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8647 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_39), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8648 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8649 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__NamedTupleProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8650 __Pyx_GOTREF(__pyx_t_2);
8651 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____setattr__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8652 __Pyx_GOTREF(__pyx_t_3);
8653 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8654 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8655 __Pyx_GOTREF(__pyx_t_2);
8656 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8657 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_40), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8658 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8659 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__BedProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8660 __Pyx_GOTREF(__pyx_t_2);
8661 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____setattr__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8662 __Pyx_GOTREF(__pyx_t_3);
8663 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8664 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8665 __Pyx_GOTREF(__pyx_t_2);
8666 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8667 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_41), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8668 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8669 __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__VCFProxy); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8670 __Pyx_GOTREF(__pyx_t_2);
8671 __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____setattr__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8672 __Pyx_GOTREF(__pyx_t_3);
8673 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8674 __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8675 __Pyx_GOTREF(__pyx_t_2);
8676 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8677 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_42), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8678 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8679 if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8680 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
8682 /* "/ifs/apps/apps/python-2.7.1/lib/python2.7/site-packages/Cython-0.13-py2.7-linux-x86_64.egg/Cython/Includes/cpython/type.pxd":2
8684 * cdef extern from "Python.h": # <<<<<<<<<<<<<<
8685 * # The C structure of the objects used to describe built-in types.
8690 __Pyx_XDECREF(__pyx_t_1);
8691 __Pyx_XDECREF(__pyx_t_2);
8692 __Pyx_XDECREF(__pyx_t_3);
8694 __Pyx_AddTraceback("init TabProxies");
8695 Py_DECREF(__pyx_m); __pyx_m = 0;
8696 } else if (!PyErr_Occurred()) {
8697 PyErr_SetString(PyExc_ImportError, "init TabProxies");
8700 __Pyx_RefNannyFinishContext();
8701 #if PY_MAJOR_VERSION < 3
8708 /* Runtime support code */
8710 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
8712 result = PyObject_GetAttr(dict, name);
8714 PyErr_SetObject(PyExc_NameError, name);
8718 static void __Pyx_RaiseArgtupleInvalid(
8719 const char* func_name,
8723 Py_ssize_t num_found)
8725 Py_ssize_t num_expected;
8726 const char *number, *more_or_less;
8728 if (num_found < num_min) {
8729 num_expected = num_min;
8730 more_or_less = "at least";
8732 num_expected = num_max;
8733 more_or_less = "at most";
8736 more_or_less = "exactly";
8738 number = (num_expected == 1) ? "" : "s";
8739 PyErr_Format(PyExc_TypeError,
8740 #if PY_VERSION_HEX < 0x02050000
8741 "%s() takes %s %d positional argument%s (%d given)",
8743 "%s() takes %s %zd positional argument%s (%zd given)",
8745 func_name, more_or_less, num_expected, number, num_found);
8748 static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
8750 const char* function_name,
8755 while (PyDict_Next(kwdict, &pos, &key, 0)) {
8756 #if PY_MAJOR_VERSION < 3
8757 if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
8759 if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key)))
8761 goto invalid_keyword_type;
8763 if ((!kw_allowed) && unlikely(key))
8764 goto invalid_keyword;
8766 invalid_keyword_type:
8767 PyErr_Format(PyExc_TypeError,
8768 "%s() keywords must be strings", function_name);
8771 PyErr_Format(PyExc_TypeError,
8772 #if PY_MAJOR_VERSION < 3
8773 "%s() got an unexpected keyword argument '%s'",
8774 function_name, PyString_AsString(key));
8776 "%s() got an unexpected keyword argument '%U'",
8777 function_name, key);
8782 static void __Pyx_RaiseDoubleKeywordsError(
8783 const char* func_name,
8786 PyErr_Format(PyExc_TypeError,
8787 #if PY_MAJOR_VERSION >= 3
8788 "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
8790 "%s() got multiple values for keyword argument '%s'", func_name,
8791 PyString_AS_STRING(kw_name));
8795 static int __Pyx_ParseOptionalKeywords(
8797 PyObject **argnames[],
8800 Py_ssize_t num_pos_args,
8801 const char* function_name)
8803 PyObject *key = 0, *value = 0;
8806 PyObject*** first_kw_arg = argnames + num_pos_args;
8808 while (PyDict_Next(kwds, &pos, &key, &value)) {
8809 name = first_kw_arg;
8810 while (*name && (**name != key)) name++;
8812 values[name-argnames] = value;
8814 #if PY_MAJOR_VERSION < 3
8815 if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
8817 if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) {
8819 goto invalid_keyword_type;
8821 for (name = first_kw_arg; *name; name++) {
8822 #if PY_MAJOR_VERSION >= 3
8823 if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
8824 PyUnicode_Compare(**name, key) == 0) break;
8826 if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
8827 _PyString_Eq(**name, key)) break;
8831 values[name-argnames] = value;
8833 /* unexpected keyword found */
8834 for (name=argnames; name != first_kw_arg; name++) {
8835 if (**name == key) goto arg_passed_twice;
8836 #if PY_MAJOR_VERSION >= 3
8837 if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
8838 PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
8840 if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
8841 _PyString_Eq(**name, key)) goto arg_passed_twice;
8845 if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
8847 goto invalid_keyword;
8855 __Pyx_RaiseDoubleKeywordsError(function_name, **name);
8857 invalid_keyword_type:
8858 PyErr_Format(PyExc_TypeError,
8859 "%s() keywords must be strings", function_name);
8862 PyErr_Format(PyExc_TypeError,
8863 #if PY_MAJOR_VERSION < 3
8864 "%s() got an unexpected keyword argument '%s'",
8865 function_name, PyString_AsString(key));
8867 "%s() got an unexpected keyword argument '%U'",
8868 function_name, key);
8875 static double __Pyx__PyObject_AsDouble(PyObject* obj) {
8876 PyObject* float_value;
8877 if (Py_TYPE(obj)->tp_as_number && Py_TYPE(obj)->tp_as_number->nb_float) {
8878 return PyFloat_AsDouble(obj);
8879 } else if (PyUnicode_CheckExact(obj) || PyBytes_CheckExact(obj)) {
8880 #if PY_MAJOR_VERSION >= 3
8881 float_value = PyFloat_FromString(obj);
8883 float_value = PyFloat_FromString(obj, 0);
8886 PyObject* args = PyTuple_New(1);
8887 if (unlikely(!args)) goto bad;
8888 PyTuple_SET_ITEM(args, 0, obj);
8889 float_value = PyObject_Call((PyObject*)&PyFloat_Type, args, 0);
8890 PyTuple_SET_ITEM(args, 0, 0);
8893 if (likely(float_value)) {
8894 double value = PyFloat_AS_DOUBLE(float_value);
8895 Py_DECREF(float_value);
8902 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
8903 PyErr_Format(PyExc_ValueError,
8904 #if PY_VERSION_HEX < 0x02050000
8905 "need more than %d value%s to unpack", (int)index,
8907 "need more than %zd value%s to unpack", index,
8909 (index == 1) ? "" : "s");
8912 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
8913 PyErr_Format(PyExc_ValueError,
8914 #if PY_VERSION_HEX < 0x02050000
8915 "too many values to unpack (expected %d)", (int)expected);
8917 "too many values to unpack (expected %zd)", expected);
8921 static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) {
8923 if (!(item = PyIter_Next(iter))) {
8924 if (!PyErr_Occurred()) {
8925 __Pyx_RaiseNeedMoreValuesError(index);
8931 static int __Pyx_EndUnpack(PyObject *iter, Py_ssize_t expected) {
8933 if ((item = PyIter_Next(iter))) {
8935 __Pyx_RaiseTooManyValuesError(expected);
8938 else if (!PyErr_Occurred())
8944 static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
8945 PyThreadState *tstate = PyThreadState_GET();
8946 *type = tstate->exc_type;
8947 *value = tstate->exc_value;
8948 *tb = tstate->exc_traceback;
8954 static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
8955 PyObject *tmp_type, *tmp_value, *tmp_tb;
8956 PyThreadState *tstate = PyThreadState_GET();
8957 tmp_type = tstate->exc_type;
8958 tmp_value = tstate->exc_value;
8959 tmp_tb = tstate->exc_traceback;
8960 tstate->exc_type = type;
8961 tstate->exc_value = value;
8962 tstate->exc_traceback = tb;
8963 Py_XDECREF(tmp_type);
8964 Py_XDECREF(tmp_value);
8968 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
8969 PyObject *py_import = 0;
8970 PyObject *empty_list = 0;
8971 PyObject *module = 0;
8972 PyObject *global_dict = 0;
8973 PyObject *empty_dict = 0;
8975 py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
8981 empty_list = PyList_New(0);
8986 global_dict = PyModule_GetDict(__pyx_m);
8989 empty_dict = PyDict_New();
8992 module = PyObject_CallFunctionObjArgs(py_import,
8993 name, global_dict, empty_dict, list, NULL);
8995 Py_XDECREF(empty_list);
8996 Py_XDECREF(py_import);
8997 Py_XDECREF(empty_dict);
9001 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
9002 PyObject *tmp_type, *tmp_value, *tmp_tb;
9003 PyThreadState *tstate = PyThreadState_GET();
9005 tmp_type = tstate->curexc_type;
9006 tmp_value = tstate->curexc_value;
9007 tmp_tb = tstate->curexc_traceback;
9008 tstate->curexc_type = type;
9009 tstate->curexc_value = value;
9010 tstate->curexc_traceback = tb;
9011 Py_XDECREF(tmp_type);
9012 Py_XDECREF(tmp_value);
9016 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
9017 PyThreadState *tstate = PyThreadState_GET();
9018 *type = tstate->curexc_type;
9019 *value = tstate->curexc_value;
9020 *tb = tstate->curexc_traceback;
9022 tstate->curexc_type = 0;
9023 tstate->curexc_value = 0;
9024 tstate->curexc_traceback = 0;
9028 #if PY_MAJOR_VERSION < 3
9029 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
9033 /* First, check the traceback argument, replacing None with NULL. */
9034 if (tb == Py_None) {
9038 else if (tb != NULL && !PyTraceBack_Check(tb)) {
9039 PyErr_SetString(PyExc_TypeError,
9040 "raise: arg 3 must be a traceback or None");
9043 /* Next, replace a missing value with None */
9044 if (value == NULL) {
9048 #if PY_VERSION_HEX < 0x02050000
9049 if (!PyClass_Check(type))
9051 if (!PyType_Check(type))
9054 /* Raising an instance. The value should be a dummy. */
9055 if (value != Py_None) {
9056 PyErr_SetString(PyExc_TypeError,
9057 "instance exception may not have a separate value");
9060 /* Normalize to raise <class>, <instance> */
9063 #if PY_VERSION_HEX < 0x02050000
9064 if (PyInstance_Check(type)) {
9065 type = (PyObject*) ((PyInstanceObject*)type)->in_class;
9070 PyErr_SetString(PyExc_TypeError,
9071 "raise: exception must be an old-style class or instance");
9075 type = (PyObject*) Py_TYPE(type);
9077 if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
9078 PyErr_SetString(PyExc_TypeError,
9079 "raise: exception class must be a subclass of BaseException");
9085 __Pyx_ErrRestore(type, value, tb);
9094 #else /* Python 3+ */
9096 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
9097 if (tb == Py_None) {
9099 } else if (tb && !PyTraceBack_Check(tb)) {
9100 PyErr_SetString(PyExc_TypeError,
9101 "raise: arg 3 must be a traceback or None");
9104 if (value == Py_None)
9107 if (PyExceptionInstance_Check(type)) {
9109 PyErr_SetString(PyExc_TypeError,
9110 "instance exception may not have a separate value");
9114 type = (PyObject*) Py_TYPE(value);
9115 } else if (!PyExceptionClass_Check(type)) {
9116 PyErr_SetString(PyExc_TypeError,
9117 "raise: exception class must be a subclass of BaseException");
9121 PyErr_SetObject(type, value);
9124 PyThreadState *tstate = PyThreadState_GET();
9125 PyObject* tmp_tb = tstate->curexc_traceback;
9128 tstate->curexc_traceback = tb;
9138 static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_uint32_t(uint32_t val) {
9139 const uint32_t neg_one = (uint32_t)-1, const_zero = (uint32_t)0;
9140 const int is_unsigned = const_zero < neg_one;
9141 if ((sizeof(uint32_t) == sizeof(char)) ||
9142 (sizeof(uint32_t) == sizeof(short))) {
9143 return PyInt_FromLong((long)val);
9144 } else if ((sizeof(uint32_t) == sizeof(int)) ||
9145 (sizeof(uint32_t) == sizeof(long))) {
9147 return PyLong_FromUnsignedLong((unsigned long)val);
9149 return PyInt_FromLong((long)val);
9150 } else if (sizeof(uint32_t) == sizeof(PY_LONG_LONG)) {
9152 return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
9154 return PyLong_FromLongLong((PY_LONG_LONG)val);
9156 int one = 1; int little = (int)*(unsigned char *)&one;
9157 unsigned char *bytes = (unsigned char *)&val;
9158 return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
9159 little, !is_unsigned);
9163 static CYTHON_INLINE uint32_t __Pyx_PyInt_from_py_uint32_t(PyObject* x) {
9164 const uint32_t neg_one = (uint32_t)-1, const_zero = (uint32_t)0;
9165 const int is_unsigned = const_zero < neg_one;
9166 if (sizeof(uint32_t) == sizeof(char)) {
9168 return (uint32_t)__Pyx_PyInt_AsUnsignedChar(x);
9170 return (uint32_t)__Pyx_PyInt_AsSignedChar(x);
9171 } else if (sizeof(uint32_t) == sizeof(short)) {
9173 return (uint32_t)__Pyx_PyInt_AsUnsignedShort(x);
9175 return (uint32_t)__Pyx_PyInt_AsSignedShort(x);
9176 } else if (sizeof(uint32_t) == sizeof(int)) {
9178 return (uint32_t)__Pyx_PyInt_AsUnsignedInt(x);
9180 return (uint32_t)__Pyx_PyInt_AsSignedInt(x);
9181 } else if (sizeof(uint32_t) == sizeof(long)) {
9183 return (uint32_t)__Pyx_PyInt_AsUnsignedLong(x);
9185 return (uint32_t)__Pyx_PyInt_AsSignedLong(x);
9186 } else if (sizeof(uint32_t) == sizeof(PY_LONG_LONG)) {
9188 return (uint32_t)__Pyx_PyInt_AsUnsignedLongLong(x);
9190 return (uint32_t)__Pyx_PyInt_AsSignedLongLong(x);
9193 PyObject *v = __Pyx_PyNumber_Int(x);
9194 #if PY_VERSION_HEX < 0x03000000
9195 if (likely(v) && !PyLong_Check(v)) {
9197 v = PyNumber_Long(tmp);
9202 int one = 1; int is_little = (int)*(unsigned char *)&one;
9203 unsigned char *bytes = (unsigned char *)&val;
9204 int ret = _PyLong_AsByteArray((PyLongObject *)v,
9206 is_little, !is_unsigned);
9211 return (uint32_t)-1;
9215 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
9216 const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
9217 const int is_unsigned = neg_one > const_zero;
9218 if (sizeof(unsigned char) < sizeof(long)) {
9219 long val = __Pyx_PyInt_AsLong(x);
9220 if (unlikely(val != (long)(unsigned char)val)) {
9221 if (!unlikely(val == -1 && PyErr_Occurred())) {
9222 PyErr_SetString(PyExc_OverflowError,
9223 (is_unsigned && unlikely(val < 0)) ?
9224 "can't convert negative value to unsigned char" :
9225 "value too large to convert to unsigned char");
9227 return (unsigned char)-1;
9229 return (unsigned char)val;
9231 return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
9234 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
9235 const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
9236 const int is_unsigned = neg_one > const_zero;
9237 if (sizeof(unsigned short) < sizeof(long)) {
9238 long val = __Pyx_PyInt_AsLong(x);
9239 if (unlikely(val != (long)(unsigned short)val)) {
9240 if (!unlikely(val == -1 && PyErr_Occurred())) {
9241 PyErr_SetString(PyExc_OverflowError,
9242 (is_unsigned && unlikely(val < 0)) ?
9243 "can't convert negative value to unsigned short" :
9244 "value too large to convert to unsigned short");
9246 return (unsigned short)-1;
9248 return (unsigned short)val;
9250 return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
9253 static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
9254 const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
9255 const int is_unsigned = neg_one > const_zero;
9256 if (sizeof(unsigned int) < sizeof(long)) {
9257 long val = __Pyx_PyInt_AsLong(x);
9258 if (unlikely(val != (long)(unsigned int)val)) {
9259 if (!unlikely(val == -1 && PyErr_Occurred())) {
9260 PyErr_SetString(PyExc_OverflowError,
9261 (is_unsigned && unlikely(val < 0)) ?
9262 "can't convert negative value to unsigned int" :
9263 "value too large to convert to unsigned int");
9265 return (unsigned int)-1;
9267 return (unsigned int)val;
9269 return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
9272 static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
9273 const char neg_one = (char)-1, const_zero = 0;
9274 const int is_unsigned = neg_one > const_zero;
9275 if (sizeof(char) < sizeof(long)) {
9276 long val = __Pyx_PyInt_AsLong(x);
9277 if (unlikely(val != (long)(char)val)) {
9278 if (!unlikely(val == -1 && PyErr_Occurred())) {
9279 PyErr_SetString(PyExc_OverflowError,
9280 (is_unsigned && unlikely(val < 0)) ?
9281 "can't convert negative value to char" :
9282 "value too large to convert to char");
9288 return (char)__Pyx_PyInt_AsLong(x);
9291 static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
9292 const short neg_one = (short)-1, const_zero = 0;
9293 const int is_unsigned = neg_one > const_zero;
9294 if (sizeof(short) < sizeof(long)) {
9295 long val = __Pyx_PyInt_AsLong(x);
9296 if (unlikely(val != (long)(short)val)) {
9297 if (!unlikely(val == -1 && PyErr_Occurred())) {
9298 PyErr_SetString(PyExc_OverflowError,
9299 (is_unsigned && unlikely(val < 0)) ?
9300 "can't convert negative value to short" :
9301 "value too large to convert to short");
9307 return (short)__Pyx_PyInt_AsLong(x);
9310 static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
9311 const int neg_one = (int)-1, const_zero = 0;
9312 const int is_unsigned = neg_one > const_zero;
9313 if (sizeof(int) < sizeof(long)) {
9314 long val = __Pyx_PyInt_AsLong(x);
9315 if (unlikely(val != (long)(int)val)) {
9316 if (!unlikely(val == -1 && PyErr_Occurred())) {
9317 PyErr_SetString(PyExc_OverflowError,
9318 (is_unsigned && unlikely(val < 0)) ?
9319 "can't convert negative value to int" :
9320 "value too large to convert to int");
9326 return (int)__Pyx_PyInt_AsLong(x);
9329 static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
9330 const signed char neg_one = (signed char)-1, const_zero = 0;
9331 const int is_unsigned = neg_one > const_zero;
9332 if (sizeof(signed char) < sizeof(long)) {
9333 long val = __Pyx_PyInt_AsLong(x);
9334 if (unlikely(val != (long)(signed char)val)) {
9335 if (!unlikely(val == -1 && PyErr_Occurred())) {
9336 PyErr_SetString(PyExc_OverflowError,
9337 (is_unsigned && unlikely(val < 0)) ?
9338 "can't convert negative value to signed char" :
9339 "value too large to convert to signed char");
9341 return (signed char)-1;
9343 return (signed char)val;
9345 return (signed char)__Pyx_PyInt_AsSignedLong(x);
9348 static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
9349 const signed short neg_one = (signed short)-1, const_zero = 0;
9350 const int is_unsigned = neg_one > const_zero;
9351 if (sizeof(signed short) < sizeof(long)) {
9352 long val = __Pyx_PyInt_AsLong(x);
9353 if (unlikely(val != (long)(signed short)val)) {
9354 if (!unlikely(val == -1 && PyErr_Occurred())) {
9355 PyErr_SetString(PyExc_OverflowError,
9356 (is_unsigned && unlikely(val < 0)) ?
9357 "can't convert negative value to signed short" :
9358 "value too large to convert to signed short");
9360 return (signed short)-1;
9362 return (signed short)val;
9364 return (signed short)__Pyx_PyInt_AsSignedLong(x);
9367 static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
9368 const signed int neg_one = (signed int)-1, const_zero = 0;
9369 const int is_unsigned = neg_one > const_zero;
9370 if (sizeof(signed int) < sizeof(long)) {
9371 long val = __Pyx_PyInt_AsLong(x);
9372 if (unlikely(val != (long)(signed int)val)) {
9373 if (!unlikely(val == -1 && PyErr_Occurred())) {
9374 PyErr_SetString(PyExc_OverflowError,
9375 (is_unsigned && unlikely(val < 0)) ?
9376 "can't convert negative value to signed int" :
9377 "value too large to convert to signed int");
9379 return (signed int)-1;
9381 return (signed int)val;
9383 return (signed int)__Pyx_PyInt_AsSignedLong(x);
9386 static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
9387 const int neg_one = (int)-1, const_zero = 0;
9388 const int is_unsigned = neg_one > const_zero;
9389 if (sizeof(int) < sizeof(long)) {
9390 long val = __Pyx_PyInt_AsLong(x);
9391 if (unlikely(val != (long)(int)val)) {
9392 if (!unlikely(val == -1 && PyErr_Occurred())) {
9393 PyErr_SetString(PyExc_OverflowError,
9394 (is_unsigned && unlikely(val < 0)) ?
9395 "can't convert negative value to int" :
9396 "value too large to convert to int");
9402 return (int)__Pyx_PyInt_AsLong(x);
9405 static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
9406 const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
9407 const int is_unsigned = neg_one > const_zero;
9408 #if PY_VERSION_HEX < 0x03000000
9409 if (likely(PyInt_Check(x))) {
9410 long val = PyInt_AS_LONG(x);
9411 if (is_unsigned && unlikely(val < 0)) {
9412 PyErr_SetString(PyExc_OverflowError,
9413 "can't convert negative value to unsigned long");
9414 return (unsigned long)-1;
9416 return (unsigned long)val;
9419 if (likely(PyLong_Check(x))) {
9421 if (unlikely(Py_SIZE(x) < 0)) {
9422 PyErr_SetString(PyExc_OverflowError,
9423 "can't convert negative value to unsigned long");
9424 return (unsigned long)-1;
9426 return PyLong_AsUnsignedLong(x);
9428 return PyLong_AsLong(x);
9432 PyObject *tmp = __Pyx_PyNumber_Int(x);
9433 if (!tmp) return (unsigned long)-1;
9434 val = __Pyx_PyInt_AsUnsignedLong(tmp);
9440 static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
9441 const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
9442 const int is_unsigned = neg_one > const_zero;
9443 #if PY_VERSION_HEX < 0x03000000
9444 if (likely(PyInt_Check(x))) {
9445 long val = PyInt_AS_LONG(x);
9446 if (is_unsigned && unlikely(val < 0)) {
9447 PyErr_SetString(PyExc_OverflowError,
9448 "can't convert negative value to unsigned PY_LONG_LONG");
9449 return (unsigned PY_LONG_LONG)-1;
9451 return (unsigned PY_LONG_LONG)val;
9454 if (likely(PyLong_Check(x))) {
9456 if (unlikely(Py_SIZE(x) < 0)) {
9457 PyErr_SetString(PyExc_OverflowError,
9458 "can't convert negative value to unsigned PY_LONG_LONG");
9459 return (unsigned PY_LONG_LONG)-1;
9461 return PyLong_AsUnsignedLongLong(x);
9463 return PyLong_AsLongLong(x);
9466 unsigned PY_LONG_LONG val;
9467 PyObject *tmp = __Pyx_PyNumber_Int(x);
9468 if (!tmp) return (unsigned PY_LONG_LONG)-1;
9469 val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
9475 static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
9476 const long neg_one = (long)-1, const_zero = 0;
9477 const int is_unsigned = neg_one > const_zero;
9478 #if PY_VERSION_HEX < 0x03000000
9479 if (likely(PyInt_Check(x))) {
9480 long val = PyInt_AS_LONG(x);
9481 if (is_unsigned && unlikely(val < 0)) {
9482 PyErr_SetString(PyExc_OverflowError,
9483 "can't convert negative value to long");
9489 if (likely(PyLong_Check(x))) {
9491 if (unlikely(Py_SIZE(x) < 0)) {
9492 PyErr_SetString(PyExc_OverflowError,
9493 "can't convert negative value to long");
9496 return PyLong_AsUnsignedLong(x);
9498 return PyLong_AsLong(x);
9502 PyObject *tmp = __Pyx_PyNumber_Int(x);
9503 if (!tmp) return (long)-1;
9504 val = __Pyx_PyInt_AsLong(tmp);
9510 static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
9511 const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
9512 const int is_unsigned = neg_one > const_zero;
9513 #if PY_VERSION_HEX < 0x03000000
9514 if (likely(PyInt_Check(x))) {
9515 long val = PyInt_AS_LONG(x);
9516 if (is_unsigned && unlikely(val < 0)) {
9517 PyErr_SetString(PyExc_OverflowError,
9518 "can't convert negative value to PY_LONG_LONG");
9519 return (PY_LONG_LONG)-1;
9521 return (PY_LONG_LONG)val;
9524 if (likely(PyLong_Check(x))) {
9526 if (unlikely(Py_SIZE(x) < 0)) {
9527 PyErr_SetString(PyExc_OverflowError,
9528 "can't convert negative value to PY_LONG_LONG");
9529 return (PY_LONG_LONG)-1;
9531 return PyLong_AsUnsignedLongLong(x);
9533 return PyLong_AsLongLong(x);
9537 PyObject *tmp = __Pyx_PyNumber_Int(x);
9538 if (!tmp) return (PY_LONG_LONG)-1;
9539 val = __Pyx_PyInt_AsLongLong(tmp);
9545 static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
9546 const signed long neg_one = (signed long)-1, const_zero = 0;
9547 const int is_unsigned = neg_one > const_zero;
9548 #if PY_VERSION_HEX < 0x03000000
9549 if (likely(PyInt_Check(x))) {
9550 long val = PyInt_AS_LONG(x);
9551 if (is_unsigned && unlikely(val < 0)) {
9552 PyErr_SetString(PyExc_OverflowError,
9553 "can't convert negative value to signed long");
9554 return (signed long)-1;
9556 return (signed long)val;
9559 if (likely(PyLong_Check(x))) {
9561 if (unlikely(Py_SIZE(x) < 0)) {
9562 PyErr_SetString(PyExc_OverflowError,
9563 "can't convert negative value to signed long");
9564 return (signed long)-1;
9566 return PyLong_AsUnsignedLong(x);
9568 return PyLong_AsLong(x);
9572 PyObject *tmp = __Pyx_PyNumber_Int(x);
9573 if (!tmp) return (signed long)-1;
9574 val = __Pyx_PyInt_AsSignedLong(tmp);
9580 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
9581 const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
9582 const int is_unsigned = neg_one > const_zero;
9583 #if PY_VERSION_HEX < 0x03000000
9584 if (likely(PyInt_Check(x))) {
9585 long val = PyInt_AS_LONG(x);
9586 if (is_unsigned && unlikely(val < 0)) {
9587 PyErr_SetString(PyExc_OverflowError,
9588 "can't convert negative value to signed PY_LONG_LONG");
9589 return (signed PY_LONG_LONG)-1;
9591 return (signed PY_LONG_LONG)val;
9594 if (likely(PyLong_Check(x))) {
9596 if (unlikely(Py_SIZE(x) < 0)) {
9597 PyErr_SetString(PyExc_OverflowError,
9598 "can't convert negative value to signed PY_LONG_LONG");
9599 return (signed PY_LONG_LONG)-1;
9601 return PyLong_AsUnsignedLongLong(x);
9603 return PyLong_AsLongLong(x);
9606 signed PY_LONG_LONG val;
9607 PyObject *tmp = __Pyx_PyNumber_Int(x);
9608 if (!tmp) return (signed PY_LONG_LONG)-1;
9609 val = __Pyx_PyInt_AsSignedLongLong(tmp);
9615 static void __Pyx_WriteUnraisable(const char *name) {
9616 PyObject *old_exc, *old_val, *old_tb;
9618 __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
9619 #if PY_MAJOR_VERSION < 3
9620 ctx = PyString_FromString(name);
9622 ctx = PyUnicode_FromString(name);
9624 __Pyx_ErrRestore(old_exc, old_val, old_tb);
9626 PyErr_WriteUnraisable(Py_None);
9628 PyErr_WriteUnraisable(ctx);
9633 static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
9634 #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
9635 PyObject *ob = PyCapsule_New(vtable, 0, 0);
9637 PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
9641 if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0)
9650 #ifndef __PYX_HAVE_RT_ImportType
9651 #define __PYX_HAVE_RT_ImportType
9652 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
9653 long size, int strict)
9655 PyObject *py_module = 0;
9656 PyObject *result = 0;
9657 PyObject *py_name = 0;
9660 py_module = __Pyx_ImportModule(module_name);
9663 #if PY_MAJOR_VERSION < 3
9664 py_name = PyString_FromString(class_name);
9666 py_name = PyUnicode_FromString(class_name);
9670 result = PyObject_GetAttr(py_module, py_name);
9673 Py_DECREF(py_module);
9677 if (!PyType_Check(result)) {
9678 PyErr_Format(PyExc_TypeError,
9679 "%s.%s is not a type object",
9680 module_name, class_name);
9683 if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) {
9684 PyOS_snprintf(warning, sizeof(warning),
9685 "%s.%s size changed, may indicate binary incompatibility",
9686 module_name, class_name);
9687 #if PY_VERSION_HEX < 0x02050000
9688 PyErr_Warn(NULL, warning);
9690 PyErr_WarnEx(NULL, warning, 0);
9693 else if (((PyTypeObject *)result)->tp_basicsize != size) {
9694 PyErr_Format(PyExc_ValueError,
9695 "%s.%s has the wrong size, try recompiling",
9696 module_name, class_name);
9699 return (PyTypeObject *)result;
9701 Py_XDECREF(py_module);
9707 #ifndef __PYX_HAVE_RT_ImportModule
9708 #define __PYX_HAVE_RT_ImportModule
9709 static PyObject *__Pyx_ImportModule(const char *name) {
9710 PyObject *py_name = 0;
9711 PyObject *py_module = 0;
9713 #if PY_MAJOR_VERSION < 3
9714 py_name = PyString_FromString(name);
9716 py_name = PyUnicode_FromString(name);
9720 py_module = PyImport_Import(py_name);
9724 Py_XDECREF(py_name);
9729 #include "compile.h"
9730 #include "frameobject.h"
9731 #include "traceback.h"
9733 static void __Pyx_AddTraceback(const char *funcname) {
9734 PyObject *py_srcfile = 0;
9735 PyObject *py_funcname = 0;
9736 PyObject *py_globals = 0;
9737 PyCodeObject *py_code = 0;
9738 PyFrameObject *py_frame = 0;
9740 #if PY_MAJOR_VERSION < 3
9741 py_srcfile = PyString_FromString(__pyx_filename);
9743 py_srcfile = PyUnicode_FromString(__pyx_filename);
9745 if (!py_srcfile) goto bad;
9746 if (__pyx_clineno) {
9747 #if PY_MAJOR_VERSION < 3
9748 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
9750 py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
9754 #if PY_MAJOR_VERSION < 3
9755 py_funcname = PyString_FromString(funcname);
9757 py_funcname = PyUnicode_FromString(funcname);
9760 if (!py_funcname) goto bad;
9761 py_globals = PyModule_GetDict(__pyx_m);
9762 if (!py_globals) goto bad;
9763 py_code = PyCode_New(
9764 0, /*int argcount,*/
9765 #if PY_MAJOR_VERSION >= 3
9766 0, /*int kwonlyargcount,*/
9769 0, /*int stacksize,*/
9771 __pyx_empty_bytes, /*PyObject *code,*/
9772 __pyx_empty_tuple, /*PyObject *consts,*/
9773 __pyx_empty_tuple, /*PyObject *names,*/
9774 __pyx_empty_tuple, /*PyObject *varnames,*/
9775 __pyx_empty_tuple, /*PyObject *freevars,*/
9776 __pyx_empty_tuple, /*PyObject *cellvars,*/
9777 py_srcfile, /*PyObject *filename,*/
9778 py_funcname, /*PyObject *name,*/
9779 __pyx_lineno, /*int firstlineno,*/
9780 __pyx_empty_bytes /*PyObject *lnotab*/
9782 if (!py_code) goto bad;
9783 py_frame = PyFrame_New(
9784 PyThreadState_GET(), /*PyThreadState *tstate,*/
9785 py_code, /*PyCodeObject *code,*/
9786 py_globals, /*PyObject *globals,*/
9787 0 /*PyObject *locals*/
9789 if (!py_frame) goto bad;
9790 py_frame->f_lineno = __pyx_lineno;
9791 PyTraceBack_Here(py_frame);
9793 Py_XDECREF(py_srcfile);
9794 Py_XDECREF(py_funcname);
9795 Py_XDECREF(py_code);
9796 Py_XDECREF(py_frame);
9799 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
9801 #if PY_MAJOR_VERSION < 3
9802 if (t->is_unicode) {
9803 *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
9804 } else if (t->intern) {
9805 *t->p = PyString_InternFromString(t->s);
9807 *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
9809 #else /* Python 3+ has unicode identifiers */
9810 if (t->is_unicode | t->is_str) {
9812 *t->p = PyUnicode_InternFromString(t->s);
9813 } else if (t->encoding) {
9814 *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
9816 *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
9819 *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
9829 /* Type Conversion Functions */
9831 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
9832 int is_true = x == Py_True;
9833 if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
9834 else return PyObject_IsTrue(x);
9837 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
9839 const char *name = NULL;
9840 PyObject *res = NULL;
9841 #if PY_VERSION_HEX < 0x03000000
9842 if (PyInt_Check(x) || PyLong_Check(x))
9844 if (PyLong_Check(x))
9846 return Py_INCREF(x), x;
9847 m = Py_TYPE(x)->tp_as_number;
9848 #if PY_VERSION_HEX < 0x03000000
9849 if (m && m->nb_int) {
9851 res = PyNumber_Int(x);
9853 else if (m && m->nb_long) {
9855 res = PyNumber_Long(x);
9858 if (m && m->nb_int) {
9860 res = PyNumber_Long(x);
9864 #if PY_VERSION_HEX < 0x03000000
9865 if (!PyInt_Check(res) && !PyLong_Check(res)) {
9867 if (!PyLong_Check(res)) {
9869 PyErr_Format(PyExc_TypeError,
9870 "__%s__ returned non-%s (type %.200s)",
9871 name, name, Py_TYPE(res)->tp_name);
9876 else if (!PyErr_Occurred()) {
9877 PyErr_SetString(PyExc_TypeError,
9878 "an integer is required");
9883 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
9885 PyObject* x = PyNumber_Index(b);
9887 ival = PyInt_AsSsize_t(x);
9892 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
9893 #if PY_VERSION_HEX < 0x02050000
9894 if (ival <= LONG_MAX)
9895 return PyInt_FromLong((long)ival);
9897 unsigned char *bytes = (unsigned char *) &ival;
9898 int one = 1; int little = (int)*(unsigned char*)&one;
9899 return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
9902 return PyInt_FromSize_t(ival);
9906 static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
9907 unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
9908 if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
9910 } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
9911 PyErr_SetString(PyExc_OverflowError,
9912 "value too large to convert to size_t");
9919 #endif /* Py_PYTHON_H */