Generated by Cython 0.27.3
Yellow lines hint at Python interaction.
Click on a line that starts with a "+
" to see the C code that Cython generated for it.
Raw output: io_vcf_read.c
+0001: # cython: linetrace=False
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_20) < 0) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
0002: # cython: profile=False
0003: # cython: binding=False
0004: # cython: boundscheck=False
0005: # cython: wraparound=False
0006: # cython: initializedcheck=False
0007: # cython: nonecheck=False
0008: """
0009: # options for profiling...
0010: # cython: profile=True
0011: # cython: binding=True
0012: # cython: linetrace=True
0013: # distutils: define_macros=CYTHON_TRACE=1
0014: # distutils: define_macros=CYTHON_TRACE_NOGIL=1
0015: """
0016: from __future__ import absolute_import, print_function, division
0017:
0018:
+0019: import warnings
__pyx_t_1 = __Pyx_Import(__pyx_n_s_warnings, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_warnings, __pyx_t_1) < 0) __PYX_ERR(0, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0020: # noinspection PyUnresolvedReferences
0021: from cpython.bytes cimport PyBytes_AS_STRING, PyBytes_FromStringAndSize
0022: # noinspection PyUnresolvedReferences
0023: from libc.stdlib cimport strtol, strtof, strtod, malloc, free, realloc
0024: # noinspection PyUnresolvedReferences
0025: from libc.string cimport strcmp, memcpy
+0026: import numpy as np
__pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0027: cimport numpy as np
0028: from cpython.ref cimport PyObject
0029: cdef extern from "Python.h":
0030: char* PyByteArray_AS_STRING(object string)
0031: # from multiprocessing.pool import ThreadPool
0032:
0033:
+0034: from allel.compat import PY2, text_type
__pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_PY2); __Pyx_GIVEREF(__pyx_n_s_PY2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PY2); __Pyx_INCREF(__pyx_n_s_text_type); __Pyx_GIVEREF(__pyx_n_s_text_type); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_text_type); __pyx_t_2 = __Pyx_Import(__pyx_n_s_allel_compat, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PY2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_PY2, __pyx_t_1) < 0) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_text_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_text_type, __pyx_t_1) < 0) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0035:
0036:
0037: #########################################################################################
0038: # Constants.
0039:
0040:
0041: # for Windows compatibility
+0042: cdef double NAN = np.nan
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_nan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_5allel_3opt_11io_vcf_read_NAN = __pyx_t_3;
0043:
0044: # predefine useful characters
+0045: cdef char TAB = b'\t'
__pyx_v_5allel_3opt_11io_vcf_read_TAB = '\t';
+0046: cdef char LF = b'\n'
__pyx_v_5allel_3opt_11io_vcf_read_LF = '\n';
+0047: cdef char CR = b'\r'
__pyx_v_5allel_3opt_11io_vcf_read_CR = '\r';
+0048: cdef char HASH = b'#'
__pyx_v_5allel_3opt_11io_vcf_read_HASH = '#';
+0049: cdef char COLON = b':'
__pyx_v_5allel_3opt_11io_vcf_read_COLON = ':';
+0050: cdef char SEMICOLON = b';'
__pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON = ';';
+0051: cdef char PERIOD = b'.'
__pyx_v_5allel_3opt_11io_vcf_read_PERIOD = '.';
+0052: cdef char COMMA = b','
__pyx_v_5allel_3opt_11io_vcf_read_COMMA = ',';
+0053: cdef char SLASH = b'/'
__pyx_v_5allel_3opt_11io_vcf_read_SLASH = '/';
+0054: cdef char PIPE = b'|'
__pyx_v_5allel_3opt_11io_vcf_read_PIPE = '|';
+0055: cdef char EQUALS = b'='
__pyx_v_5allel_3opt_11io_vcf_read_EQUALS = '=';
+0056: cdef char ASTERISK = b'*'
__pyx_v_5allel_3opt_11io_vcf_read_ASTERISK = '*';
0057:
0058: # user field specifications for fixed fields
+0059: CHROM_FIELD = 'variants/CHROM'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHROM_FIELD, __pyx_kp_s_variants_CHROM) < 0) __PYX_ERR(0, 59, __pyx_L1_error)
+0060: POS_FIELD = 'variants/POS'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_POS_FIELD, __pyx_kp_s_variants_POS) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
+0061: ID_FIELD = 'variants/ID'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ID_FIELD, __pyx_kp_s_variants_ID) < 0) __PYX_ERR(0, 61, __pyx_L1_error)
+0062: REF_FIELD = 'variants/REF'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_REF_FIELD, __pyx_kp_s_variants_REF) < 0) __PYX_ERR(0, 62, __pyx_L1_error)
+0063: ALT_FIELD = 'variants/ALT'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ALT_FIELD, __pyx_kp_s_variants_ALT) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+0064: QUAL_FIELD = 'variants/QUAL'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_QUAL_FIELD, __pyx_kp_s_variants_QUAL) < 0) __PYX_ERR(0, 64, __pyx_L1_error)
0065:
0066: # useful to lookup max int values
+0067: II8 = np.iinfo(np.int8)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_2) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_II8, __pyx_t_1) < 0) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0068: II16 = np.iinfo(np.int16)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_II16, __pyx_t_1) < 0) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0069: II32 = np.iinfo(np.int32)
__pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_6) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_II32, __pyx_t_1) < 0) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0070: II64 = np.iinfo(np.int64)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_2) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_II64, __pyx_t_1) < 0) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0071: IU8 = np.iinfo(np.uint8)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_IU8, __pyx_t_1) < 0) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0072: IU16 = np.iinfo(np.uint16)
__pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_uint16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_6) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_IU16, __pyx_t_1) < 0) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0073: IU32 = np.iinfo(np.uint32)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_2) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_IU32, __pyx_t_1) < 0) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0074: IU64 = np.iinfo(np.uint64)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_iinfo); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_IU64, __pyx_t_1) < 0) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0075:
0076:
0077: ##########################################################################################
0078: # Fused Types.
0079:
0080:
0081: ctypedef fused integer:
0082: np.int8_t
0083: np.int16_t
0084: np.int32_t
0085: np.int64_t
0086: np.uint8_t
0087: np.uint16_t
0088: np.uint32_t
0089: np.uint64_t
0090:
0091:
0092: ctypedef fused floating:
0093: np.float32_t
0094: np.float64_t
0095:
0096:
0097: ##########################################################################################
0098: # Vectors, written in pure C for speed and ease of use without GIL.
0099:
0100:
+0101: cdef struct CharVector:
struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector { Py_ssize_t size; Py_ssize_t capacity; char *data; };
0102: Py_ssize_t size
0103: Py_ssize_t capacity
0104: char* data
0105:
0106:
+0107: cdef inline void CharVector_init(CharVector* self, Py_ssize_t capacity) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_CharVector_init(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self, Py_ssize_t __pyx_v_capacity) { /* … */ /* function exit code */ }
+0108: self.size = 0
__pyx_v_self->size = 0;
+0109: self.capacity = capacity
__pyx_v_self->capacity = __pyx_v_capacity;
+0110: self.data = <char*> malloc(sizeof(char) * capacity)
__pyx_v_self->data = ((char *)malloc(((sizeof(char)) * __pyx_v_capacity)));
0111:
0112:
+0113: cdef inline void CharVector_free(CharVector* self) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_CharVector_free(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self) { /* … */ /* function exit code */ }
+0114: if self.data is not NULL:
__pyx_t_1 = ((__pyx_v_self->data != NULL) != 0); if (__pyx_t_1) { /* … */ }
+0115: free(self.data)
free(__pyx_v_self->data);
0116:
0117:
+0118: cdef inline void CharVector_append(CharVector* self, char c) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self, char __pyx_v_c) { /* … */ /* function exit code */ }
+0119: if self.size >= self.capacity:
__pyx_t_1 = ((__pyx_v_self->size >= __pyx_v_self->capacity) != 0); if (__pyx_t_1) { /* … */ }
+0120: self.capacity *= 2
__pyx_v_self->capacity = (__pyx_v_self->capacity * 2);
+0121: self.data = <char*> realloc(self.data, sizeof(char) * self.capacity)
__pyx_v_self->data = ((char *)realloc(__pyx_v_self->data, ((sizeof(char)) * __pyx_v_self->capacity)));
+0122: self.data[self.size] = c
(__pyx_v_self->data[__pyx_v_self->size]) = __pyx_v_c;
+0123: self.size += 1
__pyx_v_self->size = (__pyx_v_self->size + 1);
0124:
0125:
+0126: cdef inline void CharVector_clear(CharVector* self) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self) { /* … */ /* function exit code */ }
+0127: self.size = 0
__pyx_v_self->size = 0;
0128:
0129:
+0130: cdef inline void CharVector_terminate(CharVector* self) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self) { /* … */ /* function exit code */ }
+0131: CharVector_append(self, 0)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_append(__pyx_v_self, 0);
0132:
0133:
+0134: cdef bytes CharVector_to_pybytes(CharVector* self):
static PyObject *__pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pybytes(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("CharVector_to_pybytes", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("allel.opt.io_vcf_read.CharVector_to_pybytes", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0135: return PyBytes_FromStringAndSize(self.data, self.size)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyBytes_FromStringAndSize(__pyx_v_self->data, __pyx_v_self->size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0;
0136:
0137:
+0138: cdef object CharVector_to_pystr(CharVector* self):
static PyObject *__pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self) { PyObject *__pyx_v_v = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("CharVector_to_pystr", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.CharVector_to_pystr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0139: v = PyBytes_FromStringAndSize(self.data, self.size)
__pyx_t_1 = PyBytes_FromStringAndSize(__pyx_v_self->data, __pyx_v_self->size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_v = __pyx_t_1; __pyx_t_1 = 0;
+0140: v = text_type(v, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_v, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_v, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_v); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_v, __pyx_t_1); __pyx_t_1 = 0;
+0141: return v
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_v); __pyx_r = __pyx_v_v; goto __pyx_L0;
0142:
0143:
+0144: cdef object CharVector_to_pystr_sized(CharVector* self, Py_ssize_t size):
static PyObject *__pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr_sized(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_self, Py_ssize_t __pyx_v_size) { PyObject *__pyx_v_v = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("CharVector_to_pystr_sized", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.CharVector_to_pystr_sized", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0145: v = PyBytes_FromStringAndSize(self.data, size)
__pyx_t_1 = PyBytes_FromStringAndSize(__pyx_v_self->data, __pyx_v_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_v = __pyx_t_1; __pyx_t_1 = 0;
+0146: v = text_type(v, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_v, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_v, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_v); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_v, __pyx_t_1); __pyx_t_1 = 0;
+0147: return v
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_v); __pyx_r = __pyx_v_v; goto __pyx_L0;
0148:
0149:
+0150: cdef struct IntVector:
struct __pyx_t_5allel_3opt_11io_vcf_read_IntVector { Py_ssize_t size; Py_ssize_t capacity; int *data; };
0151: Py_ssize_t size
0152: Py_ssize_t capacity
0153: int* data
0154:
0155:
+0156: cdef inline void IntVector_init(IntVector* self, Py_ssize_t capacity) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_IntVector_init(struct __pyx_t_5allel_3opt_11io_vcf_read_IntVector *__pyx_v_self, Py_ssize_t __pyx_v_capacity) { /* … */ /* function exit code */ }
+0157: self.size = 0
__pyx_v_self->size = 0;
+0158: self.capacity = capacity
__pyx_v_self->capacity = __pyx_v_capacity;
+0159: self.data = <int*> malloc(sizeof(int) * capacity)
__pyx_v_self->data = ((int *)malloc(((sizeof(int)) * __pyx_v_capacity)));
0160:
0161:
+0162: cdef inline void IntVector_free(IntVector* self) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_IntVector_free(struct __pyx_t_5allel_3opt_11io_vcf_read_IntVector *__pyx_v_self) { /* … */ /* function exit code */ }
+0163: if self.data is not NULL:
__pyx_t_1 = ((__pyx_v_self->data != NULL) != 0); if (__pyx_t_1) { /* … */ }
+0164: free(self.data)
free(__pyx_v_self->data);
0165:
0166:
+0167: cdef inline void IntVector_append(IntVector* self, int c) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_IntVector_append(struct __pyx_t_5allel_3opt_11io_vcf_read_IntVector *__pyx_v_self, int __pyx_v_c) { /* … */ /* function exit code */ }
+0168: if self.size >= self.capacity:
__pyx_t_1 = ((__pyx_v_self->size >= __pyx_v_self->capacity) != 0); if (__pyx_t_1) { /* … */ }
+0169: self.capacity *= 2
__pyx_v_self->capacity = (__pyx_v_self->capacity * 2);
+0170: self.data = <int*> realloc(self.data, sizeof(int) * self.capacity)
__pyx_v_self->data = ((int *)realloc(__pyx_v_self->data, ((sizeof(int)) * __pyx_v_self->capacity)));
+0171: self.data[self.size] = c
(__pyx_v_self->data[__pyx_v_self->size]) = __pyx_v_c;
+0172: self.size += 1
__pyx_v_self->size = (__pyx_v_self->size + 1);
0173:
0174:
+0175: cdef inline void IntVector_clear(IntVector* self) nogil:
static CYTHON_INLINE void __pyx_f_5allel_3opt_11io_vcf_read_IntVector_clear(struct __pyx_t_5allel_3opt_11io_vcf_read_IntVector *__pyx_v_self) { /* … */ /* function exit code */ }
+0176: self.size = 0
__pyx_v_self->size = 0;
0177:
0178:
0179: ##########################################################################################
0180: # C string utilities.
0181:
0182:
+0183: cdef inline Py_ssize_t search_sorted_cstr(char* query, char** compare, Py_ssize_t n_items) nogil:
static CYTHON_INLINE Py_ssize_t __pyx_f_5allel_3opt_11io_vcf_read_search_sorted_cstr(char *__pyx_v_query, char **__pyx_v_compare, Py_ssize_t __pyx_v_n_items) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
0184: cdef:
0185: Py_ssize_t i
0186:
0187: # N.B., we could do a binary search here, but in fact this is not the performance
0188: # bottleneck, so stick with a simple scan for now
0189:
+0190: for i in range(n_items):
__pyx_t_1 = __pyx_v_n_items; for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_1; __pyx_t_2+=1) { __pyx_v_i = __pyx_t_2;
+0191: if strcmp(query, compare[i]) == 0:
__pyx_t_3 = ((strcmp(__pyx_v_query, (__pyx_v_compare[__pyx_v_i])) == 0) != 0); if (__pyx_t_3) { /* … */ } }
+0192: return i
__pyx_r = __pyx_v_i; goto __pyx_L0;
0193:
+0194: return -1
__pyx_r = -1L; goto __pyx_L0;
0195:
0196:
0197: ##########################################################################################
0198: # General I/O utilities.
0199:
0200:
+0201: cdef class InputStreamBase:
struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase { PyObject_HEAD struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_vtab; char c; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase { int (*advance)(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_vtabptr_5allel_3opt_11io_vcf_read_InputStreamBase;
0202: """Abstract base class defining an input stream over C chars."""
0203:
0204: cdef:
0205: # character at the current position in the stream
0206: char c
0207:
+0208: cdef int advance(self) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15InputStreamBase_advance(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("advance", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0209: """Read the next character from the stream and store it in the `c` attribute."""
0210: pass
0211:
0212:
+0213: cdef class FileInputStream(InputStreamBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream { struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase __pyx_base; PyObject *fileobj; Py_ssize_t buffer_size; PyObject *buffer; char *buffer_start; char *buffer_end; char *stream; int close; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase __pyx_base; int (*_bufferup)(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *); int (*read_line_into)(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *, struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *); int (*read_lines_into)(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *, struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *, Py_ssize_t); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_vtabptr_5allel_3opt_11io_vcf_read_FileInputStream;
0214:
0215: cdef:
0216: # Python file-like object
0217: object fileobj
0218: Py_ssize_t buffer_size
0219: bytearray buffer
0220: char* buffer_start
0221: char* buffer_end
0222: char* stream
0223: bint close
0224:
+0225: def __init__(self, fileobj, buffer_size=2**14, close=False):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_15FileInputStream_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_15FileInputStream_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fileobj = 0; PyObject *__pyx_v_buffer_size = 0; PyObject *__pyx_v_close = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fileobj,&__pyx_n_s_buffer_size,&__pyx_n_s_close,0}; PyObject* values[3] = {0,0,0}; values[1] = ((PyObject *)__pyx_int_16384); values[2] = ((PyObject *)Py_False); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fileobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffer_size); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_close); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 225, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_fileobj = values[0]; __pyx_v_buffer_size = values[1]; __pyx_v_close = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 225, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_15FileInputStream___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self), __pyx_v_fileobj, __pyx_v_buffer_size, __pyx_v_close); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_15FileInputStream___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self, PyObject *__pyx_v_fileobj, PyObject *__pyx_v_buffer_size, PyObject *__pyx_v_close) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0226: self.fileobj = fileobj
__Pyx_INCREF(__pyx_v_fileobj); __Pyx_GIVEREF(__pyx_v_fileobj); __Pyx_GOTREF(__pyx_v_self->fileobj); __Pyx_DECREF(__pyx_v_self->fileobj); __pyx_v_self->fileobj = __pyx_v_fileobj;
+0227: self.buffer_size = buffer_size
__pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_v_buffer_size); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L1_error) __pyx_v_self->buffer_size = __pyx_t_1;
0228: # initialise input buffer
+0229: self.buffer = bytearray(buffer_size)
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_buffer_size); __Pyx_GIVEREF(__pyx_v_buffer_size); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_buffer_size); __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&PyByteArray_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_self->buffer); __Pyx_DECREF(__pyx_v_self->buffer); __pyx_v_self->buffer = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+0230: self.buffer_start = PyByteArray_AS_STRING(self.buffer)
__pyx_t_3 = __pyx_v_self->buffer; __Pyx_INCREF(__pyx_t_3); __pyx_v_self->buffer_start = PyByteArray_AS_STRING(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0231: self.stream = self.buffer_start
__pyx_t_4 = __pyx_v_self->buffer_start; __pyx_v_self->stream = __pyx_t_4;
+0232: self.close = close
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_close); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L1_error) __pyx_v_self->close = __pyx_t_5;
+0233: self._bufferup()
__pyx_t_6 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->_bufferup(__pyx_v_self); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 233, __pyx_L1_error)
+0234: self.advance()
__pyx_t_6 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.advance(((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_self)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 234, __pyx_L1_error)
0235:
+0236: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_15FileInputStream_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_15FileInputStream_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_15FileInputStream_2__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_15FileInputStream_2__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("allel.opt.io_vcf_read.FileInputStream.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); }
+0237: if self.close:
__pyx_t_1 = (__pyx_v_self->close != 0); if (__pyx_t_1) { /* … */ }
+0238: self.fileobj.close()
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } if (__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 238, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0239:
+0240: cdef int _bufferup(self) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15FileInputStream__bufferup(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self) { Py_ssize_t __pyx_v_l; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_bufferup", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream._bufferup", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0241: """Read as many bytes as possible from the underlying file object into the
0242: buffer."""
0243: cdef Py_ssize_t l
0244: # with gil:
+0245: l = self.fileobj.readinto(self.buffer)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->fileobj, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self->buffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_self->buffer}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_self->buffer}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_v_self->buffer); __Pyx_GIVEREF(__pyx_v_self->buffer); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_self->buffer); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_l = __pyx_t_5;
+0246: if l > 0:
__pyx_t_6 = ((__pyx_v_l > 0) != 0); if (__pyx_t_6) { /* … */ goto __pyx_L3; }
+0247: self.stream = self.buffer_start
__pyx_t_7 = __pyx_v_self->buffer_start; __pyx_v_self->stream = __pyx_t_7;
+0248: self.buffer_end = self.buffer_start + l
__pyx_v_self->buffer_end = (__pyx_v_self->buffer_start + __pyx_v_l);
0249: else:
+0250: self.stream = NULL
/*else*/ { __pyx_v_self->stream = NULL; } __pyx_L3:;
0251:
+0252: cdef int advance(self) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15FileInputStream_advance(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("advance", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream.advance", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0253: """Read the next character from the stream and store it in the `c` attribute."""
+0254: if self.stream is self.buffer_end:
__pyx_t_1 = ((__pyx_v_self->stream == __pyx_v_self->buffer_end) != 0); if (__pyx_t_1) { /* … */ }
+0255: self._bufferup()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->_bufferup(__pyx_v_self); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 255, __pyx_L1_error)
+0256: if self.stream is NULL:
__pyx_t_1 = ((__pyx_v_self->stream == NULL) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L4; }
0257: # end of file
+0258: self.c = 0
__pyx_v_self->__pyx_base.c = 0;
0259: else:
+0260: self.c = self.stream[0]
/*else*/ { __pyx_v_self->__pyx_base.c = (__pyx_v_self->stream[0]);
+0261: self.stream += 1
__pyx_v_self->stream = (__pyx_v_self->stream + 1); } __pyx_L4:;
0262:
+0263: cdef int read_line_into(self, CharVector* dest) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15FileInputStream_read_line_into(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self, struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_dest) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("read_line_into", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream.read_line_into", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0264: """Read up to end of line or end of file (whichever comes first) and append
0265: chars to the `dest` buffer."""
0266:
+0267: while True:
while (1) {
0268:
+0269: if self.c == 0:
__pyx_t_1 = ((__pyx_v_self->__pyx_base.c == 0) != 0); if (__pyx_t_1) { /* … */ }
+0270: break
goto __pyx_L4_break;
0271:
+0272: elif self.c == LF:
__pyx_t_1 = ((__pyx_v_self->__pyx_base.c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_1) { /* … */ }
+0273: CharVector_append(dest, LF)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_append(__pyx_v_dest, __pyx_v_5allel_3opt_11io_vcf_read_LF);
0274: # advance input stream beyond EOL
+0275: self.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.advance(((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_self)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 275, __pyx_L1_error)
+0276: break
goto __pyx_L4_break;
0277:
+0278: elif self.c == CR:
__pyx_t_1 = ((__pyx_v_self->__pyx_base.c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_1) { /* … */ }
0279: # translate newdests
+0280: CharVector_append(dest, LF)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_append(__pyx_v_dest, __pyx_v_5allel_3opt_11io_vcf_read_LF);
0281: # advance input stream beyond EOL
+0282: self.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.advance(((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_self)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 282, __pyx_L1_error)
+0283: if self.c == LF:
__pyx_t_1 = ((__pyx_v_self->__pyx_base.c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_1) { /* … */ }
0284: # handle Windows CRLF
+0285: self.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.advance(((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_self)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 285, __pyx_L1_error)
+0286: break
goto __pyx_L4_break;
0287:
0288: else:
+0289: CharVector_append(dest, self.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append(__pyx_v_dest, __pyx_v_self->__pyx_base.c);
+0290: self.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.advance(((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_self)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 290, __pyx_L1_error)
}
}
__pyx_L4_break:;
0291:
+0292: cdef int read_lines_into(self, CharVector* dest, Py_ssize_t n) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_15FileInputStream_read_lines_into(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self, struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_dest, Py_ssize_t __pyx_v_n) { Py_ssize_t __pyx_v_n_lines_read; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("read_lines_into", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream.read_lines_into", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0293: """Read up to `n` lines into the `dest` buffer."""
+0294: cdef Py_ssize_t n_lines_read = 0
__pyx_v_n_lines_read = 0;
0295:
0296: # with nogil:
0297:
+0298: while n_lines_read < n and self.c != 0:
while (1) { __pyx_t_2 = ((__pyx_v_n_lines_read < __pyx_v_n) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = ((__pyx_v_self->__pyx_base.c != 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (!__pyx_t_1) break;
+0299: self.read_line_into(dest)
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->read_line_into(__pyx_v_self, __pyx_v_dest); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 299, __pyx_L1_error)
+0300: n_lines_read += 1
__pyx_v_n_lines_read = (__pyx_v_n_lines_read + 1); }
0301:
+0302: return n_lines_read
__pyx_r = __pyx_v_n_lines_read; goto __pyx_L0;
0303:
+0304: def readline(self):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_15FileInputStream_5readline(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_15FileInputStream_4readline[] = "Read characters up to end of line or end of file and return as Python bytes\n object."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_15FileInputStream_5readline(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("readline (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_15FileInputStream_4readline(((struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_15FileInputStream_4readline(struct __pyx_obj_5allel_3opt_11io_vcf_read_FileInputStream *__pyx_v_self) { struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector __pyx_v_line; PyObject *__pyx_v_ret = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("readline", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.FileInputStream.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ret); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0305: """Read characters up to end of line or end of file and return as Python bytes
0306: object."""
0307: cdef CharVector line
+0308: CharVector_init(&line, 2**8)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_init((&__pyx_v_line), 0x100);
+0309: self.read_line_into(&line)
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_FileInputStream *)__pyx_v_self->__pyx_base.__pyx_vtab)->read_line_into(__pyx_v_self, (&__pyx_v_line)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 309, __pyx_L1_error)
+0310: ret = CharVector_to_pybytes(&line)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pybytes((&__pyx_v_line)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ret = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+0311: CharVector_free(&line)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_free((&__pyx_v_line));
+0312: return ret
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ret); __pyx_r = __pyx_v_ret; goto __pyx_L0;
0313:
0314:
+0315: cdef class CharVectorInputStream(InputStreamBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream { struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase __pyx_base; struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector vector; Py_ssize_t stream_index; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_CharVectorInputStream { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase __pyx_base; void (*clear)(struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_CharVectorInputStream *__pyx_vtabptr_5allel_3opt_11io_vcf_read_CharVectorInputStream;
0316:
0317: cdef:
0318: CharVector vector
0319: Py_ssize_t stream_index
0320:
+0321: def __cinit__(self, Py_ssize_t capacity):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_21CharVectorInputStream_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_21CharVectorInputStream_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { Py_ssize_t __pyx_v_capacity; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_capacity,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_capacity)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 321, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_capacity = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_capacity == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 321, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.CharVectorInputStream.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_21CharVectorInputStream___cinit__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *)__pyx_v_self), __pyx_v_capacity); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_21CharVectorInputStream___cinit__(struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *__pyx_v_self, Py_ssize_t __pyx_v_capacity) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* … */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0322: CharVector_init(&self.vector, capacity)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_init((&__pyx_v_self->vector), __pyx_v_capacity);
+0323: self.stream_index = 0
__pyx_v_self->stream_index = 0;
0324:
+0325: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_21CharVectorInputStream_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_21CharVectorInputStream_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_21CharVectorInputStream_2__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_21CharVectorInputStream_2__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+0326: CharVector_free(&self.vector)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_free((&__pyx_v_self->vector));
0327:
+0328: cdef int advance(self) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_21CharVectorInputStream_advance(struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("advance", 0); /* … */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0329: if self.stream_index < self.vector.size:
__pyx_t_1 = ((__pyx_v_self->stream_index < __pyx_v_self->vector.size) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+0330: self.c = self.vector.data[self.stream_index]
__pyx_v_self->__pyx_base.c = (__pyx_v_self->vector.data[__pyx_v_self->stream_index]);
+0331: self.stream_index += 1
__pyx_v_self->stream_index = (__pyx_v_self->stream_index + 1);
0332: else:
+0333: self.c = 0
/*else*/ { __pyx_v_self->__pyx_base.c = 0; } __pyx_L3:;
0334:
+0335: cdef void clear(self) : # nogil
static void __pyx_f_5allel_3opt_11io_vcf_read_21CharVectorInputStream_clear(struct __pyx_obj_5allel_3opt_11io_vcf_read_CharVectorInputStream *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("clear", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+0336: CharVector_clear(&self.vector)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_self->vector));
+0337: self.stream_index = 0
__pyx_v_self->stream_index = 0;
0338:
0339:
0340: ##########################################################################################
0341: # VCF Parsing.
0342:
0343:
+0344: cdef enum VCFState:
enum __pyx_t_5allel_3opt_11io_vcf_read_VCFState { __pyx_e_5allel_3opt_11io_vcf_read_CHROM = 0, __pyx_e_5allel_3opt_11io_vcf_read_POS = 1, __pyx_e_5allel_3opt_11io_vcf_read_ID = 2, __pyx_e_5allel_3opt_11io_vcf_read_REF = 3, __pyx_e_5allel_3opt_11io_vcf_read_ALT = 4, __pyx_e_5allel_3opt_11io_vcf_read_QUAL = 5, __pyx_e_5allel_3opt_11io_vcf_read_FILTER = 6, __pyx_e_5allel_3opt_11io_vcf_read_INFO = 7, __pyx_e_5allel_3opt_11io_vcf_read_FORMAT = 8, __pyx_e_5allel_3opt_11io_vcf_read_CALLDATA = 9, __pyx_e_5allel_3opt_11io_vcf_read_EOL = 10, __pyx_e_5allel_3opt_11io_vcf_read_EOF = 11 };
0345: CHROM = 0,
0346: POS = 1,
0347: ID = 2,
0348: REF = 3,
0349: ALT = 4,
0350: QUAL = 5,
0351: FILTER = 6,
0352: INFO = 7,
0353: FORMAT = 8,
0354: CALLDATA = 9,
0355: EOL = 10,
0356: EOF = 11
0357:
0358:
+0359: cdef class VCFContext:
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext { PyObject_HEAD PyObject *headers; PyObject *fields; PyObject *formats; int state; Py_ssize_t variant_index; Py_ssize_t chunk_variant_index; Py_ssize_t sample_index; Py_ssize_t sample_output_index; Py_ssize_t sample_field_index; struct __pyx_t_5allel_3opt_11io_vcf_read_IntVector variant_format_indices; struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector temp; struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector info_key; struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector info_val; struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector chrom; long pos; Py_ssize_t ref_len; };
0360:
0361: cdef:
0362: # useful stuff
0363: object headers
0364: list fields
0365: list formats
0366:
0367: # dynamic attributes - reflect current state during parsing
0368: int state # overall parser state
0369: Py_ssize_t variant_index # index of current variant
0370: Py_ssize_t chunk_variant_index # index of current variant within current chunk
0371: Py_ssize_t sample_index # index of current sample within call data
0372: Py_ssize_t sample_output_index # index of current sample within output calldata arrays
0373: Py_ssize_t sample_field_index # index of field within call data for current sample
0374: IntVector variant_format_indices # indices of formats for the current variant
0375:
0376: # buffers
0377: CharVector temp # used for numeric values
0378: CharVector info_key # used for info key
0379: CharVector info_val # used for info value
0380:
0381: # keep track of current chrom and pos, even if fields are skipped
0382: CharVector chrom
0383: long pos
0384:
0385: # track size of reference allele (needed for svlen)
0386: Py_ssize_t ref_len
0387:
+0388: def __cinit__(self, headers, fields):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_10VCFContext_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_10VCFContext_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_headers = 0; PyObject *__pyx_v_fields = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_headers,&__pyx_n_s_fields,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_headers)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 388, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 388, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_headers = values[0]; __pyx_v_fields = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 388, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFContext.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_10VCFContext___cinit__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *)__pyx_v_self), __pyx_v_headers, __pyx_v_fields); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_10VCFContext___cinit__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_self, PyObject *__pyx_v_headers, PyObject *__pyx_v_fields) { PyObject *__pyx_v_f = NULL; PyObject *__pyx_v_group = NULL; PyObject *__pyx_v_name = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFContext.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_f); __Pyx_XDECREF(__pyx_v_group); __Pyx_XDECREF(__pyx_v_name); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0389: self.headers = headers
__Pyx_INCREF(__pyx_v_headers); __Pyx_GIVEREF(__pyx_v_headers); __Pyx_GOTREF(__pyx_v_self->headers); __Pyx_DECREF(__pyx_v_self->headers); __pyx_v_self->headers = __pyx_v_headers;
+0390: self.fields = list(fields)
__pyx_t_1 = PySequence_List(__pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->fields); __Pyx_DECREF(__pyx_v_self->fields); __pyx_v_self->fields = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0391: self.formats = list()
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->formats); __Pyx_DECREF(__pyx_v_self->formats); __pyx_v_self->formats = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0392: for f in fields:
if (likely(PyList_CheckExact(__pyx_v_fields)) || PyTuple_CheckExact(__pyx_v_fields)) { __pyx_t_1 = __pyx_v_fields; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 392, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 392, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 392, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0393: group, name = f.split('/')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 393, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_6 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 393, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 393, __pyx_L1_error) __pyx_L6_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_group, __pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4);
+0394: if group == 'calldata':
__pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_group, __pyx_n_s_calldata, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 394, __pyx_L1_error) if (__pyx_t_9) { /* … */ }
+0395: self.formats.append(name)
if (unlikely(__pyx_v_self->formats == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); __PYX_ERR(0, 395, __pyx_L1_error) } __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_self->formats, __pyx_v_name); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 395, __pyx_L1_error)
0396:
0397: # initialise dynamic state
+0398: self.state = VCFState.CHROM
__pyx_v_self->state = __pyx_e_5allel_3opt_11io_vcf_read_CHROM;
+0399: self.variant_index = -1
__pyx_v_self->variant_index = -1L;
+0400: self.chunk_variant_index = -1
__pyx_v_self->chunk_variant_index = -1L;
+0401: self.sample_index = 0
__pyx_v_self->sample_index = 0;
+0402: self.sample_output_index = -1
__pyx_v_self->sample_output_index = -1L;
+0403: self.sample_field_index = 0
__pyx_v_self->sample_field_index = 0;
+0404: IntVector_init(&self.variant_format_indices, 2**6)
__pyx_f_5allel_3opt_11io_vcf_read_IntVector_init((&__pyx_v_self->variant_format_indices), 64);
0405:
0406: # initialise temporary buffers
+0407: CharVector_init(&self.temp, 2**6)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_init((&__pyx_v_self->temp), 64);
+0408: CharVector_init(&self.info_key, 2**6)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_init((&__pyx_v_self->info_key), 64);
+0409: CharVector_init(&self.info_val, 2**6)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_init((&__pyx_v_self->info_val), 64);
0410:
0411: # initialise chrom and pos
+0412: CharVector_init(&self.chrom, 2**6)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_init((&__pyx_v_self->chrom), 64);
+0413: self.pos = -1
__pyx_v_self->pos = -1L;
+0414: self.ref_len = 0
__pyx_v_self->ref_len = 0;
0415:
+0416: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_10VCFContext_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_10VCFContext_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_10VCFContext_2__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_10VCFContext_2__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+0417: IntVector_free(&self.variant_format_indices)
__pyx_f_5allel_3opt_11io_vcf_read_IntVector_free((&__pyx_v_self->variant_format_indices));
+0418: CharVector_free(&self.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_free((&__pyx_v_self->temp));
+0419: CharVector_free(&self.info_key)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_free((&__pyx_v_self->info_key));
+0420: CharVector_free(&self.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_free((&__pyx_v_self->info_val));
+0421: CharVector_free(&self.chrom)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_free((&__pyx_v_self->chrom));
0422:
0423:
+0424: def check_samples(loc_samples, headers):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_1check_samples(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_5allel_3opt_11io_vcf_read_1check_samples = {"check_samples", (PyCFunction)__pyx_pw_5allel_3opt_11io_vcf_read_1check_samples, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_1check_samples(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_loc_samples = 0; PyObject *__pyx_v_headers = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("check_samples (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_loc_samples,&__pyx_n_s_headers,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_loc_samples)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_headers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("check_samples", 1, 2, 2, 1); __PYX_ERR(0, 424, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "check_samples") < 0)) __PYX_ERR(0, 424, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_loc_samples = values[0]; __pyx_v_headers = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("check_samples", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 424, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.check_samples", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_check_samples(__pyx_self, __pyx_v_loc_samples, __pyx_v_headers); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_check_samples(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loc_samples, PyObject *__pyx_v_headers) { Py_ssize_t __pyx_v_n_samples; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("check_samples", 0); __Pyx_INCREF(__pyx_v_loc_samples); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.check_samples", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_loc_samples); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__149 = PyTuple_Pack(3, __pyx_n_s_loc_samples, __pyx_n_s_headers, __pyx_n_s_n_samples); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 424, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); /* … */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5allel_3opt_11io_vcf_read_1check_samples, NULL, __pyx_n_s_allel_opt_io_vcf_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_samples, __pyx_t_1) < 0) __PYX_ERR(0, 424, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_allel_opt_io_vcf_read_pyx, __pyx_n_s_check_samples, 424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(0, 424, __pyx_L1_error)
+0425: n_samples = len(headers.samples)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_headers, __pyx_n_s_samples); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 425, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n_samples = __pyx_t_2;
+0426: if loc_samples is None:
__pyx_t_3 = (__pyx_v_loc_samples == Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+0427: loc_samples = np.ones(n_samples, dtype='u1')
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_n_samples); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_n_s_u1) < 0) __PYX_ERR(0, 427, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_loc_samples, __pyx_t_7); __pyx_t_7 = 0;
0428: else:
0429: # assume samples is already a boolean indexing array
+0430: loc_samples = loc_samples.view('u1')
/*else*/ { __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_loc_samples, __pyx_n_s_view); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_loc_samples, __pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__7 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7);
+0431: assert loc_samples.shape[0] == n_samples
#ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_loc_samples, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_n_samples); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyObject_RichCompare(__pyx_t_7, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(0, 431, __pyx_L1_error) } } #endif } __pyx_L3:;
+0432: return loc_samples
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_loc_samples); __pyx_r = __pyx_v_loc_samples; goto __pyx_L0;
0433:
0434:
+0435: cdef class VCFChunkIterator:
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator { PyObject_HEAD struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *stream; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *context; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *parser; };
0436:
0437: cdef:
0438: InputStreamBase stream
0439: VCFContext context
0440: VCFParser parser
0441:
+0442: def __init__(self,
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_16VCFChunkIterator_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_16VCFChunkIterator_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_headers = 0; PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_fills = 0; PyObject *__pyx_v_region = 0; PyObject *__pyx_v_loc_samples = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_chunk_length,&__pyx_n_s_headers,&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_fills,&__pyx_n_s_region,&__pyx_n_s_loc_samples,0}; PyObject* values[9] = {0,0,0,0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); CYTHON_FALLTHROUGH; case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 1); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_headers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 2); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 3); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 4); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 5); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 6); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 7: if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_region)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 7); __PYX_ERR(0, 442, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 8: if (likely((values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_loc_samples)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 8); __PYX_ERR(0, 442, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 442, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 9) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); values[6] = PyTuple_GET_ITEM(__pyx_args, 6); values[7] = PyTuple_GET_ITEM(__pyx_args, 7); values[8] = PyTuple_GET_ITEM(__pyx_args, 8); } __pyx_v_stream = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)values[0]); __pyx_v_chunk_length = values[1]; __pyx_v_headers = values[2]; __pyx_v_fields = values[3]; __pyx_v_types = values[4]; __pyx_v_numbers = values[5]; __pyx_v_fills = values[6]; __pyx_v_region = values[7]; __pyx_v_loc_samples = values[8]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 442, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChunkIterator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_stream), __pyx_ptype_5allel_3opt_11io_vcf_read_InputStreamBase, 1, "stream", 0))) __PYX_ERR(0, 443, __pyx_L1_error) __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_16VCFChunkIterator___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator *)__pyx_v_self), __pyx_v_stream, __pyx_v_chunk_length, __pyx_v_headers, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills, __pyx_v_region, __pyx_v_loc_samples); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_16VCFChunkIterator___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_headers, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers, PyObject *__pyx_v_fills, PyObject *__pyx_v_region, PyObject *__pyx_v_loc_samples) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_fields); __Pyx_INCREF(__pyx_v_loc_samples); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChunkIterator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_fields); __Pyx_XDECREF(__pyx_v_loc_samples); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0443: InputStreamBase stream,
0444: chunk_length,
0445: headers,
0446: fields,
0447: types,
0448: numbers,
0449: fills,
0450: region,
0451: loc_samples):
0452:
0453: # store reference to input stream
+0454: self.stream = stream
__Pyx_INCREF(((PyObject *)__pyx_v_stream)); __Pyx_GIVEREF(((PyObject *)__pyx_v_stream)); __Pyx_GOTREF(__pyx_v_self->stream); __Pyx_DECREF(((PyObject *)__pyx_v_self->stream)); __pyx_v_self->stream = __pyx_v_stream;
0455:
0456: # setup context
+0457: fields = sorted(fields)
__pyx_t_2 = PySequence_List(__pyx_v_fields); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 457, __pyx_L1_error) __Pyx_DECREF_SET(__pyx_v_fields, __pyx_t_1); __pyx_t_1 = 0;
+0458: self.context = VCFContext(headers, fields)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_headers); __Pyx_GIVEREF(__pyx_v_headers); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_headers); __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_fields); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFContext), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->context); __Pyx_DECREF(((PyObject *)__pyx_v_self->context)); __pyx_v_self->context = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *)__pyx_t_2); __pyx_t_2 = 0;
0459:
0460: # setup parser
+0461: loc_samples = check_samples(loc_samples, headers)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_samples); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_loc_samples, __pyx_v_headers}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_loc_samples, __pyx_v_headers}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_loc_samples); __Pyx_GIVEREF(__pyx_v_loc_samples); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_loc_samples); __Pyx_INCREF(__pyx_v_headers); __Pyx_GIVEREF(__pyx_v_headers); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_headers); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_loc_samples, __pyx_t_2); __pyx_t_2 = 0;
+0462: self.parser = VCFParser(fields=fields, types=types, numbers=numbers,
__pyx_t_2 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fields, __pyx_v_fields) < 0) __PYX_ERR(0, 462, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_v_types) < 0) __PYX_ERR(0, 462, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_numbers, __pyx_v_numbers) < 0) __PYX_ERR(0, 462, __pyx_L1_error) /* … */ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->parser)); __pyx_v_self->parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_t_1); __pyx_t_1 = 0;
+0463: chunk_length=chunk_length, loc_samples=loc_samples,
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 462, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_loc_samples, __pyx_v_loc_samples) < 0) __PYX_ERR(0, 462, __pyx_L1_error)
+0464: fills=fills, region=region)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fills, __pyx_v_fills) < 0) __PYX_ERR(0, 462, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_region, __pyx_v_region) < 0) __PYX_ERR(0, 462, __pyx_L1_error)
0465:
+0466: def __iter__(self):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_16VCFChunkIterator_3__iter__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_16VCFChunkIterator_3__iter__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_16VCFChunkIterator_2__iter__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_16VCFChunkIterator_2__iter__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__iter__", 0); /* … */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0467: return self
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __pyx_r = ((PyObject *)__pyx_v_self); goto __pyx_L0;
0468:
+0469: def __next__(self):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_16VCFChunkIterator_5__next__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_16VCFChunkIterator_5__next__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__next__ (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_16VCFChunkIterator_4__next__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_16VCFChunkIterator_4__next__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChunkIterator *__pyx_v_self) { Py_ssize_t __pyx_v_chunk_length; PyObject *__pyx_v_chunk = NULL; PyObject *__pyx_v_chrom = NULL; long __pyx_v_pos; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__next__", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChunkIterator.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_chunk); __Pyx_XDECREF(__pyx_v_chrom); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0470:
+0471: if self.context.state == VCFState.EOF:
__pyx_t_1 = ((__pyx_v_self->context->state == __pyx_e_5allel_3opt_11io_vcf_read_EOF) != 0); if (__pyx_t_1) { /* … */ }
+0472: raise StopIteration
__Pyx_Raise(__pyx_builtin_StopIteration, 0, 0, 0); __PYX_ERR(0, 472, __pyx_L1_error)
0473:
0474: # reset indices
+0475: self.context.chunk_variant_index = -1
__pyx_v_self->context->chunk_variant_index = -1L;
0476:
0477: # allocate arrays for next chunk
+0478: self.parser.malloc_chunk()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self->parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->parser); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 478, __pyx_L1_error)
0479:
0480: # parse next chunk
+0481: self.parser.parse(self.stream, self.context)
__pyx_t_3 = ((PyObject *)__pyx_v_self->stream); __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = ((PyObject *)__pyx_v_self->context); __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self->parser->__pyx_vtab)->parse(__pyx_v_self->parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_t_3), ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *)__pyx_t_4)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 481, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0482:
0483: # get the chunk
+0484: chunk_length = self.context.chunk_variant_index + 1
__pyx_v_chunk_length = (__pyx_v_self->context->chunk_variant_index + 1);
+0485: chunk = self.parser.make_chunk(chunk_length)
__pyx_t_4 = PyInt_FromSsize_t(__pyx_v_chunk_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self->parser->__pyx_vtab)->make_chunk(__pyx_v_self->parser, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_chunk = __pyx_t_3; __pyx_t_3 = 0;
0486:
+0487: if chunk is None:
__pyx_t_1 = (__pyx_v_chunk == Py_None); __pyx_t_5 = (__pyx_t_1 != 0); if (__pyx_t_5) { /* … */ }
+0488: raise StopIteration
__Pyx_Raise(__pyx_builtin_StopIteration, 0, 0, 0); __PYX_ERR(0, 488, __pyx_L1_error)
0489:
+0490: chrom = CharVector_to_pybytes(&self.context.chrom)
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pybytes((&__pyx_v_self->context->chrom)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_chrom = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+0491: pos = self.context.pos
__pyx_t_6 = __pyx_v_self->context->pos; __pyx_v_pos = __pyx_t_6;
+0492: return chunk, chunk_length, chrom, pos
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_chunk_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_chunk); __Pyx_GIVEREF(__pyx_v_chunk); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_chunk); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3); __Pyx_INCREF(__pyx_v_chrom); __Pyx_GIVEREF(__pyx_v_chrom); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_chrom); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_7; __pyx_t_7 = 0; goto __pyx_L0;
0493:
0494:
+0495: cdef class VCFParser:
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser { PyObject_HEAD struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFParser *__pyx_vtab; Py_ssize_t chunk_length; __Pyx_memviewslice loc_samples; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *chrom_pos_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *id_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *ref_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *alt_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *qual_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *filter_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *info_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *format_parser; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *calldata_parser; PyObject *region_chrom; Py_ssize_t region_begin; Py_ssize_t region_end; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFParser { int (*parse)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); int (*malloc_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *); PyObject *(*make_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *, PyObject *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFParser;
0496:
0497: cdef:
0498: Py_ssize_t chunk_length
0499: np.uint8_t[:] loc_samples
0500: VCFFieldParserBase chrom_pos_parser
0501: VCFFieldParserBase id_parser
0502: VCFFieldParserBase ref_parser
0503: VCFFieldParserBase alt_parser
0504: VCFFieldParserBase qual_parser
0505: VCFFieldParserBase filter_parser
0506: VCFFieldParserBase info_parser
0507: VCFFieldParserBase format_parser
0508: VCFFieldParserBase calldata_parser
0509: bytes region_chrom
0510: Py_ssize_t region_begin
0511: Py_ssize_t region_end
0512:
+0513: def __init__(self, fields, types, numbers, chunk_length, loc_samples, fills, region):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_loc_samples = 0; PyObject *__pyx_v_fills = 0; PyObject *__pyx_v_region = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_chunk_length,&__pyx_n_s_loc_samples,&__pyx_n_s_fills,&__pyx_n_s_region,0}; PyObject* values[7] = {0,0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 1); __PYX_ERR(0, 513, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 2); __PYX_ERR(0, 513, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 3); __PYX_ERR(0, 513, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_loc_samples)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 4); __PYX_ERR(0, 513, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 5); __PYX_ERR(0, 513, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_region)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 6); __PYX_ERR(0, 513, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 513, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 7) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); values[6] = PyTuple_GET_ITEM(__pyx_args, 6); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_chunk_length = values[3]; __pyx_v_loc_samples = values[4]; __pyx_v_fills = values[5]; __pyx_v_region = values[6]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 513, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_chunk_length, __pyx_v_loc_samples, __pyx_v_fills, __pyx_v_region); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_loc_samples, PyObject *__pyx_v_fills, PyObject *__pyx_v_region) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __PYX_XDEC_MEMVIEW(&__pyx_t_2, 1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0514: self.chunk_length = chunk_length
__pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_v_chunk_length); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 514, __pyx_L1_error) __pyx_v_self->chunk_length = __pyx_t_1;
+0515: self.loc_samples = loc_samples
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_v_loc_samples);
if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 515, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->loc_samples, 0);
__pyx_v_self->loc_samples = __pyx_t_2;
__pyx_t_2.memview = NULL;
__pyx_t_2.data = NULL;
0516:
0517: # handle region
+0518: self._init_region(region)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_region); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_region); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_region}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_region}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_region); __Pyx_GIVEREF(__pyx_v_region); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_region); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0519:
0520: # setup parsers
+0521: self._init_chrom_pos(fields, types)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_chrom_pos); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_types); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0522: self._init_id(fields, types)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fields, __pyx_v_types}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fields, __pyx_v_types}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_types); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0523: self._init_ref(fields, types)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_ref); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_types); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0524: self._init_alt(fields, types, numbers)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_alt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_types); __Pyx_INCREF(__pyx_v_numbers); __Pyx_GIVEREF(__pyx_v_numbers); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_7, __pyx_v_numbers); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0525: self._init_qual(fields, types, fills)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_qual); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types, __pyx_v_fills}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types, __pyx_v_fills}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_types); __Pyx_INCREF(__pyx_v_fills); __Pyx_GIVEREF(__pyx_v_fills); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_7, __pyx_v_fills); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0526: self._init_filter(fields)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_fields); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_fields}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_fields}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_fields); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0527: self._init_info(fields, types, numbers, fills)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 4+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 4+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(4+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_types); __Pyx_INCREF(__pyx_v_numbers); __Pyx_GIVEREF(__pyx_v_numbers); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_7, __pyx_v_numbers); __Pyx_INCREF(__pyx_v_fills); __Pyx_GIVEREF(__pyx_v_fills); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_7, __pyx_v_fills); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0528: self._init_format_calldata(fields, types, numbers, fills)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_format_calldata); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 4+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 4+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(4+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_types); __Pyx_INCREF(__pyx_v_numbers); __Pyx_GIVEREF(__pyx_v_numbers); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_7, __pyx_v_numbers); __Pyx_INCREF(__pyx_v_fills); __Pyx_GIVEREF(__pyx_v_fills); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_7, __pyx_v_fills); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0529:
+0530: if fields:
__pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_fields); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 530, __pyx_L1_error) if (__pyx_t_8) { /* … */ }
0531: # shouldn't ever be any left over
+0532: raise RuntimeError('unexpected fields left over: %r' % set(fields))
__pyx_t_3 = PySet_New(__pyx_v_fields); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unexpected_fields_left_over_r, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(0, 532, __pyx_L1_error)
0533:
+0534: def _init_region(self, region):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_3_init_region(PyObject *__pyx_v_self, PyObject *__pyx_v_region); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_3_init_region(PyObject *__pyx_v_self, PyObject *__pyx_v_region) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_region (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_2_init_region(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), ((PyObject *)__pyx_v_region)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_2_init_region(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_region) { PyObject *__pyx_v_tokens = NULL; PyObject *__pyx_v_range_tokens = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_region", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_region", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tokens); __Pyx_XDECREF(__pyx_v_range_tokens); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0535: self.region_chrom = b''
__Pyx_INCREF(__pyx_kp_b__8); __Pyx_GIVEREF(__pyx_kp_b__8); __Pyx_GOTREF(__pyx_v_self->region_chrom); __Pyx_DECREF(__pyx_v_self->region_chrom); __pyx_v_self->region_chrom = __pyx_kp_b__8;
+0536: self.region_begin = 0
__pyx_v_self->region_begin = 0;
+0537: self.region_end = 0
__pyx_v_self->region_end = 0;
+0538: if region is not None:
__pyx_t_1 = (__pyx_v_region != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+0539: tokens = region.split(':')
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_region, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_tokens = __pyx_t_4; __pyx_t_4 = 0; /* … */ __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s__9); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10);
+0540: if len(tokens) == 0:
__pyx_t_5 = PyObject_Length(__pyx_v_tokens); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 540, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_5 == 0) != 0); if (__pyx_t_2) { /* … */ }
+0541: raise ValueError('bad region string: %r' % region)
__pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_bad_region_string_r, __pyx_v_region); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(0, 541, __pyx_L1_error)
+0542: if PY2:
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PY2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 542, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L5; }
+0543: self.region_chrom = tokens[0]
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_tokens, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->region_chrom); __Pyx_DECREF(__pyx_v_self->region_chrom); __pyx_v_self->region_chrom = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
0544: else:
+0545: self.region_chrom = tokens[0].encode('utf8')
/*else*/ { __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_tokens, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->region_chrom); __Pyx_DECREF(__pyx_v_self->region_chrom); __pyx_v_self->region_chrom = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0; } __pyx_L5:; /* … */ __pyx_tuple__11 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11);
+0546: if len(tokens) > 1:
__pyx_t_5 = PyObject_Length(__pyx_v_tokens); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 546, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_5 > 1) != 0); if (__pyx_t_2) { /* … */ }
+0547: range_tokens = tokens[1].split('-')
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_tokens, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_range_tokens = __pyx_t_4; __pyx_t_4 = 0; /* … */ __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s__12); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13);
+0548: if len(range_tokens) != 2:
__pyx_t_5 = PyObject_Length(__pyx_v_range_tokens); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 548, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_5 != 2) != 0); if (__pyx_t_2) { /* … */ }
+0549: raise ValueError('bad region string: %r' % region)
__pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_bad_region_string_r, __pyx_v_region); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(0, 549, __pyx_L1_error)
+0550: self.region_begin = int(range_tokens[0])
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_range_tokens, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_self->region_begin = __pyx_t_5;
+0551: self.region_end = int(range_tokens[1])
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_range_tokens, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_self->region_end = __pyx_t_5;
0552:
+0553: def _init_chrom_pos(self, fields, types):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_5_init_chrom_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_9VCFParser_4_init_chrom_pos[] = "Setup CHROM and POS parser."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_5_init_chrom_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_chrom_pos (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_chrom_pos", 1, 2, 2, 1); __PYX_ERR(0, 553, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_chrom_pos") < 0)) __PYX_ERR(0, 553, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_chrom_pos", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 553, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_chrom_pos", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_4_init_chrom_pos(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_4_init_chrom_pos(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types) { PyObject *__pyx_v_kwds = NULL; PyObject *__pyx_v_t = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *__pyx_v_chrom_pos_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_chrom_pos", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_chrom_pos", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_kwds); __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF((PyObject *)__pyx_v_chrom_pos_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0554: """Setup CHROM and POS parser."""
+0555: kwds = dict(dtype=None, chunk_length=self.chunk_length,
__pyx_t_1 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, Py_None) < 0) __PYX_ERR(0, 555, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_chunk_length, __pyx_t_2) < 0) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0556: region_chrom=self.region_chrom, region_begin=self.region_begin,
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_region_chrom, __pyx_v_self->region_chrom) < 0) __PYX_ERR(0, 555, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->region_begin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_region_begin, __pyx_t_2) < 0) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0557: region_end=self.region_end, store_chrom=False, store_pos=False)
__pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->region_end); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_region_end, __pyx_t_2) < 0) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store_chrom, Py_False) < 0) __PYX_ERR(0, 555, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store_pos, Py_False) < 0) __PYX_ERR(0, 555, __pyx_L1_error) __pyx_v_kwds = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
0558:
+0559: if CHROM_FIELD in fields:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_CHROM_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 559, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* … */ }
+0560: kwds['dtype'] = types[CHROM_FIELD]
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_CHROM_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetItem(__pyx_v_types, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_kwds, __pyx_n_s_dtype, __pyx_t_2) < 0)) __PYX_ERR(0, 560, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0561: kwds['store_chrom'] = True
if (unlikely(PyDict_SetItem(__pyx_v_kwds, __pyx_n_s_store_chrom, Py_True) < 0)) __PYX_ERR(0, 561, __pyx_L1_error)
+0562: fields.remove(CHROM_FIELD)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_CHROM_FIELD); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_6) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0563:
+0564: if POS_FIELD in fields:
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_t_2, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { /* … */ }
+0565: if POS_FIELD in types:
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_2, __pyx_v_types, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 565, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* … */ }
+0566: t = types[POS_FIELD]
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_GetItem(__pyx_v_types, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_t = __pyx_t_1; __pyx_t_1 = 0;
+0567: if t != np.dtype('int32'):
__pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ } /* … */ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14);
+0568: warnings.warn('only int32 supported for POS field, ignoring requested type: %r' % t)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warn); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_only_int32_supported_for_POS_fie, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } if (!__pyx_t_5) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_1}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_1}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0569: kwds['store_pos'] = True
if (unlikely(PyDict_SetItem(__pyx_v_kwds, __pyx_n_s_store_pos, Py_True) < 0)) __PYX_ERR(0, 569, __pyx_L1_error)
+0570: fields.remove(POS_FIELD)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_POS_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } if (!__pyx_t_1) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_6}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_t_6}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0571:
+0572: chrom_pos_parser = VCFChromPosParser(**kwds)
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFChromPosParser), __pyx_empty_tuple, __pyx_v_kwds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_chrom_pos_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *)__pyx_t_2); __pyx_t_2 = 0;
+0573: chrom_pos_parser.malloc_chunk()
__pyx_t_8 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFChromPosParser *)__pyx_v_chrom_pos_parser->__pyx_base.__pyx_vtab)->__pyx_base.malloc_chunk(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_chrom_pos_parser)); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 573, __pyx_L1_error)
+0574: self.chrom_pos_parser = chrom_pos_parser
__Pyx_INCREF(((PyObject *)__pyx_v_chrom_pos_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_chrom_pos_parser)); __Pyx_GOTREF(__pyx_v_self->chrom_pos_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->chrom_pos_parser)); __pyx_v_self->chrom_pos_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_chrom_pos_parser);
0575:
+0576: def _init_id(self, fields, types):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_7_init_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_9VCFParser_6_init_id[] = "Setup ID parser."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_7_init_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_id (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_id", 1, 2, 2, 1); __PYX_ERR(0, 576, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_id") < 0)) __PYX_ERR(0, 576, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_id", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 576, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_id", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_6_init_id(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_6_init_id(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types) { PyObject *__pyx_v_t = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_id_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_id", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_id", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF((PyObject *)__pyx_v_id_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0577: """Setup ID parser."""
+0578: if ID_FIELD in fields:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ID_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0579: t = types[ID_FIELD]
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ID_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyObject_GetItem(__pyx_v_types, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_t = __pyx_t_4; __pyx_t_4 = 0;
+0580: t = check_string_dtype(t)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_5) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_t}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_t}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_t); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0;
+0581: if t.kind == 'S':
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+0582: id_parser = VCFIDStringParser(dtype=t, chunk_length=self.chunk_length)
__pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 582, __pyx_L1_error) __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_chunk_length, __pyx_t_1) < 0) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDStringParser), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_id_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0;
0583: else:
+0584: id_parser = VCFIDObjectParser(chunk_length=self.chunk_length)
/*else*/ { __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_chunk_length, __pyx_t_4) < 0) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDObjectParser), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_id_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_4); __pyx_t_4 = 0; } __pyx_L4:;
+0585: fields.remove(ID_FIELD)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ID_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_5) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_6}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_6}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0586: else:
+0587: id_parser = VCFSkipFieldParser(key=b'ID')
/*else*/ { __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_key, __pyx_n_b_ID) < 0) __PYX_ERR(0, 587, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_id_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
+0588: id_parser.malloc_chunk()
__pyx_t_8 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_id_parser->__pyx_vtab)->malloc_chunk(__pyx_v_id_parser); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 588, __pyx_L1_error)
+0589: self.id_parser = id_parser
__Pyx_INCREF(((PyObject *)__pyx_v_id_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_id_parser)); __Pyx_GOTREF(__pyx_v_self->id_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->id_parser)); __pyx_v_self->id_parser = __pyx_v_id_parser;
0590:
+0591: def _init_ref(self, fields, types):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_9_init_ref(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_9_init_ref(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_ref (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_ref", 1, 2, 2, 1); __PYX_ERR(0, 591, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_ref") < 0)) __PYX_ERR(0, 591, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_ref", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 591, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_ref", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_8_init_ref(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_8_init_ref(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types) { PyObject *__pyx_v_t = NULL; int __pyx_v_store; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_ref_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_ref", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_ref", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF((PyObject *)__pyx_v_ref_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0592: # setup REF parser
+0593: t = types.get(REF_FIELD, None)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_types, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_REF_FIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, Py_None}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, Py_None}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, Py_None); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_t = __pyx_t_1; __pyx_t_1 = 0;
+0594: store = False
__pyx_v_store = 0;
+0595: if REF_FIELD in fields:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_REF_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* … */ }
+0596: store = True
__pyx_v_store = 1;
+0597: fields.remove(REF_FIELD)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_REF_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_t_6}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0598: t = check_string_dtype(t)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_t}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_t}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_t); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_t, __pyx_t_1); __pyx_t_1 = 0;
+0599: if t is not None and t.kind == 'S':
__pyx_t_7 = (__pyx_v_t != Py_None); __pyx_t_9 = (__pyx_t_7 != 0); if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L5_bool_binop_done; } __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L5_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L4; }
+0600: ref_parser = VCFRefStringParser(dtype=t, chunk_length=self.chunk_length, store=store)
__pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 600, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_chunk_length, __pyx_t_2) < 0) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_store); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store, __pyx_t_2) < 0) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefStringParser), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ref_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_2); __pyx_t_2 = 0;
0601: else:
+0602: ref_parser = VCFRefObjectParser(chunk_length=self.chunk_length, store=store)
/*else*/ { __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_t_1) < 0) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_store); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_store, __pyx_t_1) < 0) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefObjectParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ref_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0; } __pyx_L4:;
+0603: ref_parser.malloc_chunk()
__pyx_t_5 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_ref_parser->__pyx_vtab)->malloc_chunk(__pyx_v_ref_parser); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 603, __pyx_L1_error)
+0604: self.ref_parser = ref_parser
__Pyx_INCREF(((PyObject *)__pyx_v_ref_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ref_parser)); __Pyx_GOTREF(__pyx_v_self->ref_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->ref_parser)); __pyx_v_self->ref_parser = __pyx_v_ref_parser;
0605:
+0606: def _init_alt(self, fields, types, numbers):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_11_init_alt(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_9VCFParser_10_init_alt[] = "Setup ALT parser."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_11_init_alt(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_alt (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_numbers,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_alt", 1, 3, 3, 1); __PYX_ERR(0, 606, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_alt", 1, 3, 3, 2); __PYX_ERR(0, 606, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_alt") < 0)) __PYX_ERR(0, 606, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_alt", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 606, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_alt", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_10_init_alt(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types, __pyx_v_numbers); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_10_init_alt(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers) { int __pyx_v_store_alt; int __pyx_v_store_numalt; int __pyx_v_store_svlen; int __pyx_v_store_is_snp; PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_n = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_alt_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_alt", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_alt", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF(__pyx_v_n); __Pyx_XDECREF((PyObject *)__pyx_v_alt_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0607: """Setup ALT parser."""
0608:
+0609: store_alt = False
__pyx_v_store_alt = 0;
+0610: store_numalt = False
__pyx_v_store_numalt = 0;
+0611: store_svlen = False
__pyx_v_store_svlen = 0;
+0612: store_is_snp = False
__pyx_v_store_is_snp = 0;
+0613: t = types.get(ALT_FIELD, None)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_types, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ALT_FIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, Py_None}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, Py_None}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, Py_None); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_t = __pyx_t_1; __pyx_t_1 = 0;
+0614: n = numbers.get(ALT_FIELD, 1)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_numbers, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ALT_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_6, __pyx_int_1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_6, __pyx_int_1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_int_1); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_n = __pyx_t_1; __pyx_t_1 = 0;
+0615: if ALT_FIELD in fields:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ALT_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* … */ }
+0616: store_alt = True
__pyx_v_store_alt = 1;
+0617: fields.remove(ALT_FIELD)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_ALT_FIELD); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_6) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0618: if 'variants/numalt' in fields:
__pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_variants_numalt, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 618, __pyx_L1_error) __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* … */ }
+0619: store_numalt = True
__pyx_v_store_numalt = 1;
+0620: fields.remove('variants/numalt')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_variants_numalt); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15);
+0621: if 'variants/svlen' in fields:
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_variants_svlen, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 621, __pyx_L1_error) __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* … */ }
+0622: store_svlen = True
__pyx_v_store_svlen = 1;
+0623: fields.remove('variants/svlen')
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_variants_svlen); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16);
+0624: if 'variants/is_snp' in fields:
__pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s_variants_is_snp, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 624, __pyx_L1_error) __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* … */ }
+0625: store_is_snp = True
__pyx_v_store_is_snp = 1;
+0626: fields.remove('variants/is_snp')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_variants_is_snp); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17);
0627:
+0628: if store_alt or store_numalt or store_svlen or store_is_snp:
__pyx_t_8 = (__pyx_v_store_alt != 0); if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L8_bool_binop_done; } __pyx_t_8 = (__pyx_v_store_numalt != 0); if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L8_bool_binop_done; } __pyx_t_8 = (__pyx_v_store_svlen != 0); if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L8_bool_binop_done; } __pyx_t_8 = (__pyx_v_store_is_snp != 0); __pyx_t_7 = __pyx_t_8; __pyx_L8_bool_binop_done:; if (__pyx_t_7) { /* … */ goto __pyx_L7; }
+0629: if store_alt:
__pyx_t_7 = (__pyx_v_store_alt != 0); if (__pyx_t_7) { /* … */ }
+0630: t = check_string_dtype(t)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_3) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_t}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_t}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_t); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_t, __pyx_t_2); __pyx_t_2 = 0;
+0631: if t is not None and t.kind == 'S':
__pyx_t_8 = (__pyx_v_t != Py_None); __pyx_t_9 = (__pyx_t_8 != 0); if (__pyx_t_9) { } else { __pyx_t_7 = __pyx_t_9; goto __pyx_L14_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = __pyx_t_9; __pyx_L14_bool_binop_done:; if (__pyx_t_7) { /* … */ goto __pyx_L13; }
+0632: alt_parser = VCFAltStringParser(dtype=t, number=n, chunk_length=self.chunk_length,
__pyx_t_2 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 632, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltStringParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_alt_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0;
+0633: store_alt=store_alt, store_numalt=store_numalt,
__pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_store_alt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_store_alt, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_store_numalt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_store_numalt, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0634: store_svlen=store_svlen, store_is_snp=store_is_snp)
__pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_store_svlen); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_store_svlen, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_store_is_snp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_store_is_snp, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0635: else:
+0636: alt_parser = VCFAltObjectParser(number=n, chunk_length=self.chunk_length, store_alt=store_alt,
/*else*/ { __pyx_t_1 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_chunk_length, __pyx_t_2) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_store_alt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store_alt, __pyx_t_2) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltObjectParser), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_alt_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_2); __pyx_t_2 = 0; } __pyx_L13:;
+0637: store_numalt=store_numalt,
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_store_numalt); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store_numalt, __pyx_t_2) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0638: store_svlen=store_svlen, store_is_snp=store_is_snp)
__pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_store_svlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store_svlen, __pyx_t_2) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_store_is_snp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_store_is_snp, __pyx_t_2) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0639: else:
+0640: alt_parser = VCFSkipFieldParser(key=b'ALT')
/*else*/ { __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_ALT) < 0) __PYX_ERR(0, 640, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_alt_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0; } __pyx_L7:;
0641:
+0642: alt_parser.malloc_chunk()
__pyx_t_5 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_alt_parser->__pyx_vtab)->malloc_chunk(__pyx_v_alt_parser); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 642, __pyx_L1_error)
+0643: self.alt_parser = alt_parser
__Pyx_INCREF(((PyObject *)__pyx_v_alt_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_alt_parser)); __Pyx_GOTREF(__pyx_v_self->alt_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->alt_parser)); __pyx_v_self->alt_parser = __pyx_v_alt_parser;
0644:
+0645: def _init_qual(self, fields, types, fills):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_13_init_qual(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_9VCFParser_12_init_qual[] = "Setup QUAL parser."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_13_init_qual(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_fills = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_qual (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_fills,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_qual", 1, 3, 3, 1); __PYX_ERR(0, 645, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_qual", 1, 3, 3, 2); __PYX_ERR(0, 645, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_qual") < 0)) __PYX_ERR(0, 645, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; __pyx_v_fills = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_qual", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 645, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_qual", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_12_init_qual(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_12_init_qual(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_fills) { PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_fill = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_qual_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_qual", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_qual", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF(__pyx_v_fill); __Pyx_XDECREF((PyObject *)__pyx_v_qual_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0646: """Setup QUAL parser."""
+0647: if QUAL_FIELD in fields:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_QUAL_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_fields, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0648: if QUAL_FIELD in types:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_QUAL_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_types, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* … */ }
+0649: t = types[QUAL_FIELD]
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_QUAL_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyObject_GetItem(__pyx_v_types, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_t = __pyx_t_4; __pyx_t_4 = 0;
+0650: if t != np.dtype('float32'):
__pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ } /* … */ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_n_s_float32); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18);
+0651: warnings.warn('only float32 supported for QUAL field, ignoring requested type: %r' % t)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_warn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_only_float32_supported_for_QUAL, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_6) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0652: fill = fills.get(QUAL_FIELD, -1)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_QUAL_FIELD); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_7, __pyx_int_neg_1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_7, __pyx_int_neg_1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_int_neg_1); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_fill = __pyx_t_1; __pyx_t_1 = 0;
+0653: qual_parser = VCFQualParser(chunk_length=self.chunk_length, fill=fill)
__pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_chunk_length, __pyx_t_5) < 0) __PYX_ERR(0, 653, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 653, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFQualParser), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_qual_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_5); __pyx_t_5 = 0;
+0654: fields.remove(QUAL_FIELD)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_QUAL_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_7) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0655: else:
+0656: qual_parser = VCFSkipFieldParser(key=b'QUAL')
/*else*/ { __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_key, __pyx_n_b_QUAL) < 0) __PYX_ERR(0, 656, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_qual_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
+0657: qual_parser.malloc_chunk()
__pyx_t_8 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_qual_parser->__pyx_vtab)->malloc_chunk(__pyx_v_qual_parser); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 657, __pyx_L1_error)
+0658: self.qual_parser = qual_parser
__Pyx_INCREF(((PyObject *)__pyx_v_qual_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_qual_parser)); __Pyx_GOTREF(__pyx_v_self->qual_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->qual_parser)); __pyx_v_self->qual_parser = __pyx_v_qual_parser;
0659:
+0660: def _init_filter(self, fields):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_15_init_filter(PyObject *__pyx_v_self, PyObject *__pyx_v_fields); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_9VCFParser_14_init_filter[] = "Setup FILTER parser."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_15_init_filter(PyObject *__pyx_v_self, PyObject *__pyx_v_fields) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_filter (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_14_init_filter(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), ((PyObject *)__pyx_v_fields)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_14_init_filter(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields) { PyObject *__pyx_v_filter_keys = NULL; PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_k = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_filter_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_filter", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_filter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_filter_keys); __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_k); __Pyx_XDECREF((PyObject *)__pyx_v_filter_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0661: """Setup FILTER parser."""
+0662: filter_keys = list()
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_filter_keys = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0663: for field in list(fields):
__pyx_t_1 = PySequence_List(__pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 663, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0664: if field.startswith('variants/FILTER_'):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_startswith); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_variants_FILTER); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); /* … */ }
+0665: k = field[16:]
__pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_field, 16, 0, NULL, NULL, &__pyx_slice__20, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_slice__20 = PySlice_New(__pyx_int_16, Py_None, Py_None); if (unlikely(!__pyx_slice__20)) __PYX_ERR(0, 665, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__20); __Pyx_GIVEREF(__pyx_slice__20);
+0666: if isinstance(k, text_type):
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_IsInstance(__pyx_v_k, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 666, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { /* … */ }
+0667: k = k.encode('utf8')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_k, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_k, __pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__21 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21);
+0668: filter_keys.append(k)
__pyx_t_7 = __Pyx_PyList_Append(__pyx_v_filter_keys, __pyx_v_k); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 668, __pyx_L1_error)
+0669: fields.remove(field)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_8) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_field); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_field}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_field}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL; __Pyx_INCREF(__pyx_v_field); __Pyx_GIVEREF(__pyx_v_field); PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_field); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0670: if filter_keys:
__pyx_t_6 = (__pyx_v_filter_keys != Py_None) && (PyList_GET_SIZE(__pyx_v_filter_keys) != 0);
if (__pyx_t_6) {
/* … */
goto __pyx_L7;
}
+0671: filter_parser = VCFFilterParser(filter_keys=filter_keys, chunk_length=self.chunk_length)
__pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filter_keys, __pyx_v_filter_keys) < 0) __PYX_ERR(0, 671, __pyx_L1_error) __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_t_1) < 0) __PYX_ERR(0, 671, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFilterParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_filter_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_1); __pyx_t_1 = 0;
0672: else:
+0673: filter_parser = VCFSkipFieldParser(key=b'FILTER')
/*else*/ { __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_key, __pyx_n_b_FILTER) < 0) __PYX_ERR(0, 673, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_filter_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_2); __pyx_t_2 = 0; } __pyx_L7:;
+0674: filter_parser.malloc_chunk()
__pyx_t_10 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_filter_parser->__pyx_vtab)->malloc_chunk(__pyx_v_filter_parser); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 674, __pyx_L1_error)
+0675: self.filter_parser = filter_parser
__Pyx_INCREF(((PyObject *)__pyx_v_filter_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_filter_parser)); __Pyx_GOTREF(__pyx_v_self->filter_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->filter_parser)); __pyx_v_self->filter_parser = __pyx_v_filter_parser;
0676:
+0677: def _init_info(self, fields, types, numbers, fills):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_17_init_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_17_init_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_fills = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_info (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_fills,0}; PyObject* values[4] = {0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_info", 1, 4, 4, 1); __PYX_ERR(0, 677, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_info", 1, 4, 4, 2); __PYX_ERR(0, 677, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_info", 1, 4, 4, 3); __PYX_ERR(0, 677, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_info") < 0)) __PYX_ERR(0, 677, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_fills = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_info", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 677, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_16_init_info(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_16_init_info(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers, PyObject *__pyx_v_fills) { PyObject *__pyx_v_info_keys = NULL; PyObject *__pyx_v_info_types = NULL; PyObject *__pyx_v_info_numbers = NULL; PyObject *__pyx_v_info_fills = NULL; PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_group = NULL; PyObject *__pyx_v_name = NULL; PyObject *__pyx_v_key = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_info_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_info", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_info_keys); __Pyx_XDECREF(__pyx_v_info_types); __Pyx_XDECREF(__pyx_v_info_numbers); __Pyx_XDECREF(__pyx_v_info_fills); __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_group); __Pyx_XDECREF(__pyx_v_name); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF((PyObject *)__pyx_v_info_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0678: # setup INFO parser
+0679: info_keys = list()
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_info_keys = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0680: info_types = dict()
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_info_types = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0681: info_numbers = dict()
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_info_numbers = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0682: info_fills = dict()
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_info_fills = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
0683: # assume any variants fields left are INFO
+0684: for field in list(fields):
__pyx_t_1 = PySequence_List(__pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 684, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0685: group, name = field.split('/')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 685, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_1)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 685, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 685, __pyx_L1_error) __pyx_L6_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_group, __pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 685, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22);
+0686: if group == 'variants':
__pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_group, __pyx_n_s_variants, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 686, __pyx_L1_error) if (__pyx_t_8) { /* … */ }
+0687: if isinstance(name, text_type):
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyObject_IsInstance(__pyx_v_name, __pyx_t_4); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = (__pyx_t_8 != 0); if (__pyx_t_9) { /* … */ goto __pyx_L8; }
+0688: key = name.encode('utf8')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_tuple__23 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23);
0689: else:
+0690: key = name
/*else*/ { __Pyx_INCREF(__pyx_v_name); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_v_name); } __pyx_L8:;
+0691: info_keys.append(key)
__pyx_t_10 = __Pyx_PyList_Append(__pyx_v_info_keys, __pyx_v_key); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 691, __pyx_L1_error)
+0692: fields.remove(field)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_1) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_field}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_field}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = NULL; __Pyx_INCREF(__pyx_v_field); __Pyx_GIVEREF(__pyx_v_field); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_field); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0693: info_types[key] = types[field]
__pyx_t_5 = PyObject_GetItem(__pyx_v_types, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_info_types, __pyx_v_key, __pyx_t_5) < 0)) __PYX_ERR(0, 693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0694: info_numbers[key] = numbers[field]
__pyx_t_5 = PyObject_GetItem(__pyx_v_numbers, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_info_numbers, __pyx_v_key, __pyx_t_5) < 0)) __PYX_ERR(0, 694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0695: if field in fills:
__pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_field, __pyx_v_fills, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 695, __pyx_L1_error) __pyx_t_8 = (__pyx_t_9 != 0); if (__pyx_t_8) { /* … */ }
+0696: info_fills[key] = fills[field]
__pyx_t_5 = PyObject_GetItem(__pyx_v_fills, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_info_fills, __pyx_v_key, __pyx_t_5) < 0)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0697: if info_keys:
__pyx_t_8 = (__pyx_v_info_keys != Py_None) && (PyList_GET_SIZE(__pyx_v_info_keys) != 0);
if (__pyx_t_8) {
/* … */
goto __pyx_L10;
}
+0698: info_parser = VCFInfoParser(info_keys=info_keys,
__pyx_t_2 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_info_keys, __pyx_v_info_keys) < 0) __PYX_ERR(0, 698, __pyx_L1_error) /* … */ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_info_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_5); __pyx_t_5 = 0;
+0699: types=info_types,
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_types, __pyx_v_info_types) < 0) __PYX_ERR(0, 698, __pyx_L1_error)
+0700: numbers=info_numbers,
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_numbers, __pyx_v_info_numbers) < 0) __PYX_ERR(0, 698, __pyx_L1_error)
+0701: chunk_length=self.chunk_length,
__pyx_t_5 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_t_5) < 0) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0702: fills=info_fills)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fills, __pyx_v_info_fills) < 0) __PYX_ERR(0, 698, __pyx_L1_error)
0703: else:
+0704: info_parser = VCFSkipFieldParser(key=b'INFO')
/*else*/ { __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_key, __pyx_n_b_INFO) < 0) __PYX_ERR(0, 704, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_info_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_2); __pyx_t_2 = 0; } __pyx_L10:;
+0705: info_parser.malloc_chunk()
__pyx_t_11 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_info_parser->__pyx_vtab)->malloc_chunk(__pyx_v_info_parser); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 705, __pyx_L1_error)
+0706: self.info_parser = info_parser
__Pyx_INCREF(((PyObject *)__pyx_v_info_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_info_parser)); __Pyx_GOTREF(__pyx_v_self->info_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->info_parser)); __pyx_v_self->info_parser = __pyx_v_info_parser;
0707:
+0708: def _init_format_calldata(self, fields, types, numbers, fills):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_19_init_format_calldata(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_5allel_3opt_11io_vcf_read_9VCFParser_18_init_format_calldata[] = "Setup FORMAT and calldata parsers."; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9VCFParser_19_init_format_calldata(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_fills = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_format_calldata (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_fills,0}; PyObject* values[4] = {0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_format_calldata", 1, 4, 4, 1); __PYX_ERR(0, 708, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_format_calldata", 1, 4, 4, 2); __PYX_ERR(0, 708, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_init_format_calldata", 1, 4, 4, 3); __PYX_ERR(0, 708, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_init_format_calldata") < 0)) __PYX_ERR(0, 708, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_fills = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_init_format_calldata", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 708, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_format_calldata", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_18_init_format_calldata(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *)__pyx_v_self), __pyx_v_fields, __pyx_v_types, __pyx_v_numbers, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_9VCFParser_18_init_format_calldata(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers, PyObject *__pyx_v_fills) { PyObject *__pyx_v_format_keys = NULL; PyObject *__pyx_v_format_types = NULL; PyObject *__pyx_v_format_numbers = NULL; PyObject *__pyx_v_format_fills = NULL; PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_group = NULL; PyObject *__pyx_v_name = NULL; PyObject *__pyx_v_key = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_format_parser = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_calldata_parser = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_init_format_calldata", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser._init_format_calldata", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_format_keys); __Pyx_XDECREF(__pyx_v_format_types); __Pyx_XDECREF(__pyx_v_format_numbers); __Pyx_XDECREF(__pyx_v_format_fills); __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_group); __Pyx_XDECREF(__pyx_v_name); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF((PyObject *)__pyx_v_format_parser); __Pyx_XDECREF((PyObject *)__pyx_v_calldata_parser); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0709: """Setup FORMAT and calldata parsers."""
+0710: format_keys = list()
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_format_keys = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0711: format_types = dict()
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_format_types = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0712: format_numbers = dict()
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_format_numbers = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0713: format_fills = dict()
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_format_fills = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0714: for field in list(fields):
__pyx_t_1 = PySequence_List(__pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 714, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0715: group, name = field.split('/')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 715, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_1)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 715, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 715, __pyx_L1_error) __pyx_L6_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_group, __pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24);
+0716: if group == 'calldata':
__pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_group, __pyx_n_s_calldata, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 716, __pyx_L1_error) if (__pyx_t_8) { /* … */ }
+0717: if isinstance(name, text_type):
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyObject_IsInstance(__pyx_v_name, __pyx_t_4); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = (__pyx_t_8 != 0); if (__pyx_t_9) { /* … */ goto __pyx_L8; }
+0718: key = name.encode('utf8')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25);
0719: else:
+0720: key = name
/*else*/ { __Pyx_INCREF(__pyx_v_name); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_v_name); } __pyx_L8:;
+0721: format_keys.append(key)
__pyx_t_10 = __Pyx_PyList_Append(__pyx_v_format_keys, __pyx_v_key); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 721, __pyx_L1_error)
+0722: fields.remove(field)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fields, __pyx_n_s_remove); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_1) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_field}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_field}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = NULL; __Pyx_INCREF(__pyx_v_field); __Pyx_GIVEREF(__pyx_v_field); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_field); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0723: format_types[key] = types[field]
__pyx_t_5 = PyObject_GetItem(__pyx_v_types, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_format_types, __pyx_v_key, __pyx_t_5) < 0)) __PYX_ERR(0, 723, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0724: format_numbers[key] = numbers[field]
__pyx_t_5 = PyObject_GetItem(__pyx_v_numbers, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_format_numbers, __pyx_v_key, __pyx_t_5) < 0)) __PYX_ERR(0, 724, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0725: if field in fills:
__pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_field, __pyx_v_fills, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 725, __pyx_L1_error) __pyx_t_8 = (__pyx_t_9 != 0); if (__pyx_t_8) { /* … */ }
+0726: format_fills[key] = fills[field]
__pyx_t_5 = PyObject_GetItem(__pyx_v_fills, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_format_fills, __pyx_v_key, __pyx_t_5) < 0)) __PYX_ERR(0, 726, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0727: if format_keys:
__pyx_t_8 = (__pyx_v_format_keys != Py_None) && (PyList_GET_SIZE(__pyx_v_format_keys) != 0);
if (__pyx_t_8) {
/* … */
goto __pyx_L10;
}
+0728: format_parser = VCFFormatParser(format_keys=format_keys)
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_format_keys, __pyx_v_format_keys) < 0) __PYX_ERR(0, 728, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFormatParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_format_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_5); __pyx_t_5 = 0;
+0729: calldata_parser = VCFCallDataParser(format_keys=format_keys,
__pyx_t_5 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_format_keys, __pyx_v_format_keys) < 0) __PYX_ERR(0, 729, __pyx_L1_error) /* … */ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataParser), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_calldata_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_2); __pyx_t_2 = 0;
+0730: types=format_types,
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_types, __pyx_v_format_types) < 0) __PYX_ERR(0, 729, __pyx_L1_error)
+0731: numbers=format_numbers,
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_numbers, __pyx_v_format_numbers) < 0) __PYX_ERR(0, 729, __pyx_L1_error)
+0732: chunk_length=self.chunk_length,
__pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_chunk_length, __pyx_t_2) < 0) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0733: loc_samples=self.loc_samples,
__pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_self->loc_samples, 1, (PyObject *(*)(char *)) __pyx_memview_get_nn___pyx_t_5numpy_uint8_t, (int (*)(char *, PyObject *)) __pyx_memview_set_nn___pyx_t_5numpy_uint8_t, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_loc_samples, __pyx_t_2) < 0) __PYX_ERR(0, 729, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0734: fills=format_fills)
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fills, __pyx_v_format_fills) < 0) __PYX_ERR(0, 729, __pyx_L1_error)
0735: else:
+0736: format_parser = VCFSkipFieldParser(key=b'FORMAT')
/*else*/ { __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_FORMAT) < 0) __PYX_ERR(0, 736, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_format_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_5); __pyx_t_5 = 0;
+0737: calldata_parser = VCFSkipAllCallDataParser()
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_calldata_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_t_5); __pyx_t_5 = 0; } __pyx_L10:;
+0738: format_parser.malloc_chunk()
__pyx_t_11 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_format_parser->__pyx_vtab)->malloc_chunk(__pyx_v_format_parser); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 738, __pyx_L1_error)
+0739: calldata_parser.malloc_chunk()
__pyx_t_11 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_calldata_parser->__pyx_vtab)->malloc_chunk(__pyx_v_calldata_parser); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 739, __pyx_L1_error)
+0740: self.format_parser = format_parser
__Pyx_INCREF(((PyObject *)__pyx_v_format_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_format_parser)); __Pyx_GOTREF(__pyx_v_self->format_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->format_parser)); __pyx_v_self->format_parser = __pyx_v_format_parser;
+0741: self.calldata_parser = calldata_parser
__Pyx_INCREF(((PyObject *)__pyx_v_calldata_parser)); __Pyx_GIVEREF(((PyObject *)__pyx_v_calldata_parser)); __Pyx_GOTREF(__pyx_v_self->calldata_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->calldata_parser)); __pyx_v_self->calldata_parser = __pyx_v_calldata_parser;
0742:
+0743: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_9VCFParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0744: """Parse to end of current chunk or EOF."""
0745:
0746: # with nogil:
0747:
+0748: while True:
while (1) {
0749:
+0750: if context.state == VCFState.EOF:
switch (__pyx_v_context->state) { case __pyx_e_5allel_3opt_11io_vcf_read_EOF: /* … */ break;
+0751: break
goto __pyx_L4_break;
0752:
+0753: elif context.state == VCFState.EOL:
case __pyx_e_5allel_3opt_11io_vcf_read_EOL: /* … */ break;
0754:
0755: # handle line terminators
+0756: if stream.c == LF:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+0757: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 757, __pyx_L1_error)
+0758: elif stream.c == CR:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+0759: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 759, __pyx_L1_error)
+0760: if stream.c == LF:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_1) { /* … */ }
+0761: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 761, __pyx_L1_error)
0762: else:
0763: # shouldn't ever happen
0764: # with gil:
+0765: warn('unexpected EOL character', context)
/*else*/ {
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_unexpected_EOL_character, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 765, __pyx_L1_error)
+0766: break
goto __pyx_L4_break; } __pyx_L5:;
0767:
0768: # advance state
+0769: context.state = VCFState.CHROM
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_CHROM;
0770:
0771: # end of chunk?
+0772: if context.chunk_variant_index + 1 == self.chunk_length:
__pyx_t_1 = (((__pyx_v_context->chunk_variant_index + 1) == __pyx_v_self->chunk_length) != 0); if (__pyx_t_1) { /* … */ }
0773: # we're done
+0774: break
goto __pyx_L4_break;
0775:
+0776: elif context.state == VCFState.CHROM:
case __pyx_e_5allel_3opt_11io_vcf_read_CHROM: /* … */ break;
+0777: self.chrom_pos_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->chrom_pos_parser->__pyx_vtab)->parse(__pyx_v_self->chrom_pos_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 777, __pyx_L1_error)
0778:
+0779: elif context.state == VCFState.ID:
case __pyx_e_5allel_3opt_11io_vcf_read_ID: /* … */ break;
+0780: self.id_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->id_parser->__pyx_vtab)->parse(__pyx_v_self->id_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 780, __pyx_L1_error)
0781:
+0782: elif context.state == VCFState.REF:
case __pyx_e_5allel_3opt_11io_vcf_read_REF: /* … */ break;
+0783: self.ref_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->ref_parser->__pyx_vtab)->parse(__pyx_v_self->ref_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 783, __pyx_L1_error)
0784:
+0785: elif context.state == VCFState.ALT:
case __pyx_e_5allel_3opt_11io_vcf_read_ALT: /* … */ break;
+0786: self.alt_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->alt_parser->__pyx_vtab)->parse(__pyx_v_self->alt_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 786, __pyx_L1_error)
0787:
+0788: elif context.state == VCFState.QUAL:
case __pyx_e_5allel_3opt_11io_vcf_read_QUAL: /* … */ break;
+0789: self.qual_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->qual_parser->__pyx_vtab)->parse(__pyx_v_self->qual_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 789, __pyx_L1_error)
0790:
+0791: elif context.state == VCFState.FILTER:
case __pyx_e_5allel_3opt_11io_vcf_read_FILTER: /* … */ break;
+0792: self.filter_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->filter_parser->__pyx_vtab)->parse(__pyx_v_self->filter_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 792, __pyx_L1_error)
0793:
+0794: elif context.state == VCFState.INFO:
case __pyx_e_5allel_3opt_11io_vcf_read_INFO: /* … */ break;
+0795: self.info_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->info_parser->__pyx_vtab)->parse(__pyx_v_self->info_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 795, __pyx_L1_error)
0796:
+0797: elif context.state == VCFState.FORMAT:
case __pyx_e_5allel_3opt_11io_vcf_read_FORMAT: /* … */ break;
+0798: self.format_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->format_parser->__pyx_vtab)->parse(__pyx_v_self->format_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 798, __pyx_L1_error)
0799:
+0800: elif context.state == VCFState.CALLDATA:
case __pyx_e_5allel_3opt_11io_vcf_read_CALLDATA: /* … */ break; default:
+0801: self.calldata_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->calldata_parser->__pyx_vtab)->parse(__pyx_v_self->calldata_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 801, __pyx_L1_error)
0802:
0803: else:
0804: # shouldn't ever happen
0805: # with gil:
+0806: warn('unexpected parser state', context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_unexpected_parser_state, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 806, __pyx_L1_error)
+0807: break
goto __pyx_L4_break; break; } } __pyx_L4_break:;
0808:
+0809: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_9VCFParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0810: self.chrom_pos_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->chrom_pos_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->chrom_pos_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 810, __pyx_L1_error)
+0811: self.id_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->id_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->id_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 811, __pyx_L1_error)
+0812: self.ref_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->ref_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->ref_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 812, __pyx_L1_error)
+0813: self.alt_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->alt_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->alt_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 813, __pyx_L1_error)
+0814: self.qual_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->qual_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->qual_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 814, __pyx_L1_error)
+0815: self.filter_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->filter_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->filter_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 815, __pyx_L1_error)
+0816: self.info_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->info_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->info_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 816, __pyx_L1_error)
+0817: self.format_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->format_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->format_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 817, __pyx_L1_error)
+0818: self.calldata_parser.malloc_chunk()
__pyx_t_1 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->calldata_parser->__pyx_vtab)->malloc_chunk(__pyx_v_self->calldata_parser); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 818, __pyx_L1_error)
0819:
+0820: cdef object make_chunk(self, chunk_length):
static PyObject *__pyx_f_5allel_3opt_11io_vcf_read_9VCFParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFParser *__pyx_v_self, PyObject *__pyx_v_chunk_length) { PyObject *__pyx_v_limit = NULL; PyObject *__pyx_v_chunk = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_limit); __Pyx_XDECREF(__pyx_v_chunk); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0821: if chunk_length > 0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_chunk_length, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 821, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+0822: if chunk_length < self.chunk_length:
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_v_chunk_length, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+0823: limit = chunk_length
__Pyx_INCREF(__pyx_v_chunk_length);
__pyx_v_limit = __pyx_v_chunk_length;
0824: else:
+0825: limit = None
/*else*/ {
__Pyx_INCREF(Py_None);
__pyx_v_limit = Py_None;
}
__pyx_L4:;
+0826: chunk = dict()
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_chunk = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+0827: self.chrom_pos_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->chrom_pos_parser->__pyx_vtab)->make_chunk(__pyx_v_self->chrom_pos_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 827, __pyx_L1_error)
+0828: self.id_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->id_parser->__pyx_vtab)->make_chunk(__pyx_v_self->id_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 828, __pyx_L1_error)
+0829: self.ref_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->ref_parser->__pyx_vtab)->make_chunk(__pyx_v_self->ref_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 829, __pyx_L1_error)
+0830: self.alt_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->alt_parser->__pyx_vtab)->make_chunk(__pyx_v_self->alt_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 830, __pyx_L1_error)
+0831: self.qual_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->qual_parser->__pyx_vtab)->make_chunk(__pyx_v_self->qual_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 831, __pyx_L1_error)
+0832: self.filter_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->filter_parser->__pyx_vtab)->make_chunk(__pyx_v_self->filter_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 832, __pyx_L1_error)
+0833: self.info_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->info_parser->__pyx_vtab)->make_chunk(__pyx_v_self->info_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 833, __pyx_L1_error)
+0834: self.calldata_parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self->calldata_parser->__pyx_vtab)->make_chunk(__pyx_v_self->calldata_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 834, __pyx_L1_error)
+0835: return chunk
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_chunk); __pyx_r = __pyx_v_chunk; goto __pyx_L0;
0836:
0837: else:
+0838: return None
/*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; }
0839:
0840:
+0841: cdef class VCFFieldParserBase:
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase { PyObject_HEAD struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_vtab; PyObject *key; PyArray_Descr *dtype; Py_ssize_t itemsize; Py_ssize_t number; PyObject *fill; Py_ssize_t chunk_length; PyArrayObject *values; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase { int (*parse)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); int (*malloc_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *); int (*make_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *, PyObject *, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_make_chunk *__pyx_optional_args); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFFieldParserBase;
0842: """Abstract base class for top-level field parsers."""
0843:
0844: cdef:
0845: bytes key
0846: np.dtype dtype
0847: Py_ssize_t itemsize
0848: Py_ssize_t number
0849: object fill
0850: Py_ssize_t chunk_length
0851: np.ndarray values
0852:
+0853: def __init__(self, key=None, dtype=None, number=1, fill=None, chunk_length=0):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_number = 0; PyObject *__pyx_v_fill = 0; PyObject *__pyx_v_chunk_length = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_dtype,&__pyx_n_s_number,&__pyx_n_s_fill,&__pyx_n_s_chunk_length,0}; PyObject* values[5] = {0,0,0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); values[2] = ((PyObject *)__pyx_int_1); values[3] = ((PyObject *)Py_None); values[4] = ((PyObject *)__pyx_int_0); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key); if (value) { values[0] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_number); if (value) { values[2] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fill); if (value) { values[3] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 853, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_key = values[0]; __pyx_v_dtype = values[1]; __pyx_v_number = values[2]; __pyx_v_fill = values[3]; __pyx_v_chunk_length = values[4]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 853, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFieldParserBase.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFFieldParserBase___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *)__pyx_v_self), __pyx_v_key, __pyx_v_dtype, __pyx_v_number, __pyx_v_fill, __pyx_v_chunk_length); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFFieldParserBase___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_dtype, PyObject *__pyx_v_number, PyObject *__pyx_v_fill, PyObject *__pyx_v_chunk_length) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_dtype); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFieldParserBase.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0854: self.key = key
if (!(likely(PyBytes_CheckExact(__pyx_v_key))||((__pyx_v_key) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_key)->tp_name), 0))) __PYX_ERR(0, 854, __pyx_L1_error) __pyx_t_1 = __pyx_v_key; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->key); __Pyx_DECREF(__pyx_v_self->key); __pyx_v_self->key = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0855: if dtype is not None:
__pyx_t_2 = (__pyx_v_dtype != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0856: dtype = np.dtype(dtype)
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype); __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_dtype, __pyx_t_4); __pyx_t_4 = 0;
+0857: self.itemsize = dtype.itemsize
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_self->itemsize = __pyx_t_5;
0858: else:
+0859: self.itemsize = 0
/*else*/ { __pyx_v_self->itemsize = 0; } __pyx_L3:;
+0860: self.dtype = dtype
if (!(likely(((__pyx_v_dtype) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_dtype, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(0, 860, __pyx_L1_error) __pyx_t_4 = __pyx_v_dtype; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->dtype); __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype)); __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0;
+0861: self.number = number
__pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_number); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 861, __pyx_L1_error) __pyx_v_self->number = __pyx_t_5;
+0862: self.fill = fill
__Pyx_INCREF(__pyx_v_fill); __Pyx_GIVEREF(__pyx_v_fill); __Pyx_GOTREF(__pyx_v_self->fill); __Pyx_DECREF(__pyx_v_self->fill); __pyx_v_self->fill = __pyx_v_fill;
+0863: self.chunk_length = chunk_length
__pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_chunk_length); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 863, __pyx_L1_error) __pyx_v_self->chunk_length = __pyx_t_5;
0864:
+0865: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0866: pass
0867:
+0868: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_malloc_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0869: pass
0870:
+0871: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFieldParserBase.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFFieldParserBase_make_chunk { int __pyx_n; PyObject *limit; };
+0872: field = u'variants/' + text_type(self.key, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_self->key); __Pyx_GIVEREF(__pyx_v_self->key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_kp_u_variants_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_field = __pyx_t_2; __pyx_t_2 = 0;
+0873: values = self.values
__pyx_t_2 = ((PyObject *)__pyx_v_self->values);
__Pyx_INCREF(__pyx_t_2);
__pyx_v_values = __pyx_t_2;
__pyx_t_2 = 0;
+0874: if self.values.ndim > 1 and self.number == 1:
__pyx_t_7 = ((__pyx_v_self->values->nd > 1) != 0); if (__pyx_t_7) { } else { __pyx_t_6 = __pyx_t_7; goto __pyx_L4_bool_binop_done; } __pyx_t_7 = ((__pyx_v_self->number == 1) != 0); __pyx_t_6 = __pyx_t_7; __pyx_L4_bool_binop_done:; if (__pyx_t_6) { /* … */ }
+0875: values = values.squeeze(axis=1)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 875, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_5); __pyx_t_5 = 0;
+0876: chunk[field] = values[:limit]
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_5) < 0)) __PYX_ERR(0, 876, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0877:
0878:
+0879: cdef class VCFSkipFieldParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipFieldParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFSkipFieldParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFSkipFieldParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFSkipFieldParser;
0880: """Parser to skip a tab-delimited field."""
0881:
+0882: def __init__(self, key):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 882, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_key = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 882, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFSkipFieldParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipFieldParser *)__pyx_v_self), __pyx_v_key); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipFieldParser *__pyx_v_self, PyObject *__pyx_v_key) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFSkipFieldParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+0883: super(VCFSkipFieldParser, self).__init__(key=key)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFSkipFieldParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_v_key) < 0) __PYX_ERR(0, 883, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
0884:
+0885: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipFieldParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFSkipFieldParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0886:
+0887: while True:
while (1) {
0888:
+0889: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+0890: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+0891: break
goto __pyx_L4_break;
0892:
+0893: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0894: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+0895: break
goto __pyx_L4_break;
0896:
+0897: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+0898: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 898, __pyx_L1_error)
+0899: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+0900: break
goto __pyx_L4_break;
0901:
0902: # advance input stream
+0903: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 903, __pyx_L1_error)
}
__pyx_L4_break:;
0904:
+0905: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_malloc_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipFieldParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0906: pass
0907:
+0908: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_make_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipFieldParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_make_chunk *__pyx_optional_args) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { } /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFSkipFieldParser_make_chunk { int __pyx_n; PyObject *limit; };
0909: pass
0910:
0911:
+0912: def check_string_dtype(dtype):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_3check_string_dtype(PyObject *__pyx_self, PyObject *__pyx_v_dtype); /*proto*/ static PyMethodDef __pyx_mdef_5allel_3opt_11io_vcf_read_3check_string_dtype = {"check_string_dtype", (PyCFunction)__pyx_pw_5allel_3opt_11io_vcf_read_3check_string_dtype, METH_O, 0}; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_3check_string_dtype(PyObject *__pyx_self, PyObject *__pyx_v_dtype) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("check_string_dtype (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_2check_string_dtype(__pyx_self, ((PyObject *)__pyx_v_dtype)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_2check_string_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("check_string_dtype", 0); __Pyx_INCREF(__pyx_v_dtype); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.check_string_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__151 = PyTuple_Pack(1, __pyx_n_s_dtype); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); /* … */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5allel_3opt_11io_vcf_read_3check_string_dtype, NULL, __pyx_n_s_allel_opt_io_vcf_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_string_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_allel_opt_io_vcf_read_pyx, __pyx_n_s_check_string_dtype, 912, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(0, 912, __pyx_L1_error)
+0913: dtype = np.dtype(dtype)
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_dtype, __pyx_t_2); __pyx_t_2 = 0;
+0914: if dtype.kind not in ['S', 'O']:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_kind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_S, Py_NE)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 914, __pyx_L1_error) if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_O, Py_NE)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 914, __pyx_L1_error) __pyx_t_3 = __pyx_t_4; __pyx_L4_bool_binop_done:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* … */ }
+0915: raise ValueError("expected string ('S') or object ('O') dtype, found: %r" % dtype)
__pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_expected_string_S_or_object_O_dt, __pyx_v_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 915, __pyx_L1_error)
+0916: return dtype
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_dtype); __pyx_r = __pyx_v_dtype; goto __pyx_L0;
0917:
0918:
+0919: cdef int vcf_read_field(InputStreamBase stream,
static int __pyx_f_5allel_3opt_11io_vcf_read_vcf_read_field(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_dest) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("vcf_read_field", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_read_field", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0920: VCFContext context,
0921: CharVector* dest) except -1: # nogil
0922:
0923: # setup temp vector to store value
+0924: CharVector_clear(dest)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear(__pyx_v_dest);
0925:
+0926: while True:
while (1) {
0927:
+0928: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+0929: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+0930: break
goto __pyx_L4_break;
0931:
+0932: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0933: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+0934: break
goto __pyx_L4_break;
0935:
+0936: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+0937: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 937, __pyx_L1_error)
0938: # leave it to caller to advance state
+0939: break
goto __pyx_L4_break;
0940:
0941: else:
+0942: CharVector_append(dest, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append(__pyx_v_dest, __pyx_v_stream->c); }
0943:
0944: # advance input stream
+0945: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 945, __pyx_L1_error)
}
__pyx_L4_break:;
0946:
0947:
+0948: cdef int vcf_parse_missing(InputStreamBase stream,
static int __pyx_f_5allel_3opt_11io_vcf_read_vcf_parse_missing(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("vcf_parse_missing", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_parse_missing", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0949: VCFContext context) except -1: # nogil
0950:
+0951: while True:
while (1) {
0952:
+0953: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+0954: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+0955: break
goto __pyx_L4_break;
0956:
+0957: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0958: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+0959: break
goto __pyx_L4_break;
0960:
+0961: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
0962: # advance input stream beyond tab
+0963: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 963, __pyx_L1_error)
+0964: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+0965: break
goto __pyx_L4_break;
0966:
0967: # advance input stream
+0968: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 968, __pyx_L1_error)
}
__pyx_L4_break:;
0969:
0970:
+0971: cdef int vcf_skip_variant(InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_vcf_skip_variant(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("vcf_skip_variant", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_skip_variant", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
0972: # skip to EOL or EOF
+0973: while True:
while (1) {
+0974: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+0975: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+0976: break
goto __pyx_L4_break;
+0977: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+0978: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+0979: break
goto __pyx_L4_break;
0980: # advance input stream
+0981: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 981, __pyx_L1_error)
}
__pyx_L4_break:;
0982:
0983:
+0984: cdef class VCFChromPosParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice chrom_memory; __Pyx_memviewslice pos_memory; int store_chrom; int store_pos; char *region_chrom; Py_ssize_t region_begin; Py_ssize_t region_end; PyArrayObject *chrom_values; PyArrayObject *pos_values; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFChromPosParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFChromPosParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFChromPosParser;
0985:
0986: cdef:
0987: np.uint8_t[:] chrom_memory
0988: np.int32_t[:] pos_memory
0989: bint store_chrom
0990: bint store_pos
0991: char* region_chrom
0992: Py_ssize_t region_begin
0993: Py_ssize_t region_end
0994: np.ndarray chrom_values
0995: np.ndarray pos_values
0996:
+0997: def __init__(self, dtype, store_chrom, store_pos, chunk_length, region_chrom,
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFChromPosParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFChromPosParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_store_chrom = 0; PyObject *__pyx_v_store_pos = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_region_chrom = 0; PyObject *__pyx_v_region_begin = 0; PyObject *__pyx_v_region_end = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dtype,&__pyx_n_s_store_chrom,&__pyx_n_s_store_pos,&__pyx_n_s_chunk_length,&__pyx_n_s_region_chrom,&__pyx_n_s_region_begin,&__pyx_n_s_region_end,0}; PyObject* values[7] = {0,0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_chrom)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 1); __PYX_ERR(0, 997, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_pos)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 2); __PYX_ERR(0, 997, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 3); __PYX_ERR(0, 997, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_region_chrom)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 4); __PYX_ERR(0, 997, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_region_begin)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 5); __PYX_ERR(0, 997, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_region_end)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 6); __PYX_ERR(0, 997, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 997, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 7) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); values[6] = PyTuple_GET_ITEM(__pyx_args, 6); } __pyx_v_dtype = values[0]; __pyx_v_store_chrom = values[1]; __pyx_v_store_pos = values[2]; __pyx_v_chunk_length = values[3]; __pyx_v_region_chrom = values[4]; __pyx_v_region_begin = values[5]; __pyx_v_region_end = values[6]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 997, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChromPosParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFChromPosParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *)__pyx_v_self), __pyx_v_dtype, __pyx_v_store_chrom, __pyx_v_store_pos, __pyx_v_chunk_length, __pyx_v_region_chrom, __pyx_v_region_begin, __pyx_v_region_end); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFChromPosParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *__pyx_v_self, PyObject *__pyx_v_dtype, PyObject *__pyx_v_store_chrom, PyObject *__pyx_v_store_pos, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_region_chrom, PyObject *__pyx_v_region_begin, PyObject *__pyx_v_region_end) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_dtype); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChromPosParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; }
0998: region_begin, region_end):
+0999: if store_chrom:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_chrom); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 999, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+1000: dtype = check_string_dtype(dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } if (!__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_dtype}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_dtype}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_dtype); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_dtype, __pyx_t_2); __pyx_t_2 = 0;
+1001: super(VCFChromPosParser, self).__init__(key=b'CHROM', dtype=dtype, number=1, chunk_length=chunk_length)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFChromPosParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFChromPosParser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFChromPosParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_key, __pyx_n_b_CHROM) < 0) __PYX_ERR(0, 1001, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_v_dtype) < 0) __PYX_ERR(0, 1001, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_number, __pyx_int_1) < 0) __PYX_ERR(0, 1001, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1001, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1002: self.store_chrom = store_chrom
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_chrom); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1002, __pyx_L1_error) __pyx_v_self->store_chrom = __pyx_t_1;
+1003: self.store_pos = store_pos
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_pos); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1003, __pyx_L1_error) __pyx_v_self->store_pos = __pyx_t_1;
+1004: if region_chrom:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_region_chrom); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1004, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L4; }
+1005: self.region_chrom = <char*> region_chrom
__pyx_t_6 = __Pyx_PyObject_AsWritableString(__pyx_v_region_chrom); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 1005, __pyx_L1_error) __pyx_v_self->region_chrom = ((char *)__pyx_t_6);
+1006: self.region_begin = region_begin
__pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_region_begin); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1006, __pyx_L1_error) __pyx_v_self->region_begin = __pyx_t_7;
+1007: self.region_end = region_end
__pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_region_end); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1007, __pyx_L1_error) __pyx_v_self->region_end = __pyx_t_7;
1008: else:
+1009: self.region_chrom = NULL
/*else*/ { __pyx_v_self->region_chrom = NULL;
+1010: self.region_begin = 0
__pyx_v_self->region_begin = 0;
+1011: self.region_end = 0
__pyx_v_self->region_end = 0; } __pyx_L4:;
1012:
+1013: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFChromPosParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; Py_ssize_t __pyx_v_cmp; Py_ssize_t __pyx_v_memory_offset; PyObject *__pyx_v_v = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChromPosParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1014: cdef:
1015: Py_ssize_t i, n, cmp
1016: # index into memory view
1017: Py_ssize_t memory_offset
1018:
1019: # reset context
+1020: CharVector_clear(&context.chrom)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->chrom));
+1021: context.pos = 0
__pyx_v_context->pos = 0;
+1022: context.ref_len = 0
__pyx_v_context->ref_len = 0;
1023:
1024: # check for EOF early - important to handle file with no final line terminator
+1025: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1026: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1027: return 0
__pyx_r = 0; goto __pyx_L0;
1028:
1029: # read chrom
+1030: vcf_read_field(stream, context, &context.chrom)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_read_field(__pyx_v_stream, __pyx_v_context, (&__pyx_v_context->chrom)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1030, __pyx_L1_error)
+1031: if context.chrom.size == 0:
__pyx_t_1 = ((__pyx_v_context->chrom.size == 0) != 0); if (__pyx_t_1) { /* … */ }
1032: # with gil:
+1033: warn('empty CHROM', context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_empty_CHROM, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1033, __pyx_L1_error)
+1034: CharVector_terminate(&context.chrom)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate((&__pyx_v_context->chrom));
1035:
1036: # read pos
+1037: if context.state == VCFState.CHROM:
__pyx_t_1 = ((__pyx_v_context->state == __pyx_e_5allel_3opt_11io_vcf_read_CHROM) != 0); if (__pyx_t_1) { /* … */ }
+1038: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
1039: # read pos
+1040: vcf_read_field(stream, context, &context.temp)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_read_field(__pyx_v_stream, __pyx_v_context, (&__pyx_v_context->temp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1040, __pyx_L1_error)
+1041: if context.temp.size == 0:
__pyx_t_1 = ((__pyx_v_context->temp.size == 0) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L6; }
1042: # with gil:
+1043: warn('empty POS', context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_empty_POS, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1043, __pyx_L1_error)
1044: else:
+1045: vcf_strtol(&context.temp, context, &context.pos)
/*else*/ {
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_context->pos)); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 1045, __pyx_L1_error)
}
__pyx_L6:;
1046:
+1047: if context.state == VCFState.POS:
__pyx_t_1 = ((__pyx_v_context->state == __pyx_e_5allel_3opt_11io_vcf_read_POS) != 0); if (__pyx_t_1) { /* … */ }
+1048: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
1049:
1050: # handle region
+1051: if self.region_chrom is not NULL:
__pyx_t_1 = ((__pyx_v_self->region_chrom != NULL) != 0); if (__pyx_t_1) { /* … */ }
1052:
1053: # compare with region chrom
+1054: cmp = strcmp(context.chrom.data, self.region_chrom)
__pyx_v_cmp = strcmp(__pyx_v_context->chrom.data, __pyx_v_self->region_chrom);
1055:
+1056: if cmp < 0:
__pyx_t_1 = ((__pyx_v_cmp < 0) != 0); if (__pyx_t_1) { /* … */ }
+1057: vcf_skip_variant(stream, context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_skip_variant(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1057, __pyx_L1_error)
+1058: return 0
__pyx_r = 0; goto __pyx_L0;
1059:
+1060: if cmp > 0:
__pyx_t_1 = ((__pyx_v_cmp > 0) != 0); if (__pyx_t_1) { /* … */ }
1061: # we're done
+1062: context.state = EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1063: return 0
__pyx_r = 0; goto __pyx_L0;
1064:
+1065: if self.region_begin > 0 and context.pos < self.region_begin:
__pyx_t_4 = ((__pyx_v_self->region_begin > 0) != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L12_bool_binop_done; } __pyx_t_4 = ((__pyx_v_context->pos < __pyx_v_self->region_begin) != 0); __pyx_t_1 = __pyx_t_4; __pyx_L12_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1066: vcf_skip_variant(stream, context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_skip_variant(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1066, __pyx_L1_error)
+1067: return 0
__pyx_r = 0; goto __pyx_L0;
1068:
+1069: if 0 < self.region_end < context.pos:
__pyx_t_1 = (0 < __pyx_v_self->region_end); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_self->region_end < __pyx_v_context->pos); } __pyx_t_4 = (__pyx_t_1 != 0); if (__pyx_t_4) { /* … */ }
1070: # we're done
+1071: context.state = EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1072: return 0
__pyx_r = 0; goto __pyx_L0;
1073:
1074: # setup context
+1075: context.sample_index = 0
__pyx_v_context->sample_index = 0;
+1076: context.sample_field_index = 0
__pyx_v_context->sample_field_index = 0;
+1077: context.sample_output_index = -1
__pyx_v_context->sample_output_index = -1L;
+1078: context.variant_index += 1
__pyx_v_context->variant_index = (__pyx_v_context->variant_index + 1);
+1079: context.chunk_variant_index += 1
__pyx_v_context->chunk_variant_index = (__pyx_v_context->chunk_variant_index + 1);
1080:
1081: # store in chunk
+1082: if self.store_chrom:
__pyx_t_4 = (__pyx_v_self->store_chrom != 0); if (__pyx_t_4) { /* … */ }
1083:
+1084: if self.dtype.kind == 'S':
__pyx_t_4 = ((__pyx_v_self->__pyx_base.dtype->kind == 'S') != 0); if (__pyx_t_4) { /* … */ goto __pyx_L16; }
1085:
1086: # initialise memory index
+1087: memory_offset = context.chunk_variant_index * self.itemsize
__pyx_v_memory_offset = (__pyx_v_context->chunk_variant_index * __pyx_v_self->__pyx_base.itemsize);
1088:
1089: # figure out how many characters to store
+1090: n = min(context.chrom.size - 1, self.itemsize)
__pyx_t_3 = __pyx_v_self->__pyx_base.itemsize; __pyx_t_5 = (__pyx_v_context->chrom.size - 1); if (((__pyx_t_3 < __pyx_t_5) != 0)) { __pyx_t_6 = __pyx_t_3; } else { __pyx_t_6 = __pyx_t_5; } __pyx_v_n = __pyx_t_6;
1091:
1092: # store characters
+1093: for i in range(n):
__pyx_t_6 = __pyx_v_n; for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_6; __pyx_t_3+=1) { __pyx_v_i = __pyx_t_3;
+1094: self.chrom_memory[memory_offset + i] = context.chrom.data[i]
__pyx_t_7 = (__pyx_v_memory_offset + __pyx_v_i); *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->chrom_memory.data + __pyx_t_7 * __pyx_v_self->chrom_memory.strides[0]) )) = (__pyx_v_context->chrom.data[__pyx_v_i]); }
1095:
1096: else:
1097: # with gil:
1098: # N.B., don't include terminating null byte
+1099: v = CharVector_to_pystr_sized(&context.chrom, context.chrom.size - 1)
/*else*/ { __pyx_t_8 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr_sized((&__pyx_v_context->chrom), (__pyx_v_context->chrom.size - 1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_v = __pyx_t_8; __pyx_t_8 = 0;
+1100: self.chrom_values[context.chunk_variant_index] = v
if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_self->chrom_values), __pyx_v_context->chunk_variant_index, __pyx_v_v, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 1100, __pyx_L1_error) } __pyx_L16:;
1101:
+1102: if self.store_pos:
__pyx_t_4 = (__pyx_v_self->store_pos != 0); if (__pyx_t_4) { /* … */ }
+1103: self.pos_memory[context.chunk_variant_index] = context.pos
__pyx_t_9 = __pyx_v_context->pos; __pyx_t_10 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=0 */ (__pyx_v_self->pos_memory.data + __pyx_t_10 * __pyx_v_self->pos_memory.strides[0]) )) = __pyx_t_9;
1104:
+1105: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFChromPosParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChromPosParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1106: if self.store_chrom:
__pyx_t_1 = (__pyx_v_self->store_chrom != 0); if (__pyx_t_1) { /* … */ }
+1107: self.chrom_values = np.zeros(self.chunk_length, dtype=self.dtype)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1107, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->chrom_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->chrom_values)); __pyx_v_self->chrom_values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1108: if self.dtype.kind == 'S':
__pyx_t_1 = ((__pyx_v_self->__pyx_base.dtype->kind == 'S') != 0); if (__pyx_t_1) { /* … */ goto __pyx_L4; }
+1109: self.chrom_memory = self.chrom_values.view('u1')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->chrom_values), __pyx_n_s_view); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_2); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->chrom_memory, 0); __pyx_v_self->chrom_memory = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL; /* … */ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26);
1110: else:
+1111: self.chrom_values.fill(u'')
/*else*/ { __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->chrom_values), __pyx_n_s_fill); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L4:; /* … */ __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 1111, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27);
+1112: if self.store_pos:
__pyx_t_1 = (__pyx_v_self->store_pos != 0); if (__pyx_t_1) { /* … */ }
+1113: self.pos_values = np.zeros(self.chunk_length, dtype='int32')
__pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_n_s_int32) < 0) __PYX_ERR(0, 1113, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_self->pos_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->pos_values)); __pyx_v_self->pos_values = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0;
+1114: self.pos_memory = self.pos_values
__pyx_t_7 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->pos_values));
if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 1114, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->pos_memory, 0);
__pyx_v_self->pos_memory = __pyx_t_7;
__pyx_t_7.memview = NULL;
__pyx_t_7.data = NULL;
1115:
+1116: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFChromPosParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFChromPosParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFChromPosParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFChromPosParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFChromPosParser_make_chunk { int __pyx_n; PyObject *limit; };
+1117: if self.store_chrom:
__pyx_t_1 = (__pyx_v_self->store_chrom != 0); if (__pyx_t_1) { /* … */ }
+1118: chunk[CHROM_FIELD] = self.chrom_values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->chrom_values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_CHROM_FIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_t_3, __pyx_t_2) < 0)) __PYX_ERR(0, 1118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1119: if self.store_pos:
__pyx_t_1 = (__pyx_v_self->store_pos != 0); if (__pyx_t_1) { /* … */ }
+1120: chunk[POS_FIELD] = self.pos_values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->pos_values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_POS_FIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_t_3, __pyx_t_2) < 0)) __PYX_ERR(0, 1120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1121:
1122:
+1123: cdef class VCFIDStringParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDStringParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFIDStringParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFIDStringParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFIDStringParser;
1124:
1125: cdef np.uint8_t[:] memory
1126:
+1127: def __init__(self, dtype, chunk_length):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFIDStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFIDStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_chunk_length = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dtype,&__pyx_n_s_chunk_length,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1127, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1127, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_dtype = values[0]; __pyx_v_chunk_length = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1127, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFIDStringParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDStringParser *)__pyx_v_self), __pyx_v_dtype, __pyx_v_chunk_length); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFIDStringParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDStringParser *__pyx_v_self, PyObject *__pyx_v_dtype, PyObject *__pyx_v_chunk_length) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1128: super(VCFIDStringParser, self).__init__(key=b'ID', dtype=dtype, number=1, chunk_length=chunk_length)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDStringParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDStringParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDStringParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_ID) < 0) __PYX_ERR(0, 1128, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_v_dtype) < 0) __PYX_ERR(0, 1128, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_int_1) < 0) __PYX_ERR(0, 1128, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1128, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1129:
+1130: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFIDStringParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDStringParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_memory_index; Py_ssize_t __pyx_v_chars_stored; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDStringParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1131: cdef:
1132: # index into memory view
+1133: Py_ssize_t memory_index = context.chunk_variant_index * self.itemsize
__pyx_v_memory_index = (__pyx_v_context->chunk_variant_index * __pyx_v_self->__pyx_base.itemsize);
1134: # number of characters read into current value
+1135: Py_ssize_t chars_stored = 0
__pyx_v_chars_stored = 0;
1136:
+1137: while True:
while (1) {
1138:
+1139: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1140: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1141: break
goto __pyx_L4_break;
1142:
+1143: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1144: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+1145: break
goto __pyx_L4_break;
1146:
+1147: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
1148: # advance input stream beyond tab
+1149: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1149, __pyx_L1_error)
1150: # advance to next field
+1151: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1152: break
goto __pyx_L4_break;
1153:
+1154: elif chars_stored < self.itemsize:
__pyx_t_1 = ((__pyx_v_chars_stored < __pyx_v_self->__pyx_base.itemsize) != 0); if (__pyx_t_1) { /* … */ }
1155: # store value
+1156: self.memory[memory_index] = stream.c
__pyx_t_4 = __pyx_v_stream->c; __pyx_t_5 = __pyx_v_memory_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_5 * __pyx_v_self->memory.strides[0]) )) = __pyx_t_4;
1157: # advance memory index
+1158: memory_index += 1
__pyx_v_memory_index = (__pyx_v_memory_index + 1);
1159: # advance number of characters stored
+1160: chars_stored += 1
__pyx_v_chars_stored = (__pyx_v_chars_stored + 1);
1161:
1162: # advance input stream
+1163: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1163, __pyx_L1_error)
}
__pyx_L4_break:;
1164:
+1165: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFIDStringParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDStringParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDStringParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1166: self.values = np.zeros(self.chunk_length, dtype=self.dtype)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1166, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1167: self.memory = self.values.view('u1')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_view); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_1); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1167, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0); __pyx_v_self->memory = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL; /* … */ __pyx_tuple__28 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 1167, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28);
1168:
1169:
+1170: cdef class VCFIDObjectParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDObjectParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFIDObjectParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFIDObjectParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFIDObjectParser;
1171:
+1172: def __init__(self, chunk_length):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFIDObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFIDObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_chunk_length = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_chunk_length,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1172, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_chunk_length = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1172, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFIDObjectParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDObjectParser *)__pyx_v_self), __pyx_v_chunk_length); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFIDObjectParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDObjectParser *__pyx_v_self, PyObject *__pyx_v_chunk_length) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1173: super(VCFIDObjectParser, self).__init__(key=b'ID', dtype=np.dtype('object'), number=1,
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDObjectParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDObjectParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFIDObjectParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_ID) < 0) __PYX_ERR(0, 1173, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_int_1) < 0) __PYX_ERR(0, 1173, __pyx_L1_error) /* … */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__29 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29);
+1174: chunk_length=chunk_length)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1173, __pyx_L1_error)
1175:
+1176: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFIDObjectParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDObjectParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { PyObject *__pyx_v_v = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDObjectParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1177:
+1178: vcf_read_field(stream, context, &context.temp)
__pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_read_field(__pyx_v_stream, __pyx_v_context, (&__pyx_v_context->temp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1178, __pyx_L1_error)
1179:
1180: # with gil:
+1181: v = CharVector_to_pystr(&context.temp)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_v = __pyx_t_2; __pyx_t_2 = 0;
+1182: self.values[context.chunk_variant_index] = v
if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_v_context->chunk_variant_index, __pyx_v_v, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 1182, __pyx_L1_error)
1183:
+1184: if context.state == VCFState.ID:
__pyx_t_3 = ((__pyx_v_context->state == __pyx_e_5allel_3opt_11io_vcf_read_ID) != 0); if (__pyx_t_3) { /* … */ }
+1185: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
1186:
+1187: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFIDObjectParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFIDObjectParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFIDObjectParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1188: self.values = np.empty(self.chunk_length, dtype=self.dtype)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1188, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1189: self.values.fill(u'')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 1189, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30);
1190:
1191:
+1192: cdef class VCFRefStringParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefStringParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice memory; int store; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFRefStringParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFRefStringParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFRefStringParser;
1193:
1194: cdef:
1195: np.uint8_t[:] memory
1196: bint store
1197:
+1198: def __init__(self, dtype, chunk_length, store):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFRefStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFRefStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_store = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dtype,&__pyx_n_s_chunk_length,&__pyx_n_s_store,0}; PyObject* values[3] = {0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 1198, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 1198, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1198, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_dtype = values[0]; __pyx_v_chunk_length = values[1]; __pyx_v_store = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1198, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFRefStringParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefStringParser *)__pyx_v_self), __pyx_v_dtype, __pyx_v_chunk_length, __pyx_v_store); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFRefStringParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefStringParser *__pyx_v_self, PyObject *__pyx_v_dtype, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_store) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_dtype); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1199: if store:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1199, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+1200: dtype = check_string_dtype(dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } if (!__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_dtype}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_dtype}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_dtype); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_dtype, __pyx_t_2); __pyx_t_2 = 0;
+1201: super(VCFRefStringParser, self).__init__(key=b'REF', dtype=dtype, number=1, chunk_length=chunk_length)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefStringParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefStringParser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefStringParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_key, __pyx_n_b_REF) < 0) __PYX_ERR(0, 1201, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_v_dtype) < 0) __PYX_ERR(0, 1201, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_number, __pyx_int_1) < 0) __PYX_ERR(0, 1201, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1201, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1202: self.store = store
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1202, __pyx_L1_error) __pyx_v_self->store = __pyx_t_1;
1203:
+1204: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFRefStringParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefStringParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_memory_index; Py_ssize_t __pyx_v_chars_stored; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefStringParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1205: cdef:
1206: # index into memory view
+1207: Py_ssize_t memory_index = context.chunk_variant_index * self.itemsize
__pyx_v_memory_index = (__pyx_v_context->chunk_variant_index * __pyx_v_self->__pyx_base.itemsize);
1208: # number of characters read into current value
+1209: Py_ssize_t chars_stored = 0
__pyx_v_chars_stored = 0;
1210:
+1211: while True:
while (1) {
1212:
+1213: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1214: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1215: break
goto __pyx_L4_break;
1216:
+1217: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1218: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+1219: break
goto __pyx_L4_break;
1220:
+1221: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
1222: # advance input stream beyond tab
+1223: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1223, __pyx_L1_error)
1224: # advance to next field
+1225: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1226: break
goto __pyx_L4_break;
1227:
1228: else:
+1229: if stream.c != PERIOD:
/*else*/ { __pyx_t_1 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_1) { /* … */ }
+1230: context.ref_len += 1
__pyx_v_context->ref_len = (__pyx_v_context->ref_len + 1);
+1231: if self.store and chars_stored < self.itemsize:
__pyx_t_2 = (__pyx_v_self->store != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L10_bool_binop_done; } __pyx_t_2 = ((__pyx_v_chars_stored < __pyx_v_self->__pyx_base.itemsize) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L10_bool_binop_done:; if (__pyx_t_1) { /* … */ } }
1232: # store value
+1233: self.memory[memory_index] = stream.c
__pyx_t_4 = __pyx_v_stream->c; __pyx_t_5 = __pyx_v_memory_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_5 * __pyx_v_self->memory.strides[0]) )) = __pyx_t_4;
1234: # advance number of characters stored
+1235: chars_stored += 1
__pyx_v_chars_stored = (__pyx_v_chars_stored + 1);
1236: # advance memory index
+1237: memory_index += 1
__pyx_v_memory_index = (__pyx_v_memory_index + 1);
1238:
1239: # advance input stream
+1240: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1240, __pyx_L1_error)
}
__pyx_L4_break:;
1241:
+1242: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFRefStringParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefStringParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefStringParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1243: if self.store:
__pyx_t_1 = (__pyx_v_self->store != 0); if (__pyx_t_1) { /* … */ }
+1244: self.values = np.zeros(self.chunk_length, dtype=self.dtype)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1244, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1244, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1245: self.memory = self.values.view('u1')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_view); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_2); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1245, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0); __pyx_v_self->memory = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL; /* … */ __pyx_tuple__31 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 1245, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31);
1246:
+1247: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFRefStringParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefStringParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFRefStringParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefStringParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFRefStringParser_make_chunk { int __pyx_n; PyObject *limit; };
+1248: if self.store:
__pyx_t_1 = (__pyx_v_self->store != 0); if (__pyx_t_1) { /* … */ }
+1249: chunk[REF_FIELD] = self.values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->__pyx_base.values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_REF_FIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_t_3, __pyx_t_2) < 0)) __PYX_ERR(0, 1249, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1250:
1251:
+1252: cdef class VCFRefObjectParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefObjectParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; int store; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFRefObjectParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFRefObjectParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFRefObjectParser;
1253:
1254: cdef:
1255: bint store
1256:
+1257: def __init__(self, chunk_length, store):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_store = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_chunk_length,&__pyx_n_s_store,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1257, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1257, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_chunk_length = values[0]; __pyx_v_store = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1257, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFRefObjectParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefObjectParser *)__pyx_v_self), __pyx_v_chunk_length, __pyx_v_store); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFRefObjectParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefObjectParser *__pyx_v_self, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_store) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1258: super(VCFRefObjectParser, self).__init__(key=b'REF', dtype=np.dtype('object'), number=1, chunk_length=chunk_length)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefObjectParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefObjectParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFRefObjectParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_REF) < 0) __PYX_ERR(0, 1258, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_int_1) < 0) __PYX_ERR(0, 1258, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1258, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__32 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32);
+1259: self.store = store
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_store); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1259, __pyx_L1_error) __pyx_v_self->store = __pyx_t_4;
1260:
+1261: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefObjectParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { PyObject *__pyx_v_v = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefObjectParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1262:
+1263: vcf_read_field(stream, context, &context.temp)
__pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_read_field(__pyx_v_stream, __pyx_v_context, (&__pyx_v_context->temp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1263, __pyx_L1_error)
1264:
1265: # with gil:
+1266: v = CharVector_to_pystr(&context.temp)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_v = __pyx_t_2; __pyx_t_2 = 0;
+1267: if v != '.':
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_v, __pyx_kp_s__33, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1267, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+1268: context.ref_len = len(v)
__pyx_t_4 = PyObject_Length(__pyx_v_v); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1268, __pyx_L1_error) __pyx_v_context->ref_len = __pyx_t_4;
+1269: if self.store:
__pyx_t_3 = (__pyx_v_self->store != 0); if (__pyx_t_3) { /* … */ }
+1270: self.values[context.chunk_variant_index] = v
if (unlikely(__Pyx_SetItemInt(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_v_context->chunk_variant_index, __pyx_v_v, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0) < 0)) __PYX_ERR(0, 1270, __pyx_L1_error)
1271:
+1272: if context.state == VCFState.REF:
__pyx_t_3 = ((__pyx_v_context->state == __pyx_e_5allel_3opt_11io_vcf_read_REF) != 0); if (__pyx_t_3) { /* … */ }
+1273: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
1274:
+1275: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefObjectParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefObjectParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1276: if self.store:
__pyx_t_1 = (__pyx_v_self->store != 0); if (__pyx_t_1) { /* … */ }
+1277: self.values = np.empty(self.chunk_length, dtype=self.dtype)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1277, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1278: self.values.fill(u'')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_fill); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34);
1279:
+1280: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFRefObjectParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFRefObjectParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFRefObjectParser_make_chunk { int __pyx_n; PyObject *limit; };
+1281: if self.store:
__pyx_t_1 = (__pyx_v_self->store != 0); if (__pyx_t_1) { /* … */ }
+1282: chunk[REF_FIELD] = self.values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->__pyx_base.values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_REF_FIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_t_3, __pyx_t_2) < 0)) __PYX_ERR(0, 1282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1283:
1284:
+1285: cdef class VCFAltStringParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltStringParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice memory; __Pyx_memviewslice numalt_memory; __Pyx_memviewslice svlen_memory; __Pyx_memviewslice is_snp_memory; PyArrayObject *numalt_values; PyArrayObject *svlen_values; PyArrayObject *is_snp_values; int store_alt; int store_numalt; int store_svlen; int store_is_snp; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFAltStringParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFAltStringParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFAltStringParser;
1286:
1287: cdef:
1288: np.uint8_t[:] memory
1289: np.int32_t[:] numalt_memory
1290: np.int32_t[:, :] svlen_memory
1291: np.uint8_t[:] is_snp_memory
1292: np.ndarray numalt_values
1293: np.ndarray svlen_values
1294: np.ndarray is_snp_values
1295: bint store_alt
1296: bint store_numalt
1297: bint store_svlen
1298: bint store_is_snp
1299:
+1300: def __init__(self, dtype, number, chunk_length, store_alt, store_numalt, store_svlen,
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFAltStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFAltStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_number = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_store_alt = 0; PyObject *__pyx_v_store_numalt = 0; PyObject *__pyx_v_store_svlen = 0; PyObject *__pyx_v_store_is_snp = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dtype,&__pyx_n_s_number,&__pyx_n_s_chunk_length,&__pyx_n_s_store_alt,&__pyx_n_s_store_numalt,&__pyx_n_s_store_svlen,&__pyx_n_s_store_is_snp,0}; PyObject* values[7] = {0,0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_number)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 1); __PYX_ERR(0, 1300, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 2); __PYX_ERR(0, 1300, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_alt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 3); __PYX_ERR(0, 1300, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_numalt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 4); __PYX_ERR(0, 1300, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_svlen)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 5); __PYX_ERR(0, 1300, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_is_snp)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 6); __PYX_ERR(0, 1300, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1300, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 7) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); values[6] = PyTuple_GET_ITEM(__pyx_args, 6); } __pyx_v_dtype = values[0]; __pyx_v_number = values[1]; __pyx_v_chunk_length = values[2]; __pyx_v_store_alt = values[3]; __pyx_v_store_numalt = values[4]; __pyx_v_store_svlen = values[5]; __pyx_v_store_is_snp = values[6]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1300, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFAltStringParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltStringParser *)__pyx_v_self), __pyx_v_dtype, __pyx_v_number, __pyx_v_chunk_length, __pyx_v_store_alt, __pyx_v_store_numalt, __pyx_v_store_svlen, __pyx_v_store_is_snp); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFAltStringParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltStringParser *__pyx_v_self, PyObject *__pyx_v_dtype, PyObject *__pyx_v_number, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_store_alt, PyObject *__pyx_v_store_numalt, PyObject *__pyx_v_store_svlen, PyObject *__pyx_v_store_is_snp) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_dtype); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1301: store_is_snp):
+1302: if store_alt:
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_alt); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1302, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+1303: dtype = check_string_dtype(dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } if (!__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_dtype}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1303, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_dtype}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1303, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_dtype); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_dtype, __pyx_t_2); __pyx_t_2 = 0;
+1304: super(VCFAltStringParser, self).__init__(key=b'ALT', dtype=dtype, number=number,
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltStringParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltStringParser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltStringParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_key, __pyx_n_b_ALT) < 0) __PYX_ERR(0, 1304, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_v_dtype) < 0) __PYX_ERR(0, 1304, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_number, __pyx_v_number) < 0) __PYX_ERR(0, 1304, __pyx_L1_error) /* … */ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1305: chunk_length=chunk_length)
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1304, __pyx_L1_error)
+1306: self.store_alt = store_alt
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_alt); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1306, __pyx_L1_error) __pyx_v_self->store_alt = __pyx_t_1;
+1307: self.store_numalt = store_numalt
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_numalt); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1307, __pyx_L1_error) __pyx_v_self->store_numalt = __pyx_t_1;
+1308: self.store_svlen = store_svlen
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_svlen); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L1_error) __pyx_v_self->store_svlen = __pyx_t_1;
+1309: self.store_is_snp = store_is_snp
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_store_is_snp); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1309, __pyx_L1_error) __pyx_v_self->store_is_snp = __pyx_t_1;
1310:
+1311: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFAltStringParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltStringParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_alt_index; Py_ssize_t __pyx_v_memory_offset; Py_ssize_t __pyx_v_memory_index; Py_ssize_t __pyx_v_chars_stored; Py_ssize_t __pyx_v_alt_len; int __pyx_v_is_snp; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltStringParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1312: cdef:
1313: # index of alt values
+1314: Py_ssize_t alt_index = 0
__pyx_v_alt_index = 0;
1315: # index into memory view
1316: Py_ssize_t memory_offset, memory_index
1317: # number of characters read into current value
+1318: Py_ssize_t chars_stored = 0
__pyx_v_chars_stored = 0;
1319: # size of alt allel
+1320: Py_ssize_t alt_len = 0
__pyx_v_alt_len = 0;
1321: # is the variant a SNP?
+1322: bint is_snp = context.ref_len == 1
__pyx_v_is_snp = (__pyx_v_context->ref_len == 1);
1323:
1324: # bail out early for missing value
+1325: if stream.c == PERIOD:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_1) { /* … */ }
1326: # treat period as missing value, regardless of what comes next
+1327: vcf_parse_missing(stream, context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_parse_missing(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1327, __pyx_L1_error)
+1328: return 0
__pyx_r = 0; goto __pyx_L0;
1329:
1330: # bail out early for empty value
+1331: if stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+1332: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1332, __pyx_L1_error)
+1333: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1334: return 0
__pyx_r = 0; goto __pyx_L0;
1335:
1336: # initialise memory offset and index
+1337: memory_offset = context.chunk_variant_index * self.itemsize * self.number
__pyx_v_memory_offset = ((__pyx_v_context->chunk_variant_index * __pyx_v_self->__pyx_base.itemsize) * __pyx_v_self->__pyx_base.number);
+1338: memory_index = memory_offset
__pyx_v_memory_index = __pyx_v_memory_offset;
1339:
+1340: while True:
while (1) {
1341:
+1342: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1343: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L8_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1344: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L11_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L11_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1345: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_4 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1346: alt_len - context.ref_len
+1347: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1348: break
goto __pyx_L6_break;
1349:
+1350: elif stream.c == LF or stream.c == CR:
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L13_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L13_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1351: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L15_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L15_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1352: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L18_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L18_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1353: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_6 = __pyx_v_context->chunk_variant_index; __pyx_t_7 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_6 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_7 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1354: alt_len - context.ref_len
+1355: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+1356: break
goto __pyx_L6_break;
1357:
+1358: if stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+1359: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L21_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L21_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1360: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L24_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L24_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1361: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_8 = __pyx_v_context->chunk_variant_index; __pyx_t_9 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_8 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_9 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1362: alt_len - context.ref_len
+1363: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1363, __pyx_L1_error)
+1364: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1365: break
goto __pyx_L6_break;
1366:
+1367: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L20; }
+1368: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L26_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L26_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1369: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L29_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L29_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1370: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_10 = __pyx_v_context->chunk_variant_index; __pyx_t_11 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_10 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_11 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1371: alt_len - context.ref_len
1372: # advance value index
+1373: alt_index += 1
__pyx_v_alt_index = (__pyx_v_alt_index + 1);
1374: # reset alt_len
+1375: alt_len = 0
__pyx_v_alt_len = 0;
1376: # set memory index to beginning of next item
+1377: memory_index = memory_offset + (alt_index * self.itemsize)
__pyx_v_memory_index = (__pyx_v_memory_offset + (__pyx_v_alt_index * __pyx_v_self->__pyx_base.itemsize));
1378: # reset chars stored
+1379: chars_stored = 0
__pyx_v_chars_stored = 0;
1380:
1381: else:
+1382: if stream.c != PERIOD and stream.c != ASTERISK:
/*else*/ { __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L32_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_ASTERISK) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L32_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1383: alt_len += 1
__pyx_v_alt_len = (__pyx_v_alt_len + 1);
+1384: if self.store_alt and chars_stored < self.itemsize and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_alt != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L35_bool_binop_done; } __pyx_t_3 = ((__pyx_v_chars_stored < __pyx_v_self->__pyx_base.itemsize) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L35_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L35_bool_binop_done:; if (__pyx_t_1) { /* … */ } } __pyx_L20:;
1385: # store value
+1386: self.memory[memory_index] = stream.c
__pyx_t_12 = __pyx_v_stream->c; __pyx_t_13 = __pyx_v_memory_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_13 * __pyx_v_self->memory.strides[0]) )) = __pyx_t_12;
1387: # advance number of characters stored
+1388: chars_stored += 1
__pyx_v_chars_stored = (__pyx_v_chars_stored + 1);
1389: # advance memory index
+1390: memory_index += 1
__pyx_v_memory_index = (__pyx_v_memory_index + 1);
1391:
1392: # advance input stream
+1393: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1393, __pyx_L1_error)
}
__pyx_L6_break:;
1394:
+1395: if self.store_numalt:
__pyx_t_1 = (__pyx_v_self->store_numalt != 0); if (__pyx_t_1) { /* … */ }
+1396: self.numalt_memory[context.chunk_variant_index] = alt_index + 1
__pyx_t_14 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=0 */ (__pyx_v_self->numalt_memory.data + __pyx_t_14 * __pyx_v_self->numalt_memory.strides[0]) )) = (__pyx_v_alt_index + 1);
+1397: if self.store_is_snp:
__pyx_t_1 = (__pyx_v_self->store_is_snp != 0); if (__pyx_t_1) { /* … */ }
+1398: self.is_snp_memory[context.chunk_variant_index] = is_snp
__pyx_t_15 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->is_snp_memory.data + __pyx_t_15 * __pyx_v_self->is_snp_memory.strides[0]) )) = __pyx_v_is_snp;
1399:
+1400: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFAltStringParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltStringParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltStringParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1401: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+1402: if self.store_alt:
__pyx_t_4 = (__pyx_v_self->store_alt != 0); if (__pyx_t_4) { /* … */ }
+1403: self.values = np.zeros(shape, dtype=self.dtype, order='C')
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1403, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_order, __pyx_n_s_C) < 0) __PYX_ERR(0, 1403, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1403, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1404: self.memory = self.values.reshape(-1).view('u1')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_reshape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_view); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__35 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_1); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0); __pyx_v_self->memory = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL; __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36);
+1405: if self.store_numalt:
__pyx_t_4 = (__pyx_v_self->store_numalt != 0); if (__pyx_t_4) { /* … */ }
+1406: self.numalt_values = np.zeros(self.chunk_length, dtype='int32')
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_n_s_int32) < 0) __PYX_ERR(0, 1406, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1406, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->numalt_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->numalt_values)); __pyx_v_self->numalt_values = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+1407: self.numalt_memory = self.numalt_values
__pyx_t_7 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->numalt_values));
if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 1407, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->numalt_memory, 0);
__pyx_v_self->numalt_memory = __pyx_t_7;
__pyx_t_7.memview = NULL;
__pyx_t_7.data = NULL;
+1408: if self.store_svlen:
__pyx_t_4 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_4) { /* … */ }
+1409: self.svlen_values = np.zeros(shape, dtype='int32')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_shape); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_n_s_int32) < 0) __PYX_ERR(0, 1409, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1409, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->svlen_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->svlen_values)); __pyx_v_self->svlen_values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1410: self.svlen_memory = self.svlen_values
__pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->svlen_values));
if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1410, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->svlen_memory, 0);
__pyx_v_self->svlen_memory = __pyx_t_8;
__pyx_t_8.memview = NULL;
__pyx_t_8.data = NULL;
+1411: if self.store_is_snp:
__pyx_t_4 = (__pyx_v_self->store_is_snp != 0); if (__pyx_t_4) { /* … */ }
+1412: self.is_snp_values = np.zeros(self.chunk_length, dtype=bool)
__pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, ((PyObject*)&PyBool_Type)) < 0) __PYX_ERR(0, 1412, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1412, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->is_snp_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->is_snp_values)); __pyx_v_self->is_snp_values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+1413: self.is_snp_memory = self.is_snp_values.view('u1')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->is_snp_values), __pyx_n_s_view); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_5); if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->is_snp_memory, 0); __pyx_v_self->is_snp_memory = __pyx_t_6; __pyx_t_6.memview = NULL; __pyx_t_6.data = NULL; /* … */ __pyx_tuple__37 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 1413, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37);
1414:
+1415: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFAltStringParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltStringParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFAltStringParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltStringParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFAltStringParser_make_chunk { int __pyx_n; PyObject *limit; };
+1416: if self.store_alt:
__pyx_t_1 = (__pyx_v_self->store_alt != 0); if (__pyx_t_1) { /* … */ }
+1417: field = u'variants/' + text_type(self.key, 'utf8')
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_self->__pyx_base.key); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.key); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_self->__pyx_base.key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_n_s_utf8); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_kp_u_variants_2, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_field = __pyx_t_3; __pyx_t_3 = 0;
+1418: values = self.values
__pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base.values);
__Pyx_INCREF(__pyx_t_3);
__pyx_v_values = __pyx_t_3;
__pyx_t_3 = 0;
+1419: if self.values.ndim > 1 and self.number == 1:
__pyx_t_7 = ((__pyx_v_self->__pyx_base.values->nd > 1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L5_bool_binop_done; } __pyx_t_7 = ((__pyx_v_self->__pyx_base.number == 1) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1420: values = values.squeeze(axis=1)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1420, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_6); __pyx_t_6 = 0;
+1421: chunk[field] = values[:limit]
__pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_6) < 0)) __PYX_ERR(0, 1421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1422: if self.store_numalt:
__pyx_t_1 = (__pyx_v_self->store_numalt != 0); if (__pyx_t_1) { /* … */ }
+1423: field = u'variants/numalt'
__Pyx_INCREF(__pyx_kp_u_variants_numalt); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_kp_u_variants_numalt);
+1424: values = self.numalt_values
__pyx_t_6 = ((PyObject *)__pyx_v_self->numalt_values); __Pyx_INCREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_6); __pyx_t_6 = 0;
+1425: chunk[field] = values[:limit]
__pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_6) < 0)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1426: if self.store_svlen:
__pyx_t_1 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_1) { /* … */ }
+1427: field = u'variants/svlen'
__Pyx_INCREF(__pyx_kp_u_variants_svlen); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_kp_u_variants_svlen);
+1428: values = self.svlen_values
__pyx_t_6 = ((PyObject *)__pyx_v_self->svlen_values); __Pyx_INCREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_6); __pyx_t_6 = 0;
+1429: if self.values.ndim > 1 and self.number == 1:
__pyx_t_7 = ((__pyx_v_self->__pyx_base.values->nd > 1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L10_bool_binop_done; } __pyx_t_7 = ((__pyx_v_self->__pyx_base.number == 1) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L10_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1430: values = values.squeeze(axis=1)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1430, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_3); __pyx_t_3 = 0;
+1431: chunk[field] = values[:limit]
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_3) < 0)) __PYX_ERR(0, 1431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1432: if self.store_is_snp:
__pyx_t_1 = (__pyx_v_self->store_is_snp != 0); if (__pyx_t_1) { /* … */ }
+1433: field = u'variants/is_snp'
__Pyx_INCREF(__pyx_kp_u_variants_is_snp); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_kp_u_variants_is_snp);
+1434: values = self.is_snp_values
__pyx_t_3 = ((PyObject *)__pyx_v_self->is_snp_values); __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_3); __pyx_t_3 = 0;
+1435: chunk[field] = values[:limit]
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_3) < 0)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1436:
1437:
+1438: cdef class VCFAltObjectParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltObjectParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice numalt_memory; __Pyx_memviewslice svlen_memory; __Pyx_memviewslice is_snp_memory; PyArrayObject *numalt_values; PyArrayObject *svlen_values; PyArrayObject *is_snp_values; int store_alt; int store_numalt; int store_svlen; int store_is_snp; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFAltObjectParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFAltObjectParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFAltObjectParser;
1439:
1440: cdef:
1441: np.int32_t[:] numalt_memory
1442: np.int32_t[:, :] svlen_memory
1443: np.uint8_t[:] is_snp_memory
1444: np.ndarray numalt_values
1445: np.ndarray svlen_values
1446: np.ndarray is_snp_values
1447: bint store_alt
1448: bint store_numalt
1449: bint store_svlen
1450: bint store_is_snp
1451:
+1452: def __init__(self, number, chunk_length, store_alt, store_numalt, store_svlen, store_is_snp):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_number = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_store_alt = 0; PyObject *__pyx_v_store_numalt = 0; PyObject *__pyx_v_store_svlen = 0; PyObject *__pyx_v_store_is_snp = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_number,&__pyx_n_s_chunk_length,&__pyx_n_s_store_alt,&__pyx_n_s_store_numalt,&__pyx_n_s_store_svlen,&__pyx_n_s_store_is_snp,0}; PyObject* values[6] = {0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_number)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 1); __PYX_ERR(0, 1452, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_alt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 2); __PYX_ERR(0, 1452, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_numalt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 3); __PYX_ERR(0, 1452, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_svlen)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 4); __PYX_ERR(0, 1452, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_store_is_snp)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 5); __PYX_ERR(0, 1452, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1452, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_number = values[0]; __pyx_v_chunk_length = values[1]; __pyx_v_store_alt = values[2]; __pyx_v_store_numalt = values[3]; __pyx_v_store_svlen = values[4]; __pyx_v_store_is_snp = values[5]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1452, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFAltObjectParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltObjectParser *)__pyx_v_self), __pyx_v_number, __pyx_v_chunk_length, __pyx_v_store_alt, __pyx_v_store_numalt, __pyx_v_store_svlen, __pyx_v_store_is_snp); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFAltObjectParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltObjectParser *__pyx_v_self, PyObject *__pyx_v_number, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_store_alt, PyObject *__pyx_v_store_numalt, PyObject *__pyx_v_store_svlen, PyObject *__pyx_v_store_is_snp) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1453: super(VCFAltObjectParser, self).__init__(key=b'ALT', dtype=np.dtype('object'), number=number,
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltObjectParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltObjectParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFAltObjectParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_ALT) < 0) __PYX_ERR(0, 1453, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_v_number) < 0) __PYX_ERR(0, 1453, __pyx_L1_error) /* … */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__38 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1453, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38);
+1454: chunk_length=chunk_length)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1453, __pyx_L1_error)
+1455: self.store_alt = store_alt
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_store_alt); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1455, __pyx_L1_error) __pyx_v_self->store_alt = __pyx_t_4;
+1456: self.store_numalt = store_numalt
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_store_numalt); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1456, __pyx_L1_error) __pyx_v_self->store_numalt = __pyx_t_4;
+1457: self.store_svlen = store_svlen
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_store_svlen); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1457, __pyx_L1_error) __pyx_v_self->store_svlen = __pyx_t_4;
+1458: self.store_is_snp = store_is_snp
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_store_is_snp); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1458, __pyx_L1_error) __pyx_v_self->store_is_snp = __pyx_t_4;
1459:
+1460: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltObjectParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_alt_index; Py_ssize_t __pyx_v_alt_len; int __pyx_v_is_snp; PyObject *__pyx_v_v = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltObjectParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1461: cdef:
1462: # index of alt values
+1463: Py_ssize_t alt_index = 0
__pyx_v_alt_index = 0;
1464: # size of alt allele
+1465: Py_ssize_t alt_len = 0
__pyx_v_alt_len = 0;
1466: # is the variant a SNP?
+1467: bint is_snp = context.ref_len == 1
__pyx_v_is_snp = (__pyx_v_context->ref_len == 1);
1468:
1469: # bail out early for missing value
+1470: if stream.c == PERIOD:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_1) { /* … */ }
1471: # treat period as missing value, regardless of what comes next
+1472: vcf_parse_missing(stream, context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_parse_missing(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1472, __pyx_L1_error)
+1473: return 0
__pyx_r = 0; goto __pyx_L0;
1474:
1475: # bail out early for empty value
+1476: if stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+1477: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1477, __pyx_L1_error)
+1478: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1479: return 0
__pyx_r = 0; goto __pyx_L0;
1480:
1481: # setup temp
+1482: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
1483:
+1484: while True:
while (1) {
1485:
+1486: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1487: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L8_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1488: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L11_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L11_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1489: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_4 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1490: alt_len - context.ref_len
+1491: if self.store_alt and alt_index < self.number and context.temp.size > 0:
__pyx_t_3 = (__pyx_v_self->store_alt != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L14_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L14_bool_binop_done; } __pyx_t_3 = ((__pyx_v_context->temp.size > 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L14_bool_binop_done:; if (__pyx_t_1) { /* … */ }
1492: # with gil:
+1493: v = CharVector_to_pystr(&context.temp)
__pyx_t_6 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6); __pyx_t_6 = 0;
+1494: self.values[context.chunk_variant_index, alt_index] = v
__pyx_t_6 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyInt_FromSsize_t(__pyx_v_alt_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_8, __pyx_v_v) < 0)) __PYX_ERR(0, 1494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1495: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1496: break
goto __pyx_L6_break;
1497:
+1498: elif stream.c == LF or stream.c == CR:
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L17_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L17_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1499: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L19_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L19_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1500: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L22_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L22_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1501: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_9 = __pyx_v_context->chunk_variant_index; __pyx_t_10 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_9 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_10 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1502: alt_len - context.ref_len
+1503: if self.store_alt and alt_index < self.number and context.temp.size > 0:
__pyx_t_3 = (__pyx_v_self->store_alt != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L25_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L25_bool_binop_done; } __pyx_t_3 = ((__pyx_v_context->temp.size > 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L25_bool_binop_done:; if (__pyx_t_1) { /* … */ }
1504: # with gil:
+1505: v = CharVector_to_pystr(&context.temp)
__pyx_t_8 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_8); __pyx_t_8 = 0;
+1506: self.values[context.chunk_variant_index, alt_index] = v
__pyx_t_8 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyInt_FromSsize_t(__pyx_v_alt_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); __pyx_t_8 = 0; __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_6, __pyx_v_v) < 0)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1507: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+1508: break
goto __pyx_L6_break;
1509:
+1510: if stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+1511: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L29_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L29_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1512: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L32_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L32_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1513: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_11 = __pyx_v_context->chunk_variant_index; __pyx_t_12 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_11 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_12 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1514: alt_len - context.ref_len
+1515: if self.store_alt and alt_index < self.number and context.temp.size > 0:
__pyx_t_3 = (__pyx_v_self->store_alt != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L35_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L35_bool_binop_done; } __pyx_t_3 = ((__pyx_v_context->temp.size > 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L35_bool_binop_done:; if (__pyx_t_1) { /* … */ }
1516: # with gil:
+1517: v = CharVector_to_pystr(&context.temp)
__pyx_t_6 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6); __pyx_t_6 = 0;
+1518: self.values[context.chunk_variant_index, alt_index] = v
__pyx_t_6 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyInt_FromSsize_t(__pyx_v_alt_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_8, __pyx_v_v) < 0)) __PYX_ERR(0, 1518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1519: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1519, __pyx_L1_error)
+1520: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1521: break
goto __pyx_L6_break;
1522:
+1523: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L28; }
+1524: is_snp = is_snp and alt_len == 1
__pyx_t_3 = (__pyx_v_is_snp != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L38_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_len == 1) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L38_bool_binop_done:; __pyx_v_is_snp = __pyx_t_1;
+1525: if self.store_svlen and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L41_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L41_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1526: self.svlen_memory[context.chunk_variant_index, alt_index] = \
__pyx_t_13 = __pyx_v_context->chunk_variant_index; __pyx_t_14 = __pyx_v_alt_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->svlen_memory.data + __pyx_t_13 * __pyx_v_self->svlen_memory.strides[0]) ) + __pyx_t_14 * __pyx_v_self->svlen_memory.strides[1]) )) = (__pyx_v_alt_len - __pyx_v_context->ref_len);
1527: alt_len - context.ref_len
+1528: if self.store_alt and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_alt != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L44_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L44_bool_binop_done:; if (__pyx_t_1) { /* … */ }
1529: # with gil:
+1530: v = CharVector_to_pystr(&context.temp)
__pyx_t_8 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_8); __pyx_t_8 = 0;
+1531: self.values[context.chunk_variant_index, alt_index] = v
__pyx_t_8 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyInt_FromSsize_t(__pyx_v_alt_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); __pyx_t_8 = 0; __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_6, __pyx_v_v) < 0)) __PYX_ERR(0, 1531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1532: # advance value index
+1533: alt_index += 1
__pyx_v_alt_index = (__pyx_v_alt_index + 1);
1534: # reset
+1535: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
+1536: alt_len = 0
__pyx_v_alt_len = 0;
1537:
1538: else:
+1539: if stream.c != PERIOD and stream.c != ASTERISK:
/*else*/ { __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L47_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_ASTERISK) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L47_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1540: alt_len += 1
__pyx_v_alt_len = (__pyx_v_alt_len + 1);
+1541: if self.store_alt and alt_index < self.number:
__pyx_t_3 = (__pyx_v_self->store_alt != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L50_bool_binop_done; } __pyx_t_3 = ((__pyx_v_alt_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L50_bool_binop_done:; if (__pyx_t_1) { /* … */ } } __pyx_L28:;
+1542: CharVector_append(&context.temp, stream.c)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c);
1543:
1544: # advance input stream
+1545: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1545, __pyx_L1_error)
}
__pyx_L6_break:;
1546:
+1547: if self.store_numalt:
__pyx_t_1 = (__pyx_v_self->store_numalt != 0); if (__pyx_t_1) { /* … */ }
+1548: self.numalt_memory[context.chunk_variant_index] = alt_index + 1
__pyx_t_15 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=0 */ (__pyx_v_self->numalt_memory.data + __pyx_t_15 * __pyx_v_self->numalt_memory.strides[0]) )) = (__pyx_v_alt_index + 1);
+1549: if self.store_is_snp:
__pyx_t_1 = (__pyx_v_self->store_is_snp != 0); if (__pyx_t_1) { /* … */ }
+1550: self.is_snp_memory[context.chunk_variant_index] = is_snp
__pyx_t_16 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->is_snp_memory.data + __pyx_t_16 * __pyx_v_self->is_snp_memory.strides[0]) )) = __pyx_v_is_snp;
1551:
+1552: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltObjectParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1); __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1); __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltObjectParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1553: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+1554: if self.store_alt:
__pyx_t_4 = (__pyx_v_self->store_alt != 0); if (__pyx_t_4) { /* … */ }
+1555: self.values = np.empty(shape, dtype=self.dtype, order='C')
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1555, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_order, __pyx_n_s_C) < 0) __PYX_ERR(0, 1555, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1556: self.values.fill(u'')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_fill); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__39); __Pyx_GIVEREF(__pyx_tuple__39);
+1557: if self.store_numalt:
__pyx_t_4 = (__pyx_v_self->store_numalt != 0); if (__pyx_t_4) { /* … */ }
+1558: self.numalt_values = np.zeros(self.chunk_length, dtype='int32')
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_n_s_int32) < 0) __PYX_ERR(0, 1558, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->numalt_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->numalt_values)); __pyx_v_self->numalt_values = ((PyArrayObject *)__pyx_t_2); __pyx_t_2 = 0;
+1559: self.numalt_memory = self.numalt_values
__pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->numalt_values));
if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 1559, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->numalt_memory, 0);
__pyx_v_self->numalt_memory = __pyx_t_6;
__pyx_t_6.memview = NULL;
__pyx_t_6.data = NULL;
+1560: if self.store_svlen:
__pyx_t_4 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_4) { /* … */ }
+1561: self.svlen_values = np.zeros(shape, dtype='int32')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_shape); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_n_s_int32) < 0) __PYX_ERR(0, 1561, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->svlen_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->svlen_values)); __pyx_v_self->svlen_values = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0;
+1562: self.svlen_memory = self.svlen_values
__pyx_t_7 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->svlen_values));
if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 1562, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->svlen_memory, 0);
__pyx_v_self->svlen_memory = __pyx_t_7;
__pyx_t_7.memview = NULL;
__pyx_t_7.data = NULL;
+1563: if self.store_is_snp:
__pyx_t_4 = (__pyx_v_self->store_is_snp != 0); if (__pyx_t_4) { /* … */ }
+1564: self.is_snp_values = np.zeros(self.chunk_length, dtype=bool)
__pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, ((PyObject*)&PyBool_Type)) < 0) __PYX_ERR(0, 1564, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->is_snp_values); __Pyx_DECREF(((PyObject *)__pyx_v_self->is_snp_values)); __pyx_v_self->is_snp_values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+1565: self.is_snp_memory = self.is_snp_values.view('u1')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->is_snp_values), __pyx_n_s_view); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_5); if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->is_snp_memory, 0); __pyx_v_self->is_snp_memory = __pyx_t_8; __pyx_t_8.memview = NULL; __pyx_t_8.data = NULL; /* … */ __pyx_tuple__40 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40);
1566:
+1567: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFAltObjectParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFAltObjectParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_18VCFAltObjectParser_make_chunk { int __pyx_n; PyObject *limit; };
+1568: if self.store_alt:
__pyx_t_1 = (__pyx_v_self->store_alt != 0); if (__pyx_t_1) { /* … */ }
+1569: field = u'variants/' + text_type(self.key, 'utf8')
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_self->__pyx_base.key); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.key); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_self->__pyx_base.key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_n_s_utf8); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_kp_u_variants_2, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_field = __pyx_t_3; __pyx_t_3 = 0;
+1570: values = self.values
__pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx_base.values);
__Pyx_INCREF(__pyx_t_3);
__pyx_v_values = __pyx_t_3;
__pyx_t_3 = 0;
+1571: if self.values.ndim > 1 and self.number == 1:
__pyx_t_7 = ((__pyx_v_self->__pyx_base.values->nd > 1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L5_bool_binop_done; } __pyx_t_7 = ((__pyx_v_self->__pyx_base.number == 1) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1572: values = values.squeeze(axis=1)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1572, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_6); __pyx_t_6 = 0;
+1573: chunk[field] = values[:limit]
__pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_6) < 0)) __PYX_ERR(0, 1573, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1574: if self.store_numalt:
__pyx_t_1 = (__pyx_v_self->store_numalt != 0); if (__pyx_t_1) { /* … */ }
+1575: field = u'variants/numalt'
__Pyx_INCREF(__pyx_kp_u_variants_numalt); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_kp_u_variants_numalt);
+1576: values = self.numalt_values
__pyx_t_6 = ((PyObject *)__pyx_v_self->numalt_values); __Pyx_INCREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_6); __pyx_t_6 = 0;
+1577: chunk[field] = values[:limit]
__pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_6) < 0)) __PYX_ERR(0, 1577, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1578: if self.store_svlen:
__pyx_t_1 = (__pyx_v_self->store_svlen != 0); if (__pyx_t_1) { /* … */ }
+1579: field = u'variants/svlen'
__Pyx_INCREF(__pyx_kp_u_variants_svlen); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_kp_u_variants_svlen);
+1580: values = self.svlen_values
__pyx_t_6 = ((PyObject *)__pyx_v_self->svlen_values); __Pyx_INCREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_6); __pyx_t_6 = 0;
+1581: if self.values.ndim > 1 and self.number == 1:
__pyx_t_7 = ((__pyx_v_self->__pyx_base.values->nd > 1) != 0); if (__pyx_t_7) { } else { __pyx_t_1 = __pyx_t_7; goto __pyx_L10_bool_binop_done; } __pyx_t_7 = ((__pyx_v_self->__pyx_base.number == 1) != 0); __pyx_t_1 = __pyx_t_7; __pyx_L10_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1582: values = values.squeeze(axis=1)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1582, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_3); __pyx_t_3 = 0;
+1583: chunk[field] = values[:limit]
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_3) < 0)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1584: if self.store_is_snp:
__pyx_t_1 = (__pyx_v_self->store_is_snp != 0); if (__pyx_t_1) { /* … */ }
+1585: field = u'variants/is_snp'
__Pyx_INCREF(__pyx_kp_u_variants_is_snp); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_kp_u_variants_is_snp);
+1586: values = self.is_snp_values
__pyx_t_3 = ((PyObject *)__pyx_v_self->is_snp_values); __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_values, __pyx_t_3); __pyx_t_3 = 0;
+1587: chunk[field] = values[:limit]
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_values, 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_3) < 0)) __PYX_ERR(0, 1587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1588:
1589:
+1590: cdef class VCFQualParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFQualParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFQualParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFQualParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFQualParser;
1591:
1592: cdef np.float32_t[:] memory
1593:
+1594: def __init__(self, chunk_length, fill=NAN):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_13VCFQualParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_13VCFQualParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_fill = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_chunk_length,&__pyx_n_s_fill,0}; PyObject* values[2] = {0,0}; values[1] = __pyx_k__41; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fill); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1594, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_chunk_length = values[0]; __pyx_v_fill = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1594, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFQualParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_13VCFQualParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFQualParser *)__pyx_v_self), __pyx_v_chunk_length, __pyx_v_fill); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_13VCFQualParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFQualParser *__pyx_v_self, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_fill) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFQualParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_t_1 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__41 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0;
+1595: super(VCFQualParser, self).__init__(key=b'QUAL', dtype='float32', number=1,
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFQualParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFQualParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFQualParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_QUAL) < 0) __PYX_ERR(0, 1595, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_n_s_float32) < 0) __PYX_ERR(0, 1595, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_int_1) < 0) __PYX_ERR(0, 1595, __pyx_L1_error) /* … */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1596: fill=fill, chunk_length=chunk_length)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1595, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1595, __pyx_L1_error)
1597:
+1598: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_13VCFQualParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFQualParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { double __pyx_v_value; Py_ssize_t __pyx_v_parsed; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFQualParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1599: cdef:
1600: double value
1601: Py_ssize_t parsed
1602:
1603: # read into temp
+1604: vcf_read_field(stream, context, &context.temp)
__pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_read_field(__pyx_v_stream, __pyx_v_context, (&__pyx_v_context->temp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1604, __pyx_L1_error)
1605:
1606: # parse string as floating
+1607: parsed = vcf_strtod(&context.temp, context, &value)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtod((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 1607, __pyx_L1_error)
__pyx_v_parsed = __pyx_t_2;
1608:
+1609: if parsed > 0:
__pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { /* … */ }
1610: # store value
+1611: self.memory[context.chunk_variant_index] = value
__pyx_t_4 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_float32_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_4 * __pyx_v_self->memory.strides[0]) )) = __pyx_v_value;
1612:
+1613: if context.state == VCFState.QUAL:
__pyx_t_3 = ((__pyx_v_context->state == __pyx_e_5allel_3opt_11io_vcf_read_QUAL) != 0); if (__pyx_t_3) { /* … */ }
+1614: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
1615:
+1616: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_13VCFQualParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFQualParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFQualParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1617: self.values = np.empty(self.chunk_length, dtype='float32')
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_n_s_float32) < 0) __PYX_ERR(0, 1617, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1617, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1618: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_float32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1618, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+1619: self.memory[:] = NAN
{ __pyx_t_5numpy_float32_t __pyx_temp_scalar = __pyx_v_5allel_3opt_11io_vcf_read_NAN; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { *((__pyx_t_5numpy_float32_t *) __pyx_temp_pointer_0) = __pyx_temp_scalar; __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
1620:
1621:
+1622: cdef class VCFFilterParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; __Pyx_memviewslice memory; PyObject *filter_keys; Py_ssize_t n_filters; char **filter_keys_cstr; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFilterParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; int (*parse_filter)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFFilterParser;
1623:
1624: cdef:
1625: np.uint8_t[:, :] memory
1626: tuple filter_keys
1627: Py_ssize_t n_filters
1628: char** filter_keys_cstr
1629:
+1630: def __cinit__(self, filter_keys, chunk_length):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFilterParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFilterParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_filter_keys = 0; CYTHON_UNUSED PyObject *__pyx_v_chunk_length = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filter_keys,&__pyx_n_s_chunk_length,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filter_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 1630, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1630, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_filter_keys = values[0]; __pyx_v_chunk_length = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1630, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFilterParser___cinit__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self), __pyx_v_filter_keys, __pyx_v_chunk_length); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFilterParser___cinit__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self, PyObject *__pyx_v_filter_keys, CYTHON_UNUSED PyObject *__pyx_v_chunk_length) { Py_ssize_t __pyx_v_i; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1631: cdef:
1632: Py_ssize_t i
1633: # N.B., need to keep a reference to these, otherwise C strings will not behave
+1634: self.filter_keys = tuple(sorted(filter_keys))
__pyx_t_2 = PySequence_List(__pyx_v_filter_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1634, __pyx_L1_error) if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 1634, __pyx_L1_error) } __pyx_t_2 = PyList_AsTuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->filter_keys); __Pyx_DECREF(__pyx_v_self->filter_keys); __pyx_v_self->filter_keys = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+1635: self.n_filters = len(self.filter_keys)
__pyx_t_2 = __pyx_v_self->filter_keys; __Pyx_INCREF(__pyx_t_2); if (unlikely(__pyx_t_2 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 1635, __pyx_L1_error) } __pyx_t_4 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->n_filters = __pyx_t_4;
+1636: self.filter_keys_cstr = <char**> malloc(sizeof(char*) * self.n_filters)
__pyx_v_self->filter_keys_cstr = ((char **)malloc(((sizeof(char *)) * __pyx_v_self->n_filters)));
+1637: for i in range(self.n_filters):
__pyx_t_4 = __pyx_v_self->n_filters; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+1638: self.filter_keys_cstr[i] = <char*> self.filter_keys[i]
if (unlikely(__pyx_v_self->filter_keys == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 1638, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyObject_AsWritableString(PyTuple_GET_ITEM(__pyx_v_self->filter_keys, __pyx_v_i)); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 1638, __pyx_L1_error) (__pyx_v_self->filter_keys_cstr[__pyx_v_i]) = ((char *)__pyx_t_6); }
1639:
+1640: def __init__(self, filter_keys, chunk_length):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFilterParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFilterParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_filter_keys = 0; PyObject *__pyx_v_chunk_length = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filter_keys,&__pyx_n_s_chunk_length,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filter_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1640, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1640, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_filter_keys = values[0]; __pyx_v_chunk_length = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1640, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFilterParser_2__init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self), __pyx_v_filter_keys, __pyx_v_chunk_length); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFilterParser_2__init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self, PyObject *__pyx_v_filter_keys, PyObject *__pyx_v_chunk_length) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1641: super(VCFFilterParser, self).__init__(key=b'FILTER', dtype='bool', number=len(filter_keys), fill=0,
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFilterParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFilterParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFilterParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_FILTER) < 0) __PYX_ERR(0, 1641, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_n_s_bool) < 0) __PYX_ERR(0, 1641, __pyx_L1_error) __pyx_t_3 = PyObject_Length(__pyx_v_filter_keys); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1641, __pyx_L1_error) __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_t_4) < 0) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fill, __pyx_int_0) < 0) __PYX_ERR(0, 1641, __pyx_L1_error) /* … */ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1642: chunk_length=chunk_length)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1641, __pyx_L1_error)
1643:
+1644: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFilterParser_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFilterParser_5__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFilterParser_4__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFilterParser_4__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+1645: if self.filter_keys_cstr is not NULL:
__pyx_t_1 = ((__pyx_v_self->filter_keys_cstr != NULL) != 0); if (__pyx_t_1) { /* … */ }
+1646: free(self.filter_keys_cstr)
free(__pyx_v_self->filter_keys_cstr);
1647:
+1648: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15VCFFilterParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1649: cdef:
1650: Py_ssize_t filter_index
1651:
1652: # check for explicit missing value
+1653: if stream.c == PERIOD:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_1) { /* … */ }
1654: # treat leading period as missing, regardless of what comes next
+1655: vcf_parse_missing(stream, context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_parse_missing(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1655, __pyx_L1_error)
+1656: return 0
__pyx_r = 0; goto __pyx_L0;
1657:
1658: # reset temporary buffer
+1659: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
1660:
+1661: while True:
while (1) {
1662:
+1663: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1664: self.parse_filter(context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_filter(__pyx_v_self, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1664, __pyx_L1_error)
+1665: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1666: break
goto __pyx_L5_break;
1667:
+1668: elif stream.c == LF or stream.c == CR:
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L7_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L7_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1669: self.parse_filter(context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_filter(__pyx_v_self, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1669, __pyx_L1_error)
+1670: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+1671: break
goto __pyx_L5_break;
1672:
+1673: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+1674: self.parse_filter(context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_filter(__pyx_v_self, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1674, __pyx_L1_error)
1675: # advance input stream beyond tab
+1676: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1676, __pyx_L1_error)
+1677: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1678: break
goto __pyx_L5_break;
1679:
+1680: elif stream.c == COMMA or stream.c == COLON or stream.c == SEMICOLON:
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L9_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L9_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L9_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L6; }
1681: # some of these delimiters are not strictly kosher, but have seen them
+1682: self.parse_filter(context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFilterParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_filter(__pyx_v_self, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1682, __pyx_L1_error)
+1683: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
1684:
1685: else:
+1686: CharVector_append(&context.temp, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L6:;
1687:
1688: # advance input stream
+1689: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1689, __pyx_L1_error)
}
__pyx_L5_break:;
1690:
+1691: return 1
__pyx_r = 1; goto __pyx_L0;
1692:
+1693: cdef int parse_filter(self, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15VCFFilterParser_parse_filter(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_filter_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse_filter", 0); /* … */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1694: cdef:
1695: Py_ssize_t filter_index
1696: Py_ssize_t i
1697:
+1698: if context.temp.size == 0:
__pyx_t_1 = ((__pyx_v_context->temp.size == 0) != 0); if (__pyx_t_1) { /* … */ }
1699: # not strictly kosher, treat as missing/empty
+1700: return 0
__pyx_r = 0; goto __pyx_L0;
1701:
+1702: CharVector_terminate(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate((&__pyx_v_context->temp));
1703:
1704: # search through filters to find index
+1705: filter_index = search_sorted_cstr(context.temp.data, self.filter_keys_cstr, self.n_filters)
__pyx_v_filter_index = __pyx_f_5allel_3opt_11io_vcf_read_search_sorted_cstr(__pyx_v_context->temp.data, __pyx_v_self->filter_keys_cstr, __pyx_v_self->n_filters);
1706:
1707: # store value
+1708: if filter_index >= 0:
__pyx_t_1 = ((__pyx_v_filter_index >= 0) != 0); if (__pyx_t_1) { /* … */ }
+1709: self.memory[context.chunk_variant_index, filter_index] = 1
__pyx_t_2 = __pyx_v_context->chunk_variant_index; __pyx_t_3 = __pyx_v_filter_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_2 * __pyx_v_self->memory.strides[0]) ) + __pyx_t_3 * __pyx_v_self->memory.strides[1]) )) = 1;
1710:
+1711: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_15VCFFilterParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1712: shape = (self.chunk_length, self.n_filters)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->n_filters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+1713: self.values = np.zeros(shape, dtype=bool)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject*)&PyBool_Type)) < 0) __PYX_ERR(0, 1713, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1714: self.memory = self.values.view('u1')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_view); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_uint8_t(__pyx_t_1); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0); __pyx_v_self->memory = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL; /* … */ __pyx_tuple__42 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 1714, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42);
1715:
+1716: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_15VCFFilterParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFilterParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_15VCFFilterParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_f = NULL; PyObject *__pyx_v_field = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFilterParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_f); __Pyx_XDECREF(__pyx_v_field); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_15VCFFilterParser_make_chunk { int __pyx_n; PyObject *limit; };
+1717: for i, f in enumerate(self.filter_keys):
__Pyx_INCREF(__pyx_int_0); __pyx_t_1 = __pyx_int_0; __pyx_t_2 = __pyx_v_self->filter_keys; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; for (;;) { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1717, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_4; __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1718: f = text_type(f, 'utf8')
__pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_n_s_utf8}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_n_s_utf8}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_f); __Pyx_GIVEREF(__pyx_v_f); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_f); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_n_s_utf8); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_4); __pyx_t_4 = 0;
+1719: field = u'variants/FILTER_' + f
__pyx_t_4 = PyNumber_Add(__pyx_kp_u_variants_FILTER, __pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_4); __pyx_t_4 = 0;
+1720: chunk[field] = self.values[:limit, i]
__pyx_t_4 = PySlice_New(Py_None, __pyx_v_limit, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_INCREF(__pyx_v_i); __Pyx_GIVEREF(__pyx_v_i); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_i); __pyx_t_4 = 0; __pyx_t_4 = PyObject_GetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_4) < 0)) __PYX_ERR(0, 1720, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1721:
1722:
1723: ##########################################################################################
1724: # INFO parsing
1725:
1726:
+1727: cdef class VCFInfoParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; PyObject *info_keys; Py_ssize_t n_infos; char **info_keys_cstr; PyObject *info_parsers; PyObject **info_parsers_cptr; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *skip_parser; PyObject *fills; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; int (*parse_info)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoParser;
1728:
1729: cdef:
1730: tuple info_keys
1731: Py_ssize_t n_infos
1732: char** info_keys_cstr
1733: tuple info_parsers
1734: PyObject** info_parsers_cptr
1735: VCFInfoParserBase skip_parser
1736: object fills
1737:
+1738: def __cinit__(self, info_keys, types, numbers, chunk_length, fills):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_13VCFInfoParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_13VCFInfoParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_info_keys = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_fills = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info_keys,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_chunk_length,&__pyx_n_s_fills,0}; PyObject* values[5] = {0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 1); __PYX_ERR(0, 1738, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 2); __PYX_ERR(0, 1738, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 3); __PYX_ERR(0, 1738, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 4); __PYX_ERR(0, 1738, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1738, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); } __pyx_v_info_keys = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_chunk_length = values[3]; __pyx_v_fills = values[4]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1738, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_13VCFInfoParser___cinit__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self), __pyx_v_info_keys, __pyx_v_types, __pyx_v_numbers, __pyx_v_chunk_length, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_13VCFInfoParser___cinit__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self, PyObject *__pyx_v_info_keys, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_fills) { Py_ssize_t __pyx_v_i; PyObject *__pyx_v_info_parsers = NULL; PyObject *__pyx_v_key = NULL; PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_n = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_parser = NULL; PyObject *__pyx_v_fill = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_info_parsers); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF(__pyx_v_n); __Pyx_XDECREF((PyObject *)__pyx_v_parser); __Pyx_XDECREF(__pyx_v_fill); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1739:
1740: # setup INFO keys
1741: # N.B., need to keep a reference to these, otherwise C strings will not behave
+1742: self.info_keys = tuple(sorted(info_keys))
__pyx_t_2 = PySequence_List(__pyx_v_info_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1742, __pyx_L1_error) if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 1742, __pyx_L1_error) } __pyx_t_2 = PyList_AsTuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->info_keys); __Pyx_DECREF(__pyx_v_self->info_keys); __pyx_v_self->info_keys = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+1743: self.n_infos = len(self.info_keys)
__pyx_t_2 = __pyx_v_self->info_keys; __Pyx_INCREF(__pyx_t_2); if (unlikely(__pyx_t_2 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 1743, __pyx_L1_error) } __pyx_t_4 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->n_infos = __pyx_t_4;
1744:
1745: # setup INFO keys as C strings for nogil searching
+1746: self.info_keys_cstr = <char**> malloc(sizeof(char*) * self.n_infos)
__pyx_v_self->info_keys_cstr = ((char **)malloc(((sizeof(char *)) * __pyx_v_self->n_infos)));
+1747: for i in range(self.n_infos):
__pyx_t_4 = __pyx_v_self->n_infos; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+1748: self.info_keys_cstr[i] = <char*> self.info_keys[i]
if (unlikely(__pyx_v_self->info_keys == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 1748, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyObject_AsWritableString(PyTuple_GET_ITEM(__pyx_v_self->info_keys, __pyx_v_i)); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 1748, __pyx_L1_error) (__pyx_v_self->info_keys_cstr[__pyx_v_i]) = ((char *)__pyx_t_6); }
1749:
1750: # setup INFO parsers
+1751: info_parsers = list()
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_info_parsers = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+1752: self.skip_parser = VCFInfoSkipParser(key=None)
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, Py_None) < 0) __PYX_ERR(0, 1752, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoSkipParser), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->skip_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->skip_parser)); __pyx_v_self->skip_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_1); __pyx_t_1 = 0;
+1753: for key in self.info_keys:
if (unlikely(__pyx_v_self->info_keys == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 1753, __pyx_L1_error) } __pyx_t_1 = __pyx_v_self->info_keys; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1753, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1754: t = types[key]
__pyx_t_2 = PyObject_GetItem(__pyx_v_types, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_2); __pyx_t_2 = 0;
+1755: n = numbers[key]
__pyx_t_2 = PyObject_GetItem(__pyx_v_numbers, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_n, __pyx_t_2); __pyx_t_2 = 0;
+1756: if t == np.dtype(bool) or n == 0:
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject*)&PyBool_Type)); __Pyx_GIVEREF(((PyObject*)&PyBool_Type)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject*)&PyBool_Type)); __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_9) { } else { __pyx_t_7 = __pyx_t_9; goto __pyx_L8_bool_binop_done; } __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_n, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1756, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = __pyx_t_9; __pyx_L8_bool_binop_done:; if (__pyx_t_7) { /* … */ goto __pyx_L7; }
+1757: if t != np.dtype(bool):
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject*)&PyBool_Type)); __Pyx_GIVEREF(((PyObject*)&PyBool_Type)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject*)&PyBool_Type)); __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_t_8, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1757, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1757, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { /* … */ }
+1758: warnings.warn('cannot have non-bool dtype for field with number 0, ignoring type %r' % t)
__pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_warn); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_cannot_have_non_bool_dtype_for_f, __pyx_v_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } if (!__pyx_t_11) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_8}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_8}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL; __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1759: parser = VCFInfoFlagParser(key, chunk_length=chunk_length)
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key); __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1759, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFlagParser), __pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+1760: elif t == np.dtype('int8'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1760, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1760, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__45 = PyTuple_Pack(1, __pyx_n_s_int8); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1760, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__45); __Pyx_GIVEREF(__pyx_tuple__45);
+1761: fill = fills.get(key, -1)
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_13, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_13, __pyx_int_neg_1); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_8, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_10); __pyx_t_10 = 0;
+1762: parser = VCFInfoInt8Parser(key, number=n,
__pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1762, __pyx_L1_error) /* … */ __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser), __pyx_t_10, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_8)); __pyx_t_8 = 0;
+1763: fill=fill, chunk_length=chunk_length)
if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1762, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1762, __pyx_L1_error)
+1764: elif t == np.dtype('int16'):
__pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__46 = PyTuple_Pack(1, __pyx_n_s_int16); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 1764, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46);
+1765: fill = fills.get(key, -1)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_12); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_12); } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_13, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_13, __pyx_int_neg_1); __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_12); __pyx_t_12 = 0;
+1766: parser = VCFInfoInt16Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_8 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1766, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1766, __pyx_L1_error) /* … */ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser), __pyx_t_12, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_2)); __pyx_t_2 = 0;
+1767: fill=fill)
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1766, __pyx_L1_error)
+1768: elif t == np.dtype('int32'):
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1768, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = PyObject_RichCompare(__pyx_v_t, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1768, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1768, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__47 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 1768, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47);
+1769: fill = fills.get(key, -1)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12); __pyx_t_12 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_13, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_13, __pyx_int_neg_1); __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_8); __pyx_t_8 = 0;
+1770: parser = VCFInfoInt32Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_key); __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1770, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1770, __pyx_L1_error) /* … */ __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser), __pyx_t_8, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_10)); __pyx_t_10 = 0;
+1771: fill=fill)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1770, __pyx_L1_error)
+1772: elif t == np.dtype('int64'):
__pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1772, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1772, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__48 = PyTuple_Pack(1, __pyx_n_s_int64); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 1772, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48);
+1773: fill = fills.get(key, -1)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1773, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1773, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_12 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_13, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_13, __pyx_int_neg_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_2); __pyx_t_2 = 0;
+1774: parser = VCFInfoInt64Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key); __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1774, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1774, __pyx_L1_error) /* … */ __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser), __pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+1775: fill=fill)
if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1774, __pyx_L1_error)
+1776: elif t == np.dtype('uint8'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1776, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1776, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__49 = PyTuple_Pack(1, __pyx_n_s_uint8); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 1776, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__49); __Pyx_GIVEREF(__pyx_tuple__49);
+1777: fill = fills.get(key, IU8.max)
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_key, __pyx_t_8}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_key, __pyx_t_8}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_11 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_13, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_13, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_10); __pyx_t_10 = 0;
+1778: parser = VCFInfoUInt8Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1778, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1778, __pyx_L1_error) /* … */ __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser), __pyx_t_10, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_11)); __pyx_t_11 = 0;
+1779: fill=fill)
if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1778, __pyx_L1_error)
+1780: elif t == np.dtype('uint16'):
__pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__50 = PyTuple_Pack(1, __pyx_n_s_uint16); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 1780, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50);
+1781: fill = fills.get(key, IU16.max)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_key, __pyx_t_8}; __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_key, __pyx_t_8}; __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_13, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_13, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_12); __pyx_t_12 = 0;
+1782: parser = VCFInfoUInt16Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1782, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1782, __pyx_L1_error) /* … */ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser), __pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_2)); __pyx_t_2 = 0;
+1783: fill=fill)
if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1782, __pyx_L1_error)
+1784: elif t == np.dtype('uint32'):
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = PyObject_RichCompare(__pyx_v_t, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__51 = PyTuple_Pack(1, __pyx_n_s_uint32); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 1784, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__51); __Pyx_GIVEREF(__pyx_tuple__51);
+1785: fill = fills.get(key, IU32.max)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_key, __pyx_t_8}; __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_key, __pyx_t_8}; __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_12); __pyx_t_12 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_13, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_13, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_11); __pyx_t_11 = 0;
+1786: parser = VCFInfoUInt32Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_v_key); __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1786, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1786, __pyx_L1_error) /* … */ __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser), __pyx_t_11, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_10)); __pyx_t_10 = 0;
+1787: fill=fill)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1786, __pyx_L1_error)
+1788: elif t == np.dtype('uint64'):
__pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__52 = PyTuple_Pack(1, __pyx_n_s_uint64); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52);
+1789: fill = fills.get(key, IU64.max)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_key, __pyx_t_8}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_key, __pyx_t_8}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_12 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_13, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_13, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_2); __pyx_t_2 = 0;
+1790: parser = VCFInfoUInt64Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key); __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1790, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1790, __pyx_L1_error) /* … */ __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser), __pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+1791: fill=fill)
if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1790, __pyx_L1_error)
+1792: elif t == np.dtype('float32'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__53 = PyTuple_Pack(1, __pyx_n_s_float32); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1792, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
+1793: fill = fills.get(key, NAN)
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_key, __pyx_t_2}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_key, __pyx_t_2}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_11 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_13, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_13, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_10); __pyx_t_10 = 0;
+1794: parser = VCFInfoFloat32Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1794, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1794, __pyx_L1_error) /* … */ __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser), __pyx_t_10, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_11)); __pyx_t_11 = 0;
+1795: fill=fill)
if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1794, __pyx_L1_error)
+1796: elif t == np.dtype('float64'):
__pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; } /* … */ __pyx_tuple__54 = PyTuple_Pack(1, __pyx_n_s_float64); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54);
+1797: fill = fills.get(key, NAN)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_key, __pyx_t_10}; __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1797, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_key, __pyx_t_10}; __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1797, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_13, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_13, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_8, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_12); __pyx_t_12 = 0;
+1798: parser = VCFInfoFloat64Parser(key, number=n, chunk_length=chunk_length,
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1798, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1798, __pyx_L1_error) /* … */ __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser), __pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_8)); __pyx_t_8 = 0;
+1799: fill=fill)
if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_fill, __pyx_v_fill) < 0) __PYX_ERR(0, 1798, __pyx_L1_error)
+1800: elif t == np.dtype(bool):
__pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(((PyObject*)&PyBool_Type)); __Pyx_GIVEREF(((PyObject*)&PyBool_Type)); PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject*)&PyBool_Type)); __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_8, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_v_t, __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; }
+1801: parser = VCFInfoFlagParser(key, chunk_length=chunk_length)
__pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_key); __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1801, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFlagParser), __pyx_t_8, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+1802: elif t.kind == 'S':
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_12, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; }
+1803: parser = VCFInfoStringParser(key, dtype=t, number=n, chunk_length=chunk_length)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 1803, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1803, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1803, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoStringParser), __pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_8)); __pyx_t_8 = 0;
+1804: elif t.kind == 'O':
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_8, __pyx_n_s_O, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1804, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L7; }
+1805: parser = VCFInfoObjectParser(key, number=n, chunk_length=chunk_length)
__pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_key); __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 1805, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1805, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoObjectParser), __pyx_t_8, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
1806: else:
+1807: parser = VCFInfoSkipParser(key)
/*else*/ { __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoSkipParser), __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_11)); __pyx_t_11 = 0;
+1808: warnings.warn('type %s not supported for INFO field %r, field will be skipped' % (t, key))
__pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_warn); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_t); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_key); __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_type_s_not_supported_for_INFO_fi, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } if (!__pyx_t_12) { __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_11); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_10}; __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_10}; __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_12); __pyx_t_12 = NULL; __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __pyx_L7:;
+1809: info_parsers.append(parser)
__pyx_t_3 = __Pyx_PyList_Append(__pyx_v_info_parsers, ((PyObject *)__pyx_v_parser)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 1809, __pyx_L1_error)
+1810: self.info_parsers = tuple(info_parsers)
__pyx_t_1 = PyList_AsTuple(__pyx_v_info_parsers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->info_parsers); __Pyx_DECREF(__pyx_v_self->info_parsers); __pyx_v_self->info_parsers = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
1811:
1812: # store pointers to parsers for nogil trickery
+1813: self.info_parsers_cptr = <PyObject**> malloc(sizeof(PyObject*) * self.n_infos)
__pyx_v_self->info_parsers_cptr = ((PyObject **)malloc(((sizeof(PyObject *)) * __pyx_v_self->n_infos)));
+1814: for i in range(self.n_infos):
__pyx_t_4 = __pyx_v_self->n_infos; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+1815: self.info_parsers_cptr[i] = <PyObject*> self.info_parsers[i]
if (unlikely(__pyx_v_self->info_parsers == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 1815, __pyx_L1_error) } (__pyx_v_self->info_parsers_cptr[__pyx_v_i]) = ((PyObject *)PyTuple_GET_ITEM(__pyx_v_self->info_parsers, __pyx_v_i)); }
1816:
+1817: def __init__(self, info_keys, types, numbers, chunk_length, fills):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_13VCFInfoParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_13VCFInfoParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED PyObject *__pyx_v_info_keys = 0; CYTHON_UNUSED PyObject *__pyx_v_types = 0; CYTHON_UNUSED PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_fills = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info_keys,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_chunk_length,&__pyx_n_s_fills,0}; PyObject* values[5] = {0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 1); __PYX_ERR(0, 1817, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 2); __PYX_ERR(0, 1817, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 3); __PYX_ERR(0, 1817, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, 4); __PYX_ERR(0, 1817, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1817, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); } __pyx_v_info_keys = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_chunk_length = values[3]; __pyx_v_fills = values[4]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1817, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_13VCFInfoParser_2__init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self), __pyx_v_info_keys, __pyx_v_types, __pyx_v_numbers, __pyx_v_chunk_length, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_13VCFInfoParser_2__init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_info_keys, CYTHON_UNUSED PyObject *__pyx_v_types, CYTHON_UNUSED PyObject *__pyx_v_numbers, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_fills) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1818: super(VCFInfoParser, self).__init__(key=b'INFO', chunk_length=chunk_length)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_INFO) < 0) __PYX_ERR(0, 1818, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 1818, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1819: self.fills = fills
__Pyx_INCREF(__pyx_v_fills); __Pyx_GIVEREF(__pyx_v_fills); __Pyx_GOTREF(__pyx_v_self->fills); __Pyx_DECREF(__pyx_v_self->fills); __pyx_v_self->fills = __pyx_v_fills;
1820:
+1821: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_13VCFInfoParser_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_13VCFInfoParser_5__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_13VCFInfoParser_4__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_13VCFInfoParser_4__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+1822: if self.info_keys_cstr is not NULL:
__pyx_t_1 = ((__pyx_v_self->info_keys_cstr != NULL) != 0); if (__pyx_t_1) { /* … */ }
+1823: free(self.info_keys_cstr)
free(__pyx_v_self->info_keys_cstr);
+1824: if self.info_parsers_cptr is not NULL:
__pyx_t_1 = ((__pyx_v_self->info_parsers_cptr != NULL) != 0); if (__pyx_t_1) { /* … */ }
+1825: free(self.info_parsers_cptr)
free(__pyx_v_self->info_parsers_cptr);
1826:
+1827: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_13VCFInfoParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1828:
1829: # reset buffers
+1830: CharVector_clear(&context.info_key)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_key));
+1831: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
1832:
1833: # check for missing value
+1834: if stream.c == PERIOD:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); if (__pyx_t_1) { /* … */ }
1835: # treat leading period as missing, regardless of what comes next
+1836: vcf_parse_missing(stream, context)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_parse_missing(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1836, __pyx_L1_error)
+1837: return 0
__pyx_r = 0; goto __pyx_L0;
1838:
1839: # check for empty value
+1840: if stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
1841: # not strictly kosher, treat as missing/empty
+1842: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1842, __pyx_L1_error)
+1843: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1844: return 0
__pyx_r = 0; goto __pyx_L0;
1845:
+1846: while True:
while (1) {
1847:
+1848: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
+1849: if context.info_key.size > 0:
__pyx_t_1 = ((__pyx_v_context->info_key.size > 0) != 0); if (__pyx_t_1) { /* … */ }
1850: # handle flag
+1851: self.parse_info(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_info(__pyx_v_self, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1851, __pyx_L1_error)
+1852: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+1853: break
goto __pyx_L6_break;
1854:
+1855: elif stream.c == LF or stream.c == CR:
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L9_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L9_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+1856: if context.info_key.size > 0:
__pyx_t_1 = ((__pyx_v_context->info_key.size > 0) != 0); if (__pyx_t_1) { /* … */ }
1857: # handle flag
+1858: self.parse_info(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_info(__pyx_v_self, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1858, __pyx_L1_error)
+1859: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+1860: break
goto __pyx_L6_break;
1861:
+1862: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+1863: if context.info_key.size > 0:
__pyx_t_1 = ((__pyx_v_context->info_key.size > 0) != 0); if (__pyx_t_1) { /* … */ }
1864: # handle flag
+1865: self.parse_info(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_info(__pyx_v_self, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1865, __pyx_L1_error)
1866: # advance input stream beyond tab
+1867: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1867, __pyx_L1_error)
+1868: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+1869: break
goto __pyx_L6_break;
1870:
+1871: elif stream.c == SEMICOLON:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L7; }
+1872: if context.info_key.size > 0:
__pyx_t_1 = ((__pyx_v_context->info_key.size > 0) != 0); if (__pyx_t_1) { /* … */ }
1873: # handle flag
+1874: self.parse_info(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_info(__pyx_v_self, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1874, __pyx_L1_error)
+1875: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1875, __pyx_L1_error)
1876:
+1877: elif stream.c == EQUALS:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_EQUALS) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L7; }
1878: # advance input stream beyond '='
+1879: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1879, __pyx_L1_error)
+1880: if context.info_key.size > 0:
__pyx_t_1 = ((__pyx_v_context->info_key.size > 0) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L14; }
+1881: self.parse_info(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->parse_info(__pyx_v_self, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1881, __pyx_L1_error)
1882: else:
1883: # with gil:
+1884: warn('missing INFO key', context)
/*else*/ {
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_missing_INFO_key, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1884, __pyx_L1_error)
+1885: self.skip_parser.parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_self->skip_parser->__pyx_vtab)->parse(__pyx_v_self->skip_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1885, __pyx_L1_error)
}
__pyx_L14:;
1886:
1887: else:
1888:
+1889: CharVector_append(&context.info_key, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_key), __pyx_v_stream->c);
+1890: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1890, __pyx_L1_error)
}
__pyx_L7:;
}
__pyx_L6_break:;
1891:
+1892: cdef int parse_info(self,
static int __pyx_f_5allel_3opt_11io_vcf_read_13VCFInfoParser_parse_info(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_parser_index; PyObject *__pyx_v_parser; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse_info", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.parse_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1893: InputStreamBase stream,
1894: VCFContext context) except -1: # nogil
1895:
1896: cdef:
1897: Py_ssize_t parser_index
1898: PyObject* parser
1899:
1900: # terminate key
+1901: CharVector_terminate(&context.info_key)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate((&__pyx_v_context->info_key));
1902:
1903: # search for index of current INFO key
+1904: parser_index = search_sorted_cstr(context.info_key.data, self.info_keys_cstr, self.n_infos)
__pyx_v_parser_index = __pyx_f_5allel_3opt_11io_vcf_read_search_sorted_cstr(__pyx_v_context->info_key.data, __pyx_v_self->info_keys_cstr, __pyx_v_self->n_infos);
1905:
1906: # clear out key for good measure
+1907: CharVector_clear(&context.info_key)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_key));
1908:
+1909: if parser_index >= 0:
__pyx_t_1 = ((__pyx_v_parser_index >= 0) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
1910: # obtain parser, use trickery for nogil
+1911: parser = self.info_parsers_cptr[parser_index]
__pyx_v_parser = (__pyx_v_self->info_parsers_cptr[__pyx_v_parser_index]);
+1912: (<VCFInfoParserBase> parser).parse(stream, context)
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_parser)->__pyx_vtab)->parse(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_parser), __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1912, __pyx_L1_error)
1913: else:
+1914: self.skip_parser.parse(stream, context)
/*else*/ {
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_self->skip_parser->__pyx_vtab)->parse(__pyx_v_self->skip_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 1914, __pyx_L1_error)
}
__pyx_L3:;
1915:
+1916: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_13VCFInfoParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self) { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_parser = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_parser); __Pyx_RefNannyFinishContext(); return __pyx_r; }
1917: cdef VCFInfoParserBase parser
+1918: for parser in self.info_parsers:
if (unlikely(__pyx_v_self->info_parsers == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 1918, __pyx_L1_error) } __pyx_t_1 = __pyx_v_self->info_parsers; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1918, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoParserBase))))) __PYX_ERR(0, 1918, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1919: parser.malloc_chunk()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_parser->__pyx_vtab)->malloc_chunk(__pyx_v_parser); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1919, __pyx_L1_error)
1920:
+1921: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_13VCFInfoParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_13VCFInfoParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_parser = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_parser); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_13VCFInfoParser_make_chunk { int __pyx_n; PyObject *limit; };
1922: cdef VCFInfoParserBase parser
+1923: for parser in self.info_parsers:
if (unlikely(__pyx_v_self->info_parsers == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 1923, __pyx_L1_error) } __pyx_t_1 = __pyx_v_self->info_parsers; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1923, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoParserBase))))) __PYX_ERR(0, 1923, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1924: parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_parser->__pyx_vtab)->make_chunk(__pyx_v_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1924, __pyx_L1_error)
1925:
1926:
+1927: cdef class VCFInfoParserBase:
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase { PyObject_HEAD struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_vtab; PyObject *key; PyArray_Descr *dtype; Py_ssize_t itemsize; Py_ssize_t number; PyObject *fill; PyArrayObject *values; Py_ssize_t chunk_length; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase { int (*parse)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); int (*make_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *, PyObject *, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_make_chunk *__pyx_optional_args); int (*malloc_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoParserBase;
1928:
1929: cdef:
1930: bytes key
1931: np.dtype dtype
1932: Py_ssize_t itemsize
1933: Py_ssize_t number
1934: object fill
1935: np.ndarray values
1936: Py_ssize_t chunk_length
1937:
+1938: def __init__(self, key=None, dtype=None, number=1, fill=0, chunk_length=0):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_number = 0; PyObject *__pyx_v_fill = 0; PyObject *__pyx_v_chunk_length = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_dtype,&__pyx_n_s_number,&__pyx_n_s_fill,&__pyx_n_s_chunk_length,0}; PyObject* values[5] = {0,0,0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); values[2] = ((PyObject *)__pyx_int_1); values[3] = ((PyObject *)__pyx_int_0); values[4] = ((PyObject *)__pyx_int_0); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key); if (value) { values[0] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_number); if (value) { values[2] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fill); if (value) { values[3] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1938, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_key = values[0]; __pyx_v_dtype = values[1]; __pyx_v_number = values[2]; __pyx_v_fill = values[3]; __pyx_v_chunk_length = values[4]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1938, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParserBase.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoParserBase___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *)__pyx_v_self), __pyx_v_key, __pyx_v_dtype, __pyx_v_number, __pyx_v_fill, __pyx_v_chunk_length); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoParserBase___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_dtype, PyObject *__pyx_v_number, PyObject *__pyx_v_fill, PyObject *__pyx_v_chunk_length) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_dtype); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParserBase.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1939: self.key = key
if (!(likely(PyBytes_CheckExact(__pyx_v_key))||((__pyx_v_key) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_key)->tp_name), 0))) __PYX_ERR(0, 1939, __pyx_L1_error) __pyx_t_1 = __pyx_v_key; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->key); __Pyx_DECREF(__pyx_v_self->key); __pyx_v_self->key = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1940: if dtype is not None:
__pyx_t_2 = (__pyx_v_dtype != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+1941: dtype = np.dtype(dtype)
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype); __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_dtype, __pyx_t_4); __pyx_t_4 = 0;
+1942: self.dtype = dtype
if (!(likely(__Pyx_TypeTest(__pyx_v_dtype, __pyx_ptype_5numpy_dtype)))) __PYX_ERR(0, 1942, __pyx_L1_error) __pyx_t_4 = __pyx_v_dtype; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->dtype); __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype)); __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0;
+1943: self.itemsize = dtype.itemsize
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_self->itemsize = __pyx_t_5;
1944: else:
+1945: self.dtype = dtype
/*else*/ { if (!(likely(((__pyx_v_dtype) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_dtype, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(0, 1945, __pyx_L1_error) __pyx_t_4 = __pyx_v_dtype; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->dtype); __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype)); __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0;
+1946: self.itemsize = 0
__pyx_v_self->itemsize = 0; } __pyx_L3:;
+1947: self.number = number
__pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_number); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1947, __pyx_L1_error) __pyx_v_self->number = __pyx_t_5;
+1948: self.fill = fill
__Pyx_INCREF(__pyx_v_fill); __Pyx_GIVEREF(__pyx_v_fill); __Pyx_GOTREF(__pyx_v_self->fill); __Pyx_DECREF(__pyx_v_self->fill); __pyx_v_self->fill = __pyx_v_fill;
+1949: self.chunk_length = chunk_length
__pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_chunk_length); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1949, __pyx_L1_error) __pyx_v_self->chunk_length = __pyx_t_5;
1950:
+1951: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1952: pass
1953:
+1954: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoParserBase.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_make_chunk { int __pyx_n; PyObject *limit; };
+1955: field = u'variants/' + text_type(self.key, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_self->key); __Pyx_GIVEREF(__pyx_v_self->key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_kp_u_variants_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_field = __pyx_t_2; __pyx_t_2 = 0;
+1956: values = self.values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_values = __pyx_t_2; __pyx_t_2 = 0;
+1957: if self.number == 1:
__pyx_t_6 = ((__pyx_v_self->number == 1) != 0); if (__pyx_t_6) { /* … */ }
+1958: values = values.squeeze(axis=1)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 1958, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_5); __pyx_t_5 = 0;
+1959: chunk[field] = values
if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_v_values) < 0)) __PYX_ERR(0, 1959, __pyx_L1_error)
1960:
+1961: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoParserBase_malloc_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
1962: pass
1963:
1964:
+1965: cdef class VCFInfoInt8Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser;
1966:
1967: cdef np.int8_t[:, :] memory
1968:
+1969: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1970: kwargs['dtype'] = 'int8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int8) < 0)) __PYX_ERR(0, 1970, __pyx_L1_error)
+1971: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1972: super(VCFInfoInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1973:
+1974: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1975: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1975, __pyx_L1_error)
1976:
+1977: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1978: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+1979: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1979, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1980: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_int8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1980, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+1981: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1981, __pyx_L1_error) { __pyx_t_5numpy_int8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_int8_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
1982:
1983:
+1984: cdef class VCFInfoInt16Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser;
1985:
1986: cdef np.int16_t[:, :] memory
1987:
+1988: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1989: kwargs['dtype'] = 'int16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int16) < 0)) __PYX_ERR(0, 1989, __pyx_L1_error)
+1990: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1991: super(VCFInfoInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1992:
+1993: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1994: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1994, __pyx_L1_error)
1995:
+1996: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+1997: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+1998: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 1998, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+1999: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_int16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 1999, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2000: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int16(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int16)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2000, __pyx_L1_error) { __pyx_t_5numpy_int16_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_int16_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2001:
2002:
+2003: cdef class VCFInfoInt32Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser;
2004:
2005: cdef np.int32_t[:, :] memory
2006:
+2007: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2008: kwargs['dtype'] = 'int32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int32) < 0)) __PYX_ERR(0, 2008, __pyx_L1_error)
+2009: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2010: super(VCFInfoInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2011:
+2012: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2013: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2013, __pyx_L1_error)
2014:
+2015: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2016: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2017: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2017, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2018: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2018, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2019: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int32(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2019, __pyx_L1_error) { __pyx_t_5numpy_int32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_int32_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2020:
2021:
+2022: cdef class VCFInfoInt64Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser;
2023:
2024: cdef np.int64_t[:, :] memory
2025:
+2026: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2027: kwargs['dtype'] = 'int64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int64) < 0)) __PYX_ERR(0, 2027, __pyx_L1_error)
+2028: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2029: super(VCFInfoInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2030:
+2031: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2032: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2032, __pyx_L1_error)
2033:
+2034: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2035: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2036: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2036, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2036, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2037: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_int64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2037, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2038: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int64(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2038, __pyx_L1_error) { __pyx_t_5numpy_int64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_int64_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2039:
2040:
+2041: cdef class VCFInfoUInt8Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser;
2042:
2043: cdef np.uint8_t[:, :] memory
2044:
+2045: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_18VCFInfoUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoUInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_18VCFInfoUInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2046: kwargs['dtype'] = 'uint8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint8) < 0)) __PYX_ERR(0, 2046, __pyx_L1_error)
+2047: kwargs.setdefault('fill', IU8.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2048: super(VCFInfoUInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2049:
+2050: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoUInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2051: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2051, __pyx_L1_error)
2052:
+2053: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_18VCFInfoUInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2054: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2055: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2055, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2055, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2056: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_uint8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2056, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2057: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2057, __pyx_L1_error) { __pyx_t_5numpy_uint8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_uint8_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2058:
2059:
+2060: cdef class VCFInfoUInt16Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser;
2061:
2062: cdef np.uint16_t[:, :] memory
2063:
+2064: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoUInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoUInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2065: kwargs['dtype'] = 'uint16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint16) < 0)) __PYX_ERR(0, 2065, __pyx_L1_error)
+2066: kwargs.setdefault('fill', IU16.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2067: super(VCFInfoUInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2068:
+2069: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoUInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2070: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2070, __pyx_L1_error)
2071:
+2072: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoUInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2073: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2074: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2074, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2075: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_uint16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2075, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2076: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint16(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint16)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2076, __pyx_L1_error) { __pyx_t_5numpy_uint16_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_uint16_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2077:
2078:
+2079: cdef class VCFInfoUInt32Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser;
2080:
2081: cdef np.uint32_t[:, :] memory
2082:
+2083: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoUInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoUInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2084: kwargs['dtype'] = 'uint32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint32) < 0)) __PYX_ERR(0, 2084, __pyx_L1_error)
+2085: kwargs.setdefault('fill', IU32.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2086: super(VCFInfoUInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2087:
+2088: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoUInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2089: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2089, __pyx_L1_error)
2090:
+2091: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoUInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2092: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2093: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2093, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2093, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2094: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_uint32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2094, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2095: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint32(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2095, __pyx_L1_error) { __pyx_t_5numpy_uint32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_uint32_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2096:
2097:
+2098: cdef class VCFInfoUInt64Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser;
2099:
2100: cdef np.uint64_t[:, :] memory
2101:
+2102: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoUInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoUInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2103: kwargs['dtype'] = 'uint64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint64) < 0)) __PYX_ERR(0, 2103, __pyx_L1_error)
+2104: kwargs.setdefault('fill', IU64.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2105: super(VCFInfoUInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2106:
+2107: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoUInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2108: vcf_info_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2108, __pyx_L1_error)
2109:
+2110: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoUInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoUInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoUInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2111: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2112: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2112, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2113: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_uint64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2113, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2114: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint64(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2114, __pyx_L1_error) { __pyx_t_5numpy_uint64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_uint64_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2115:
2116:
+2117: cdef class VCFInfoFloat32Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser;
2118:
2119: cdef np.float32_t[:, :] memory
2120:
+2121: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_20VCFInfoFloat32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_20VCFInfoFloat32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_20VCFInfoFloat32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_20VCFInfoFloat32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFloat32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2122: kwargs['dtype'] = 'float32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_float32) < 0)) __PYX_ERR(0, 2122, __pyx_L1_error)
+2123: kwargs.setdefault('fill', NAN)
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2124: super(VCFInfoFloat32Parser, self).__init__(*args, **kwargs)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2125:
+2126: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_20VCFInfoFloat32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFloat32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2127: vcf_info_parse_floating(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_floating(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2127, __pyx_L1_error)
2128:
+2129: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_20VCFInfoFloat32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFloat32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2130: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2131: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2131, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2132: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_float32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2132, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2133: self.memory[:] = self.fill
__pyx_t_6 = __pyx_PyFloat_AsFloat(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_float32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2133, __pyx_L1_error) { __pyx_t_5numpy_float32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_float32_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2134:
2135:
+2136: cdef class VCFInfoFloat64Parser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser;
2137:
2138: cdef np.float64_t[:, :] memory
2139:
+2140: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_20VCFInfoFloat64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_20VCFInfoFloat64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_20VCFInfoFloat64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_20VCFInfoFloat64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFloat64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2141: kwargs['dtype'] = 'float64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_float64) < 0)) __PYX_ERR(0, 2141, __pyx_L1_error)
+2142: kwargs.setdefault('fill', NAN)
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2143: super(VCFInfoFloat64Parser, self).__init__(*args, **kwargs)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2144:
+2145: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_20VCFInfoFloat64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFloat64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2146: vcf_info_parse_floating(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_floating(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2146, __pyx_L1_error)
2147:
+2148: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_20VCFInfoFloat64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFloat64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFloat64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2149: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2150: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2150, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2150, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2151: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsds_nn___pyx_t_5numpy_float64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2151, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2152: self.memory[:] = self.fill
__pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2152, __pyx_L1_error) { __pyx_t_5numpy_float64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { *((__pyx_t_5numpy_float64_t *) __pyx_temp_pointer_1) = __pyx_temp_scalar; __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2153:
2154:
+2155: cdef class VCFInfoFlagParser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFlagParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoFlagParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoFlagParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoFlagParser;
2156:
2157: cdef np.uint8_t[:] memory
2158:
+2159: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFlagParser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFlagParser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFlagParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2160: kwargs['dtype'] = 'uint8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint8) < 0)) __PYX_ERR(0, 2160, __pyx_L1_error)
+2161: super(VCFInfoFlagParser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFlagParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFlagParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoFlagParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2162:
+2163: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFlagParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFlagParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2164: # nothing to parse
+2165: self.memory[context.chunk_variant_index] = 1
__pyx_t_1 = __pyx_v_context->chunk_variant_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_1 * __pyx_v_self->memory.strides[0]) )) = 1;
2166: # ensure we advance the end of the field
+2167: while stream.c != SEMICOLON and \
while (1) { __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; }
+2168: stream.c != TAB and \
__pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; }
+2169: stream.c != LF and \
__pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; }
+2170: stream.c != CR and \
__pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; }
+2171: stream.c != 0:
__pyx_t_3 = ((__pyx_v_stream->c != 0) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L5_bool_binop_done:; if (!__pyx_t_2) break;
+2172: stream.advance()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2172, __pyx_L1_error)
}
2173:
+2174: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFlagParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFlagParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_make_chunk { int __pyx_n; PyObject *limit; };
2175: # override to view as bool array
+2176: field = u'variants/' + text_type(self.key, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_self->__pyx_base.key); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->__pyx_base.key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_kp_u_variants_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_field = __pyx_t_2; __pyx_t_2 = 0;
+2177: chunk[field] = self.values[:limit].view(bool)
__pyx_t_1 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->__pyx_base.values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_view); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_1) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, ((PyObject*)&PyBool_Type)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_1, ((PyObject*)&PyBool_Type)}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_1, ((PyObject*)&PyBool_Type)}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; __Pyx_INCREF(((PyObject*)&PyBool_Type)); __Pyx_GIVEREF(((PyObject*)&PyBool_Type)); PyTuple_SET_ITEM(__pyx_t_3, 0+1, ((PyObject*)&PyBool_Type)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_t_2) < 0)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2178:
+2179: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoFlagParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoFlagParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoFlagParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2180: self.values = np.empty(self.chunk_length, dtype=self.dtype)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2180, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2181: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2181, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2182: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2182, __pyx_L1_error) { __pyx_t_5numpy_uint8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { *((__pyx_t_5numpy_uint8_t *) __pyx_temp_pointer_0) = __pyx_temp_scalar; __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2183:
2184:
+2185: cdef class VCFInfoStringParser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoStringParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoStringParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoStringParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoStringParser;
2186:
2187: cdef np.uint8_t[:] memory
2188:
+2189: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoStringParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoStringParser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoStringParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoStringParser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2190: kwargs['dtype'] = check_string_dtype(kwargs.get('dtype'))
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_s_dtype, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_t_1) < 0)) __PYX_ERR(0, 2190, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2191: super(VCFInfoStringParser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoStringParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoStringParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoStringParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2192:
+2193: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoStringParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoStringParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_value_index; Py_ssize_t __pyx_v_memory_offset; Py_ssize_t __pyx_v_memory_index; Py_ssize_t __pyx_v_chars_stored; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoStringParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2194: cdef:
+2195: Py_ssize_t value_index = 0
__pyx_v_value_index = 0;
2196: # index into memory view
2197: Py_ssize_t memory_offset, memory_index
2198: # number of characters read into current value
+2199: Py_ssize_t chars_stored = 0
__pyx_v_chars_stored = 0;
2200:
2201: # initialise memory index
+2202: memory_offset = context.chunk_variant_index * self.itemsize * self.number
__pyx_v_memory_offset = ((__pyx_v_context->chunk_variant_index * __pyx_v_self->__pyx_base.itemsize) * __pyx_v_self->__pyx_base.number);
+2203: memory_index = memory_offset
__pyx_v_memory_index = __pyx_v_memory_offset;
2204:
+2205: while True:
while (1) {
2206:
+2207: if stream.c == 0 or \
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+2208: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2209: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2210: stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2211: stream.c == SEMICOLON:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:;
+2212: break
goto __pyx_L4_break;
2213:
+2214: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
2215: # advance value index
+2216: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1);
2217: # set memory index to beginning of next item
+2218: memory_index = memory_offset + (value_index * self.itemsize)
__pyx_v_memory_index = (__pyx_v_memory_offset + (__pyx_v_value_index * __pyx_v_self->__pyx_base.itemsize));
2219: # reset chars stored
+2220: chars_stored = 0
__pyx_v_chars_stored = 0;
2221:
+2222: elif chars_stored < self.itemsize and value_index < self.number:
__pyx_t_2 = ((__pyx_v_chars_stored < __pyx_v_self->__pyx_base.itemsize) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L11_bool_binop_done; } __pyx_t_2 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L11_bool_binop_done:; if (__pyx_t_1) { /* … */ } __pyx_L5:;
2223: # store value
+2224: self.memory[memory_index] = stream.c
__pyx_t_3 = __pyx_v_stream->c; __pyx_t_4 = __pyx_v_memory_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_4 * __pyx_v_self->memory.strides[0]) )) = __pyx_t_3;
2225: # advance memory index
+2226: memory_index += 1
__pyx_v_memory_index = (__pyx_v_memory_index + 1);
2227: # advance number of characters stored
+2228: chars_stored += 1
__pyx_v_chars_stored = (__pyx_v_chars_stored + 1);
2229:
2230: # advance input stream
+2231: stream.advance()
__pyx_t_5 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 2231, __pyx_L1_error)
}
__pyx_L4_break:;
2232:
+2233: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoStringParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoStringParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoStringParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2234: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2235: self.values = np.zeros(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2235, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2236: self.memory = self.values.reshape(-1).view('u1')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_view); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__57 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__57); __Pyx_GIVEREF(__pyx_tuple__57); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_1); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0); __pyx_v_self->memory = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL; __pyx_tuple__58 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58);
2237:
2238:
+2239: cdef class VCFInfoObjectParser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoObjectParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoObjectParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoObjectParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoObjectParser;
2240:
+2241: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_19VCFInfoObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoObjectParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoObjectParser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_19VCFInfoObjectParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoObjectParser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2242: kwargs['dtype'] = np.dtype('object')
__pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_t_1) < 0)) __PYX_ERR(0, 2242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 2242, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__59); __Pyx_GIVEREF(__pyx_tuple__59);
+2243: super(VCFInfoObjectParser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoObjectParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoObjectParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoObjectParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2244:
+2245: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoObjectParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoObjectParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_value_index; PyObject *__pyx_v_v = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoObjectParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_RefNannyFinishContext(); return __pyx_r; }
2246: cdef:
+2247: Py_ssize_t value_index = 0
__pyx_v_value_index = 0;
2248:
+2249: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
2250:
+2251: while True:
while (1) {
2252:
+2253: if stream.c == 0 or \
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+2254: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2255: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2256: stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2257: stream.c == SEMICOLON:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:;
+2258: if value_index < self.number and context.info_val.size > 0:
__pyx_t_2 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L12_bool_binop_done; } __pyx_t_2 = ((__pyx_v_context->info_val.size > 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L12_bool_binop_done:; if (__pyx_t_1) { /* … */ }
2259: # with gil:
+2260: v = CharVector_to_pystr(&context.info_val)
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->info_val)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_3); __pyx_t_3 = 0;
+2261: self.values[context.chunk_variant_index, value_index] = v
__pyx_t_3 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_value_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_5, __pyx_v_v) < 0)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2262: break
goto __pyx_L4_break;
2263:
+2264: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+2265: if value_index < self.number and context.info_val.size > 0:
__pyx_t_2 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L15_bool_binop_done; } __pyx_t_2 = ((__pyx_v_context->info_val.size > 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L15_bool_binop_done:; if (__pyx_t_1) { /* … */ }
2266: # with gil:
+2267: v = CharVector_to_pystr(&context.info_val)
__pyx_t_5 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->info_val)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_5); __pyx_t_5 = 0;
+2268: self.values[context.chunk_variant_index, value_index] = v
__pyx_t_5 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_value_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __pyx_t_5 = 0; __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_3, __pyx_v_v) < 0)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2269: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
2270: # advance value index
+2271: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1);
2272:
+2273: elif value_index < self.number:
__pyx_t_1 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_1) { /* … */ } __pyx_L5:;
+2274: CharVector_append(&context.info_val, stream.c)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c);
2275:
2276: # advance input stream
+2277: stream.advance()
__pyx_t_6 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 2277, __pyx_L1_error)
}
__pyx_L4_break:;
2278:
+2279: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_19VCFInfoObjectParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoObjectParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoObjectParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2280: shape = (self.chunk_length, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_v_shape = __pyx_t_3; __pyx_t_3 = 0;
+2281: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2281, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_4); __pyx_t_4 = 0;
+2282: self.values.fill(u'')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 2282, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60);
2283:
2284:
+2285: cdef class VCFInfoSkipParser(VCFInfoParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoSkipParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoSkipParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFInfoSkipParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFInfoSkipParser;
2286:
+2287: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; if (unlikely(__pyx_kwds)) { __pyx_v_kwargs = PyDict_Copy(__pyx_kwds); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); } else { __pyx_v_kwargs = NULL; } __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoSkipParser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoSkipParser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoSkipParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2288: super(VCFInfoSkipParser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoSkipParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoSkipParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFInfoSkipParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2289:
+2290: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoSkipParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFInfoSkipParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2291: # ensure we advance the end of the field
+2292: while stream.c != SEMICOLON and \
while (1) { __pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2293: stream.c != TAB and \
__pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2294: stream.c != LF and \
__pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2295: stream.c != CR and \
__pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2296: stream.c != 0:
__pyx_t_2 = ((__pyx_v_stream->c != 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (!__pyx_t_1) break;
+2297: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2297, __pyx_L1_error)
}
2298:
+2299: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_malloc_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoSkipParser *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2300: pass
2301:
+2302: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_make_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFInfoSkipParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_make_chunk *__pyx_optional_args) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { } /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFInfoSkipParser_make_chunk { int __pyx_n; PyObject *limit; };
2303: pass
2304:
2305:
+2306: cdef int vcf_info_parse_integer(InputStreamBase stream,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_info_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2307: VCFContext context,
2308: integer[:, :] memory) except -1: # nogil
2309: cdef:
+2310: Py_ssize_t value_index = 0
__pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0;
2311:
2312: # reset temporary buffer
+2313: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
2314:
+2315: while True:
while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) {
2316:
+2317: if stream.c == 0 or \
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+2318: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2319: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2320: stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2321: stream.c == SEMICOLON:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:;
+2322: vcf_info_store_integer(context, value_index, memory)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2322, __pyx_L1_error)
+2323: break
goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break;
2324:
+2325: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+2326: vcf_info_store_integer(context, value_index, memory)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2326, __pyx_L1_error)
+2327: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
+2328: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1);
2329:
2330: else:
+2331: CharVector_append(&context.info_val, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:;
2332:
+2333: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2333, __pyx_L1_error) } __pyx_L4_break:;
2334:
2335:
+2336: cdef int vcf_info_store_integer(VCFContext context,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_info_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2337: Py_ssize_t value_index,
2338: integer[:, :] memory) except -1: # nogil
2339: cdef:
2340: Py_ssize_t parsed
2341: long value
2342:
+2343: if value_index >= memory.shape[1]:
__pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ }
2344: # more values than we have room for, ignore
+2345: return 0
__pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0;
2346:
2347: # parse string as integer
+2348: parsed = vcf_strtol(&context.info_val, context, &value)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2348, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2;
2349:
+2350: if parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
2351: # store value
+2352: memory[context.chunk_variant_index, value_index] = value
__pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_int8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_int16_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_int64_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_uint16_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_uint32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_uint64_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value;
2353:
2354:
+2355: cdef int vcf_info_parse_floating(InputStreamBase stream,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_info_parse_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_parse_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_info_parse_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_parse_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2356: VCFContext context,
2357: floating[:, :] memory) except -1: # nogil
2358: cdef:
+2359: Py_ssize_t value_index = 0
__pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0;
2360:
2361: # reset temporary buffer
+2362: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
2363:
+2364: while True:
while (1) { /* … */ while (1) {
2365:
+2366: if stream.c == 0 or \
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+2367: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2368: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2369: stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+2370: stream.c == SEMICOLON:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SEMICOLON) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:;
+2371: vcf_info_store_floating(context, value_index, memory)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2371, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2371, __pyx_L1_error)
+2372: break
goto __pyx_L4_break; /* … */ goto __pyx_L4_break;
2373:
+2374: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+2375: vcf_info_store_floating(context, value_index, memory)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2375, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2375, __pyx_L1_error)
+2376: CharVector_clear(&context.info_val)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->info_val));
+2377: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1);
2378:
2379: else:
+2380: CharVector_append(&context.info_val, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->info_val), __pyx_v_stream->c); } __pyx_L5:;
2381:
+2382: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2382, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2382, __pyx_L1_error) } __pyx_L4_break:;
2383:
2384:
+2385: cdef int vcf_info_store_floating(VCFContext context,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; double __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_info_store_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_info_store_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; double __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_info_store_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_info_store_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2386: Py_ssize_t value_index,
2387: floating[:, :] memory) except -1: # nogil
2388: cdef:
2389: Py_ssize_t parsed
2390: double value
2391:
+2392: if value_index >= memory.shape[1]:
__pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[1])) != 0); if (__pyx_t_1) { /* … */ }
2393: # more values than we have room for, ignore
+2394: return 0
__pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0;
2395:
2396: # parse string as floating
+2397: parsed = vcf_strtod(&context.info_val, context, &value)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtod((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2397, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtod((&__pyx_v_context->info_val), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2397, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2;
2398:
+2399: if parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
2400: # store value
+2401: memory[context.chunk_variant_index, value_index] = value
__pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_float32_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_value_index; *((__pyx_t_5numpy_float64_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) )) = __pyx_v_value;
2402:
2403:
2404: ##########################################################################################
2405: # FORMAT and calldata parsing
2406:
2407:
+2408: cdef class VCFFormatParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; PyObject *format_keys; Py_ssize_t n_formats; char **format_keys_cstr; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFormatParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; int (*store_format)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFormatParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFFormatParser;
2409:
2410: cdef:
2411: tuple format_keys
2412: Py_ssize_t n_formats
2413: char** format_keys_cstr
2414:
+2415: def __cinit__(self, format_keys):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFormatParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFormatParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_format_keys = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_format_keys,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_format_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2415, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_format_keys = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2415, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFormatParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFormatParser___cinit__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *)__pyx_v_self), __pyx_v_format_keys); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFormatParser___cinit__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *__pyx_v_self, PyObject *__pyx_v_format_keys) { Py_ssize_t __pyx_v_i; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFormatParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2416:
2417: # setup FORMAT keys
2418: # N.B., need to keep a reference to these, otherwise C strings will not behave
+2419: self.format_keys = tuple(sorted(format_keys))
__pyx_t_2 = PySequence_List(__pyx_v_format_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2419, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2419, __pyx_L1_error) if (unlikely(__pyx_t_1 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 2419, __pyx_L1_error) } __pyx_t_2 = PyList_AsTuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2419, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->format_keys); __Pyx_DECREF(__pyx_v_self->format_keys); __pyx_v_self->format_keys = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+2420: self.n_formats = len(self.format_keys)
__pyx_t_2 = __pyx_v_self->format_keys; __Pyx_INCREF(__pyx_t_2); if (unlikely(__pyx_t_2 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 2420, __pyx_L1_error) } __pyx_t_4 = PyTuple_GET_SIZE(__pyx_t_2); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2420, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_self->n_formats = __pyx_t_4;
2421:
2422: # setup FORMAT keys as C strings for nogil searching
+2423: self.format_keys_cstr = <char**> malloc(sizeof(char*) * self.n_formats)
__pyx_v_self->format_keys_cstr = ((char **)malloc(((sizeof(char *)) * __pyx_v_self->n_formats)));
+2424: for i in range(self.n_formats):
__pyx_t_4 = __pyx_v_self->n_formats; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+2425: self.format_keys_cstr[i] = <char*> self.format_keys[i]
if (unlikely(__pyx_v_self->format_keys == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2425, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyObject_AsWritableString(PyTuple_GET_ITEM(__pyx_v_self->format_keys, __pyx_v_i)); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 2425, __pyx_L1_error) (__pyx_v_self->format_keys_cstr[__pyx_v_i]) = ((char *)__pyx_t_6); }
2426:
+2427: def __init__(self, format_keys):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFormatParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFormatParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED PyObject *__pyx_v_format_keys = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_format_keys,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_format_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2427, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_format_keys = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2427, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFormatParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFormatParser_2__init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *)__pyx_v_self), __pyx_v_format_keys); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFormatParser_2__init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_format_keys) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFormatParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2428: super(VCFFormatParser, self).__init__(key=b'FORMAT')
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFormatParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFormatParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFFormatParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_n_b_FORMAT) < 0) __PYX_ERR(0, 2428, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2429:
+2430: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFormatParser_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_15VCFFormatParser_5__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFormatParser_4__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_15VCFFormatParser_4__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+2431: if self.format_keys_cstr is not NULL:
__pyx_t_1 = ((__pyx_v_self->format_keys_cstr != NULL) != 0); if (__pyx_t_1) { /* … */ }
+2432: free(self.format_keys_cstr)
free(__pyx_v_self->format_keys_cstr);
2433:
+2434: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15VCFFormatParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFFormatParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2435:
2436: # reset temporary buffer
+2437: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
+2438: IntVector_clear(&context.variant_format_indices)
__pyx_f_5allel_3opt_11io_vcf_read_IntVector_clear((&__pyx_v_context->variant_format_indices));
2439:
+2440: while True:
while (1) {
2441:
+2442: if stream.c == 0:
__pyx_t_1 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_1) { /* … */ }
2443: # no point setting format, there will be no calldata
+2444: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+2445: break
goto __pyx_L4_break;
2446:
+2447: elif stream.c == LF or stream.c == CR:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ }
2448: # no point setting format, there will be no calldata
+2449: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+2450: break
goto __pyx_L4_break;
2451:
+2452: elif stream.c == TAB:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_1) { /* … */ }
+2453: self.store_format(context)
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFormatParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->store_format(__pyx_v_self, __pyx_v_context); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2453, __pyx_L1_error)
2454: # we're done here, advance to next field
+2455: context.state += 1
__pyx_v_context->state = (__pyx_v_context->state + 1);
+2456: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2456, __pyx_L1_error)
+2457: break
goto __pyx_L4_break;
2458:
+2459: elif stream.c == COLON:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+2460: self.store_format(context)
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFormatParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->store_format(__pyx_v_self, __pyx_v_context); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2460, __pyx_L1_error)
2461:
2462: else:
+2463: CharVector_append(&context.temp, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:;
2464:
2465: # advance to next character
+2466: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2466, __pyx_L1_error)
}
__pyx_L4_break:;
2467:
+2468: cdef int store_format(self, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_15VCFFormatParser_store_format(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFormatParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_format_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("store_format", 0); /* … */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2469: cdef Py_ssize_t format_index
2470:
2471: # deal with empty or missing data
+2472: if context.temp.size == 0:
__pyx_t_1 = ((__pyx_v_context->temp.size == 0) != 0); if (__pyx_t_1) { /* … */ }
2473: # not strictly kosher, handle as missing/empty
+2474: return 0
__pyx_r = 0; goto __pyx_L0;
2475:
+2476: if context.temp.size == 1 and context.temp.data[0] == PERIOD:
__pyx_t_2 = ((__pyx_v_context->temp.size == 1) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = (((__pyx_v_context->temp.data[0]) == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* … */ }
+2477: return 0
__pyx_r = 0; goto __pyx_L0;
2478:
2479: # terminate the string
+2480: CharVector_terminate(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate((&__pyx_v_context->temp));
2481:
2482: # find format index
+2483: format_index = search_sorted_cstr(context.temp.data, self.format_keys_cstr, self.n_formats)
__pyx_v_format_index = __pyx_f_5allel_3opt_11io_vcf_read_search_sorted_cstr(__pyx_v_context->temp.data, __pyx_v_self->format_keys_cstr, __pyx_v_self->n_formats);
2484:
2485: # add to vector of indices for the current variant
+2486: IntVector_append(&context.variant_format_indices, format_index)
__pyx_f_5allel_3opt_11io_vcf_read_IntVector_append((&__pyx_v_context->variant_format_indices), __pyx_v_format_index);
2487:
2488: # clear out temp
+2489: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
2490:
2491:
2492:
+2493: cdef class VCFSkipAllCallDataParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser;
2494: """Skip a field."""
2495:
+2496: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFSkipAllCallDataParser_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFSkipAllCallDataParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2497: vcf_skip_variant(stream, context)
__pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_skip_variant(__pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2497, __pyx_L1_error)
2498:
+2499: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFSkipAllCallDataParser_make_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFSkipAllCallDataParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_24VCFSkipAllCallDataParser_make_chunk *__pyx_optional_args) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { } /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_24VCFSkipAllCallDataParser_make_chunk { int __pyx_n; PyObject *limit; };
2500: pass
2501:
2502:
+2503: cdef class VCFCallDataParser(VCFFieldParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; PyObject *format_keys; Py_ssize_t n_formats; PyObject *parsers; PyObject **parsers_cptr; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *skip_parser; __Pyx_memviewslice loc_samples; Py_ssize_t n_samples; Py_ssize_t n_samples_out; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFFieldParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataParser;
2504:
2505: cdef:
2506: tuple format_keys
2507: Py_ssize_t n_formats
2508: tuple parsers
2509: PyObject** parsers_cptr
2510: VCFCallDataParserBase skip_parser
2511: np.uint8_t[:] loc_samples
2512: Py_ssize_t n_samples
2513: Py_ssize_t n_samples_out
2514:
+2515: def __cinit__(self, format_keys, types, numbers, chunk_length, loc_samples, fills):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFCallDataParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFCallDataParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_format_keys = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_loc_samples = 0; PyObject *__pyx_v_fills = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_format_keys,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_chunk_length,&__pyx_n_s_loc_samples,&__pyx_n_s_fills,0}; PyObject* values[6] = {0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_format_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 1); __PYX_ERR(0, 2515, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 2); __PYX_ERR(0, 2515, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 3); __PYX_ERR(0, 2515, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_loc_samples)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 4); __PYX_ERR(0, 2515, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 5); __PYX_ERR(0, 2515, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2515, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_format_keys = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_chunk_length = values[3]; __pyx_v_loc_samples = values[4]; __pyx_v_fills = values[5]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2515, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFCallDataParser___cinit__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *)__pyx_v_self), __pyx_v_format_keys, __pyx_v_types, __pyx_v_numbers, __pyx_v_chunk_length, __pyx_v_loc_samples, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFCallDataParser___cinit__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_v_self, PyObject *__pyx_v_format_keys, PyObject *__pyx_v_types, PyObject *__pyx_v_numbers, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_loc_samples, PyObject *__pyx_v_fills) { PyObject *__pyx_v_parsers = NULL; PyObject *__pyx_v_kwds = NULL; PyObject *__pyx_v_key = NULL; PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_n = NULL; CYTHON_UNUSED PyObject *__pyx_v_fill = NULL; struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_parser = NULL; Py_ssize_t __pyx_v_i; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __PYX_XDEC_MEMVIEW(&__pyx_t_2, 1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); __Pyx_XDECREF(__pyx_t_16); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_parsers); __Pyx_XDECREF(__pyx_v_kwds); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF(__pyx_v_n); __Pyx_XDECREF(__pyx_v_fill); __Pyx_XDECREF((PyObject *)__pyx_v_parser); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2516: self.chunk_length = chunk_length
__pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_v_chunk_length); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2516, __pyx_L1_error) __pyx_v_self->__pyx_base.chunk_length = __pyx_t_1;
+2517: self.loc_samples = loc_samples
__pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_v_loc_samples);
if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 2517, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->loc_samples, 0);
__pyx_v_self->loc_samples = __pyx_t_2;
__pyx_t_2.memview = NULL;
__pyx_t_2.data = NULL;
+2518: self.n_samples = loc_samples.shape[0]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_loc_samples, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_self->n_samples = __pyx_t_1;
+2519: self.n_samples_out = np.count_nonzero(loc_samples)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_count_nonzero); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_3) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_loc_samples); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_loc_samples}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_loc_samples}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_v_loc_samples); __Pyx_GIVEREF(__pyx_v_loc_samples); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_loc_samples); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_self->n_samples_out = __pyx_t_1;
2520:
2521: # setup formats
+2522: self.format_keys = tuple(sorted(format_keys))
__pyx_t_5 = PySequence_List(__pyx_v_format_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = PyList_Sort(__pyx_t_4); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 2522, __pyx_L1_error) if (unlikely(__pyx_t_4 == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 2522, __pyx_L1_error) } __pyx_t_5 = PyList_AsTuple(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->format_keys); __Pyx_DECREF(__pyx_v_self->format_keys); __pyx_v_self->format_keys = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+2523: self.n_formats = len(self.format_keys)
__pyx_t_5 = __pyx_v_self->format_keys; __Pyx_INCREF(__pyx_t_5); if (unlikely(__pyx_t_5 == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 2523, __pyx_L1_error) } __pyx_t_1 = PyTuple_GET_SIZE(__pyx_t_5); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2523, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_self->n_formats = __pyx_t_1;
2524:
2525: # setup parsers
+2526: self.skip_parser = VCFCallDataSkipParser(key=None)
__pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_key, Py_None) < 0) __PYX_ERR(0, 2526, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->skip_parser); __Pyx_DECREF(((PyObject *)__pyx_v_self->skip_parser)); __pyx_v_self->skip_parser = ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_4); __pyx_t_4 = 0;
+2527: parsers = list()
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_parsers = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
+2528: kwds = dict(chunk_length=chunk_length, n_samples_out=self.n_samples_out)
__pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 2528, __pyx_L1_error) __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_self->n_samples_out); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_n_samples_out, __pyx_t_5) < 0) __PYX_ERR(0, 2528, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_kwds = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
+2529: for key in self.format_keys:
if (unlikely(__pyx_v_self->format_keys == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 2529, __pyx_L1_error) } __pyx_t_4 = __pyx_v_self->format_keys; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0; for (;;) { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 2529, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2530: t = types[key]
__pyx_t_5 = PyObject_GetItem(__pyx_v_types, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_5); __pyx_t_5 = 0;
+2531: n = numbers[key]
__pyx_t_5 = PyObject_GetItem(__pyx_v_numbers, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_n, __pyx_t_5); __pyx_t_5 = 0;
2532:
2533: # special handling of "genotype" dtypes for any field
+2534: if isinstance(t, str) and t.startswith('genotype/'):
__pyx_t_9 = PyString_Check(__pyx_v_t); __pyx_t_10 = (__pyx_t_9 != 0); if (__pyx_t_10) { } else { __pyx_t_8 = __pyx_t_10; goto __pyx_L6_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_startswith); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __pyx_t_10; __pyx_L6_bool_binop_done:; if (__pyx_t_8) { /* … */ __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_s_genotype); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); /* … */ goto __pyx_L5; }
+2535: fill = fills.get(key, -1)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif { __pyx_t_12 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_12, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_fill, __pyx_t_6); __pyx_t_6 = 0;
+2536: t = np.dtype(t.split('/')[1])
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_split); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_t, __pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 2536, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__64); __Pyx_GIVEREF(__pyx_tuple__64);
+2537: if t == np.dtype('int8'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__65, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_int8); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 2537, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65);
+2538: parser = VCFGenotypeInt8Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2538, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2538, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2539: elif t == np.dtype('int16'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_int16); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__66); __Pyx_GIVEREF(__pyx_tuple__66);
+2540: parser = VCFGenotypeInt16Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2540, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2540, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser), __pyx_t_6, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2541: elif t == np.dtype('int32'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__67, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 2541, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__67); __Pyx_GIVEREF(__pyx_tuple__67);
+2542: parser = VCFGenotypeInt32Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2542, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2542, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser), __pyx_t_12, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2543: elif t == np.dtype('int64'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2543, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2543, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_s_int64); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 2543, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__68); __Pyx_GIVEREF(__pyx_tuple__68);
+2544: parser = VCFGenotypeInt64Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2544, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2544, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2545: elif t == np.dtype('uint8'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__69 = PyTuple_Pack(1, __pyx_n_s_uint8); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 2545, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__69); __Pyx_GIVEREF(__pyx_tuple__69);
+2546: parser = VCFGenotypeUInt8Parser(key, number=n, fill=fills.get(key, IU8.max), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2546, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2546, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser), __pyx_t_6, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2547: elif t == np.dtype('uint16'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_s_uint16); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__70); __Pyx_GIVEREF(__pyx_tuple__70);
+2548: parser = VCFGenotypeUInt16Parser(key, number=n, fill=fills.get(key, IU16.max), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2548, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2548, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser), __pyx_t_12, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2549: elif t == np.dtype('uint32'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_uint32); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__71); __Pyx_GIVEREF(__pyx_tuple__71);
+2550: parser = VCFGenotypeUInt32Parser(key, number=n, fill=fills.get(key, IU32.max), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2550, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2550, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2551: elif t == np.dtype('uint64'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L8; } /* … */ __pyx_tuple__72 = PyTuple_Pack(1, __pyx_n_s_uint64); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(0, 2551, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__72); __Pyx_GIVEREF(__pyx_tuple__72);
+2552: parser = VCFGenotypeUInt64Parser(key, number=n, fill=fills.get(key, IU64.max), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2552, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2552, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser), __pyx_t_6, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
2553: else:
+2554: warnings.warn('type %r not supported for genotype field %r, field will be skipped' % (t, key))
/*else*/ { __pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_warn); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_t); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_key); __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_type_r_not_supported_for_genotyp, __pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_12) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_3}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_3}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2555: parser = self.skip_parser
__pyx_t_5 = ((PyObject *)__pyx_v_self->skip_parser); __Pyx_INCREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0; } __pyx_L8:;
2556:
2557: # special handling of "genotype_ac" dtypes for any field
+2558: elif isinstance(t, str) and t.startswith('genotype_ac/'):
__pyx_t_10 = PyString_Check(__pyx_v_t); __pyx_t_9 = (__pyx_t_10 != 0); if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L9_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_startswith); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L9_bool_binop_done:; if (__pyx_t_8) { /* … */ __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_s_genotype_ac); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__73); __Pyx_GIVEREF(__pyx_tuple__73); /* … */ goto __pyx_L5; }
+2559: t = np.dtype(t.split('/')[1])
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_split); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_t, __pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 2559, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__74); __Pyx_GIVEREF(__pyx_tuple__74);
+2560: if t == np.dtype('int8'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__75, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2560, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2560, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_int8); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 2560, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__75); __Pyx_GIVEREF(__pyx_tuple__75);
+2561: parser = VCFGenotypeACInt8Parser(key, number=n, **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2561, __pyx_L1_error) __pyx_t_6 = __pyx_t_13; __pyx_t_13 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2561, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_13)); __pyx_t_13 = 0;
+2562: elif t == np.dtype('int16'):
__pyx_t_13 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__76, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_13, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2562, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2562, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_int16); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 2562, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__76); __Pyx_GIVEREF(__pyx_tuple__76);
+2563: parser = VCFGenotypeACInt16Parser(key, number=n, **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2563, __pyx_L1_error) __pyx_t_13 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_13, __pyx_v_kwds) < 0) __PYX_ERR(0, 2563, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser), __pyx_t_6, __pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2564: elif t == np.dtype('int32'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__77, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2564, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2564, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 2564, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__77); __Pyx_GIVEREF(__pyx_tuple__77);
+2565: parser = VCFGenotypeACInt32Parser(key, number=n, **kwds)
__pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2565, __pyx_L1_error) __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2565, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser), __pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2566: elif t == np.dtype('int64'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__78, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2566, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2566, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__78 = PyTuple_Pack(1, __pyx_n_s_int64); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 2566, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__78); __Pyx_GIVEREF(__pyx_tuple__78);
+2567: parser = VCFGenotypeACInt64Parser(key, number=n, **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2567, __pyx_L1_error) __pyx_t_6 = __pyx_t_13; __pyx_t_13 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2567, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_13)); __pyx_t_13 = 0;
+2568: elif t == np.dtype('uint8'):
__pyx_t_13 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_13, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2568, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2568, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_uint8); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 2568, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__79); __Pyx_GIVEREF(__pyx_tuple__79);
+2569: parser = VCFGenotypeACUInt8Parser(key, number=n, **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2569, __pyx_L1_error) __pyx_t_13 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_13, __pyx_v_kwds) < 0) __PYX_ERR(0, 2569, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser), __pyx_t_6, __pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2570: elif t == np.dtype('uint16'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__80, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_uint16); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__80); __Pyx_GIVEREF(__pyx_tuple__80);
+2571: parser = VCFGenotypeACUInt16Parser(key, number=n, **kwds)
__pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2571, __pyx_L1_error) __pyx_t_5 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2571, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser), __pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2572: elif t == np.dtype('uint32'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__81, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2572, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2572, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__81 = PyTuple_Pack(1, __pyx_n_s_uint32); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 2572, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81);
+2573: parser = VCFGenotypeACUInt32Parser(key, number=n, **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2573, __pyx_L1_error) __pyx_t_6 = __pyx_t_13; __pyx_t_13 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2573, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_13)); __pyx_t_13 = 0;
+2574: elif t == np.dtype('uint64'):
__pyx_t_13 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__82, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_13, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2574, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2574, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L11; } /* … */ __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_uint64); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 2574, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__82); __Pyx_GIVEREF(__pyx_tuple__82);
+2575: parser = VCFGenotypeACUInt64Parser(key, number=n, **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2575, __pyx_L1_error) __pyx_t_13 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_13, __pyx_v_kwds) < 0) __PYX_ERR(0, 2575, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser), __pyx_t_6, __pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
2576: else:
+2577: warnings.warn('type %r not supported for genotype_ac field %r, field will be skipped' % (t, key))
/*else*/ { __pyx_t_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_warn); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v_t); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_v_key); __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_type_r_not_supported_for_genotyp_2, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_13) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_13, __pyx_t_3}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_13, __pyx_t_3}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_13); __pyx_t_13 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_12, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2578: parser = self.skip_parser
__pyx_t_5 = ((PyObject *)__pyx_v_self->skip_parser); __Pyx_INCREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0; } __pyx_L11:;
2579:
2580: # special handling of GT field
+2581: elif key == b'GT' and t == np.dtype('int8'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2581, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L12_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__83, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L12_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__83 = PyTuple_Pack(1, __pyx_n_s_int8); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__83); __Pyx_GIVEREF(__pyx_tuple__83);
+2582: parser = VCFGenotypeInt8Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2582, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2582, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser), __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2583: elif key == b'GT' and t == np.dtype('int16'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2583, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L14_bool_binop_done; } __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__84, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L14_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_int16); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__84); __Pyx_GIVEREF(__pyx_tuple__84);
+2584: parser = VCFGenotypeInt16Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2584, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2584, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser), __pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2585: elif key == b'GT' and t == np.dtype('int32'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2585, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L16_bool_binop_done; } __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L16_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 2585, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__85); __Pyx_GIVEREF(__pyx_tuple__85);
+2586: parser = VCFGenotypeInt32Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2586, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2586, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2587: elif key == b'GT' and t == np.dtype('int64'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2587, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L18_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__86, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L18_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_int64); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 2587, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__86); __Pyx_GIVEREF(__pyx_tuple__86);
+2588: parser = VCFGenotypeInt64Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2588, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2588, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser), __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2589: elif key == b'GT' and t == np.dtype('uint8'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2589, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L20_bool_binop_done; } __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2589, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2589, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L20_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_s_uint8); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 2589, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87);
+2590: parser = VCFGenotypeUInt8Parser(key, number=n, fill=fills.get(key, IU8.max), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2590, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2590, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser), __pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2591: elif key == b'GT' and t == np.dtype('uint16'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2591, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L22_bool_binop_done; } __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L22_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_s_uint16); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 2591, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__88); __Pyx_GIVEREF(__pyx_tuple__88);
+2592: parser = VCFGenotypeUInt16Parser(key, number=n, fill=fills.get(key, IU16.max), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2592, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2592, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2593: elif key == b'GT' and t == np.dtype('uint32'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2593, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L24_bool_binop_done; } __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L24_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_s_uint32); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__89); __Pyx_GIVEREF(__pyx_tuple__89);
+2594: parser = VCFGenotypeUInt32Parser(key, number=n, fill=fills.get(key, IU32.max), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2594, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2594, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser), __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2595: elif key == b'GT' and t == np.dtype('uint64'):
__pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_key, __pyx_n_b_GT, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2595, __pyx_L1_error) if (__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L26_bool_binop_done; } __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 2595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __pyx_t_9; __pyx_L26_bool_binop_done:; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_uint64); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 2595, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__90); __Pyx_GIVEREF(__pyx_tuple__90);
+2596: parser = VCFGenotypeUInt64Parser(key, number=n, fill=fills.get(key, IU64.max), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2596, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2596, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser), __pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
2597:
2598: # all other calldata
+2599: elif t == np.dtype('int8'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__91, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_int8); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 2599, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__91); __Pyx_GIVEREF(__pyx_tuple__91);
+2600: parser = VCFCallDataInt8Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2600, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2600, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2601: elif t == np.dtype('int16'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__92, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_int16); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__92); __Pyx_GIVEREF(__pyx_tuple__92);
+2602: parser = VCFCallDataInt16Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2602, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2602, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser), __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2603: elif t == np.dtype('int32'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__93 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 2603, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__93); __Pyx_GIVEREF(__pyx_tuple__93);
+2604: parser = VCFCallDataInt32Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2604, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2604, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser), __pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2605: elif t == np.dtype('int64'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__94, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_int64); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94);
+2606: parser = VCFCallDataInt64Parser(key, number=n, fill=fills.get(key, -1), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2606, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_int_neg_1}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_int_neg_1); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2606, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2607: elif t == np.dtype('uint8'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__95 = PyTuple_Pack(1, __pyx_n_s_uint8); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95);
+2608: parser = VCFCallDataUInt8Parser(key, number=n, fill=fills.get(key, IU8.max), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2608, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2608, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser), __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2609: elif t == np.dtype('uint16'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__96, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_uint16); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 2609, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__96); __Pyx_GIVEREF(__pyx_tuple__96);
+2610: parser = VCFCallDataUInt16Parser(key, number=n, fill=fills.get(key, IU16.max), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2610, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2610, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser), __pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2611: elif t == np.dtype('uint32'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_uint32); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 2611, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97);
+2612: parser = VCFCallDataUInt32Parser(key, number=n, fill=fills.get(key, IU32.max), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2612, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2612, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2613: elif t == np.dtype('uint64'):
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__98, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_uint64); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98);
+2614: parser = VCFCallDataUInt64Parser(key, number=n, fill=fills.get(key, IU64.max), **kwds)
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2614, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_key, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_11, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwds) < 0) __PYX_ERR(0, 2614, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser), __pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2615: elif t == np.dtype('float32'):
__pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_12, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_float32); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99);
+2616: parser = VCFCallDataFloat32Parser(key, number=n, fill=fills.get(key, NAN), **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2616, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_t_14}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_v_key, __pyx_t_14}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_16 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_11, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = __pyx_t_6; __pyx_t_6 = 0; if (__Pyx_MergeKeywords(__pyx_t_12, __pyx_v_kwds) < 0) __PYX_ERR(0, 2616, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser), __pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2617: elif t == np.dtype('float64'):
__pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_v_t, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; } /* … */ __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_float64); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 2617, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100);
+2618: parser = VCFCallDataFloat64Parser(key, number=n, fill=fills.get(key, NAN), **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2618, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_fills, __pyx_n_s_get); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_14 = NULL; __pyx_t_11 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_11 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_16}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_key, __pyx_t_16}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_11, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_11, __pyx_t_16); __pyx_t_16 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fill, __pyx_t_3) < 0) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2618, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
+2619: elif t.kind == 'S':
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_5, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; }
+2620: parser = VCFCallDataStringParser(key, dtype=t, number=n, **kwds)
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 2620, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2620, __pyx_L1_error) __pyx_t_6 = __pyx_t_12; __pyx_t_12 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2620, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataStringParser), __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_12)); __pyx_t_12 = 0;
+2621: elif t.kind == 'O':
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_12, __pyx_n_s_O, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 2621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_8) { /* … */ goto __pyx_L5; }
+2622: parser = VCFCallDataObjectParser(key, number=n, **kwds)
__pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_key); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_number, __pyx_v_n) < 0) __PYX_ERR(0, 2622, __pyx_L1_error) __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; if (__Pyx_MergeKeywords(__pyx_t_6, __pyx_v_kwds) < 0) __PYX_ERR(0, 2622, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser), __pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_5)); __pyx_t_5 = 0;
2623:
2624: else:
+2625: parser = VCFCallDataSkipParser(key)
/*else*/ { __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key); __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_6)); __pyx_t_6 = 0;
+2626: warnings.warn('type %r not supported for FORMAT field %r, field will be skipped' % (t, key))
__pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_warn); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_t); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_key); __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_type_r_not_supported_for_FORMAT, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_5) { __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_L5:;
2627:
+2628: parsers.append(parser)
__pyx_t_7 = __Pyx_PyList_Append(__pyx_v_parsers, ((PyObject *)__pyx_v_parser)); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 2628, __pyx_L1_error)
+2629: self.parsers = tuple(parsers)
__pyx_t_4 = PyList_AsTuple(__pyx_v_parsers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->parsers); __Pyx_DECREF(__pyx_v_self->parsers); __pyx_v_self->parsers = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
2630:
2631: # store pointers to parsers
+2632: self.parsers_cptr = <PyObject**> malloc(sizeof(PyObject*) * self.n_formats)
__pyx_v_self->parsers_cptr = ((PyObject **)malloc(((sizeof(PyObject *)) * __pyx_v_self->n_formats)));
+2633: for i in range(self.n_formats):
__pyx_t_1 = __pyx_v_self->n_formats; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_1; __pyx_t_17+=1) { __pyx_v_i = __pyx_t_17;
+2634: self.parsers_cptr[i] = <PyObject*> self.parsers[i]
if (unlikely(__pyx_v_self->parsers == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 2634, __pyx_L1_error) } (__pyx_v_self->parsers_cptr[__pyx_v_i]) = ((PyObject *)PyTuple_GET_ITEM(__pyx_v_self->parsers, __pyx_v_i)); }
2635:
+2636: def __init__(self, format_keys, types, numbers, chunk_length, loc_samples, fills):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFCallDataParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_17VCFCallDataParser_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED PyObject *__pyx_v_format_keys = 0; CYTHON_UNUSED PyObject *__pyx_v_types = 0; CYTHON_UNUSED PyObject *__pyx_v_numbers = 0; PyObject *__pyx_v_chunk_length = 0; CYTHON_UNUSED PyObject *__pyx_v_loc_samples = 0; CYTHON_UNUSED PyObject *__pyx_v_fills = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_format_keys,&__pyx_n_s_types,&__pyx_n_s_numbers,&__pyx_n_s_chunk_length,&__pyx_n_s_loc_samples,&__pyx_n_s_fills,0}; PyObject* values[6] = {0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_format_keys)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 1); __PYX_ERR(0, 2636, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_numbers)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 2); __PYX_ERR(0, 2636, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 3); __PYX_ERR(0, 2636, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_loc_samples)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 4); __PYX_ERR(0, 2636, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fills)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 5); __PYX_ERR(0, 2636, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2636, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_format_keys = values[0]; __pyx_v_types = values[1]; __pyx_v_numbers = values[2]; __pyx_v_chunk_length = values[3]; __pyx_v_loc_samples = values[4]; __pyx_v_fills = values[5]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2636, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_17VCFCallDataParser_2__init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *)__pyx_v_self), __pyx_v_format_keys, __pyx_v_types, __pyx_v_numbers, __pyx_v_chunk_length, __pyx_v_loc_samples, __pyx_v_fills); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_17VCFCallDataParser_2__init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_format_keys, CYTHON_UNUSED PyObject *__pyx_v_types, CYTHON_UNUSED PyObject *__pyx_v_numbers, PyObject *__pyx_v_chunk_length, CYTHON_UNUSED PyObject *__pyx_v_loc_samples, CYTHON_UNUSED PyObject *__pyx_v_fills) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2637: super(VCFCallDataParser, self).__init__(chunk_length=chunk_length)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_chunk_length, __pyx_v_chunk_length) < 0) __PYX_ERR(0, 2637, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2638:
+2639: def __dealloc__(self):
/* Python wrapper */ static void __pyx_pw_5allel_3opt_11io_vcf_read_17VCFCallDataParser_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_5allel_3opt_11io_vcf_read_17VCFCallDataParser_5__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_5allel_3opt_11io_vcf_read_17VCFCallDataParser_4__dealloc__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_5allel_3opt_11io_vcf_read_17VCFCallDataParser_4__dealloc__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); }
+2640: if self.parsers_cptr is not NULL:
__pyx_t_1 = ((__pyx_v_self->parsers_cptr != NULL) != 0); if (__pyx_t_1) { /* … */ }
+2641: free(self.parsers_cptr)
free(__pyx_v_self->parsers_cptr);
2642:
+2643: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFCallDataParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { PyObject *__pyx_v_parser; int __pyx_v_format_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2644: cdef:
2645: PyObject* parser
2646:
2647: # initialise context
+2648: context.sample_index = 0
__pyx_v_context->sample_index = 0;
+2649: context.sample_output_index = -1
__pyx_v_context->sample_output_index = -1L;
+2650: context.sample_field_index = 0
__pyx_v_context->sample_field_index = 0;
2651:
2652: # setup output indexing
+2653: if self.loc_samples[0]:
__pyx_t_1 = 0; __pyx_t_2 = ((*((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->loc_samples.data + __pyx_t_1 * __pyx_v_self->loc_samples.strides[0]) ))) != 0); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+2654: context.sample_output_index += 1
__pyx_v_context->sample_output_index = (__pyx_v_context->sample_output_index + 1);
2655: else:
2656: # skip to next sample
+2657: while stream.c != 0 and stream.c != LF and stream.c != CR and stream.c != TAB:
/*else*/ { while (1) { __pyx_t_3 = ((__pyx_v_stream->c != 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L6_bool_binop_done:; if (!__pyx_t_2) break;
+2658: stream.advance()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2658, __pyx_L1_error)
}
}
__pyx_L3:;
2659:
+2660: while True:
while (1) {
2661:
+2662: if context.sample_index >= self.n_samples:
__pyx_t_2 = ((__pyx_v_context->sample_index >= __pyx_v_self->n_samples) != 0); if (__pyx_t_2) { /* … */ }
2663: # with gil:
+2664: warn('more samples than given in header', context)
__pyx_t_4 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_more_samples_than_given_in_heade, __pyx_v_context); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2664, __pyx_L1_error)
+2665: while stream.c != 0 and stream.c != LF and stream.c != CR:
while (1) { __pyx_t_3 = ((__pyx_v_stream->c != 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L15_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L15_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L15_bool_binop_done:; if (!__pyx_t_2) break;
+2666: stream.advance()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2666, __pyx_L1_error)
}
2667:
+2668: if stream.c == 0:
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); if (__pyx_t_2) { /* … */ }
+2669: context.state = VCFState.EOF
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOF;
+2670: break
goto __pyx_L11_break;
2671:
+2672: elif stream.c == LF or stream.c == CR:
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L19_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L19_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+2673: context.state = VCFState.EOL
__pyx_v_context->state = __pyx_e_5allel_3opt_11io_vcf_read_EOL;
+2674: break
goto __pyx_L11_break;
2675:
+2676: elif stream.c == TAB:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_2) { /* … */ goto __pyx_L18; }
+2677: stream.advance()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2677, __pyx_L1_error)
+2678: context.sample_index += 1
__pyx_v_context->sample_index = (__pyx_v_context->sample_index + 1);
+2679: context.sample_field_index = 0
__pyx_v_context->sample_field_index = 0;
+2680: if self.loc_samples[context.sample_index]:
__pyx_t_5 = __pyx_v_context->sample_index; __pyx_t_2 = ((*((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->loc_samples.data + __pyx_t_5 * __pyx_v_self->loc_samples.strides[0]) ))) != 0); if (__pyx_t_2) { /* … */ goto __pyx_L21; }
+2681: context.sample_output_index += 1
__pyx_v_context->sample_output_index = (__pyx_v_context->sample_output_index + 1);
2682: else:
2683: # skip to next sample
+2684: while stream.c != 0 and stream.c != LF and stream.c != CR and stream.c != TAB:
/*else*/ { while (1) { __pyx_t_3 = ((__pyx_v_stream->c != 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L24_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L24_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L24_bool_binop_done; } __pyx_t_3 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L24_bool_binop_done:; if (!__pyx_t_2) break;
+2685: stream.advance()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2685, __pyx_L1_error)
}
}
__pyx_L21:;
2686:
+2687: elif stream.c == COLON:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (__pyx_t_2) { /* … */ goto __pyx_L18; }
+2688: context.sample_field_index += 1
__pyx_v_context->sample_field_index = (__pyx_v_context->sample_field_index + 1);
+2689: stream.advance()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2689, __pyx_L1_error)
2690:
+2691: elif context.sample_field_index >= context.variant_format_indices.size:
__pyx_t_2 = ((__pyx_v_context->sample_field_index >= __pyx_v_context->variant_format_indices.size) != 0); if (__pyx_t_2) { /* … */ goto __pyx_L18; }
2692: # more sample fields than formats declared for this variant
+2693: self.skip_parser.parse(stream, context)
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_self->skip_parser->__pyx_vtab)->parse(__pyx_v_self->skip_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2693, __pyx_L1_error)
2694:
2695: else:
2696:
2697: # lookup format
+2698: format_index = context.variant_format_indices.data[context.sample_field_index]
/*else*/ { __pyx_v_format_index = (__pyx_v_context->variant_format_indices.data[__pyx_v_context->sample_field_index]);
2699:
2700: # find parser
+2701: if format_index >= 0:
__pyx_t_2 = ((__pyx_v_format_index >= 0) != 0); if (__pyx_t_2) { /* … */ goto __pyx_L28; }
+2702: parser = self.parsers_cptr[format_index]
__pyx_v_parser = (__pyx_v_self->parsers_cptr[__pyx_v_format_index]);
2703: # jump through some hoops to avoid references (which need the GIL)
+2704: (<VCFCallDataParserBase>parser).parse(stream, context)
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_parser)->__pyx_vtab)->parse(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_parser), __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2704, __pyx_L1_error)
2705:
2706: else:
+2707: self.skip_parser.parse(stream, context)
/*else*/ {
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_self->skip_parser->__pyx_vtab)->parse(__pyx_v_self->skip_parser, __pyx_v_stream, __pyx_v_context); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2707, __pyx_L1_error)
}
__pyx_L28:;
}
__pyx_L18:;
}
__pyx_L11_break:;
2708:
+2709: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFCallDataParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_v_self) { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_parser = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_parser); __Pyx_RefNannyFinishContext(); return __pyx_r; }
2710: cdef VCFCallDataParserBase parser
+2711: for parser in self.parsers:
if (unlikely(__pyx_v_self->parsers == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 2711, __pyx_L1_error) } __pyx_t_1 = __pyx_v_self->parsers; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2711, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataParserBase))))) __PYX_ERR(0, 2711, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2712: parser.malloc_chunk()
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_parser->__pyx_vtab)->malloc_chunk(__pyx_v_parser); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2712, __pyx_L1_error)
2713:
+2714: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_17VCFCallDataParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFCallDataParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_parser = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_parser); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_17VCFCallDataParser_make_chunk { int __pyx_n; PyObject *limit; };
2715: cdef VCFCallDataParserBase parser
+2716: for parser in self.parsers:
if (unlikely(__pyx_v_self->parsers == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(0, 2716, __pyx_L1_error) } __pyx_t_1 = __pyx_v_self->parsers; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2716, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataParserBase))))) __PYX_ERR(0, 2716, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_parser, ((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_t_3)); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2717: parser.make_chunk(chunk, limit=limit)
__pyx_t_5.__pyx_n = 1;
__pyx_t_5.limit = __pyx_v_limit;
__pyx_t_4 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_parser->__pyx_vtab)->make_chunk(__pyx_v_parser, __pyx_v_chunk, &__pyx_t_5); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 2717, __pyx_L1_error)
2718:
2719:
+2720: cdef class VCFCallDataParserBase:
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase { PyObject_HEAD struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_vtab; PyObject *key; PyArray_Descr *dtype; Py_ssize_t itemsize; Py_ssize_t number; PyObject *fill; PyArrayObject *values; Py_ssize_t chunk_length; Py_ssize_t n_samples_out; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase { int (*malloc_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *); int (*make_chunk)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *, PyObject *, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_make_chunk *__pyx_optional_args); int (*parse)(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *); }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataParserBase;
2721:
2722: cdef:
2723: bytes key
2724: np.dtype dtype
2725: Py_ssize_t itemsize
2726: Py_ssize_t number
2727: object fill
2728: np.ndarray values
2729: Py_ssize_t chunk_length
2730: Py_ssize_t n_samples_out
2731:
+2732: def __init__(self, key=None, dtype=None, number=1, fill=0, chunk_length=0,
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; PyObject *__pyx_v_dtype = 0; PyObject *__pyx_v_number = 0; PyObject *__pyx_v_fill = 0; PyObject *__pyx_v_chunk_length = 0; PyObject *__pyx_v_n_samples_out = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_dtype,&__pyx_n_s_number,&__pyx_n_s_fill,&__pyx_n_s_chunk_length,&__pyx_n_s_n_samples_out,0}; PyObject* values[6] = {0,0,0,0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); values[2] = ((PyObject *)__pyx_int_1); values[3] = ((PyObject *)__pyx_int_0); values[4] = ((PyObject *)__pyx_int_0); values[5] = ((PyObject *)__pyx_int_0); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key); if (value) { values[0] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dtype); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_number); if (value) { values[2] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fill); if (value) { values[3] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_chunk_length); if (value) { values[4] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_n_samples_out); if (value) { values[5] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2732, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_key = values[0]; __pyx_v_dtype = values[1]; __pyx_v_number = values[2]; __pyx_v_fill = values[3]; __pyx_v_chunk_length = values[4]; __pyx_v_n_samples_out = values[5]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2732, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParserBase.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *)__pyx_v_self), __pyx_v_key, __pyx_v_dtype, __pyx_v_number, __pyx_v_fill, __pyx_v_chunk_length, __pyx_v_n_samples_out); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_dtype, PyObject *__pyx_v_number, PyObject *__pyx_v_fill, PyObject *__pyx_v_chunk_length, PyObject *__pyx_v_n_samples_out) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParserBase.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2733: n_samples_out=0):
+2734: self.key = key
if (!(likely(PyBytes_CheckExact(__pyx_v_key))||((__pyx_v_key) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_key)->tp_name), 0))) __PYX_ERR(0, 2734, __pyx_L1_error) __pyx_t_1 = __pyx_v_key; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->key); __Pyx_DECREF(__pyx_v_self->key); __pyx_v_self->key = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+2735: if dtype is not None:
__pyx_t_2 = (__pyx_v_dtype != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+2736: self.dtype = np.dtype(dtype)
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_dtype); __Pyx_GIVEREF(__pyx_v_dtype); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype); __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->dtype); __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype)); __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0;
+2737: self.itemsize = self.dtype.itemsize
__pyx_t_5 = __pyx_v_self->dtype->elsize; __pyx_v_self->itemsize = __pyx_t_5;
2738: else:
+2739: self.dtype = dtype
/*else*/ { if (!(likely(((__pyx_v_dtype) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_dtype, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(0, 2739, __pyx_L1_error) __pyx_t_4 = __pyx_v_dtype; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->dtype); __Pyx_DECREF(((PyObject *)__pyx_v_self->dtype)); __pyx_v_self->dtype = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0;
+2740: self.itemsize = 0
__pyx_v_self->itemsize = 0; } __pyx_L3:;
+2741: self.number = number
__pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_number); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2741, __pyx_L1_error) __pyx_v_self->number = __pyx_t_6;
+2742: self.fill = fill
__Pyx_INCREF(__pyx_v_fill); __Pyx_GIVEREF(__pyx_v_fill); __Pyx_GOTREF(__pyx_v_self->fill); __Pyx_DECREF(__pyx_v_self->fill); __pyx_v_self->fill = __pyx_v_fill;
+2743: self.chunk_length = chunk_length
__pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_chunk_length); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2743, __pyx_L1_error) __pyx_v_self->chunk_length = __pyx_t_6;
+2744: self.n_samples_out = n_samples_out
__pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_n_samples_out); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2744, __pyx_L1_error) __pyx_v_self->n_samples_out = __pyx_t_6;
2745:
+2746: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_malloc_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2747: pass
2748:
+2749: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataParserBase.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_make_chunk { int __pyx_n; PyObject *limit; };
+2750: field = u'calldata/' + text_type(self.key, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2750, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2750, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_self->key); __Pyx_GIVEREF(__pyx_v_self->key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_kp_u_calldata_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_field = __pyx_t_2; __pyx_t_2 = 0;
+2751: values = self.values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_values = __pyx_t_2; __pyx_t_2 = 0;
+2752: if self.number == 1:
__pyx_t_6 = ((__pyx_v_self->number == 1) != 0); if (__pyx_t_6) { /* … */ }
+2753: values = values.squeeze(axis=2)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_2) < 0) __PYX_ERR(0, 2753, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_5); __pyx_t_5 = 0;
+2754: chunk[field] = values
if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_v_values) < 0)) __PYX_ERR(0, 2754, __pyx_L1_error)
2755:
+2756: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataParserBase_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2757: pass
2758:
2759:
+2760: cdef class VCFCallDataSkipParser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser;
2761:
+2762: def __init__(self, key, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; CYTHON_UNUSED PyObject *__pyx_v_args = 0; CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); if (PyTuple_GET_SIZE(__pyx_args) > 1) { __pyx_v_args = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args)); if (unlikely(!__pyx_v_args)) { __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; __Pyx_RefNannyFinishContext(); return -1; } __Pyx_GOTREF(__pyx_v_args); } else { __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple); } { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,0}; PyObject* values[1] = {0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { default: case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1; if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(0, 2762, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) < 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_key = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2762, __pyx_L3_error) __pyx_L3_error:; __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataSkipParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser *)__pyx_v_self), __pyx_v_key, __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser *__pyx_v_self, PyObject *__pyx_v_key, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataSkipParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2763: super(VCFCallDataSkipParser, self).__init__(key=key)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_key, __pyx_v_key) < 0) __PYX_ERR(0, 2763, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2764:
+2765: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser_parse(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataSkipParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2766: while stream.c != COLON and \
while (1) { __pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2767: stream.c != TAB and \
__pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2768: stream.c != CR and \
__pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2769: stream.c != LF and \
__pyx_t_2 = ((__pyx_v_stream->c != __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; }
+2770: stream.c != 0:
__pyx_t_2 = ((__pyx_v_stream->c != 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (!__pyx_t_1) break;
+2771: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2771, __pyx_L1_error)
}
2772:
+2773: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser_make_chunk(CYTHON_UNUSED struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataSkipParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser_make_chunk *__pyx_optional_args) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { } /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_21VCFCallDataSkipParser_make_chunk { int __pyx_n; PyObject *limit; };
2774: pass
2775:
2776:
+2777: cdef class VCFGenotypeInt8Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser;
2778:
2779: cdef:
2780: np.int8_t[:, :, :] memory
2781:
+2782: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFGenotypeInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFGenotypeInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_21VCFGenotypeInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_21VCFGenotypeInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2783: kwargs['dtype'] = 'int8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int8) < 0)) __PYX_ERR(0, 2783, __pyx_L1_error)
+2784: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2785: super(VCFGenotypeInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2786:
+2787: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFGenotypeInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2788: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2788, __pyx_L1_error)
2789:
+2790: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFGenotypeInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2791: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2792: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2792, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2793: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2793, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2794: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2794, __pyx_L1_error) { __pyx_t_5numpy_int8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int8_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2795:
2796:
+2797: cdef class VCFGenotypeInt16Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser;
2798:
2799: cdef:
2800: np.int16_t[:, :, :] memory
2801:
+2802: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2803: kwargs['dtype'] = 'int16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int16) < 0)) __PYX_ERR(0, 2803, __pyx_L1_error)
+2804: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2805: super(VCFGenotypeInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2806:
+2807: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2808: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2808, __pyx_L1_error)
2809:
+2810: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2811: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2812: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2812, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2812, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2813: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2813, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2814: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int16(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int16)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2814, __pyx_L1_error) { __pyx_t_5numpy_int16_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int16_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2815:
2816:
+2817: cdef class VCFGenotypeInt32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser;
2818:
2819: cdef:
2820: np.int32_t[:, :, :] memory
2821:
+2822: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2823: kwargs['dtype'] = 'int32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int32) < 0)) __PYX_ERR(0, 2823, __pyx_L1_error)
+2824: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2825: super(VCFGenotypeInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2826:
+2827: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2828: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2828, __pyx_L1_error)
2829:
+2830: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2831: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2832: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2832, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2833: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2833, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2834: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int32(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2834, __pyx_L1_error) { __pyx_t_5numpy_int32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2835:
2836:
+2837: cdef class VCFGenotypeInt64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser;
2838:
2839: cdef:
2840: np.int64_t[:, :, :] memory
2841:
+2842: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2843: kwargs['dtype'] = 'int64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int64) < 0)) __PYX_ERR(0, 2843, __pyx_L1_error)
+2844: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2845: super(VCFGenotypeInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2846:
+2847: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2848: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2848, __pyx_L1_error)
2849:
+2850: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2851: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2852: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2852, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2853: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2853, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2854: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int64(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2854, __pyx_L1_error) { __pyx_t_5numpy_int64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2855:
2856:
+2857: cdef class VCFGenotypeUInt8Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser;
2858:
2859: cdef:
2860: np.uint8_t[:, :, :] memory
2861:
+2862: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFGenotypeUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeUInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFGenotypeUInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2863: kwargs['dtype'] = 'uint8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint8) < 0)) __PYX_ERR(0, 2863, __pyx_L1_error)
+2864: kwargs.setdefault('fill', IU8.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2865: super(VCFGenotypeUInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2866:
+2867: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeUInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2868: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2868, __pyx_L1_error)
2869:
+2870: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFGenotypeUInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2871: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2872: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2872, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2872, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2873: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2873, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2874: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2874, __pyx_L1_error) { __pyx_t_5numpy_uint8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint8_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2875:
2876:
+2877: cdef class VCFGenotypeUInt16Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser;
2878:
2879: cdef:
2880: np.uint16_t[:, :, :] memory
2881:
+2882: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2883: kwargs['dtype'] = 'uint16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint16) < 0)) __PYX_ERR(0, 2883, __pyx_L1_error)
+2884: kwargs.setdefault('fill', IU16.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2885: super(VCFGenotypeUInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2886:
+2887: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2888: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2888, __pyx_L1_error)
2889:
+2890: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2891: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2892: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2892, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2893: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2893, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2894: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint16(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint16)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2894, __pyx_L1_error) { __pyx_t_5numpy_uint16_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint16_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2895:
2896:
+2897: cdef class VCFGenotypeUInt32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser;
2898:
2899: cdef:
2900: np.uint32_t[:, :, :] memory
2901:
+2902: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2903: kwargs['dtype'] = 'uint32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint32) < 0)) __PYX_ERR(0, 2903, __pyx_L1_error)
+2904: kwargs.setdefault('fill', IU32.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2905: super(VCFGenotypeUInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2906:
+2907: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2908: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2908, __pyx_L1_error)
2909:
+2910: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2911: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2912: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2912, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2913: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2913, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2914: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint32(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2914, __pyx_L1_error) { __pyx_t_5numpy_uint32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2915:
2916:
+2917: cdef class VCFGenotypeUInt64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser;
2918:
2919: cdef:
2920: np.uint64_t[:, :, :] memory
2921:
+2922: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2923: kwargs['dtype'] = 'uint64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint64) < 0)) __PYX_ERR(0, 2923, __pyx_L1_error)
+2924: kwargs.setdefault('fill', IU64.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2925: super(VCFGenotypeUInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2926:
+2927: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2928: vcf_genotype_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2928, __pyx_L1_error)
2929:
+2930: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeUInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeUInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeUInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2931: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+2932: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 2932, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 2932, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+2933: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 2933, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+2934: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint64(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2934, __pyx_L1_error) { __pyx_t_5numpy_uint64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
2935:
2936:
+2937: cdef int vcf_genotype_parse(InputStreamBase stream,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_genotype_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2938: VCFContext context,
2939: integer[:, :, :] memory) except -1: # nogil
2940: cdef:
+2941: Py_ssize_t value_index = 0
__pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0;
2942:
2943: # reset temporary buffer
+2944: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
2945:
+2946: while True:
while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) {
2947:
+2948: if stream.c == SLASH or stream.c == PIPE:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+2949: vcf_genotype_store(context, memory, value_index)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2949, __pyx_L1_error)
+2950: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1);
+2951: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
2952:
+2953: elif stream.c == COLON or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+2954: stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; }
+2955: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; }
+2956: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; }
+2957: stream.c == 0:
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:;
+2958: vcf_genotype_store(context, memory, value_index)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(__pyx_v_context, __pyx_v_memory, __pyx_v_value_index); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2958, __pyx_L1_error)
+2959: break
goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break;
2960:
2961: else:
+2962: CharVector_append(&context.temp, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:;
2963:
+2964: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 2964, __pyx_L1_error) } __pyx_L4_break:;
2965:
2966:
+2967: cdef int vcf_genotype_store(VCFContext context,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory, Py_ssize_t __pyx_v_value_index) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_genotype_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
2968: integer[:, :, :] memory,
2969: Py_ssize_t value_index) except -1: # nogil
2970: cdef:
2971: Py_ssize_t parsed
2972: long allele
2973:
+2974: if value_index >= memory.shape[2]:
__pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ }
2975: # more values than we've made room for, ignore
+2976: return 0
__pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0;
2977:
2978: # attempt to parse allele
+2979: parsed = vcf_strtol(&context.temp, context, &allele)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 2979, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2;
2980:
2981: # store value
+2982: if parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
+2983: memory[context.chunk_variant_index, context.sample_output_index, value_index] = allele
__pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int8_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int16_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint16_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_allele;
2984:
2985:
+2986: cdef class VCFGenotypeACInt8Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser;
2987:
2988: cdef:
2989: np.int8_t[:, :, :] memory
2990:
+2991: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeACInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFGenotypeACInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeACInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFGenotypeACInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2992: kwargs['dtype'] = 'int8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int8) < 0)) __PYX_ERR(0, 2992, __pyx_L1_error)
+2993: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 2993, __pyx_L1_error)
+2994: super(VCFGenotypeACInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2995:
+2996: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeACInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+2997: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 2997, __pyx_L1_error)
2998:
+2999: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFGenotypeACInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3000: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3001: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3001, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3001, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3002: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3002, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3003: self.memory[:] = 0
{ __pyx_t_5numpy_int8_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int8_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3004:
3005:
+3006: cdef class VCFGenotypeACInt16Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser;
3007:
3008: cdef:
3009: np.int16_t[:, :, :] memory
3010:
+3011: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3012: kwargs['dtype'] = 'int16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int16) < 0)) __PYX_ERR(0, 3012, __pyx_L1_error)
+3013: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3013, __pyx_L1_error)
+3014: super(VCFGenotypeACInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3015:
+3016: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3017: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3017, __pyx_L1_error)
3018:
+3019: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3020: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3021: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3021, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3022: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3022, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3023: self.memory[:] = 0
{ __pyx_t_5numpy_int16_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int16_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3024:
3025:
+3026: cdef class VCFGenotypeACInt32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser;
3027:
3028: cdef:
3029: np.int32_t[:, :, :] memory
3030:
+3031: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3032: kwargs['dtype'] = 'int32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int32) < 0)) __PYX_ERR(0, 3032, __pyx_L1_error)
+3033: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3033, __pyx_L1_error)
+3034: super(VCFGenotypeACInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3035:
+3036: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3037: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3037, __pyx_L1_error)
3038:
+3039: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3040: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3041: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3041, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3042: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3042, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3043: self.memory[:] = 0
{ __pyx_t_5numpy_int32_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3044:
3045:
+3046: cdef class VCFGenotypeACInt64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser;
3047:
3048: cdef:
3049: np.int64_t[:, :, :] memory
3050:
+3051: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3052: kwargs['dtype'] = 'int64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int64) < 0)) __PYX_ERR(0, 3052, __pyx_L1_error)
+3053: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3053, __pyx_L1_error)
+3054: super(VCFGenotypeACInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3055:
+3056: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3057: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3057, __pyx_L1_error)
3058:
+3059: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3060: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3061: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3061, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3062: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3062, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3063: self.memory[:] = 0
{ __pyx_t_5numpy_int64_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3064:
3065:
+3066: cdef class VCFGenotypeACUInt8Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser;
3067:
3068: cdef:
3069: np.uint8_t[:, :, :] memory
3070:
+3071: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFGenotypeACUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACUInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_24VCFGenotypeACUInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3072: kwargs['dtype'] = 'uint8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint8) < 0)) __PYX_ERR(0, 3072, __pyx_L1_error)
+3073: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3073, __pyx_L1_error)
+3074: super(VCFGenotypeACUInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3075:
+3076: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACUInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3077: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3077, __pyx_L1_error)
3078:
+3079: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFGenotypeACUInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3080: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3081: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3081, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3081, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3082: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3082, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3083: self.memory[:] = 0
{ __pyx_t_5numpy_uint8_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint8_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3084:
3085:
+3086: cdef class VCFGenotypeACUInt16Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser;
3087:
3088: cdef:
3089: np.uint16_t[:, :, :] memory
3090:
+3091: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3092: kwargs['dtype'] = 'uint16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint16) < 0)) __PYX_ERR(0, 3092, __pyx_L1_error)
+3093: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3093, __pyx_L1_error)
+3094: super(VCFGenotypeACUInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3095:
+3096: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3097: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3097, __pyx_L1_error)
3098:
+3099: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3100: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3101: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3101, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3101, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3102: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3102, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3103: self.memory[:] = 0
{ __pyx_t_5numpy_uint16_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint16_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3104:
3105:
+3106: cdef class VCFGenotypeACUInt32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser;
3107:
3108: cdef:
3109: np.uint32_t[:, :, :] memory
3110:
+3111: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3112: kwargs['dtype'] = 'uint32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint32) < 0)) __PYX_ERR(0, 3112, __pyx_L1_error)
+3113: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3113, __pyx_L1_error)
+3114: super(VCFGenotypeACUInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3115:
+3116: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3117: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3117, __pyx_L1_error)
3118:
+3119: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3120: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3121: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3121, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3121, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3122: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3122, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3123: self.memory[:] = 0
{ __pyx_t_5numpy_uint32_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3124:
3125:
+3126: cdef class VCFGenotypeACUInt64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser;
3127:
3128: cdef:
3129: np.uint64_t[:, :, :] memory
3130:
+3131: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3132: kwargs['dtype'] = 'uint64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint64) < 0)) __PYX_ERR(0, 3132, __pyx_L1_error)
+3133: kwargs['fill'] = 0
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_0) < 0)) __PYX_ERR(0, 3133, __pyx_L1_error)
+3134: super(VCFGenotypeACUInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3135:
+3136: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3137: vcf_genotype_ac_parse(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3137, __pyx_L1_error)
3138:
+3139: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_25VCFGenotypeACUInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFGenotypeACUInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFGenotypeACUInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3140: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3141: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3141, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3141, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3142: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3142, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3143: self.memory[:] = 0
{ __pyx_t_5numpy_uint64_t __pyx_temp_scalar = 0; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3144:
3145:
+3146: cdef int vcf_genotype_ac_parse(InputStreamBase stream,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_genotype_ac_parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3147: VCFContext context,
3148: integer[:, :, :] memory) except -1: # nogil
3149: # reset temporary buffer
+3150: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
3151:
+3152: while True:
while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) {
3153:
+3154: if stream.c == SLASH or stream.c == PIPE:
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_SLASH) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_PIPE) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+3155: vcf_genotype_ac_store(context, memory)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3155, __pyx_L1_error)
+3156: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
3157:
+3158: elif stream.c == COLON or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+3159: stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; }
+3160: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; }
+3161: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; } /* … */ __pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L8_bool_binop_done; }
+3162: stream.c == 0:
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:; /* … */ __pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L8_bool_binop_done:;
+3163: vcf_genotype_ac_store(context, memory)
__pyx_t_3 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error) /* … */ __pyx_t_3 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(__pyx_v_context, __pyx_v_memory); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3163, __pyx_L1_error)
+3164: break
goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break;
3165:
3166: else:
+3167: CharVector_append(&context.temp, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:;
3168:
+3169: stream.advance()
__pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_3 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3169, __pyx_L1_error) } __pyx_L4_break:;
3170:
3171:
+3172: cdef int vcf_genotype_ac_store(VCFContext context,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_genotype_ac_store(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_allele; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_genotype_ac_store", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_genotype_ac_store", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3173: integer[:, :, :] memory) except -1: # nogil
3174: cdef:
3175: Py_ssize_t parsed
3176: long allele
3177:
3178: # attempt to parse allele
+3179: parsed = vcf_strtol(&context.temp, context, &allele)
__pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1; /* … */ __pyx_t_1 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_allele)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3179, __pyx_L1_error) __pyx_v_parsed = __pyx_t_1;
3180:
3181: # store value
+3182: if parsed > 0 and allele < memory.shape[2]:
__pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_allele < (__pyx_v_memory.shape[2])) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+3183: memory[context.chunk_variant_index, context.sample_output_index, allele] += 1
__pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_int8_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_int16_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_int32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_int64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_uint8_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_uint16_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_uint32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1; /* … */ __pyx_t_4 = __pyx_v_context->chunk_variant_index; __pyx_t_5 = __pyx_v_context->sample_output_index; __pyx_t_6 = __pyx_v_allele; *((__pyx_t_5numpy_uint64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_4 * __pyx_v_memory.strides[0]) ) + __pyx_t_5 * __pyx_v_memory.strides[1]) ) + __pyx_t_6 * __pyx_v_memory.strides[2]) )) += 1;
3184:
3185:
+3186: cdef class VCFCallDataInt8Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser;
3187:
3188: cdef np.int8_t[:, :, :] memory
3189:
+3190: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFCallDataInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_21VCFCallDataInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_21VCFCallDataInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_21VCFCallDataInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3191: kwargs['dtype'] = 'int8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int8) < 0)) __PYX_ERR(0, 3191, __pyx_L1_error)
+3192: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3193: super(VCFCallDataInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3194:
+3195: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3196: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3196, __pyx_L1_error)
3197:
+3198: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_21VCFCallDataInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3199: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3200: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3200, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3200, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3201: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3201, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3202: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3202, __pyx_L1_error) { __pyx_t_5numpy_int8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int8_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3203:
3204:
+3205: cdef class VCFCallDataInt16Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser;
3206:
3207: cdef np.int16_t[:, :, :] memory
3208:
+3209: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3210: kwargs['dtype'] = 'int16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int16) < 0)) __PYX_ERR(0, 3210, __pyx_L1_error)
+3211: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3212: super(VCFCallDataInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3213:
+3214: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3215: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3215, __pyx_L1_error)
3216:
+3217: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3218: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3219: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3219, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3219, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3220: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3220, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3221: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int16(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int16)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3221, __pyx_L1_error) { __pyx_t_5numpy_int16_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int16_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3222:
3223:
+3224: cdef class VCFCallDataInt32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser;
3225:
3226: cdef np.int32_t[:, :, :] memory
3227:
+3228: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3229: kwargs['dtype'] = 'int32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int32) < 0)) __PYX_ERR(0, 3229, __pyx_L1_error)
+3230: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3231: super(VCFCallDataInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3232:
+3233: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3234: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3234, __pyx_L1_error)
3235:
+3236: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3237: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3238: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3238, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3239: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3239, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3240: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int32(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3240, __pyx_L1_error) { __pyx_t_5numpy_int32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3241:
3242:
+3243: cdef class VCFCallDataInt64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser;
3244:
3245: cdef np.int64_t[:, :, :] memory
3246:
+3247: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3248: kwargs['dtype'] = 'int64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_int64) < 0)) __PYX_ERR(0, 3248, __pyx_L1_error)
+3249: kwargs.setdefault('fill', -1)
__pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_int_neg_1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3250: super(VCFCallDataInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3251:
+3252: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3253: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3253, __pyx_L1_error)
3254:
+3255: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3256: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3257: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3257, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3257, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3258: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_int64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3258, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3259: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_int64(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_int64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3259, __pyx_L1_error) { __pyx_t_5numpy_int64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_int64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3260:
3261:
+3262: cdef class VCFCallDataUInt8Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser;
3263:
3264: cdef np.uint8_t[:, :, :] memory
3265:
+3266: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_22VCFCallDataUInt8Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataUInt8Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_22VCFCallDataUInt8Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt8Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3267: kwargs['dtype'] = 'uint8'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint8) < 0)) __PYX_ERR(0, 3267, __pyx_L1_error)
+3268: kwargs.setdefault('fill', IU8.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3269: super(VCFCallDataUInt8Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3270:
+3271: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataUInt8Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt8Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3272: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3272, __pyx_L1_error)
3273:
+3274: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_22VCFCallDataUInt8Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt8Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt8Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3275: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3276: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3276, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3277: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint8_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3277, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3278: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint8(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint8)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3278, __pyx_L1_error) { __pyx_t_5numpy_uint8_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint8_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3279:
3280:
+3281: cdef class VCFCallDataUInt16Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser;
3282:
3283: cdef np.uint16_t[:, :, :] memory
3284:
+3285: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataUInt16Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataUInt16Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataUInt16Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt16Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3286: kwargs['dtype'] = 'uint16'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint16) < 0)) __PYX_ERR(0, 3286, __pyx_L1_error)
+3287: kwargs.setdefault('fill', IU16.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3288: super(VCFCallDataUInt16Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3289:
+3290: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataUInt16Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt16Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3291: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3291, __pyx_L1_error)
3292:
+3293: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataUInt16Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt16Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt16Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3294: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3295: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3295, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3296: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint16_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3296, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3297: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint16(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint16)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3297, __pyx_L1_error) { __pyx_t_5numpy_uint16_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint16_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3298:
3299:
+3300: cdef class VCFCallDataUInt32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser;
3301:
3302: cdef np.uint32_t[:, :, :] memory
3303:
+3304: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataUInt32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataUInt32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataUInt32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3305: kwargs['dtype'] = 'uint32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint32) < 0)) __PYX_ERR(0, 3305, __pyx_L1_error)
+3306: kwargs.setdefault('fill', IU32.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3307: super(VCFCallDataUInt32Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3308:
+3309: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataUInt32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3310: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3310, __pyx_L1_error)
3311:
+3312: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataUInt32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3313: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3314: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3314, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3314, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3315: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3315, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3316: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint32(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3316, __pyx_L1_error) { __pyx_t_5numpy_uint32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3317:
3318:
+3319: cdef class VCFCallDataUInt64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser;
3320:
3321: cdef np.uint64_t[:, :, :] memory
3322:
+3323: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataUInt64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataUInt64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataUInt64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3324: kwargs['dtype'] = 'uint64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_uint64) < 0)) __PYX_ERR(0, 3324, __pyx_L1_error)
+3325: kwargs.setdefault('fill', IU64.max)
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_IU64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3326: super(VCFCallDataUInt64Parser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3327:
+3328: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataUInt64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3329: vcf_calldata_parse_integer(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3329, __pyx_L1_error)
3330:
+3331: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataUInt64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataUInt64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataUInt64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3332: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3333: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3333, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3334: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_uint64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3334, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3335: self.memory[:] = self.fill
__pyx_t_6 = __Pyx_PyInt_As_npy_uint64(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_uint64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3335, __pyx_L1_error) { __pyx_t_5numpy_uint64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_uint64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3336:
3337:
+3338: cdef class VCFCallDataFloat32Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser;
3339:
3340: cdef np.float32_t[:, :, :] memory
3341:
+3342: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFCallDataFloat32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFCallDataFloat32Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_24VCFCallDataFloat32Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_24VCFCallDataFloat32Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataFloat32Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3343: kwargs['dtype'] = 'float32'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_float32) < 0)) __PYX_ERR(0, 3343, __pyx_L1_error)
+3344: kwargs.setdefault('fill', NAN)
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3345: super(VCFCallDataFloat32Parser, self).__init__(*args, **kwargs)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3346:
+3347: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFCallDataFloat32Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataFloat32Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3348: vcf_calldata_parse_floating(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_floating(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3348, __pyx_L1_error)
3349:
+3350: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFCallDataFloat32Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat32Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataFloat32Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3351: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3352: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3352, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3352, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3353: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_float32_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3353, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3354: self.memory[:] = self.fill
__pyx_t_6 = __pyx_PyFloat_AsFloat(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_float32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3354, __pyx_L1_error) { __pyx_t_5numpy_float32_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_float32_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3355:
3356:
+3357: cdef class VCFCallDataFloat64Parser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser;
3358:
3359: cdef np.float64_t[:, :, :] memory
3360:
+3361: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFCallDataFloat64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_24VCFCallDataFloat64Parser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_24VCFCallDataFloat64Parser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_24VCFCallDataFloat64Parser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataFloat64Parser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3362: kwargs['dtype'] = 'float64'
if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_n_s_float64) < 0)) __PYX_ERR(0, 3362, __pyx_L1_error)
+3363: kwargs.setdefault('fill', NAN)
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_5allel_3opt_11io_vcf_read_NAN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_SetDefault(__pyx_v_kwargs, __pyx_n_s_fill, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3364: super(VCFCallDataFloat64Parser, self).__init__(*args, **kwargs)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3365:
+3366: cdef int parse(self, InputStreamBase stream, VCFContext context) except -1: # nogil
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFCallDataFloat64Parser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataFloat64Parser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3367: vcf_calldata_parse_floating(stream, context, self.memory)
__pyx_t_1 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_floating(__pyx_v_stream, __pyx_v_context, __pyx_v_self->memory); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 3367, __pyx_L1_error)
3368:
+3369: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_24VCFCallDataFloat64Parser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataFloat64Parser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataFloat64Parser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3370: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3371: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3371, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3371, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3372: self.memory = self.values
__pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_nn___pyx_t_5numpy_float64_t(((PyObject *)__pyx_v_self->__pyx_base.values));
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3372, __pyx_L1_error)
__PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0);
__pyx_v_self->memory = __pyx_t_5;
__pyx_t_5.memview = NULL;
__pyx_t_5.data = NULL;
+3373: self.memory[:] = self.fill
__pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_self->__pyx_base.fill); if (unlikely((__pyx_t_6 == ((npy_float64)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3373, __pyx_L1_error) { __pyx_t_5numpy_float64_t __pyx_temp_scalar = __pyx_t_6; { Py_ssize_t __pyx_temp_extent_0 = __pyx_v_self->memory.shape[0]; Py_ssize_t __pyx_temp_stride_0 = __pyx_v_self->memory.strides[0]; char *__pyx_temp_pointer_0; Py_ssize_t __pyx_temp_idx_0; Py_ssize_t __pyx_temp_extent_1 = __pyx_v_self->memory.shape[1]; Py_ssize_t __pyx_temp_stride_1 = __pyx_v_self->memory.strides[1]; char *__pyx_temp_pointer_1; Py_ssize_t __pyx_temp_idx_1; Py_ssize_t __pyx_temp_extent_2 = __pyx_v_self->memory.shape[2]; Py_ssize_t __pyx_temp_stride_2 = __pyx_v_self->memory.strides[2]; char *__pyx_temp_pointer_2; Py_ssize_t __pyx_temp_idx_2; __pyx_temp_pointer_0 = __pyx_v_self->memory.data; for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) { __pyx_temp_pointer_1 = __pyx_temp_pointer_0; for (__pyx_temp_idx_1 = 0; __pyx_temp_idx_1 < __pyx_temp_extent_1; __pyx_temp_idx_1++) { __pyx_temp_pointer_2 = __pyx_temp_pointer_1; for (__pyx_temp_idx_2 = 0; __pyx_temp_idx_2 < __pyx_temp_extent_2; __pyx_temp_idx_2++) { *((__pyx_t_5numpy_float64_t *) __pyx_temp_pointer_2) = __pyx_temp_scalar; __pyx_temp_pointer_2 += __pyx_temp_stride_2; } __pyx_temp_pointer_1 += __pyx_temp_stride_1; } __pyx_temp_pointer_0 += __pyx_temp_stride_0; } } }
3374:
3375:
+3376: cdef int vcf_calldata_parse_integer(InputStreamBase stream,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_calldata_parse_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3377: VCFContext context,
3378: integer[:, :, :] memory) except -1: # nogil
3379:
3380: cdef:
+3381: Py_ssize_t value_index = 0
__pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0;
3382:
3383: # reset temporary buffer
+3384: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
3385:
+3386: while True:
while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) { /* … */ while (1) {
3387:
+3388: if stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+3389: vcf_calldata_store_integer(context, value_index, memory)
__pyx_t_2 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3389, __pyx_L1_error)
+3390: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
+3391: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1);
3392:
+3393: elif stream.c == COLON or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+3394: stream.c == TAB or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; }
+3395: stream.c == LF or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; }
+3396: stream.c == CR or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; }
+3397: stream.c == 0:
__pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:;
+3398: vcf_calldata_store_integer(context, value_index, memory)
__pyx_t_2 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3398, __pyx_L1_error)
+3399: break
goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break; /* … */ goto __pyx_L4_break;
3400:
3401: else:
+3402: CharVector_append(&context.temp, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:;
3403:
+3404: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3404, __pyx_L1_error) } __pyx_L4_break:;
3405:
3406:
+3407: cdef int vcf_calldata_store_integer(VCFContext context,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_2__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_2vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_3__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_3vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_4__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_4vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_5__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_5vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_6__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_6vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_7__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_integer(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; long __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_7vcf_calldata_store_integer", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3408: Py_ssize_t value_index,
3409: integer[:, :, :] memory) except -1: # nogil
3410: cdef:
3411: Py_ssize_t parsed
3412: long value
3413:
+3414: if value_index >= memory.shape[2]:
__pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ }
3415: # more values than we have room for, ignore
+3416: return 0
__pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0;
3417:
+3418: parsed = vcf_strtol(&context.temp, context, &value)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3418, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2;
3419:
3420: # store value
+3421: if parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
+3422: memory[context.chunk_variant_index, context.sample_output_index, value_index] = value
__pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int8_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int16_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_int64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint16_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_uint64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value;
3423:
3424:
+3425: cdef int vcf_calldata_parse_floating(InputStreamBase stream,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_calldata_parse_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_parse_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_value_index; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_calldata_parse_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_parse_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3426: VCFContext context,
3427: floating[:, :, :] memory) except -1: # nogil
3428:
3429: cdef:
+3430: Py_ssize_t value_index = 0
__pyx_v_value_index = 0; /* … */ __pyx_v_value_index = 0;
3431:
3432: # reset temporary buffer
+3433: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
3434:
+3435: while True:
while (1) { /* … */ while (1) {
3436:
+3437: if stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; } /* … */ __pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+3438: vcf_calldata_store_floating(context, value_index, memory)
__pyx_t_2 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3438, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3438, __pyx_L1_error)
+3439: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp)); /* … */ __pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
+3440: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1); /* … */ __pyx_v_value_index = (__pyx_v_value_index + 1);
3441:
+3442: elif stream.c == COLON or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+3443: stream.c == TAB or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; }
+3444: stream.c == LF or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; }
+3445: stream.c == CR or \
__pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* … */ __pyx_t_3 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; }
+3446: stream.c == 0:
__pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* … */ __pyx_t_3 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:;
+3447: vcf_calldata_store_floating(context, value_index, memory)
__pyx_t_2 = __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3447, __pyx_L1_error) /* … */ __pyx_t_2 = __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_floating(__pyx_v_context, __pyx_v_value_index, __pyx_v_memory); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3447, __pyx_L1_error)
+3448: break
goto __pyx_L4_break; /* … */ goto __pyx_L4_break;
3449:
3450: else:
+3451: CharVector_append(&context.temp, stream.c)
/*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:; /* … */ /*else*/ { __pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c); } __pyx_L5:;
3452:
+3453: stream.advance()
__pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3453, __pyx_L1_error) } __pyx_L4_break:; /* … */ __pyx_t_2 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3453, __pyx_L1_error) } __pyx_L4_break:;
3454:
3455:
+3456: cdef int vcf_calldata_store_floating(VCFContext context,
static int __pyx_fuse_0__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; double __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_0vcf_calldata_store_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_fuse_1__pyx_f_5allel_3opt_11io_vcf_read_vcf_calldata_store_floating(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, Py_ssize_t __pyx_v_value_index, __Pyx_memviewslice __pyx_v_memory) { Py_ssize_t __pyx_v_parsed; double __pyx_v_value; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__pyx_fuse_1vcf_calldata_store_floating", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_calldata_store_floating", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3457: Py_ssize_t value_index,
3458: floating[:, :, :] memory) except -1: # nogil
3459: cdef:
3460: Py_ssize_t parsed
3461: double value
3462:
+3463: if value_index >= memory.shape[2]:
__pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_value_index >= (__pyx_v_memory.shape[2])) != 0); if (__pyx_t_1) { /* … */ }
3464: # more values than we have room for, ignore
+3465: return 0
__pyx_r = 0; goto __pyx_L0; /* … */ __pyx_r = 0; goto __pyx_L0;
3466:
+3467: parsed = vcf_strtod(&context.temp, context, &value)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtod((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3467, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2; /* … */ __pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtod((&__pyx_v_context->temp), __pyx_v_context, (&__pyx_v_value)); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 3467, __pyx_L1_error) __pyx_v_parsed = __pyx_t_2;
3468:
3469: # store value
+3470: if parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ } /* … */ __pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
+3471: memory[context.chunk_variant_index, context.sample_output_index, value_index] = value
__pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_float32_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value; /* … */ __pyx_t_3 = __pyx_v_context->chunk_variant_index; __pyx_t_4 = __pyx_v_context->sample_output_index; __pyx_t_5 = __pyx_v_value_index; *((__pyx_t_5numpy_float64_t *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_memory.data + __pyx_t_3 * __pyx_v_memory.strides[0]) ) + __pyx_t_4 * __pyx_v_memory.strides[1]) ) + __pyx_t_5 * __pyx_v_memory.strides[2]) )) = __pyx_v_value;
3472:
3473:
+3474: cdef class VCFCallDataStringParser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataStringParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataStringParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataStringParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataStringParser;
3475:
3476: cdef np.uint8_t[:] memory
3477:
+3478: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataStringParser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataStringParser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataStringParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3479: kwargs['dtype'] = check_string_dtype(kwargs.get('dtype'))
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_s_dtype, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_t_1) < 0)) __PYX_ERR(0, 3479, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3480: super(VCFCallDataStringParser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataStringParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataStringParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataStringParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3481:
+3482: cdef int parse(self,
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataStringParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_value_index; Py_ssize_t __pyx_v_memory_offset; Py_ssize_t __pyx_v_memory_index; Py_ssize_t __pyx_v_chars_stored; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataStringParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3483: InputStreamBase stream,
3484: VCFContext context) except -1: # nogil
3485: cdef:
+3486: Py_ssize_t value_index = 0
__pyx_v_value_index = 0;
3487: # index into memory view
3488: Py_ssize_t memory_offset, memory_index
3489: # number of characters read into current value
+3490: Py_ssize_t chars_stored = 0
__pyx_v_chars_stored = 0;
3491:
3492: # initialise memory index
3493: memory_offset = ((context.chunk_variant_index *
3494: self.n_samples_out *
3495: self.number *
+3496: self.itemsize) +
/* "allel/opt/io_vcf_read.pyx":3496 * self.n_samples_out * * self.number * * self.itemsize) + # <<<<<<<<<<<<<< * (context.sample_output_index * * self.number * */ __pyx_v_memory_offset = ((((__pyx_v_context->chunk_variant_index * __pyx_v_self->__pyx_base.n_samples_out) * __pyx_v_self->__pyx_base.number) * __pyx_v_self->__pyx_base.itemsize) + ((__pyx_v_context->sample_output_index * __pyx_v_self->__pyx_base.number) * __pyx_v_self->__pyx_base.itemsize));
3497: (context.sample_output_index *
3498: self.number *
3499: self.itemsize))
+3500: memory_index = memory_offset
__pyx_v_memory_index = __pyx_v_memory_offset;
3501:
3502: # read characters until tab
+3503: while True:
while (1) {
3504:
+3505: if stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+3506: stream.c == COLON or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+3507: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+3508: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+3509: stream.c == 0:
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:;
+3510: return 1
__pyx_r = 1; goto __pyx_L0;
3511:
+3512: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
3513: # advance value index
+3514: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1);
3515: # set memory index to beginning of next item
+3516: memory_index = memory_offset + (value_index * self.itemsize)
__pyx_v_memory_index = (__pyx_v_memory_offset + (__pyx_v_value_index * __pyx_v_self->__pyx_base.itemsize));
3517: # reset chars stored
+3518: chars_stored = 0
__pyx_v_chars_stored = 0;
3519:
+3520: elif chars_stored < self.itemsize and value_index < self.number:
__pyx_t_2 = ((__pyx_v_chars_stored < __pyx_v_self->__pyx_base.itemsize) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L11_bool_binop_done; } __pyx_t_2 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L11_bool_binop_done:; if (__pyx_t_1) { /* … */ } __pyx_L5:;
3521: # store value
+3522: self.memory[memory_index] = stream.c
__pyx_t_3 = __pyx_v_stream->c; __pyx_t_4 = __pyx_v_memory_index; *((__pyx_t_5numpy_uint8_t *) ( /* dim=0 */ (__pyx_v_self->memory.data + __pyx_t_4 * __pyx_v_self->memory.strides[0]) )) = __pyx_t_3;
3523: # advance memory index
+3524: memory_index += 1
__pyx_v_memory_index = (__pyx_v_memory_index + 1);
3525: # advance number of characters stored
+3526: chars_stored += 1
__pyx_v_chars_stored = (__pyx_v_chars_stored + 1);
3527:
3528: # advance input stream
+3529: stream.advance()
__pyx_t_5 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 3529, __pyx_L1_error)
}
3530:
+3531: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataStringParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataStringParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3532: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3533: self.values = np.zeros(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3533, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3533, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3534: self.memory = self.values.reshape(-1).view('u1')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_reshape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__103, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_view); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__103 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__103); __Pyx_GIVEREF(__pyx_tuple__103); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__104, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_nn___pyx_t_5numpy_uint8_t(__pyx_t_2); if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_XDEC_MEMVIEW(&__pyx_v_self->memory, 0); __pyx_v_self->memory = __pyx_t_5; __pyx_t_5.memview = NULL; __pyx_t_5.data = NULL; __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_u1); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 3534, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104);
3535:
+3536: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataStringParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataStringParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_23VCFCallDataStringParser_make_chunk { int __pyx_n; PyObject *limit; };
+3537: field = u'calldata/' + text_type(self.key, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3537, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3537, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_self->__pyx_base.key); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->__pyx_base.key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_kp_u_calldata_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_field = __pyx_t_2; __pyx_t_2 = 0;
+3538: values = self.values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->__pyx_base.values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_values = __pyx_t_2; __pyx_t_2 = 0;
+3539: if self.number == 1:
__pyx_t_6 = ((__pyx_v_self->__pyx_base.number == 1) != 0); if (__pyx_t_6) { /* … */ }
+3540: values = values.squeeze(axis=2)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_2) < 0) __PYX_ERR(0, 3540, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_5); __pyx_t_5 = 0;
+3541: chunk[field] = values
if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_v_values) < 0)) __PYX_ERR(0, 3541, __pyx_L1_error)
3542:
3543:
+3544: cdef class VCFCallDataObjectParser(VCFCallDataParserBase):
struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser { struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; __Pyx_memviewslice memory; }; /* … */ struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser { struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataParserBase __pyx_base; }; static struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser *__pyx_vtabptr_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser;
3545:
3546: cdef np.uint8_t[:] memory
3547:
+3548: def __init__(self, *args, **kwargs):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; __Pyx_GOTREF(__pyx_v_kwargs); __Pyx_INCREF(__pyx_args); __pyx_v_args = __pyx_args; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); __Pyx_XDECREF(__pyx_v_kwargs); __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataObjectParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3549: kwargs['dtype'] = np.dtype('object')
__pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__105, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_n_s_dtype, __pyx_t_1) < 0)) __PYX_ERR(0, 3549, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 3549, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__105); __Pyx_GIVEREF(__pyx_tuple__105);
+3550: super(VCFCallDataObjectParser, self).__init__(*args, **kwargs)
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3551:
+3552: cdef int parse(self,
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_parse(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser *__pyx_v_self, struct __pyx_obj_5allel_3opt_11io_vcf_read_InputStreamBase *__pyx_v_stream, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_value_index; PyObject *__pyx_v_v = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataObjectParser.parse", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_v); __Pyx_RefNannyFinishContext(); return __pyx_r; }
3553: InputStreamBase stream,
3554: VCFContext context) except -1: # nogil
3555: cdef:
+3556: Py_ssize_t value_index = 0
__pyx_v_value_index = 0;
3557:
+3558: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
3559:
3560: # read characters until tab
+3561: while True:
while (1) {
3562:
+3563: if stream.c == TAB or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_TAB) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; } /* … */ if (__pyx_t_1) { /* … */ }
+3564: stream.c == COLON or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COLON) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+3565: stream.c == CR or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_CR) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+3566: stream.c == LF or \
__pyx_t_2 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_LF) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L6_bool_binop_done; }
+3567: stream.c == 0:
__pyx_t_2 = ((__pyx_v_stream->c == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L6_bool_binop_done:;
+3568: if value_index < self.number and context.temp.size > 0:
__pyx_t_2 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L12_bool_binop_done; } __pyx_t_2 = ((__pyx_v_context->temp.size > 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L12_bool_binop_done:; if (__pyx_t_1) { /* … */ }
3569: # with gil:
+3570: v = CharVector_to_pystr(&context.temp)
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_3); __pyx_t_3 = 0;
+3571: self.values[context.chunk_variant_index, context.sample_output_index, value_index] = v
__pyx_t_3 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_context->sample_output_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_value_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_6, __pyx_v_v) < 0)) __PYX_ERR(0, 3571, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+3572: break
goto __pyx_L4_break;
3573:
+3574: elif stream.c == COMMA:
__pyx_t_1 = ((__pyx_v_stream->c == __pyx_v_5allel_3opt_11io_vcf_read_COMMA) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L5; }
+3575: if value_index < self.number and context.temp.size > 0:
__pyx_t_2 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L15_bool_binop_done; } __pyx_t_2 = ((__pyx_v_context->temp.size > 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L15_bool_binop_done:; if (__pyx_t_1) { /* … */ }
3576: # with gil:
+3577: v = CharVector_to_pystr(&context.temp)
__pyx_t_6 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pystr((&__pyx_v_context->temp)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6); __pyx_t_6 = 0;
+3578: self.values[context.chunk_variant_index, context.sample_output_index, value_index] = v
__pyx_t_6 = PyInt_FromSsize_t(__pyx_v_context->chunk_variant_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_context->sample_output_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_value_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_t_3, __pyx_v_v) < 0)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3579: CharVector_clear(&context.temp)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_clear((&__pyx_v_context->temp));
3580: # advance value index
+3581: value_index += 1
__pyx_v_value_index = (__pyx_v_value_index + 1);
3582:
+3583: elif value_index < self.number:
__pyx_t_1 = ((__pyx_v_value_index < __pyx_v_self->__pyx_base.number) != 0); if (__pyx_t_1) { /* … */ } __pyx_L5:;
+3584: CharVector_append(&context.temp, stream.c)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_append((&__pyx_v_context->temp), __pyx_v_stream->c);
3585:
3586: # advance input stream
+3587: stream.advance()
__pyx_t_7 = ((struct __pyx_vtabstruct_5allel_3opt_11io_vcf_read_InputStreamBase *)__pyx_v_stream->__pyx_vtab)->advance(__pyx_v_stream); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 3587, __pyx_L1_error)
}
__pyx_L4_break:;
3588:
+3589: cdef int malloc_chunk(self) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_malloc_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser *__pyx_v_self) { PyObject *__pyx_v_shape = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("malloc_chunk", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataObjectParser.malloc_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_shape); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+3590: shape = (self.chunk_length, self.n_samples_out, self.number)
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.chunk_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.n_samples_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_self->__pyx_base.number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_shape = __pyx_t_4; __pyx_t_4 = 0;
+3591: self.values = np.empty(shape, dtype=self.dtype)
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape); __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, ((PyObject *)__pyx_v_self->__pyx_base.dtype)) < 0) __PYX_ERR(0, 3591, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx_base.values); __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.values)); __pyx_v_self->__pyx_base.values = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0;
+3592: self.values.fill(u'')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx_base.values), __pyx_n_s_fill); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__106, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__106 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 3592, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__106); __Pyx_GIVEREF(__pyx_tuple__106);
3593:
+3594: cdef int make_chunk(self, chunk, limit=None) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_make_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFCallDataObjectParser *__pyx_v_self, PyObject *__pyx_v_chunk, struct __pyx_opt_args_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_make_chunk *__pyx_optional_args) { PyObject *__pyx_v_limit = ((PyObject *)Py_None); PyObject *__pyx_v_field = NULL; PyObject *__pyx_v_values = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_chunk", 0); if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_limit = __pyx_optional_args->limit; } } /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.VCFCallDataObjectParser.make_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_field); __Pyx_XDECREF(__pyx_v_values); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ struct __pyx_opt_args_5allel_3opt_11io_vcf_read_23VCFCallDataObjectParser_make_chunk { int __pyx_n; PyObject *limit; };
+3595: field = u'calldata/' + text_type(self.key, 'utf8')
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_text_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_self->__pyx_base.key, __pyx_n_s_utf8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_self->__pyx_base.key); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self->__pyx_base.key); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_kp_u_calldata_2, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_field = __pyx_t_2; __pyx_t_2 = 0;
+3596: values = self.values[:limit]
__pyx_t_2 = __Pyx_PyObject_GetSlice(((PyObject *)__pyx_v_self->__pyx_base.values), 0, 0, NULL, &__pyx_v_limit, NULL, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_values = __pyx_t_2; __pyx_t_2 = 0;
+3597: if self.number == 1:
__pyx_t_6 = ((__pyx_v_self->__pyx_base.number == 1) != 0); if (__pyx_t_6) { /* … */ }
+3598: values = values.squeeze(axis=2)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_values, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_2) < 0) __PYX_ERR(0, 3598, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_values, __pyx_t_5); __pyx_t_5 = 0;
+3599: chunk[field] = values
if (unlikely(PyObject_SetItem(__pyx_v_chunk, __pyx_v_field, __pyx_v_values) < 0)) __PYX_ERR(0, 3599, __pyx_L1_error)
3600:
3601:
3602: ##########################################################################################
3603: # Low-level VCF value parsing functions
3604:
3605:
+3606: cdef Py_ssize_t vcf_strtol(CharVector* value, VCFContext context, long* l) except -1: # nogil
static Py_ssize_t __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtol(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_value, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, long *__pyx_v_l) { char *__pyx_v_str_end; Py_ssize_t __pyx_v_parsed; Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("vcf_strtol", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_strtol", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1L; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3607: cdef:
3608: char* str_end
3609: Py_ssize_t parsed
3610:
+3611: if value.size == 0:
__pyx_t_1 = ((__pyx_v_value->size == 0) != 0); if (__pyx_t_1) { /* … */ }
3612: # not strictly kosher, treat as missing value
+3613: return 0
__pyx_r = 0; goto __pyx_L0;
3614:
+3615: if value.size == 1 and value.data[0] == PERIOD:
__pyx_t_2 = ((__pyx_v_value->size == 1) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = (((__pyx_v_value->data[0]) == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* … */ }
3616: # explicit missing value
+3617: return 0
__pyx_r = 0; goto __pyx_L0;
3618:
3619: # terminate string
+3620: CharVector_terminate(value)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate(__pyx_v_value);
3621:
3622: # do parsing
+3623: l[0] = strtol(value.data, &str_end, 10)
(__pyx_v_l[0]) = strtol(__pyx_v_value->data, (&__pyx_v_str_end), 10);
3624:
3625: # check success
+3626: parsed = str_end - value.data
__pyx_v_parsed = (__pyx_v_str_end - __pyx_v_value->data);
3627:
3628: # check success
+3629: if value.size - 1 == parsed: # account for terminating null byte
__pyx_t_1 = (((__pyx_v_value->size - 1) == __pyx_v_parsed) != 0); if (__pyx_t_1) { /* … */ }
+3630: return parsed
__pyx_r = __pyx_v_parsed; goto __pyx_L0;
3631:
+3632: elif parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
3633: # with gil:
+3634: warn('not all characters parsed for integer value', context)
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_not_all_characters_parsed_for_in, __pyx_v_context); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3634, __pyx_L1_error)
+3635: return parsed
__pyx_r = __pyx_v_parsed; goto __pyx_L0;
3636:
3637: else:
3638: # with gil:
+3639: warn('error parsing integer value', context)
/*else*/ {
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_error_parsing_integer_value, __pyx_v_context); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3639, __pyx_L1_error)
+3640: return 0
__pyx_r = 0; goto __pyx_L0; }
3641:
3642:
+3643: cdef Py_ssize_t vcf_strtod(CharVector* value, VCFContext context, double* d) except -1: # nogil
static Py_ssize_t __pyx_f_5allel_3opt_11io_vcf_read_vcf_strtod(struct __pyx_t_5allel_3opt_11io_vcf_read_CharVector *__pyx_v_value, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context, double *__pyx_v_d) { char *__pyx_v_str_end; Py_ssize_t __pyx_v_parsed; Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("vcf_strtod", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.vcf_strtod", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1L; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
3644: cdef:
3645: char* str_end
3646: Py_ssize_t parsed
3647:
+3648: if value.size == 0:
__pyx_t_1 = ((__pyx_v_value->size == 0) != 0); if (__pyx_t_1) { /* … */ }
3649: # not strictly kosher, treat as missing value
+3650: return 0
__pyx_r = 0; goto __pyx_L0;
3651:
+3652: if value.size == 1 and value.data[0] == PERIOD:
__pyx_t_2 = ((__pyx_v_value->size == 1) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = (((__pyx_v_value->data[0]) == __pyx_v_5allel_3opt_11io_vcf_read_PERIOD) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* … */ }
3653: # explicit missing value
+3654: return 0
__pyx_r = 0; goto __pyx_L0;
3655:
3656: # terminate string
+3657: CharVector_terminate(value)
__pyx_f_5allel_3opt_11io_vcf_read_CharVector_terminate(__pyx_v_value);
3658:
3659: # do parsing
+3660: d[0] = strtod(value.data, &str_end)
(__pyx_v_d[0]) = strtod(__pyx_v_value->data, (&__pyx_v_str_end));
3661:
3662: # check success
+3663: parsed = str_end - value.data
__pyx_v_parsed = (__pyx_v_str_end - __pyx_v_value->data);
3664:
3665: # check success
+3666: if value.size - 1 == parsed: # account for terminating null byte
__pyx_t_1 = (((__pyx_v_value->size - 1) == __pyx_v_parsed) != 0); if (__pyx_t_1) { /* … */ }
+3667: return parsed
__pyx_r = __pyx_v_parsed; goto __pyx_L0;
3668:
+3669: elif parsed > 0:
__pyx_t_1 = ((__pyx_v_parsed > 0) != 0); if (__pyx_t_1) { /* … */ }
3670: # with gil:
+3671: warn('not all characters parsed for floating point value', context)
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_not_all_characters_parsed_for_fl, __pyx_v_context); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3671, __pyx_L1_error)
+3672: return parsed
__pyx_r = __pyx_v_parsed; goto __pyx_L0;
3673:
3674: else:
3675: # with gil:
+3676: warn('error parsing floating point value', context)
/*else*/ {
__pyx_t_3 = __pyx_f_5allel_3opt_11io_vcf_read_warn(__pyx_kp_s_error_parsing_floating_point_val, __pyx_v_context); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3676, __pyx_L1_error)
+3677: return 0
__pyx_r = 0; goto __pyx_L0; }
3678:
3679:
3680: ##########################################################################################
3681: # LOGGING
3682:
3683:
+3684: vcf_state_labels = [
__pyx_t_1 = PyList_New(12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_CHROM); __Pyx_GIVEREF(__pyx_n_s_CHROM); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_CHROM); __Pyx_INCREF(__pyx_n_s_POS); __Pyx_GIVEREF(__pyx_n_s_POS); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_POS); __Pyx_INCREF(__pyx_n_s_ID); __Pyx_GIVEREF(__pyx_n_s_ID); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_ID); __Pyx_INCREF(__pyx_n_s_REF); __Pyx_GIVEREF(__pyx_n_s_REF); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_REF); __Pyx_INCREF(__pyx_n_s_ALT); __Pyx_GIVEREF(__pyx_n_s_ALT); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_s_ALT); __Pyx_INCREF(__pyx_n_s_QUAL); __Pyx_GIVEREF(__pyx_n_s_QUAL); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_n_s_QUAL); __Pyx_INCREF(__pyx_n_s_FILTER); __Pyx_GIVEREF(__pyx_n_s_FILTER); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_n_s_FILTER); __Pyx_INCREF(__pyx_n_s_INFO); __Pyx_GIVEREF(__pyx_n_s_INFO); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_n_s_INFO); __Pyx_INCREF(__pyx_n_s_FORMAT); __Pyx_GIVEREF(__pyx_n_s_FORMAT); PyList_SET_ITEM(__pyx_t_1, 8, __pyx_n_s_FORMAT); __Pyx_INCREF(__pyx_n_s_CALLDATA); __Pyx_GIVEREF(__pyx_n_s_CALLDATA); PyList_SET_ITEM(__pyx_t_1, 9, __pyx_n_s_CALLDATA); __Pyx_INCREF(__pyx_n_s_EOL); __Pyx_GIVEREF(__pyx_n_s_EOL); PyList_SET_ITEM(__pyx_t_1, 10, __pyx_n_s_EOL); __Pyx_INCREF(__pyx_n_s_EOF); __Pyx_GIVEREF(__pyx_n_s_EOF); PyList_SET_ITEM(__pyx_t_1, 11, __pyx_n_s_EOF); if (PyDict_SetItem(__pyx_d, __pyx_n_s_vcf_state_labels, __pyx_t_1) < 0) __PYX_ERR(0, 3684, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3685: 'CHROM',
3686: 'POS',
3687: 'ID',
3688: 'REF',
3689: 'ALT',
3690: 'QUAL',
3691: 'FILTER',
3692: 'INFO',
3693: 'FORMAT',
3694: 'CALLDATA',
3695: 'EOL',
3696: 'EOF'
3697: ]
3698:
3699:
+3700: cdef int warn(message, VCFContext context) except -1:
static int __pyx_f_5allel_3opt_11io_vcf_read_warn(PyObject *__pyx_v_message, struct __pyx_obj_5allel_3opt_11io_vcf_read_VCFContext *__pyx_v_context) { Py_ssize_t __pyx_v_format_index; PyObject *__pyx_v_chrom = NULL; PyObject *__pyx_v_sample = NULL; PyObject *__pyx_v_format = NULL; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("warn", 0); __Pyx_INCREF(__pyx_v_message); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.warn", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_chrom); __Pyx_XDECREF(__pyx_v_sample); __Pyx_XDECREF(__pyx_v_format); __Pyx_XDECREF(__pyx_v_message); __Pyx_RefNannyFinishContext(); return __pyx_r; }
3701: cdef Py_ssize_t format_index
+3702: message += '; field: %s' % vcf_state_labels[context.state]
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_vcf_state_labels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_context->state, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_field_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_2); __pyx_t_2 = 0;
+3703: message += '; variant: %s' % context.variant_index
__pyx_t_2 = PyInt_FromSsize_t(__pyx_v_context->variant_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_variant_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_2); __pyx_t_2 = 0;
+3704: if context.state > VCFState.POS:
__pyx_t_3 = ((__pyx_v_context->state > __pyx_e_5allel_3opt_11io_vcf_read_POS) != 0); if (__pyx_t_3) { /* … */ }
+3705: chrom = CharVector_to_pybytes(&context.chrom)
__pyx_t_2 = __pyx_f_5allel_3opt_11io_vcf_read_CharVector_to_pybytes((&__pyx_v_context->chrom)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_chrom = __pyx_t_2; __pyx_t_2 = 0;
+3706: if not PY2:
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PY2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3706, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = ((!__pyx_t_3) != 0); if (__pyx_t_4) { /* … */ }
+3707: chrom = str(chrom, 'utf8')
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_chrom); __Pyx_GIVEREF(__pyx_v_chrom); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_chrom); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_utf8); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_chrom, __pyx_t_1); __pyx_t_1 = 0;
+3708: message += ' (%s:%s)' % (chrom, context.pos)
__pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_context->pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_chrom); __Pyx_GIVEREF(__pyx_v_chrom); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_chrom); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_2); __pyx_t_2 = 0;
+3709: if context.state == VCFState.CALLDATA:
__pyx_t_4 = ((__pyx_v_context->state == __pyx_e_5allel_3opt_11io_vcf_read_CALLDATA) != 0); if (__pyx_t_4) { /* … */ }
+3710: if context.sample_index >= len(context.headers.samples):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_context->headers, __pyx_n_s_samples); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3710, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = ((__pyx_v_context->sample_index >= __pyx_t_5) != 0); if (__pyx_t_4) { /* … */ goto __pyx_L6; }
+3711: sample = 'unknown'
__Pyx_INCREF(__pyx_n_s_unknown);
__pyx_v_sample = __pyx_n_s_unknown;
3712: else:
+3713: sample = context.headers.samples[context.sample_index]
/*else*/ { __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_context->headers, __pyx_n_s_samples); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_context->sample_index, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_sample = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L6:;
+3714: if context.sample_field_index >= context.variant_format_indices.size:
__pyx_t_4 = ((__pyx_v_context->sample_field_index >= __pyx_v_context->variant_format_indices.size) != 0); if (__pyx_t_4) { /* … */ goto __pyx_L7; }
+3715: format = 'unknown'
__Pyx_INCREF(__pyx_n_s_unknown);
__pyx_v_format = __pyx_n_s_unknown;
3716: else:
+3717: format_index = context.variant_format_indices.data[context.sample_field_index]
/*else*/ { __pyx_v_format_index = (__pyx_v_context->variant_format_indices.data[__pyx_v_context->sample_field_index]);
+3718: format = context.formats[format_index]
if (unlikely(__pyx_v_context->formats == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 3718, __pyx_L1_error) } __pyx_t_1 = PyList_GET_ITEM(__pyx_v_context->formats, __pyx_v_format_index); __Pyx_INCREF(__pyx_t_1); __pyx_v_format = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L7:;
+3719: message += '; sample: %s:%s (%s:%s)' % (context.sample_index,
__pyx_t_1 = PyInt_FromSsize_t(__pyx_v_context->sample_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* … */ __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __Pyx_INCREF(__pyx_v_sample); __Pyx_GIVEREF(__pyx_v_sample); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_sample); __Pyx_INCREF(__pyx_v_format); __Pyx_GIVEREF(__pyx_v_format); PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_v_format); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_sample_s_s_s_s, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_message, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_message, __pyx_t_6); __pyx_t_6 = 0;
+3720: context.sample_field_index,
__pyx_t_2 = PyInt_FromSsize_t(__pyx_v_context->sample_field_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
3721: sample,
3722: format)
+3723: warnings.warn(message)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_2) { __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_message}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_message}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL; __Pyx_INCREF(__pyx_v_message); __Pyx_GIVEREF(__pyx_v_message); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_message); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3724:
3725:
3726: # import sys
3727: #
3728: #
3729: # cdef int debug(message, vars=None) except -1:
3730: # message = '[DEBUG] ' + str(message)
3731: # if vars:
3732: # message = message % vars
3733: # print(message, file=sys.stderr)
3734: # sys.stderr.flush()
3735:
3736:
3737: ##########################################################################################
3738: # EXPERIMENTAL support for multi-threaded parsing
3739: # N.B., this is not used for the moment, because use of object dtype for strings
3740: # requires GIL acquisition, and this may hurt performance in a single-threaded
3741: # context. I'm not completely certain that is the case, but I am out of time to
3742: # explore further.
3743:
3744:
3745: # import itertools
3746: # import time
3747: #
3748: #
3749: # cdef class VCFParallelParser:
3750: #
3751: # cdef:
3752: # FileInputStream stream
3753: # CharVectorInputStream buffer
3754: # VCFContext context
3755: # VCFParser parser
3756: # Py_ssize_t chunk_length
3757: # Py_ssize_t block_length
3758: # object pool
3759: # object result
3760: #
3761: # def __cinit__(self, stream, parser, chunk_length, block_length, pool, headers, fields):
3762: # self.buffer = CharVectorInputStream(2**14)
3763: # self.context = VCFContext(headers, fields)
3764: # self.stream = stream
3765: # self.parser = parser
3766: # self.chunk_length = chunk_length
3767: # self.block_length = block_length
3768: # self.pool = pool
3769: # self.result = None
3770: #
3771: # def read(self, n_lines):
3772: # self.buffer.clear()
3773: # n_lines_read = self.stream.read_lines_into(&(self.buffer.vector), n_lines)
3774: # self.buffer.advance()
3775: # return n_lines_read
3776: #
3777: # def parse_async(self, block_index, chunk_index):
3778: # self.result = self.pool.apply_async(self.parse, args=(block_index, chunk_index))
3779: #
3780: # def join(self):
3781: # if self.result is not None:
3782: # self.result.get()
3783: #
3784: # def parse(self, block_index, chunk_index):
3785: # before = time.time()
3786: # # set initial state
3787: # self.context.state = VCFState.CHROM
3788: # self.context.chunk_variant_index = block_index * self.block_length - 1
3789: # self.context.variant_index = (chunk_index * self.chunk_length +
3790: # self.context.chunk_variant_index)
3791: # # parse the block of data stored in the buffer
3792: # self.parser.parse(self.buffer, self.context)
3793: # after = time.time()
3794: #
3795: #
3796: # cdef class VCFParallelChunkIterator:
3797: #
3798: # cdef:
3799: # FileInputStream stream
3800: # VCFParser parser
3801: # object pool
3802: # Py_ssize_t chunk_length
3803: # Py_ssize_t block_length
3804: # int n_threads
3805: # int n_workers
3806: # Py_ssize_t chunk_index
3807: # list workers
3808: #
3809: # def __cinit__(self,
3810: # FileInputStream stream,
3811: # Py_ssize_t chunk_length, Py_ssize_t block_length, int n_threads,
3812: # headers, fields, types, numbers, fills, region, loc_samples):
3813: #
3814: # fields = sorted(fields)
3815: # self.stream = stream
3816: # self.chunk_length = chunk_length
3817: # self.n_threads = n_threads
3818: # self.pool = ThreadPool(n_threads)
3819: # # allow one more worker than number of threads in pool to allow for sync
3820: # # reading of data in the main thread
3821: # self.n_workers = n_threads + 1
3822: # # only makes sense to have block length at most fraction chunk length if we want
3823: # # some parallelism
3824: # self.block_length = min(block_length, chunk_length//self.n_workers)
3825: # if self.block_length < 1:
3826: # self.block_length = 1
3827: # loc_samples = check_samples(loc_samples, headers)
3828: # self.parser = VCFParser(
3829: # fields=fields, types=types, numbers=numbers, chunk_length=chunk_length, loc_samples=loc_samples, fills=fills,
3830: # region=region
3831: # )
3832: # self.chunk_index = -1
3833: # self.workers = [VCFParallelParser(stream=stream, parser=self.parser, chunk_length=self.chunk_length,
3834: # block_length=self.block_length, pool=self.pool, headers=headers,
3835: # fields=fields)
3836: # for _ in range(self.n_workers)]
3837: #
3838: # def __iter__(self):
3839: # return self
3840: #
3841: # def __next__(self):
3842: # cdef:
3843: # Py_ssize_t block_index = 0
3844: # Py_ssize_t i = 0
3845: # Py_ssize_t n_lines
3846: # Py_ssize_t n_lines_read = 0
3847: # VCFParallelParser worker
3848: #
3849: # # increment the current chunk index
3850: # self.chunk_index += 1
3851: #
3852: # # allocate arrays for next chunk
3853: # self.parser.malloc_chunk()
3854: #
3855: # # cycle around the workers
3856: # for i in itertools.cycle(list(range(self.n_workers))):
3857: # worker = self.workers[i]
3858: #
3859: # # wait for the result to finish - this ensures we don't overwrite a
3860: # # worker's buffer while it's still parsing
3861: # worker.join()
3862: #
3863: # # read lines into the worker's buffer - this part has to be synchronous
3864: # n_lines = min(self.block_length, self.chunk_length - n_lines_read)
3865: # n_lines_read += worker.read(n_lines)
3866: #
3867: # # launch parsing of the block in parallel
3868: # worker.parse_async(block_index, self.chunk_index)
3869: #
3870: # # increment the current block index
3871: # block_index += 1
3872: #
3873: # # is the chunk done?
3874: # if n_lines_read >= self.chunk_length:
3875: # break
3876: #
3877: # # is the input stream exhausted?
3878: # if self.stream.c == 0:
3879: # break
3880: #
3881: # # wait for all parallel tasks to complete
3882: # for worker in self.workers:
3883: # worker.join()
3884: #
3885: # # obtain the final chunk length via the last worker
3886: # worker = self.workers[i]
3887: # chunk_length = worker.context.chunk_variant_index + 1
3888: #
3889: # # obtain the chunk
3890: # chunk = self.parser.make_chunk(chunk_length)
3891: #
3892: # if chunk is None:
3893: # # clean up thread pool
3894: # self.pool.close()
3895: # self.pool.join()
3896: # self.pool.terminate()
3897: # raise StopIteration
3898: #
3899: # else:
3900: # chrom = CharVector_to_pybytes(&worker.context.chrom)
3901: # pos = worker.context.pos
3902: # return chunk, chunk_length, chrom, pos
3903:
3904:
3905: ###################################################################
3906: # ANN transformer
3907:
3908:
3909: # ANN field indices
+3910: cdef enum ANNFidx:
enum __pyx_t_5allel_3opt_11io_vcf_read_ANNFidx { __pyx_e_5allel_3opt_11io_vcf_read_ALLELE = 0, __pyx_e_5allel_3opt_11io_vcf_read_ANNOTATION = 1, __pyx_e_5allel_3opt_11io_vcf_read_ANNOTATION_IMPACT = 2, __pyx_e_5allel_3opt_11io_vcf_read_GENE_NAME = 3, __pyx_e_5allel_3opt_11io_vcf_read_GENE_ID = 4, __pyx_e_5allel_3opt_11io_vcf_read_FEATURE_TYPE = 5, __pyx_e_5allel_3opt_11io_vcf_read_FEATURE_ID = 6, __pyx_e_5allel_3opt_11io_vcf_read_TRANSCRIPT_BIOTYPE = 7, __pyx_e_5allel_3opt_11io_vcf_read_RANK = 8, __pyx_e_5allel_3opt_11io_vcf_read_HGVS_C = 9, __pyx_e_5allel_3opt_11io_vcf_read_HGVS_P = 10, __pyx_e_5allel_3opt_11io_vcf_read_CDNA = 11, __pyx_e_5allel_3opt_11io_vcf_read_CDS = 12, __pyx_e_5allel_3opt_11io_vcf_read_AA = 13, __pyx_e_5allel_3opt_11io_vcf_read_DISTANCE = 14 };
3911: ALLELE = 0,
3912: ANNOTATION = 1,
3913: ANNOTATION_IMPACT = 2,
3914: GENE_NAME = 3,
3915: GENE_ID = 4,
3916: FEATURE_TYPE = 5,
3917: FEATURE_ID = 6,
3918: TRANSCRIPT_BIOTYPE = 7,
3919: RANK = 8,
3920: HGVS_C = 9,
3921: HGVS_P = 10,
3922: CDNA = 11,
3923: CDS = 12,
3924: AA = 13,
3925: DISTANCE = 14
3926:
3927:
+3928: ANN_FIELD = 'variants/ANN'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_FIELD, __pyx_kp_s_variants_ANN_2) < 0) __PYX_ERR(0, 3928, __pyx_L1_error)
+3929: ANN_ALLELE_FIELD = 'variants/ANN_Allele'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_ALLELE_FIELD, __pyx_kp_s_variants_ANN_Allele) < 0) __PYX_ERR(0, 3929, __pyx_L1_error)
+3930: ANN_ANNOTATION_FIELD = 'variants/ANN_Annotation'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_ANNOTATION_FIELD, __pyx_kp_s_variants_ANN_Annotation) < 0) __PYX_ERR(0, 3930, __pyx_L1_error)
+3931: ANN_ANNOTATION_IMPACT_FIELD = 'variants/ANN_Annotation_Impact'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_ANNOTATION_IMPACT_FIELD, __pyx_kp_s_variants_ANN_Annotation_Impact) < 0) __PYX_ERR(0, 3931, __pyx_L1_error)
+3932: ANN_GENE_NAME_FIELD = 'variants/ANN_Gene_Name'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_GENE_NAME_FIELD, __pyx_kp_s_variants_ANN_Gene_Name) < 0) __PYX_ERR(0, 3932, __pyx_L1_error)
+3933: ANN_GENE_ID_FIELD = 'variants/ANN_Gene_ID'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_GENE_ID_FIELD, __pyx_kp_s_variants_ANN_Gene_ID) < 0) __PYX_ERR(0, 3933, __pyx_L1_error)
+3934: ANN_FEATURE_TYPE_FIELD = 'variants/ANN_Feature_Type'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_FEATURE_TYPE_FIELD, __pyx_kp_s_variants_ANN_Feature_Type) < 0) __PYX_ERR(0, 3934, __pyx_L1_error)
+3935: ANN_FEATURE_ID_FIELD = 'variants/ANN_Feature_ID'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_FEATURE_ID_FIELD, __pyx_kp_s_variants_ANN_Feature_ID) < 0) __PYX_ERR(0, 3935, __pyx_L1_error)
+3936: ANN_TRANSCRIPT_BIOTYPE_FIELD = 'variants/ANN_Transcript_BioType'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_TRANSCRIPT_BIOTYPE_FIELD, __pyx_kp_s_variants_ANN_Transcript_BioType) < 0) __PYX_ERR(0, 3936, __pyx_L1_error)
+3937: ANN_RANK_FIELD = 'variants/ANN_Rank'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_RANK_FIELD, __pyx_kp_s_variants_ANN_Rank) < 0) __PYX_ERR(0, 3937, __pyx_L1_error)
+3938: ANN_HGVS_C_FIELD = 'variants/ANN_HGVS_c'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_HGVS_C_FIELD, __pyx_kp_s_variants_ANN_HGVS_c) < 0) __PYX_ERR(0, 3938, __pyx_L1_error)
+3939: ANN_HGVS_P_FIELD = 'variants/ANN_HGVS_p'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_HGVS_P_FIELD, __pyx_kp_s_variants_ANN_HGVS_p) < 0) __PYX_ERR(0, 3939, __pyx_L1_error)
+3940: ANN_CDNA_FIELD = 'variants/ANN_cDNA'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_CDNA_FIELD, __pyx_kp_s_variants_ANN_cDNA) < 0) __PYX_ERR(0, 3940, __pyx_L1_error)
+3941: ANN_CDNA_POS_FIELD = 'variants/ANN_cDNA_pos'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_CDNA_POS_FIELD, __pyx_kp_s_variants_ANN_cDNA_pos) < 0) __PYX_ERR(0, 3941, __pyx_L1_error)
+3942: ANN_CDNA_LENGTH_FIELD = 'variants/ANN_cDNA_length'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_CDNA_LENGTH_FIELD, __pyx_kp_s_variants_ANN_cDNA_length) < 0) __PYX_ERR(0, 3942, __pyx_L1_error)
+3943: ANN_CDS_FIELD = 'variants/ANN_CDS'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_CDS_FIELD, __pyx_kp_s_variants_ANN_CDS) < 0) __PYX_ERR(0, 3943, __pyx_L1_error)
+3944: ANN_CDS_POS_FIELD = 'variants/ANN_CDS_pos'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_CDS_POS_FIELD, __pyx_kp_s_variants_ANN_CDS_pos) < 0) __PYX_ERR(0, 3944, __pyx_L1_error)
+3945: ANN_CDS_LENGTH_FIELD = 'variants/ANN_CDS_length'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_CDS_LENGTH_FIELD, __pyx_kp_s_variants_ANN_CDS_length) < 0) __PYX_ERR(0, 3945, __pyx_L1_error)
+3946: ANN_AA_FIELD = 'variants/ANN_AA'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_AA_FIELD, __pyx_kp_s_variants_ANN_AA) < 0) __PYX_ERR(0, 3946, __pyx_L1_error)
+3947: ANN_AA_POS_FIELD = 'variants/ANN_AA_pos'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_AA_POS_FIELD, __pyx_kp_s_variants_ANN_AA_pos) < 0) __PYX_ERR(0, 3947, __pyx_L1_error)
+3948: ANN_AA_LENGTH_FIELD = 'variants/ANN_AA_length'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_AA_LENGTH_FIELD, __pyx_kp_s_variants_ANN_AA_length) < 0) __PYX_ERR(0, 3948, __pyx_L1_error)
+3949: ANN_DISTANCE_FIELD = 'variants/ANN_Distance'
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_DISTANCE_FIELD, __pyx_kp_s_variants_ANN_Distance) < 0) __PYX_ERR(0, 3949, __pyx_L1_error)
3950:
3951:
3952: ANN_FIELDS = (
+3953: ANN_ALLELE_FIELD,
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ALLELE_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* … */ __pyx_t_20 = PyTuple_New(18); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_20, 2, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_20, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_20, 4, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_20, 5, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_20, 6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_20, 7, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_20, 8, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_20, 9, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_20, 10, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_20, 11, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_20, 12, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_20, 13, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_20, 14, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_20, 15, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_20, 16, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 17, __pyx_t_19); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANN_FIELDS, __pyx_t_20) < 0) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+3954: ANN_ANNOTATION_FIELD,
__pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6);
+3955: ANN_ANNOTATION_IMPACT_FIELD,
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_IMPACT_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2);
+3956: ANN_GENE_NAME_FIELD,
__pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_NAME_FIELD); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5);
+3957: ANN_GENE_ID_FIELD,
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_ID_FIELD); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4);
+3958: ANN_FEATURE_TYPE_FIELD,
__pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_TYPE_FIELD); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7);
+3959: ANN_FEATURE_ID_FIELD,
__pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_ID_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8);
+3960: ANN_TRANSCRIPT_BIOTYPE_FIELD,
__pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_TRANSCRIPT_BIOTYPE_FIELD); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9);
+3961: ANN_RANK_FIELD,
__pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_RANK_FIELD); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10);
+3962: ANN_HGVS_C_FIELD,
__pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_C_FIELD); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11);
+3963: ANN_HGVS_P_FIELD,
__pyx_t_12 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_P_FIELD); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12);
+3964: ANN_CDNA_POS_FIELD,
__pyx_t_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_POS_FIELD); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13);
+3965: ANN_CDNA_LENGTH_FIELD,
__pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_LENGTH_FIELD); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14);
+3966: ANN_CDS_POS_FIELD,
__pyx_t_15 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_POS_FIELD); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15);
+3967: ANN_CDS_LENGTH_FIELD,
__pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_LENGTH_FIELD); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16);
+3968: ANN_AA_POS_FIELD,
__pyx_t_17 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_POS_FIELD); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17);
+3969: ANN_AA_LENGTH_FIELD,
__pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_LENGTH_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18);
+3970: ANN_DISTANCE_FIELD
__pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_DISTANCE_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19);
3971: )
3972:
3973:
+3974: def _normalize_ann_field_prefix(f):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_5_normalize_ann_field_prefix(PyObject *__pyx_self, PyObject *__pyx_v_f); /*proto*/ static PyMethodDef __pyx_mdef_5allel_3opt_11io_vcf_read_5_normalize_ann_field_prefix = {"_normalize_ann_field_prefix", (PyCFunction)__pyx_pw_5allel_3opt_11io_vcf_read_5_normalize_ann_field_prefix, METH_O, 0}; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_5_normalize_ann_field_prefix(PyObject *__pyx_self, PyObject *__pyx_v_f) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_normalize_ann_field_prefix (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_4_normalize_ann_field_prefix(__pyx_self, ((PyObject *)__pyx_v_f)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_4_normalize_ann_field_prefix(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_normalize_ann_field_prefix", 0); __Pyx_INCREF(__pyx_v_f); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("allel.opt.io_vcf_read._normalize_ann_field_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_f); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(0, 3974, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); /* … */ __pyx_t_20 = PyCFunction_NewEx(&__pyx_mdef_5allel_3opt_11io_vcf_read_5_normalize_ann_field_prefix, NULL, __pyx_n_s_allel_opt_io_vcf_read); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 3974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PyDict_SetItem(__pyx_d, __pyx_n_s_normalize_ann_field_prefix, __pyx_t_20) < 0) __PYX_ERR(0, 3974, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_allel_opt_io_vcf_read_pyx, __pyx_n_s_normalize_ann_field_prefix, 3974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(0, 3974, __pyx_L1_error)
3975: # normalize prefix
+3976: if f.startswith('variants/ANN_'):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_startswith); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__107, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { goto __pyx_L3; } /* … */ __pyx_tuple__107 = PyTuple_Pack(1, __pyx_kp_s_variants_ANN); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 3976, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__107); __Pyx_GIVEREF(__pyx_tuple__107);
3977: pass
+3978: elif f.startswith('ANN_'):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; } /* … */ __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_ANN); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__108); __Pyx_GIVEREF(__pyx_tuple__108);
+3979: f = 'variants/' + f
__pyx_t_1 = PyNumber_Add(__pyx_kp_s_variants_2, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0;
3980: else:
+3981: f = 'variants/ANN_' + f
/*else*/ { __pyx_t_1 = PyNumber_Add(__pyx_kp_s_variants_ANN, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
+3982: return f
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_f); __pyx_r = __pyx_v_f; goto __pyx_L0;
3983:
3984:
+3985: def _normalize_ann_fields(fields):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_7_normalize_ann_fields(PyObject *__pyx_self, PyObject *__pyx_v_fields); /*proto*/ static PyMethodDef __pyx_mdef_5allel_3opt_11io_vcf_read_7_normalize_ann_fields = {"_normalize_ann_fields", (PyCFunction)__pyx_pw_5allel_3opt_11io_vcf_read_7_normalize_ann_fields, METH_O, 0}; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_7_normalize_ann_fields(PyObject *__pyx_self, PyObject *__pyx_v_fields) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_normalize_ann_fields (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_6_normalize_ann_fields(__pyx_self, ((PyObject *)__pyx_v_fields)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_6_normalize_ann_fields(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fields) { PyObject *__pyx_v_normed_fields = NULL; PyObject *__pyx_v_f = NULL; PyObject *__pyx_v_ff = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_normalize_ann_fields", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("allel.opt.io_vcf_read._normalize_ann_fields", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_normed_fields); __Pyx_XDECREF(__pyx_v_f); __Pyx_XDECREF(__pyx_v_ff); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__155 = PyTuple_Pack(4, __pyx_n_s_fields, __pyx_n_s_normed_fields, __pyx_n_s_f, __pyx_n_s_ff); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); /* … */ __pyx_t_20 = PyCFunction_NewEx(&__pyx_mdef_5allel_3opt_11io_vcf_read_7_normalize_ann_fields, NULL, __pyx_n_s_allel_opt_io_vcf_read); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PyDict_SetItem(__pyx_d, __pyx_n_s_normalize_ann_fields, __pyx_t_20) < 0) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_allel_opt_io_vcf_read_pyx, __pyx_n_s_normalize_ann_fields, 3985, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(0, 3985, __pyx_L1_error)
+3986: normed_fields = list()
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_normed_fields = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
3987:
+3988: if fields is None:
__pyx_t_2 = (__pyx_v_fields == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ }
+3989: return list(ANN_FIELDS)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FIELDS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0;
3990:
3991: else:
+3992: for f in fields:
/*else*/ { if (likely(PyList_CheckExact(__pyx_v_fields)) || PyTuple_CheckExact(__pyx_v_fields)) { __pyx_t_4 = __pyx_v_fields; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_fields); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3992, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3992, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3992, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3992, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; }
+3993: f = _normalize_ann_field_prefix(f)
__pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_normalize_ann_field_prefix); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } if (!__pyx_t_8) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_f}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3993, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_f}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3993, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL; __Pyx_INCREF(__pyx_v_f); __Pyx_GIVEREF(__pyx_v_f); PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_f); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0;
3994: # convenience features
+3995: if f == ANN_CDNA_FIELD:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyObject_RichCompare(__pyx_v_f, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3995, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3995, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L6; }
+3996: for ff in ANN_CDNA_POS_FIELD, ANN_CDNA_LENGTH_FIELD:
__pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_POS_FIELD); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_LENGTH_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_1); __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_9; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (__pyx_t_10 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 3996, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_ff, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3997: if ff not in normed_fields:
__pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_ff, __pyx_v_normed_fields, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3997, __pyx_L1_error) __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* … */ }
+3998: normed_fields.append(ff)
__pyx_t_11 = __Pyx_PyList_Append(__pyx_v_normed_fields, __pyx_v_ff); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 3998, __pyx_L1_error)
+3999: elif f == ANN_CDS_FIELD:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyObject_RichCompare(__pyx_v_f, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3999, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 3999, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L6; }
+4000: for ff in ANN_CDS_POS_FIELD, ANN_CDS_LENGTH_FIELD:
__pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_POS_FIELD); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_LENGTH_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1); __pyx_t_9 = 0; __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (__pyx_t_10 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 4000, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_ff, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4001: if ff not in normed_fields:
__pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_ff, __pyx_v_normed_fields, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4001, __pyx_L1_error) __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ }
+4002: normed_fields.append(ff)
__pyx_t_11 = __Pyx_PyList_Append(__pyx_v_normed_fields, __pyx_v_ff); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 4002, __pyx_L1_error)
+4003: elif f == ANN_AA_FIELD:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyObject_RichCompare(__pyx_v_f, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L6; }
+4004: for ff in ANN_AA_POS_FIELD, ANN_AA_LENGTH_FIELD:
__pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_POS_FIELD); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_LENGTH_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_1); __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_9; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (__pyx_t_10 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 4004, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_ff, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4005: if ff not in normed_fields:
__pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_v_ff, __pyx_v_normed_fields, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4005, __pyx_L1_error) __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* … */ }
+4006: normed_fields.append(ff)
__pyx_t_11 = __Pyx_PyList_Append(__pyx_v_normed_fields, __pyx_v_ff); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 4006, __pyx_L1_error)
4007: # all other fields
+4008: elif f is not None and f not in normed_fields:
__pyx_t_3 = (__pyx_v_f != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { } else { __pyx_t_2 = __pyx_t_12; goto __pyx_L16_bool_binop_done; } __pyx_t_12 = (__Pyx_PySequence_ContainsTF(__pyx_v_f, __pyx_v_normed_fields, Py_NE)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 4008, __pyx_L1_error) __pyx_t_3 = (__pyx_t_12 != 0); __pyx_t_2 = __pyx_t_3; __pyx_L16_bool_binop_done:; if (__pyx_t_2) { /* … */ } __pyx_L6:;
+4009: if f not in ANN_FIELDS:
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FIELDS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_f, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4009, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ goto __pyx_L18; }
+4010: warnings.warn('invalid ANN field %r, will be ignored' % f)
__pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_warn); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_invalid_ANN_field_r_will_be_igno, __pyx_v_f); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } if (!__pyx_t_8) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_9}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_9}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_8); __pyx_t_8 = NULL; __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4011: else:
+4012: normed_fields.append(f)
/*else*/ { __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_normed_fields, __pyx_v_f); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 4012, __pyx_L1_error) } __pyx_L18:;
4013:
+4014: return normed_fields
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_normed_fields); __pyx_r = __pyx_v_normed_fields; goto __pyx_L0;
4015:
4016:
+4017: default_ann_types = dict()
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PyDict_SetItem(__pyx_d, __pyx_n_s_default_ann_types, __pyx_t_20) < 0) __PYX_ERR(0, 4017, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+4018: default_ann_types[ANN_ALLELE_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__157, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ALLELE_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157);
+4019: default_ann_types[ANN_ANNOTATION_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__158, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4019, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__158 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(0, 4019, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__158); __Pyx_GIVEREF(__pyx_tuple__158);
+4020: default_ann_types[ANN_ANNOTATION_IMPACT_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__159, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_IMPACT_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(0, 4020, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159);
+4021: default_ann_types[ANN_GENE_NAME_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__160, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_NAME_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__160 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__160); __Pyx_GIVEREF(__pyx_tuple__160);
+4022: default_ann_types[ANN_GENE_ID_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__161, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_ID_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4022, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(0, 4022, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161);
+4023: default_ann_types[ANN_FEATURE_TYPE_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__162, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_TYPE_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4023, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__162 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(0, 4023, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__162); __Pyx_GIVEREF(__pyx_tuple__162);
+4024: default_ann_types[ANN_FEATURE_ID_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__163, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_ID_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__163 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163);
+4025: default_ann_types[ANN_TRANSCRIPT_BIOTYPE_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__164, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_TRANSCRIPT_BIOTYPE_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4025, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__164 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__164)) __PYX_ERR(0, 4025, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__164); __Pyx_GIVEREF(__pyx_tuple__164);
+4026: default_ann_types[ANN_RANK_FIELD] = np.dtype('int8')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__165, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_RANK_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__165 = PyTuple_Pack(1, __pyx_n_s_int8); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__165); __Pyx_GIVEREF(__pyx_tuple__165);
+4027: default_ann_types[ANN_HGVS_C_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__166, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_C_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__166 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__166); __Pyx_GIVEREF(__pyx_tuple__166);
+4028: default_ann_types[ANN_HGVS_P_FIELD] = np.dtype('object')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__167, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_P_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__167 = PyTuple_Pack(1, __pyx_n_s_object); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(0, 4028, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__167); __Pyx_GIVEREF(__pyx_tuple__167);
+4029: default_ann_types[ANN_CDNA_POS_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__168, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_POS_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__168 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__168); __Pyx_GIVEREF(__pyx_tuple__168);
+4030: default_ann_types[ANN_CDNA_LENGTH_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__169, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_LENGTH_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__169 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__169); __Pyx_GIVEREF(__pyx_tuple__169);
+4031: default_ann_types[ANN_CDS_POS_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__170, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_POS_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__170 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__170); __Pyx_GIVEREF(__pyx_tuple__170);
+4032: default_ann_types[ANN_CDS_LENGTH_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__171, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_LENGTH_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4032, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__171 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(0, 4032, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__171); __Pyx_GIVEREF(__pyx_tuple__171);
+4033: default_ann_types[ANN_AA_POS_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__172, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_POS_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__172 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__172)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__172); __Pyx_GIVEREF(__pyx_tuple__172);
+4034: default_ann_types[ANN_AA_LENGTH_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__173, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_LENGTH_FIELD); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_18, __pyx_t_20) < 0)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__173 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__173); __Pyx_GIVEREF(__pyx_tuple__173);
+4035: default_ann_types[ANN_DISTANCE_FIELD] = np.dtype('int32')
__pyx_t_20 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__174, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_DISTANCE_FIELD); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 4035, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; /* … */ __pyx_tuple__174 = PyTuple_Pack(1, __pyx_n_s_int32); if (unlikely(!__pyx_tuple__174)) __PYX_ERR(0, 4035, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__174); __Pyx_GIVEREF(__pyx_tuple__174);
4036:
4037:
+4038: def _normalize_ann_types(fields, types):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9_normalize_ann_types(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_5allel_3opt_11io_vcf_read_9_normalize_ann_types = {"_normalize_ann_types", (PyCFunction)__pyx_pw_5allel_3opt_11io_vcf_read_9_normalize_ann_types, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_9_normalize_ann_types(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_normalize_ann_types (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_normalize_ann_types", 1, 2, 2, 1); __PYX_ERR(0, 4038, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_normalize_ann_types") < 0)) __PYX_ERR(0, 4038, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_normalize_ann_types", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4038, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read._normalize_ann_types", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_8_normalize_ann_types(__pyx_self, __pyx_v_fields, __pyx_v_types); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_8_normalize_ann_types(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types) { PyObject *__pyx_v_normed_types = NULL; PyObject *__pyx_v_f = NULL; PyObject *__pyx_7genexpr__pyx_v_f = NULL; PyObject *__pyx_7genexpr__pyx_v_t = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_normalize_ann_types", 0); __Pyx_INCREF(__pyx_v_types); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("allel.opt.io_vcf_read._normalize_ann_types", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_normed_types); __Pyx_XDECREF(__pyx_v_f); __Pyx_XDECREF(__pyx_7genexpr__pyx_v_f); __Pyx_XDECREF(__pyx_7genexpr__pyx_v_t); __Pyx_XDECREF(__pyx_v_types); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__175 = PyTuple_Pack(6, __pyx_n_s_fields, __pyx_n_s_types, __pyx_n_s_normed_types, __pyx_n_s_f, __pyx_n_s_f, __pyx_n_s_t); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(0, 4038, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__175); __Pyx_GIVEREF(__pyx_tuple__175); /* … */ __pyx_t_20 = PyCFunction_NewEx(&__pyx_mdef_5allel_3opt_11io_vcf_read_9_normalize_ann_types, NULL, __pyx_n_s_allel_opt_io_vcf_read); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (PyDict_SetItem(__pyx_d, __pyx_n_s_normalize_ann_types, __pyx_t_20) < 0) __PYX_ERR(0, 4038, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_allel_opt_io_vcf_read_pyx, __pyx_n_s_normalize_ann_types, 4038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(0, 4038, __pyx_L1_error)
4039:
+4040: if types is None:
__pyx_t_1 = (__pyx_v_types == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+4041: types = dict()
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_types, __pyx_t_3); __pyx_t_3 = 0;
+4042: types = {_normalize_ann_field_prefix(f): np.dtype(t)
{ /* enter inner scope */ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_normalize_ann_field_prefix); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } if (!__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_7genexpr__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_7genexpr__pyx_v_f}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_7genexpr__pyx_v_f}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_INCREF(__pyx_7genexpr__pyx_v_f); __Pyx_GIVEREF(__pyx_7genexpr__pyx_v_f); PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_7genexpr__pyx_v_f); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_7genexpr__pyx_v_t); __Pyx_GIVEREF(__pyx_7genexpr__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_7genexpr__pyx_v_t); __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_t_9, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyDict_SetItem(__pyx_t_3, (PyObject*)__pyx_t_4, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 4042, __pyx_L6_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4043: for f, t in types.items()}
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_types, __pyx_n_s_items); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4043, __pyx_L6_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4043, __pyx_L6_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4043, __pyx_L6_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4043, __pyx_L6_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_8(__pyx_t_5); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4043, __pyx_L6_error) } break; } __Pyx_GOTREF(__pyx_t_4); } if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4043, __pyx_L6_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4043, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 4043, __pyx_L6_error) __pyx_t_11 = NULL; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L10_unpacking_done; __pyx_L9_unpacking_failed:; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4043, __pyx_L6_error) __pyx_L10_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_f, __pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_t, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_f); __pyx_7genexpr__pyx_v_f = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_t); __pyx_7genexpr__pyx_v_t = 0; goto __pyx_L11_exit_scope; __pyx_L6_error:; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_f); __pyx_7genexpr__pyx_v_f = 0; __Pyx_XDECREF(__pyx_7genexpr__pyx_v_t); __pyx_7genexpr__pyx_v_t = 0; goto __pyx_L1_error; __pyx_L11_exit_scope:; } /* exit inner scope */ __Pyx_DECREF_SET(__pyx_v_types, __pyx_t_3); __pyx_t_3 = 0;
4044:
+4045: normed_types = dict()
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_normed_types = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+4046: for f in fields:
if (likely(PyList_CheckExact(__pyx_v_fields)) || PyTuple_CheckExact(__pyx_v_fields)) { __pyx_t_3 = __pyx_v_fields; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_fields); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4046, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4046, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4046, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4046, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4047: if f in types:
__pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_f, __pyx_v_types, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4047, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L14; }
+4048: normed_types[f] = types[f]
__pyx_t_5 = PyObject_GetItem(__pyx_v_types, __pyx_v_f); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_normed_types, __pyx_v_f, __pyx_t_5) < 0)) __PYX_ERR(0, 4048, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4049: else:
+4050: normed_types[f] = default_ann_types[f]
/*else*/ { __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_default_ann_types); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = PyObject_GetItem(__pyx_t_5, __pyx_v_f); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyDict_SetItem(__pyx_v_normed_types, __pyx_v_f, __pyx_t_10) < 0)) __PYX_ERR(0, 4050, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __pyx_L14:;
4051:
+4052: return normed_types
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_normed_types); __pyx_r = __pyx_v_normed_types; goto __pyx_L0;
4053:
4054:
+4055: cdef class ANNTransformer:
struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer { PyObject_HEAD PyObject *fields; PyObject *types; int keep_original; };
4056:
4057: cdef:
4058: list fields
4059: object types
4060: bint keep_original
4061:
+4062: def __init__(self, fields=None, types=None, keep_original=False):
/* Python wrapper */ static int __pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_fields = 0; PyObject *__pyx_v_types = 0; PyObject *__pyx_v_keep_original = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fields,&__pyx_n_s_types,&__pyx_n_s_keep_original,0}; PyObject* values[3] = {0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); values[2] = ((PyObject *)Py_False); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields); if (value) { values[0] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_types); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_keep_original); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4062, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_fields = values[0]; __pyx_v_types = values[1]; __pyx_v_keep_original = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4062, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer___init__(((struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *)__pyx_v_self), __pyx_v_fields, __pyx_v_types, __pyx_v_keep_original); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer___init__(struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *__pyx_v_self, PyObject *__pyx_v_fields, PyObject *__pyx_v_types, PyObject *__pyx_v_keep_original) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); /* … */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+4063: self.fields = _normalize_ann_fields(fields)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_normalize_ann_fields); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_fields}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_fields}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_v_fields); __Pyx_GIVEREF(__pyx_v_fields); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_fields); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 4063, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->fields); __Pyx_DECREF(__pyx_v_self->fields); __pyx_v_self->fields = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+4064: self.types = _normalize_ann_types(self.fields, types)
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_normalize_ann_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_self->fields, __pyx_v_types}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4064, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_self->fields, __pyx_v_types}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4064, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_self->fields); __Pyx_GIVEREF(__pyx_v_self->fields); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_5, __pyx_v_self->fields); __Pyx_INCREF(__pyx_v_types); __Pyx_GIVEREF(__pyx_v_types); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_v_types); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->types); __Pyx_DECREF(__pyx_v_self->types); __pyx_v_self->types = __pyx_t_1; __pyx_t_1 = 0;
+4065: self.keep_original = keep_original
__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_keep_original); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4065, __pyx_L1_error) __pyx_v_self->keep_original = __pyx_t_6;
4066:
+4067: def transform_fields(self, fields):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_3transform_fields(PyObject *__pyx_v_self, PyObject *__pyx_v_fields); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_3transform_fields(PyObject *__pyx_v_self, PyObject *__pyx_v_fields) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("transform_fields (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_2transform_fields(((struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *)__pyx_v_self), ((PyObject *)__pyx_v_fields)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_2transform_fields(struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *__pyx_v_self, PyObject *__pyx_v_fields) { PyObject *__pyx_v_fields_transformed = NULL; PyObject *__pyx_v_f = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("transform_fields", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer.transform_fields", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_fields_transformed); __Pyx_XDECREF(__pyx_v_f); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+4068: fields_transformed = list()
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_fields_transformed = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+4069: for f in fields:
if (likely(PyList_CheckExact(__pyx_v_fields)) || PyTuple_CheckExact(__pyx_v_fields)) { __pyx_t_1 = __pyx_v_fields; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_fields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4069, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 4069, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 4069, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4069, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4070: if f == ANN_FIELD:
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FIELD); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_RichCompare(__pyx_v_f, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4070, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4070, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ goto __pyx_L5; }
+4071: if self.keep_original:
__pyx_t_6 = (__pyx_v_self->keep_original != 0); if (__pyx_t_6) { /* … */ }
+4072: fields_transformed.append(f)
__pyx_t_7 = __Pyx_PyList_Append(__pyx_v_fields_transformed, __pyx_v_f); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 4072, __pyx_L1_error)
+4073: fields_transformed.extend(self.fields)
__pyx_t_5 = __pyx_v_self->fields; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyList_Extend(__pyx_v_fields_transformed, __pyx_t_5); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 4073, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4074: else:
+4075: fields_transformed.append(f)
/*else*/ { __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_fields_transformed, __pyx_v_f); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 4075, __pyx_L1_error) } __pyx_L5:;
+4076: return fields_transformed
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_fields_transformed); __pyx_r = __pyx_v_fields_transformed; goto __pyx_L0;
4077:
+4078: def _malloc_string_array(self, field, shape):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_5_malloc_string_array(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_5_malloc_string_array(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_field = 0; PyObject *__pyx_v_shape = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_malloc_string_array (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_field,&__pyx_n_s_shape,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_field)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_shape)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_malloc_string_array", 1, 2, 2, 1); __PYX_ERR(0, 4078, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_malloc_string_array") < 0)) __PYX_ERR(0, 4078, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_field = values[0]; __pyx_v_shape = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_malloc_string_array", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4078, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer._malloc_string_array", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_4_malloc_string_array(((struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *)__pyx_v_self), __pyx_v_field, __pyx_v_shape); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_4_malloc_string_array(struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *__pyx_v_self, PyObject *__pyx_v_field, PyObject *__pyx_v_shape) { PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_a = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_malloc_string_array", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer._malloc_string_array", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF(__pyx_v_a); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+4079: if field in self.fields:
__pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_field, __pyx_v_self->fields, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4079, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+4080: t = check_string_dtype(self.types[field])
__pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_check_string_dtype); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyObject_GetItem(__pyx_v_self->types, __pyx_v_field); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_6) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_t = __pyx_t_3; __pyx_t_3 = 0;
+4081: a = np.empty(shape, dtype=t)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 4081, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_a = __pyx_t_5; __pyx_t_5 = 0;
+4082: if t.kind == 'S':
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_5, __pyx_n_s_S, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4082, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+4083: a.fill(b'')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_fill); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__109, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __pyx_tuple__109 = PyTuple_Pack(1, __pyx_kp_b__8); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 4083, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__109); __Pyx_GIVEREF(__pyx_tuple__109);
4084: else:
+4085: a.fill(u'')
/*else*/ { __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_fill); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__110, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L4:; /* … */ __pyx_tuple__110 = PyTuple_Pack(1, __pyx_kp_u__8); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 4085, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__110); __Pyx_GIVEREF(__pyx_tuple__110);
4086: else:
+4087: a = None
/*else*/ {
__Pyx_INCREF(Py_None);
__pyx_v_a = Py_None;
}
__pyx_L3:;
+4088: return a
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_a); __pyx_r = __pyx_v_a; goto __pyx_L0;
4089:
+4090: def _malloc_integer_array(self, field, shape):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_7_malloc_integer_array(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_7_malloc_integer_array(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_field = 0; PyObject *__pyx_v_shape = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_malloc_integer_array (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_field,&__pyx_n_s_shape,0}; PyObject* values[2] = {0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_field)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_shape)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_malloc_integer_array", 1, 2, 2, 1); __PYX_ERR(0, 4090, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_malloc_integer_array") < 0)) __PYX_ERR(0, 4090, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); } __pyx_v_field = values[0]; __pyx_v_shape = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_malloc_integer_array", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4090, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer._malloc_integer_array", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_6_malloc_integer_array(((struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *)__pyx_v_self), __pyx_v_field, __pyx_v_shape); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_6_malloc_integer_array(struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *__pyx_v_self, PyObject *__pyx_v_field, PyObject *__pyx_v_shape) { PyObject *__pyx_v_t = NULL; PyObject *__pyx_v_a = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_malloc_integer_array", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer._malloc_integer_array", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_t); __Pyx_XDECREF(__pyx_v_a); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+4091: if field in self.fields:
__pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_field, __pyx_v_self->fields, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4091, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+4092: t = self.types[field]
__pyx_t_3 = PyObject_GetItem(__pyx_v_self->types, __pyx_v_field); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_t = __pyx_t_3; __pyx_t_3 = 0;
+4093: if t.kind != 'i':
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_kind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_i, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4093, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* … */ }
+4094: raise ValueError('only signed integer dtype supported for field %r' % field)
__pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_only_signed_integer_dtype_suppor, __pyx_v_field); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 4094, __pyx_L1_error)
+4095: a = np.empty(shape, dtype=t)
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_v_t) < 0) __PYX_ERR(0, 4095, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_a = __pyx_t_6; __pyx_t_6 = 0;
+4096: a.fill(-1)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_fill); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__111, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* … */ __pyx_tuple__111 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__111); __Pyx_GIVEREF(__pyx_tuple__111);
4097: else:
+4098: a = None
/*else*/ {
__Pyx_INCREF(Py_None);
__pyx_v_a = Py_None;
}
__pyx_L3:;
+4099: return a
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_a); __pyx_r = __pyx_v_a; goto __pyx_L0;
4100:
+4101: def transform_chunk(self, chunk):
/* Python wrapper */ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_9transform_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunk); /*proto*/ static PyObject *__pyx_pw_5allel_3opt_11io_vcf_read_14ANNTransformer_9transform_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunk) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("transform_chunk (wrapper)", 0); __pyx_r = __pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_8transform_chunk(((struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *)__pyx_v_self), ((PyObject *)__pyx_v_chunk)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_5allel_3opt_11io_vcf_read_14ANNTransformer_8transform_chunk(struct __pyx_obj_5allel_3opt_11io_vcf_read_ANNTransformer *__pyx_v_self, PyObject *__pyx_v_chunk) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_j; Py_ssize_t __pyx_v_chunk_length; Py_ssize_t __pyx_v_number; Py_ssize_t __pyx_v_n_vals; PyObject *__pyx_v_vals = 0; PyObject *__pyx_v_vv = 0; PyObject *__pyx_v_ann = NULL; PyObject *__pyx_v_shape = NULL; PyObject *__pyx_v_allele = NULL; PyObject *__pyx_v_annotation = NULL; PyObject *__pyx_v_annotation_impact = NULL; PyObject *__pyx_v_gene_name = NULL; PyObject *__pyx_v_gene_id = NULL; PyObject *__pyx_v_feature_type = NULL; PyObject *__pyx_v_feature_id = NULL; PyObject *__pyx_v_transcript_biotype = NULL; PyObject *__pyx_v_rank = NULL; PyObject *__pyx_v_hgvs_c = NULL; PyObject *__pyx_v_hgvs_p = NULL; PyObject *__pyx_v_cdna_pos = NULL; PyObject *__pyx_v_cdna_length = NULL; PyObject *__pyx_v_cds_pos = NULL; PyObject *__pyx_v_cds_length = NULL; PyObject *__pyx_v_aa_pos = NULL; PyObject *__pyx_v_aa_length = NULL; PyObject *__pyx_v_distance = NULL; PyObject *__pyx_v_raw = NULL; PyObject *__pyx_v_v = NULL; PyObject *__pyx_v_ann_chunk = NULL; PyObject *__pyx_v_k = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("transform_chunk", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("allel.opt.io_vcf_read.ANNTransformer.transform_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_vals); __Pyx_XDECREF(__pyx_v_vv); __Pyx_XDECREF(__pyx_v_ann); __Pyx_XDECREF(__pyx_v_shape); __Pyx_XDECREF(__pyx_v_allele); __Pyx_XDECREF(__pyx_v_annotation); __Pyx_XDECREF(__pyx_v_annotation_impact); __Pyx_XDECREF(__pyx_v_gene_name); __Pyx_XDECREF(__pyx_v_gene_id); __Pyx_XDECREF(__pyx_v_feature_type); __Pyx_XDECREF(__pyx_v_feature_id); __Pyx_XDECREF(__pyx_v_transcript_biotype); __Pyx_XDECREF(__pyx_v_rank); __Pyx_XDECREF(__pyx_v_hgvs_c); __Pyx_XDECREF(__pyx_v_hgvs_p); __Pyx_XDECREF(__pyx_v_cdna_pos); __Pyx_XDECREF(__pyx_v_cdna_length); __Pyx_XDECREF(__pyx_v_cds_pos); __Pyx_XDECREF(__pyx_v_cds_length); __Pyx_XDECREF(__pyx_v_aa_pos); __Pyx_XDECREF(__pyx_v_aa_length); __Pyx_XDECREF(__pyx_v_distance); __Pyx_XDECREF(__pyx_v_raw); __Pyx_XDECREF(__pyx_v_v); __Pyx_XDECREF(__pyx_v_ann_chunk); __Pyx_XDECREF(__pyx_v_k); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
4102: cdef:
4103: Py_ssize_t i, j, chunk_length, number, n_vals
4104: list vals
4105: list vv
4106:
4107: # obtain array to be transformed
+4108: ann = chunk[ANN_FIELD]
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FIELD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetItem(__pyx_v_chunk, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ann = __pyx_t_2; __pyx_t_2 = 0;
+4109: if not self.keep_original:
__pyx_t_3 = ((!(__pyx_v_self->keep_original != 0)) != 0); if (__pyx_t_3) { /* … */ }
+4110: del chunk[ANN_FIELD]
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_DelItem(__pyx_v_chunk, __pyx_t_2) < 0)) __PYX_ERR(0, 4110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4111:
4112: # determine chunk length and number of items
+4113: chunk_length = ann.shape[0]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ann, __pyx_n_s_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_chunk_length = __pyx_t_4;
+4114: if ann.ndim == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ann, __pyx_n_s_ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+4115: ann = ann[:, np.newaxis]
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_newaxis); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_slice__112); __Pyx_GIVEREF(__pyx_slice__112); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_slice__112); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_GetItem(__pyx_v_ann, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_ann, __pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_slice__112 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__112)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__112); __Pyx_GIVEREF(__pyx_slice__112);
+4116: number = ann.shape[1]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ann, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_number = __pyx_t_4;
+4117: shape = chunk_length, number
__pyx_t_2 = PyInt_FromSsize_t(__pyx_v_chunk_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_v_shape = __pyx_t_5; __pyx_t_5 = 0;
4118:
4119: # allocate output arrays
+4120: allele = self._malloc_string_array(ANN_ALLELE_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ALLELE_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_allele = __pyx_t_5; __pyx_t_5 = 0;
+4121: annotation = self._malloc_string_array(ANN_ANNOTATION_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_annotation = __pyx_t_5; __pyx_t_5 = 0;
+4122: annotation_impact = self._malloc_string_array(ANN_ANNOTATION_IMPACT_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_IMPACT_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_annotation_impact = __pyx_t_5; __pyx_t_5 = 0;
+4123: gene_name = self._malloc_string_array(ANN_GENE_NAME_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_NAME_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_gene_name = __pyx_t_5; __pyx_t_5 = 0;
+4124: gene_id = self._malloc_string_array(ANN_GENE_ID_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_ID_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_gene_id = __pyx_t_5; __pyx_t_5 = 0;
+4125: feature_type = self._malloc_string_array(ANN_FEATURE_TYPE_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_TYPE_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_feature_type = __pyx_t_5; __pyx_t_5 = 0;
+4126: feature_id = self._malloc_string_array(ANN_FEATURE_ID_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_ID_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_feature_id = __pyx_t_5; __pyx_t_5 = 0;
+4127: transcript_biotype = self._malloc_string_array(ANN_TRANSCRIPT_BIOTYPE_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_TRANSCRIPT_BIOTYPE_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_transcript_biotype = __pyx_t_5; __pyx_t_5 = 0;
+4128: rank = self._malloc_integer_array(ANN_RANK_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_RANK_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_rank = __pyx_t_5; __pyx_t_5 = 0;
+4129: hgvs_c = self._malloc_string_array(ANN_HGVS_C_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_C_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4129, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4129, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_hgvs_c = __pyx_t_5; __pyx_t_5 = 0;
+4130: hgvs_p = self._malloc_string_array(ANN_HGVS_P_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_string_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_P_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4130, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4130, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_hgvs_p = __pyx_t_5; __pyx_t_5 = 0;
+4131: cdna_pos = self._malloc_integer_array(ANN_CDNA_POS_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_POS_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4131, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4131, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cdna_pos = __pyx_t_5; __pyx_t_5 = 0;
+4132: cdna_length = self._malloc_integer_array(ANN_CDNA_LENGTH_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_LENGTH_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4132, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4132, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cdna_length = __pyx_t_5; __pyx_t_5 = 0;
+4133: cds_pos = self._malloc_integer_array(ANN_CDS_POS_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_POS_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4133, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4133, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cds_pos = __pyx_t_5; __pyx_t_5 = 0;
+4134: cds_length = self._malloc_integer_array(ANN_CDS_LENGTH_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_LENGTH_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4134, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4134, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cds_length = __pyx_t_5; __pyx_t_5 = 0;
+4135: aa_pos = self._malloc_integer_array(ANN_AA_POS_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4135, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4135, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_aa_pos = __pyx_t_5; __pyx_t_5 = 0;
+4136: aa_length = self._malloc_integer_array(ANN_AA_LENGTH_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_LENGTH_FIELD); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4136, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_8, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4136, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_aa_length = __pyx_t_5; __pyx_t_5 = 0;
+4137: distance = self._malloc_integer_array(ANN_DISTANCE_FIELD, shape)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_malloc_integer_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_DISTANCE_FIELD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4137, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_v_shape}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4137, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_shape); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_distance = __pyx_t_5; __pyx_t_5 = 0;
4138:
4139: # start working
+4140: for i in range(chunk_length):
__pyx_t_4 = __pyx_v_chunk_length; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_4; __pyx_t_9+=1) { __pyx_v_i = __pyx_t_9;
+4141: for j in range(number):
__pyx_t_10 = __pyx_v_number; for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { __pyx_v_j = __pyx_t_11;
4142:
4143: # obtain raw string value
+4144: raw = ann[i, j]
__pyx_t_5 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_1 = PyObject_GetItem(__pyx_v_ann, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_raw, __pyx_t_1); __pyx_t_1 = 0;
+4145: if not PY2 and isinstance(raw, bytes):
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PY2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 4145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_13 = ((!__pyx_t_12) != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L10_bool_binop_done; } __pyx_t_13 = PyBytes_Check(__pyx_v_raw); __pyx_t_12 = (__pyx_t_13 != 0); __pyx_t_3 = __pyx_t_12; __pyx_L10_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4146: raw = str(raw, 'utf8')
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_raw); __Pyx_GIVEREF(__pyx_v_raw); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_raw); __Pyx_INCREF(__pyx_n_s_utf8); __Pyx_GIVEREF(__pyx_n_s_utf8); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_utf8); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyString_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_raw, __pyx_t_2); __pyx_t_2 = 0;
4147:
4148: # bail early if no content
+4149: if raw == '' or raw == '.':
__pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_raw, __pyx_kp_s__8, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 4149, __pyx_L1_error) if (!__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L13_bool_binop_done; } __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_raw, __pyx_kp_s__33, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 4149, __pyx_L1_error) __pyx_t_3 = __pyx_t_12; __pyx_L13_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4150: continue
goto __pyx_L7_continue;
4151:
4152: # split fields
+4153: vals = raw.split('|')
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_raw, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__114, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_vals, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; /* … */ __pyx_tuple__114 = PyTuple_Pack(1, __pyx_kp_s__113); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__114); __Pyx_GIVEREF(__pyx_tuple__114);
+4154: n_vals = len(vals)
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 4154, __pyx_L1_error) } __pyx_t_14 = PyList_GET_SIZE(__pyx_v_vals); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4154, __pyx_L1_error) __pyx_v_n_vals = __pyx_t_14;
4155:
4156: # convert and store values
+4157: if allele is not None and n_vals > ANNFidx.ALLELE:
__pyx_t_12 = (__pyx_v_allele != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L16_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_ALLELE) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L16_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4158: allele[i, j] = vals[ANNFidx.ALLELE]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4158, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_ALLELE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_allele, __pyx_t_6, __pyx_t_2) < 0)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4159: if annotation is not None and n_vals > ANNFidx.ANNOTATION:
__pyx_t_13 = (__pyx_v_annotation != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L19_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_ANNOTATION) != 0); __pyx_t_3 = __pyx_t_12; __pyx_L19_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4160: annotation[i, j] = vals[ANNFidx.ANNOTATION]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4160, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_ANNOTATION); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyObject_GetItem(__pyx_v_vals, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_annotation, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4161: if annotation_impact is not None and n_vals > ANNFidx.ANNOTATION_IMPACT:
__pyx_t_12 = (__pyx_v_annotation_impact != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L22_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_ANNOTATION_IMPACT) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L22_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4162: annotation_impact[i, j] = vals[ANNFidx.ANNOTATION_IMPACT]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4162, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_ANNOTATION_IMPACT); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_annotation_impact, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4163: if gene_name is not None and n_vals > ANNFidx.GENE_NAME:
__pyx_t_13 = (__pyx_v_gene_name != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L25_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_GENE_NAME) != 0); __pyx_t_3 = __pyx_t_12; __pyx_L25_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4164: gene_name[i, j] = vals[ANNFidx.GENE_NAME]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4164, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_GENE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_gene_name, __pyx_t_6, __pyx_t_2) < 0)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4165: if gene_id is not None and n_vals > ANNFidx.GENE_ID:
__pyx_t_12 = (__pyx_v_gene_id != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L28_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_GENE_ID) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L28_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4166: gene_id[i, j] = vals[ANNFidx.GENE_ID]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4166, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_GENE_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyObject_GetItem(__pyx_v_vals, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_gene_id, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4167: if feature_type is not None and n_vals > ANNFidx.FEATURE_TYPE:
__pyx_t_13 = (__pyx_v_feature_type != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L31_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_FEATURE_TYPE) != 0); __pyx_t_3 = __pyx_t_12; __pyx_L31_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4168: feature_type[i, j] = vals[ANNFidx.FEATURE_TYPE]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4168, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_FEATURE_TYPE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_feature_type, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(0, 4168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4169: if feature_id is not None and n_vals > ANNFidx.FEATURE_ID:
__pyx_t_12 = (__pyx_v_feature_id != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L34_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_FEATURE_ID) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L34_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4170: feature_id[i, j] = vals[ANNFidx.FEATURE_ID]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4170, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_FEATURE_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_feature_id, __pyx_t_6, __pyx_t_2) < 0)) __PYX_ERR(0, 4170, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4171: if transcript_biotype is not None and n_vals > ANNFidx.TRANSCRIPT_BIOTYPE:
__pyx_t_13 = (__pyx_v_transcript_biotype != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L37_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_TRANSCRIPT_BIOTYPE) != 0); __pyx_t_3 = __pyx_t_12; __pyx_L37_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4172: transcript_biotype[i, j] = vals[ANNFidx.TRANSCRIPT_BIOTYPE]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4172, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_TRANSCRIPT_BIOTYPE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyObject_GetItem(__pyx_v_vals, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_transcript_biotype, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4173: if rank is not None and n_vals > ANNFidx.RANK:
__pyx_t_12 = (__pyx_v_rank != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L40_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_RANK) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L40_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4174: v = vals[ANNFidx.RANK]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4174, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_RANK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_1); __pyx_t_1 = 0;
+4175: if v:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4175, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+4176: vv = v.split('/')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__115, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(PyList_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_vv, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_tuple__115 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__115); __Pyx_GIVEREF(__pyx_tuple__115);
4177: # ignore second part of rank
+4178: rank[i, j] = int(vv[0])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4178, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_rank, __pyx_t_2, __pyx_t_6) < 0)) __PYX_ERR(0, 4178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4179: if hgvs_c is not None and n_vals > ANNFidx.HGVS_C:
__pyx_t_13 = (__pyx_v_hgvs_c != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L44_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_HGVS_C) != 0); __pyx_t_3 = __pyx_t_12; __pyx_L44_bool_binop_done:; if (__pyx_t_3) { /* … */ }
4180: # strip of leading 'n.' as redundant information
+4181: hgvs_c[i, j] = vals[ANNFidx.HGVS_C][2:]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4181, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_HGVS_C); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_2, 2, 0, NULL, NULL, &__pyx_slice__116, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_hgvs_c, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__116 = PySlice_New(__pyx_int_2, Py_None, Py_None); if (unlikely(!__pyx_slice__116)) __PYX_ERR(0, 4181, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__116); __Pyx_GIVEREF(__pyx_slice__116);
+4182: if hgvs_p is not None and n_vals > ANNFidx.HGVS_P:
__pyx_t_12 = (__pyx_v_hgvs_p != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L47_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_HGVS_P) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L47_bool_binop_done:; if (__pyx_t_3) { /* … */ }
4183: # strip of leading 'p.' as redundant information
+4184: hgvs_p[i, j] = vals[ANNFidx.HGVS_P][2:]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4184, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_HGVS_P); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_1, 2, 0, NULL, NULL, &__pyx_slice__117, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_hgvs_p, __pyx_t_2, __pyx_t_6) < 0)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_slice__117 = PySlice_New(__pyx_int_2, Py_None, Py_None); if (unlikely(!__pyx_slice__117)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__117); __Pyx_GIVEREF(__pyx_slice__117);
+4185: if cdna_pos is not None or cdna_length is not None and n_vals > ANNFidx.CDNA:
__pyx_t_13 = (__pyx_v_cdna_pos != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (!__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L50_bool_binop_done; } __pyx_t_12 = (__pyx_v_cdna_length != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L50_bool_binop_done; } __pyx_t_13 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_CDNA) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L50_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4186: v = vals[ANNFidx.CDNA]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4186, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_CDNA); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2); __pyx_t_2 = 0;
+4187: if v:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4187, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+4188: vv = v.split('/')
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(PyList_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4188, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_vv, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_tuple__118 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 4188, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__118); __Pyx_GIVEREF(__pyx_tuple__118);
+4189: if cdna_pos is not None:
__pyx_t_3 = (__pyx_v_cdna_pos != Py_None); __pyx_t_13 = (__pyx_t_3 != 0); if (__pyx_t_13) { /* … */ }
+4190: cdna_pos[i, j] = int(vv[0])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4190, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_cdna_pos, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4191: if cdna_length is not None and len(vv) > 1:
__pyx_t_3 = (__pyx_v_cdna_length != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { } else { __pyx_t_13 = __pyx_t_12; goto __pyx_L56_bool_binop_done; } if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 4191, __pyx_L1_error) } __pyx_t_14 = PyList_GET_SIZE(__pyx_v_vv); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4191, __pyx_L1_error) __pyx_t_12 = ((__pyx_t_14 > 1) != 0); __pyx_t_13 = __pyx_t_12; __pyx_L56_bool_binop_done:; if (__pyx_t_13) { /* … */ }
+4192: cdna_length[i, j] = int(vv[1])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4192, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_cdna_length, __pyx_t_2, __pyx_t_6) < 0)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4193: if cds_pos is not None or cds_length is not None and n_vals > ANNFidx.CDS:
__pyx_t_12 = (__pyx_v_cds_pos != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (!__pyx_t_3) { } else { __pyx_t_13 = __pyx_t_3; goto __pyx_L59_bool_binop_done; } __pyx_t_3 = (__pyx_v_cds_length != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { } else { __pyx_t_13 = __pyx_t_12; goto __pyx_L59_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_CDS) != 0); __pyx_t_13 = __pyx_t_12; __pyx_L59_bool_binop_done:; if (__pyx_t_13) { /* … */ }
+4194: v = vals[ANNFidx.CDS]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4194, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_CDS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2); __pyx_t_2 = 0;
+4195: if v:
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 4195, __pyx_L1_error) if (__pyx_t_13) { /* … */ }
+4196: vv = v.split('/')
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__119, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(PyList_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_vv, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_tuple__119 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__119); __Pyx_GIVEREF(__pyx_tuple__119);
+4197: if cds_pos is not None:
__pyx_t_13 = (__pyx_v_cds_pos != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { /* … */ }
+4198: cds_pos[i, j] = int(vv[0])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4198, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_cds_pos, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4199: if cds_length is not None and len(vv) > 1:
__pyx_t_13 = (__pyx_v_cds_length != Py_None); __pyx_t_3 = (__pyx_t_13 != 0); if (__pyx_t_3) { } else { __pyx_t_12 = __pyx_t_3; goto __pyx_L65_bool_binop_done; } if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 4199, __pyx_L1_error) } __pyx_t_14 = PyList_GET_SIZE(__pyx_v_vv); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4199, __pyx_L1_error) __pyx_t_3 = ((__pyx_t_14 > 1) != 0); __pyx_t_12 = __pyx_t_3; __pyx_L65_bool_binop_done:; if (__pyx_t_12) { /* … */ }
+4200: cds_length[i, j] = int(vv[1])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4200, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_cds_length, __pyx_t_2, __pyx_t_6) < 0)) __PYX_ERR(0, 4200, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4201: if aa_pos is not None or aa_length is not None and n_vals > ANNFidx.AA:
__pyx_t_3 = (__pyx_v_aa_pos != Py_None); __pyx_t_13 = (__pyx_t_3 != 0); if (!__pyx_t_13) { } else { __pyx_t_12 = __pyx_t_13; goto __pyx_L68_bool_binop_done; } __pyx_t_13 = (__pyx_v_aa_length != Py_None); __pyx_t_3 = (__pyx_t_13 != 0); if (__pyx_t_3) { } else { __pyx_t_12 = __pyx_t_3; goto __pyx_L68_bool_binop_done; } __pyx_t_3 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_AA) != 0); __pyx_t_12 = __pyx_t_3; __pyx_L68_bool_binop_done:; if (__pyx_t_12) { /* … */ }
+4202: v = vals[ANNFidx.AA]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4202, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_AA); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2); __pyx_t_2 = 0;
+4203: if v:
__pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 4203, __pyx_L1_error) if (__pyx_t_12) { /* … */ }
+4204: vv = v.split('/')
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__120, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(PyList_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4204, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_vv, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* … */ __pyx_tuple__120 = PyTuple_Pack(1, __pyx_kp_s__3); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 4204, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__120); __Pyx_GIVEREF(__pyx_tuple__120);
+4205: if aa_pos is not None:
__pyx_t_12 = (__pyx_v_aa_pos != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4206: aa_pos[i, j] = int(vv[0])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4206, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 0)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_aa_pos, __pyx_t_1, __pyx_t_6) < 0)) __PYX_ERR(0, 4206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4207: if aa_length is not None and len(vv) > 1:
__pyx_t_12 = (__pyx_v_aa_length != Py_None); __pyx_t_13 = (__pyx_t_12 != 0); if (__pyx_t_13) { } else { __pyx_t_3 = __pyx_t_13; goto __pyx_L74_bool_binop_done; } if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 4207, __pyx_L1_error) } __pyx_t_14 = PyList_GET_SIZE(__pyx_v_vv); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4207, __pyx_L1_error) __pyx_t_13 = ((__pyx_t_14 > 1) != 0); __pyx_t_3 = __pyx_t_13; __pyx_L74_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+4208: aa_length[i, j] = int(vv[1])
if (unlikely(__pyx_v_vv == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4208, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyNumber_Int(PyList_GET_ITEM(__pyx_v_vv, 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_aa_length, __pyx_t_2, __pyx_t_6) < 0)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4209: if distance is not None and n_vals > ANNFidx.DISTANCE:
__pyx_t_13 = (__pyx_v_distance != Py_None); __pyx_t_12 = (__pyx_t_13 != 0); if (__pyx_t_12) { } else { __pyx_t_3 = __pyx_t_12; goto __pyx_L77_bool_binop_done; } __pyx_t_12 = ((__pyx_v_n_vals > __pyx_e_5allel_3opt_11io_vcf_read_DISTANCE) != 0); __pyx_t_3 = __pyx_t_12; __pyx_L77_bool_binop_done:; if (__pyx_t_3) { /* … */ } __pyx_L7_continue:; } }
+4210: v = vals[ANNFidx.DISTANCE]
if (unlikely(__pyx_v_vals == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4210, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_5allel_3opt_11io_vcf_read_ANNFidx(__pyx_e_5allel_3opt_11io_vcf_read_DISTANCE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyObject_GetItem(__pyx_v_vals, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_2); __pyx_t_2 = 0;
+4211: if v:
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_v); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4211, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+4212: distance[i, j] = int(v)
__pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_v); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyInt_FromSsize_t(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_v_distance, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(0, 4212, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4213:
+4214: ann_chunk = dict()
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ann_chunk = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+4215: if allele is not None:
__pyx_t_3 = (__pyx_v_allele != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4216: ann_chunk[ANN_ALLELE_FIELD] = allele
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ALLELE_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_allele) < 0)) __PYX_ERR(0, 4216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4217: if annotation is not None:
__pyx_t_12 = (__pyx_v_annotation != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4218: ann_chunk[ANN_ANNOTATION_FIELD] = annotation
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_annotation) < 0)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4219: if annotation_impact is not None:
__pyx_t_3 = (__pyx_v_annotation_impact != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4220: ann_chunk[ANN_ANNOTATION_IMPACT_FIELD] = annotation_impact
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_ANNOTATION_IMPACT_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_annotation_impact) < 0)) __PYX_ERR(0, 4220, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4221: if gene_name is not None:
__pyx_t_12 = (__pyx_v_gene_name != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4222: ann_chunk[ANN_GENE_NAME_FIELD] = gene_name
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_NAME_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_gene_name) < 0)) __PYX_ERR(0, 4222, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4223: if gene_id is not None:
__pyx_t_3 = (__pyx_v_gene_id != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4224: ann_chunk[ANN_GENE_ID_FIELD] = gene_id
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_GENE_ID_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_gene_id) < 0)) __PYX_ERR(0, 4224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4225: if feature_type is not None:
__pyx_t_12 = (__pyx_v_feature_type != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4226: ann_chunk[ANN_FEATURE_TYPE_FIELD] = feature_type
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_TYPE_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_feature_type) < 0)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4227: if feature_id is not None:
__pyx_t_3 = (__pyx_v_feature_id != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4228: ann_chunk[ANN_FEATURE_ID_FIELD] = feature_id
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_FEATURE_ID_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_feature_id) < 0)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4229: if transcript_biotype is not None:
__pyx_t_12 = (__pyx_v_transcript_biotype != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4230: ann_chunk[ANN_TRANSCRIPT_BIOTYPE_FIELD] = transcript_biotype
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_TRANSCRIPT_BIOTYPE_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_transcript_biotype) < 0)) __PYX_ERR(0, 4230, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4231: if rank is not None:
__pyx_t_3 = (__pyx_v_rank != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4232: ann_chunk[ANN_RANK_FIELD] = rank
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_RANK_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_rank) < 0)) __PYX_ERR(0, 4232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4233: if hgvs_c is not None:
__pyx_t_12 = (__pyx_v_hgvs_c != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4234: ann_chunk[ANN_HGVS_C_FIELD] = hgvs_c
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_C_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_hgvs_c) < 0)) __PYX_ERR(0, 4234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4235: if hgvs_p is not None:
__pyx_t_3 = (__pyx_v_hgvs_p != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4236: ann_chunk[ANN_HGVS_P_FIELD] = hgvs_p
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_HGVS_P_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_hgvs_p) < 0)) __PYX_ERR(0, 4236, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4237: if cdna_pos is not None:
__pyx_t_12 = (__pyx_v_cdna_pos != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4238: ann_chunk[ANN_CDNA_POS_FIELD] = cdna_pos
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_cdna_pos) < 0)) __PYX_ERR(0, 4238, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4239: if cdna_length is not None:
__pyx_t_3 = (__pyx_v_cdna_length != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4240: ann_chunk[ANN_CDNA_LENGTH_FIELD] = cdna_length
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDNA_LENGTH_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_cdna_length) < 0)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4241: if cds_pos is not None:
__pyx_t_12 = (__pyx_v_cds_pos != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4242: ann_chunk[ANN_CDS_POS_FIELD] = cds_pos
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_cds_pos) < 0)) __PYX_ERR(0, 4242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4243: if cds_length is not None:
__pyx_t_3 = (__pyx_v_cds_length != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4244: ann_chunk[ANN_CDS_LENGTH_FIELD] = cds_length
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_CDS_LENGTH_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_cds_length) < 0)) __PYX_ERR(0, 4244, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4245: if aa_pos is not None:
__pyx_t_12 = (__pyx_v_aa_pos != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4246: ann_chunk[ANN_AA_POS_FIELD] = aa_pos
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_POS_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_aa_pos) < 0)) __PYX_ERR(0, 4246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4247: if aa_length is not None:
__pyx_t_3 = (__pyx_v_aa_length != Py_None); __pyx_t_12 = (__pyx_t_3 != 0); if (__pyx_t_12) { /* … */ }
+4248: ann_chunk[ANN_AA_LENGTH_FIELD] = aa_length
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_AA_LENGTH_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_aa_length) < 0)) __PYX_ERR(0, 4248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4249: if distance is not None:
__pyx_t_12 = (__pyx_v_distance != Py_None); __pyx_t_3 = (__pyx_t_12 != 0); if (__pyx_t_3) { /* … */ }
+4250: ann_chunk[ANN_DISTANCE_FIELD] = distance
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANN_DISTANCE_FIELD); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_t_2, __pyx_v_distance) < 0)) __PYX_ERR(0, 4250, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4251:
+4252: if number == 1:
__pyx_t_3 = ((__pyx_v_number == 1) != 0); if (__pyx_t_3) { /* … */ }
+4253: for k in list(ann_chunk.keys()):
__pyx_t_2 = __Pyx_PyDict_Keys(__pyx_v_ann_chunk); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4253, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4254: ann_chunk[k] = ann_chunk[k].squeeze(axis=1)
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_ann_chunk, __pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_squeeze); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_axis, __pyx_int_1) < 0) __PYX_ERR(0, 4254, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_ann_chunk, __pyx_v_k, __pyx_t_6) < 0)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4255:
+4256: chunk.update(ann_chunk)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_chunk, __pyx_n_s_update); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_1) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_ann_chunk); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_ann_chunk}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_1, __pyx_v_ann_chunk}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; __Pyx_INCREF(__pyx_v_ann_chunk); __Pyx_GIVEREF(__pyx_v_ann_chunk); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_ann_chunk); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;