Generated by Cython 0.29.15
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: digestfast.c
+001: # cython: linetrace=True
__Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
002: # cython: binding=True
003: # distutils: language = c++
004: # distutils: define_macros=CYTHON_TRACE=1
005: cdef extern from "<algorithm>" namespace "std":
006: Iter find[Iter, T](Iter first, Iter last, const T& value)
007:
008:
009: # cythonize -a -i digestfast.pyx
010:
011: from libcpp.vector cimport vector
012: from libcpp.set cimport set as c_set
013:
+014: import itertools
__Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error)) __pyx_t_1 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_itertools, __pyx_t_1) < 0) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+015: import sys
__Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error)) __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
016:
017: # method for generating the list of peptides
+018: def getDigestedPeptides(seq, int min_len = 6, int max_len = 50, pre2 = ['K', 'R'], not_post2 = ['P'], digestion = 'full', int miscleavages = 0, methionineCleavage = True):
static PyObject *__pyx_pf_3bin_9__defaults__(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_TraceDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__defaults__", 0); __Pyx_TraceCall("__defaults__", __pyx_f[0], 18, 0, __PYX_ERR(0, 18, __pyx_L1_error)); __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(((int)6)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_int(((int)50)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(((int)0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18, __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_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_pre2); __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_pre2); PyTuple_SET_ITEM(__pyx_t_4, 2, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_pre2); __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_not_post2); __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_not_post2); PyTuple_SET_ITEM(__pyx_t_4, 3, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_not_post2); __Pyx_INCREF(((PyObject*)__pyx_n_s_full)); __Pyx_GIVEREF(((PyObject*)__pyx_n_s_full)); PyTuple_SET_ITEM(__pyx_t_4, 4, ((PyObject*)__pyx_n_s_full)); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_t_3); __Pyx_INCREF(((PyObject *)Py_True)); __Pyx_GIVEREF(((PyObject *)Py_True)); PyTuple_SET_ITEM(__pyx_t_4, 6, ((PyObject *)Py_True)); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_3, 1, Py_None); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* 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_4); __Pyx_AddTraceback("bin.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_3bin_1getDigestedPeptides(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_3bin_1getDigestedPeptides = {"getDigestedPeptides", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_3bin_1getDigestedPeptides, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_3bin_1getDigestedPeptides(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_seq = 0; int __pyx_v_min_len; int __pyx_v_max_len; PyObject *__pyx_v_pre2 = 0; PyObject *__pyx_v_not_post2 = 0; PyObject *__pyx_v_digestion = 0; int __pyx_v_miscleavages; PyObject *__pyx_v_methionineCleavage = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getDigestedPeptides (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_seq,&__pyx_n_s_min_len,&__pyx_n_s_max_len,&__pyx_n_s_pre2,&__pyx_n_s_not_post2,&__pyx_n_s_digestion,&__pyx_n_s_miscleavages,&__pyx_n_s_methionineCleavage,0}; PyObject* values[8] = {0,0,0,0,0,0,0,0}; __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self); values[3] = __pyx_dynamic_args->__pyx_arg_pre2; values[4] = __pyx_dynamic_args->__pyx_arg_not_post2; values[5] = ((PyObject *)((PyObject*)__pyx_n_s_full)); values[7] = ((PyObject *)((PyObject *)Py_True)); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { 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] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seq)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_min_len); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_len); if (value) { values[2] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pre2); if (value) { values[3] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_not_post2); if (value) { values[4] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 5: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_digestion); if (value) { values[5] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 6: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_miscleavages); if (value) { values[6] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 7: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_methionineCleavage); if (value) { values[7] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDigestedPeptides") < 0)) __PYX_ERR(0, 18, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { 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); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_seq = values[0]; if (values[1]) { __pyx_v_min_len = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_min_len == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18, __pyx_L3_error) } else { __pyx_v_min_len = ((int)((int)6)); } if (values[2]) { __pyx_v_max_len = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_max_len == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18, __pyx_L3_error) } else { __pyx_v_max_len = ((int)((int)50)); } __pyx_v_pre2 = values[3]; __pyx_v_not_post2 = values[4]; __pyx_v_digestion = values[5]; if (values[6]) { __pyx_v_miscleavages = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_miscleavages == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18, __pyx_L3_error) } else { __pyx_v_miscleavages = ((int)((int)0)); } __pyx_v_methionineCleavage = values[7]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("getDigestedPeptides", 0, 1, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("bin.getDigestedPeptides", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_3bin_getDigestedPeptides(__pyx_self, __pyx_v_seq, __pyx_v_min_len, __pyx_v_max_len, __pyx_v_pre2, __pyx_v_not_post2, __pyx_v_digestion, __pyx_v_miscleavages, __pyx_v_methionineCleavage); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ static PyObject *__pyx_pf_3bin_getDigestedPeptides(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_seq, int __pyx_v_min_len, int __pyx_v_max_len, PyObject *__pyx_v_pre2, PyObject *__pyx_v_not_post2, PyObject *__pyx_v_digestion, int __pyx_v_miscleavages, PyObject *__pyx_v_methionineCleavage) { struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getDigestedPeptides", 0); __pyx_cur_scope = (struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides *)__pyx_tp_new_3bin___pyx_scope_struct__getDigestedPeptides(__pyx_ptype_3bin___pyx_scope_struct__getDigestedPeptides, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 18, __pyx_L1_error) } else { __Pyx_GOTREF(__pyx_cur_scope); } __pyx_cur_scope->__pyx_v_seq = __pyx_v_seq; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_seq); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_seq); __pyx_cur_scope->__pyx_v_min_len = __pyx_v_min_len; __pyx_cur_scope->__pyx_v_max_len = __pyx_v_max_len; __pyx_cur_scope->__pyx_v_pre2 = __pyx_v_pre2; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pre2); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pre2); __pyx_cur_scope->__pyx_v_not_post2 = __pyx_v_not_post2; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_not_post2); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_not_post2); __pyx_cur_scope->__pyx_v_digestion = __pyx_v_digestion; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_digestion); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_digestion); __pyx_cur_scope->__pyx_v_miscleavages = __pyx_v_miscleavages; __pyx_cur_scope->__pyx_v_methionineCleavage = __pyx_v_methionineCleavage; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_methionineCleavage); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_methionineCleavage); { __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_3bin_2generator, __pyx_codeobj__2, (PyObject *) __pyx_cur_scope, __pyx_n_s_getDigestedPeptides, __pyx_n_s_getDigestedPeptides, __pyx_n_s_bin); if (unlikely(!gen)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; } /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("bin.getDigestedPeptides", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_gb_3bin_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("getDigestedPeptides", 0); __Pyx_TraceDeclarations __Pyx_TraceFrameInit(__pyx_codeobj__2) __pyx_L3_first_run:; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 18, __pyx_L1_error) /* … */ /* function exit code */ PyErr_SetNone(PyExc_StopIteration); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("getDigestedPeptides", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_XDECREF(__pyx_r); __pyx_r = 0; #if !CYTHON_USE_EXC_INFO_STACK __Pyx_Coroutine_ResetAndClearException(__pyx_generator); #endif __pyx_generator->resume_label = -1; __Pyx_Coroutine_clear((PyObject*)__pyx_generator); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_gb_3bin_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ /* … */ __pyx_tuple__10 = PyTuple_Pack(25, __pyx_n_s_seq, __pyx_n_s_min_len, __pyx_n_s_max_len, __pyx_n_s_pre2, __pyx_n_s_not_post2, __pyx_n_s_digestion, __pyx_n_s_miscleavages, __pyx_n_s_methionineCleavage, __pyx_n_s_cleavageSites, __pyx_n_s_starts, __pyx_n_s_i, __pyx_n_s_lenS, __pyx_n_s_lenP, __pyx_n_s_start, __pyx_n_s_methionineCleaved, __pyx_n_s_one, __pyx_n_s_c, __pyx_n_s_pre, __pyx_n_s_not_post, __pyx_n_s_p, __pyx_n_s_length_accepted, __pyx_n_s_j, __pyx_n_s_isCleavageSite, __pyx_n_s_isMethionineCleavageSite, __pyx_n_s_hasMethionineCleavage); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); /* … */ __Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L1_error)) __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3bin_1getDigestedPeptides, 0, __pyx_n_s_getDigestedPeptides, NULL, __pyx_n_s_bin, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!__Pyx_CyFunction_InitDefaults(__pyx_t_1, sizeof(__pyx_defaults), 2)) __PYX_ERR(0, 18, __pyx_L1_error) __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_K); __Pyx_GIVEREF(__pyx_n_s_K); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_K); __Pyx_INCREF(__pyx_n_s_R); __Pyx_GIVEREF(__pyx_n_s_R); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_R); __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_1)->__pyx_arg_pre2 = __pyx_t_2; __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_P); __Pyx_GIVEREF(__pyx_n_s_P); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_P); __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_1)->__pyx_arg_not_post2 = __pyx_t_2; __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_1, __pyx_pf_3bin_9__defaults__); if (PyDict_SetItem(__pyx_d, __pyx_n_s_getDigestedPeptides, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(8, 0, 25, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_bin_digestfast_pyx, __pyx_n_s_getDigestedPeptides, 18, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 18, __pyx_L1_error) /* … */ struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides { PyObject_HEAD int __pyx_v_c; std::vector<int> __pyx_v_cleavageSites; PyObject *__pyx_v_digestion; int __pyx_v_hasMethionineCleavage; int __pyx_v_i; PyObject *__pyx_v_isCleavageSite; PyObject *__pyx_v_isMethionineCleavageSite; PyObject *__pyx_v_j; int __pyx_v_lenP; int __pyx_v_lenS; PyObject *__pyx_v_length_accepted; int __pyx_v_max_len; PyObject *__pyx_v_methionineCleavage; int __pyx_v_methionineCleaved; int __pyx_v_min_len; int __pyx_v_miscleavages; std::set<int> __pyx_v_not_post; PyObject *__pyx_v_not_post2; int __pyx_v_one; PyObject *__pyx_v_p; std::set<int> __pyx_v_pre; PyObject *__pyx_v_pre2; PyObject *__pyx_v_seq; int __pyx_v_start; std::vector<int> __pyx_v_starts; Py_ssize_t __pyx_t_0; PyObject *(*__pyx_t_1)(PyObject *); PyObject *__pyx_t_2; long __pyx_t_3; long __pyx_t_4; int __pyx_t_5; std::vector<int> ::iterator __pyx_t_6; std::vector<int> ::iterator __pyx_t_7; };
019: cdef vector[int] cleavageSites, starts
020: cdef int i, lenS, lenP, start, methionineCleaved, one, c
021: cdef c_set[int] pre, not_post
022:
+023: one = 1
__Pyx_TraceLine(23,0,__PYX_ERR(0, 23, __pyx_L1_error)) __pyx_cur_scope->__pyx_v_one = 1;
024:
+025: for p in pre2:
__Pyx_TraceLine(25,0,__PYX_ERR(0, 25, __pyx_L1_error)) if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_pre2)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_pre2)) { __pyx_t_1 = __pyx_cur_scope->__pyx_v_pre2; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_pre2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __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, 25, __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, 25, __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, 25, __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, 25, __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, 25, __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, 25, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_p); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_p, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __Pyx_TraceLine(25,0,__PYX_ERR(0, 25, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+026: pre.insert(ord(p))
__Pyx_TraceLine(26,0,__PYX_ERR(0, 26, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_Ord(__pyx_cur_scope->__pyx_v_p); if (unlikely(__pyx_t_5 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 26, __pyx_L1_error) try { __pyx_cur_scope->__pyx_v_pre.insert(__pyx_t_5); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 26, __pyx_L1_error) }
027:
+028: for p in not_post2:
__Pyx_TraceLine(28,0,__PYX_ERR(0, 28, __pyx_L1_error)) if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_not_post2)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_not_post2)) { __pyx_t_1 = __pyx_cur_scope->__pyx_v_not_post2; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_not_post2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __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, 28, __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, 28, __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, 28, __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, 28, __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, 28, __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, 28, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_p); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_p, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __Pyx_TraceLine(28,0,__PYX_ERR(0, 28, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+029: not_post.insert(ord(p))
__Pyx_TraceLine(29,0,__PYX_ERR(0, 29, __pyx_L1_error)) __pyx_t_5 = __Pyx_PyObject_Ord(__pyx_cur_scope->__pyx_v_p); if (unlikely(__pyx_t_5 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 29, __pyx_L1_error) try { __pyx_cur_scope->__pyx_v_not_post.insert(__pyx_t_5); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 29, __pyx_L1_error) }
030:
+031: lenS = len(seq)
__Pyx_TraceLine(31,0,__PYX_ERR(0, 31, __pyx_L1_error)) __pyx_t_2 = PyObject_Length(__pyx_cur_scope->__pyx_v_seq); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 31, __pyx_L1_error) __pyx_cur_scope->__pyx_v_lenS = __pyx_t_2;
+032: starts.push_back(0)
__Pyx_TraceLine(32,0,__PYX_ERR(0, 32, __pyx_L1_error)) try { __pyx_cur_scope->__pyx_v_starts.push_back(0); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 32, __pyx_L1_error) }
+033: length_accepted = lambda x : x >= min_len and x <= max_len
/* Python wrapper */ static PyObject *__pyx_pw_3bin_19getDigestedPeptides_lambda(PyObject *__pyx_self, PyObject *__pyx_v_x); /*proto*/ static PyMethodDef __pyx_mdef_3bin_19getDigestedPeptides_lambda = {"lambda", (PyCFunction)__pyx_pw_3bin_19getDigestedPeptides_lambda, METH_O, 0}; static PyObject *__pyx_pw_3bin_19getDigestedPeptides_lambda(PyObject *__pyx_self, PyObject *__pyx_v_x) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("lambda (wrapper)", 0); __pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self, ((PyObject *)__pyx_v_x)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self, PyObject *__pyx_v_x) { struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides *__pyx_cur_scope; struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides *__pyx_outer_scope; PyObject *__pyx_r = NULL; __Pyx_TraceDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("lambda", 0); __pyx_outer_scope = (struct __pyx_obj_3bin___pyx_scope_struct__getDigestedPeptides *) __Pyx_CyFunction_GetClosure(__pyx_self); __pyx_cur_scope = __pyx_outer_scope; __Pyx_TraceCall("lambda", __pyx_f[0], 33, 0, __PYX_ERR(0, 33, __pyx_L1_error)); __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_min_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_v_x, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 33, __pyx_L1_error) if (__pyx_t_4) { __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L3_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_max_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_RichCompare(__pyx_v_x, __pyx_t_3, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("bin.getDigestedPeptides.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __Pyx_TraceLine(33,0,__PYX_ERR(0, 33, __pyx_L1_error)) __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3bin_19getDigestedPeptides_lambda, 0, __pyx_n_s_getDigestedPeptides_locals_lambd, ((PyObject*)__pyx_cur_scope), __pyx_n_s_bin, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_length_accepted = __pyx_t_1; __pyx_t_1 = 0;
+034: methionineCleavage = methionineCleavage and seq[0] == "M"
__Pyx_TraceLine(34,0,__PYX_ERR(0, 34, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_methionineCleavage); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 34, __pyx_L1_error) if (__pyx_t_6) { } else { __Pyx_INCREF(__pyx_cur_scope->__pyx_v_methionineCleavage); __pyx_t_1 = __pyx_cur_scope->__pyx_v_methionineCleavage; goto __pyx_L8_bool_binop_done; } __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_seq, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_n_s_M, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_7); __pyx_t_1 = __pyx_t_7; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_L8_bool_binop_done:; __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_methionineCleavage); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_methionineCleavage, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0;
035:
+036: if digestion == 'none':
__Pyx_TraceLine(36,0,__PYX_ERR(0, 36, __pyx_L1_error)) __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_cur_scope->__pyx_v_digestion, __pyx_n_s_none, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 36, __pyx_L1_error) if (__pyx_t_6) { /* … */ goto __pyx_L10; }
+037: for i in range(lenS + 1):
__Pyx_TraceLine(37,0,__PYX_ERR(0, 37, __pyx_L1_error)) __pyx_t_5 = (__pyx_cur_scope->__pyx_v_lenS + 1); __pyx_t_8 = __pyx_t_5; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_cur_scope->__pyx_v_i = __pyx_t_9;
+038: for j in range(i + min_len, i + max_len + 1):
__Pyx_TraceLine(38,0,__PYX_ERR(0, 38, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_cur_scope->__pyx_v_i + __pyx_cur_scope->__pyx_v_min_len)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyInt_From_long(((__pyx_cur_scope->__pyx_v_i + __pyx_cur_scope->__pyx_v_max_len) + 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __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_7); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_7); __pyx_t_1 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_4 = __pyx_t_7; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_7); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 38, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_7); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 38, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_3(__pyx_t_4); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 38, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_j); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_j, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ __Pyx_TraceLine(38,0,__PYX_ERR(0, 38, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; }
+039: if j < lenS:
__Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_lenS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_j, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_6) { /* … */ }
+040: yield seq[i:j]
__Pyx_TraceLine(40,0,__PYX_ERR(0, 40, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_seq, __pyx_cur_scope->__pyx_v_i, 0, NULL, &__pyx_cur_scope->__pyx_v_j, NULL, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; __pyx_cur_scope->__pyx_t_0 = __pyx_t_2; __pyx_cur_scope->__pyx_t_1 = __pyx_t_3; __Pyx_XGIVEREF(__pyx_t_4); __pyx_cur_scope->__pyx_t_2 = __pyx_t_4; __pyx_cur_scope->__pyx_t_3 = __pyx_t_5; __pyx_cur_scope->__pyx_t_4 = __pyx_t_8; __pyx_cur_scope->__pyx_t_5 = __pyx_t_9; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); __Pyx_Coroutine_ResetAndClearException(__pyx_generator); /* return from generator, yielding value */ __pyx_generator->resume_label = 1; return __pyx_r; __pyx_L16_resume_from_yield:; __pyx_t_2 = __pyx_cur_scope->__pyx_t_0; __pyx_t_3 = __pyx_cur_scope->__pyx_t_1; __pyx_t_4 = __pyx_cur_scope->__pyx_t_2; __pyx_cur_scope->__pyx_t_2 = 0; __Pyx_XGOTREF(__pyx_t_4); __pyx_t_5 = __pyx_cur_scope->__pyx_t_3; __pyx_t_8 = __pyx_cur_scope->__pyx_t_4; __pyx_t_9 = __pyx_cur_scope->__pyx_t_5; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 40, __pyx_L1_error)
+041: elif digestion == 'semi':
__Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error)) __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_cur_scope->__pyx_v_digestion, __pyx_n_s_semi, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 41, __pyx_L1_error) if (__pyx_t_6) { /* … */ goto __pyx_L10; }
+042: for i in range(lenS + 1):
__Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error)) __pyx_t_5 = (__pyx_cur_scope->__pyx_v_lenS + 1); __pyx_t_8 = __pyx_t_5; for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) { __pyx_cur_scope->__pyx_v_i = __pyx_t_9;
+043: isCleavageSite = (seq[min([lenS-1,i])] in pre2 and seq[min([lenS-1,i+1])] not in not_post2)
__Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error)) __pyx_t_10 = __pyx_cur_scope->__pyx_v_i; __pyx_t_11 = (__pyx_cur_scope->__pyx_v_lenS - 1); if (((__pyx_t_10 < __pyx_t_11) != 0)) { __pyx_t_12 = __pyx_t_10; } else { __pyx_t_12 = __pyx_t_11; } __pyx_t_11 = __pyx_t_12; __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_seq, __pyx_t_11, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_cur_scope->__pyx_v_pre2, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_6) { } else { __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L19_bool_binop_done; } __pyx_t_11 = (__pyx_cur_scope->__pyx_v_i + 1); __pyx_t_12 = (__pyx_cur_scope->__pyx_v_lenS - 1); if (((__pyx_t_11 < __pyx_t_12) != 0)) { __pyx_t_13 = __pyx_t_11; } else { __pyx_t_13 = __pyx_t_12; } __pyx_t_11 = __pyx_t_13; __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_seq, __pyx_t_11, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_cur_scope->__pyx_v_not_post2, Py_NE)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; __pyx_t_1 = 0; __pyx_L19_bool_binop_done:; __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_isCleavageSite); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_isCleavageSite, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0;
+044: isMethionineCleavageSite = (i == 0 and methionineCleavage)
__Pyx_TraceLine(44,0,__PYX_ERR(0, 44, __pyx_L1_error)) __pyx_t_6 = (__pyx_cur_scope->__pyx_v_i == 0); if (__pyx_t_6) { } else { __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L21_bool_binop_done; } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_methionineCleavage); __pyx_t_4 = __pyx_cur_scope->__pyx_v_methionineCleavage; __pyx_L21_bool_binop_done:; __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_isMethionineCleavageSite); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_isMethionineCleavageSite, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0;
+045: if i == lenS or isCleavageSite or isMethionineCleavageSite:
__Pyx_TraceLine(45,0,__PYX_ERR(0, 45, __pyx_L1_error)) __pyx_t_14 = ((__pyx_cur_scope->__pyx_v_i == __pyx_cur_scope->__pyx_v_lenS) != 0); if (!__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L24_bool_binop_done; } __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_isCleavageSite); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 45, __pyx_L1_error) if (!__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L24_bool_binop_done; } __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_isMethionineCleavageSite); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 45, __pyx_L1_error) __pyx_t_6 = __pyx_t_14; __pyx_L24_bool_binop_done:; if (__pyx_t_6) { /* … */ goto __pyx_L23; }
046: # peptides with enzymatic C-terminal (both enzymatic and non-enzymatic N-terminal)
+047: start = starts[0]
__Pyx_TraceLine(47,0,__PYX_ERR(0, 47, __pyx_L1_error)) __pyx_cur_scope->__pyx_v_start = (__pyx_cur_scope->__pyx_v_starts[0]);
+048: for j in range(start, min([i+1, lenS])):
__Pyx_TraceLine(48,0,__PYX_ERR(0, 48, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_start); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __pyx_cur_scope->__pyx_v_lenS; __pyx_t_11 = (__pyx_cur_scope->__pyx_v_i + 1); if (((__pyx_t_10 < __pyx_t_11) != 0)) { __pyx_t_13 = __pyx_t_10; } else { __pyx_t_13 = __pyx_t_11; } __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1); __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 48, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 48, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_3(__pyx_t_7); 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, 48, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_j); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_j, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __Pyx_TraceLine(48,0,__PYX_ERR(0, 48, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+049: lenP = min([i, lenS - 1]) - j + 1
__Pyx_TraceLine(49,0,__PYX_ERR(0, 49, __pyx_L1_error)) __pyx_t_13 = (__pyx_cur_scope->__pyx_v_lenS - 1); __pyx_t_10 = __pyx_cur_scope->__pyx_v_i; if (((__pyx_t_13 < __pyx_t_10) != 0)) { __pyx_t_11 = __pyx_t_13; } else { __pyx_t_11 = __pyx_t_10; } __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyNumber_Subtract(__pyx_t_1, __pyx_cur_scope->__pyx_v_j); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 49, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_cur_scope->__pyx_v_lenP = __pyx_t_10;
+050: if length_accepted(lenP):
__Pyx_TraceLine(50,0,__PYX_ERR(0, 50, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_lenP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_lambda_funcdef_lambda(__pyx_cur_scope->__pyx_v_length_accepted, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 50, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { /* … */ }
+051: yield (seq[j : i + 1])
__Pyx_TraceLine(51,0,__PYX_ERR(0, 51, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_seq, 0, (__pyx_cur_scope->__pyx_v_i + 1), &__pyx_cur_scope->__pyx_v_j, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; __pyx_cur_scope->__pyx_t_0 = __pyx_t_2; __pyx_cur_scope->__pyx_t_1 = __pyx_t_3; __pyx_cur_scope->__pyx_t_3 = __pyx_t_5; __Pyx_XGIVEREF(__pyx_t_7); __pyx_cur_scope->__pyx_t_2 = __pyx_t_7; __pyx_cur_scope->__pyx_t_4 = __pyx_t_8; __pyx_cur_scope->__pyx_t_5 = __pyx_t_9; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); __Pyx_Coroutine_ResetAndClearException(__pyx_generator); /* return from generator, yielding value */ __pyx_generator->resume_label = 2; return __pyx_r; __pyx_L30_resume_from_yield:; __pyx_t_2 = __pyx_cur_scope->__pyx_t_0; __pyx_t_3 = __pyx_cur_scope->__pyx_t_1; __pyx_t_5 = __pyx_cur_scope->__pyx_t_3; __pyx_t_7 = __pyx_cur_scope->__pyx_t_2; __pyx_cur_scope->__pyx_t_2 = 0; __Pyx_XGOTREF(__pyx_t_7); __pyx_t_8 = __pyx_cur_scope->__pyx_t_4; __pyx_t_9 = __pyx_cur_scope->__pyx_t_5; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 51, __pyx_L1_error)
+052: starts.push_back(i + 1)
__Pyx_TraceLine(52,0,__PYX_ERR(0, 52, __pyx_L1_error)) try { __pyx_cur_scope->__pyx_v_starts.push_back((__pyx_cur_scope->__pyx_v_i + 1)); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 52, __pyx_L1_error) }
+053: methionineCleaved = int(methionineCleavage and starts[0] == 0)
__Pyx_TraceLine(53,0,__PYX_ERR(0, 53, __pyx_L1_error)) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_methionineCleavage); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 53, __pyx_L1_error) if (__pyx_t_6) { } else { __Pyx_INCREF(__pyx_cur_scope->__pyx_v_methionineCleavage); __pyx_t_7 = __pyx_cur_scope->__pyx_v_methionineCleavage; goto __pyx_L31_bool_binop_done; } __pyx_t_6 = ((__pyx_cur_scope->__pyx_v_starts[0]) == 0); __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __pyx_t_4; __pyx_t_4 = 0; __pyx_L31_bool_binop_done:; __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_cur_scope->__pyx_v_methionineCleaved = __pyx_t_10;
+054: if len(starts) > miscleavages + 1 + methionineCleaved or i == lenS:
__Pyx_TraceLine(54,0,__PYX_ERR(0, 54, __pyx_L1_error)) __pyx_t_4 = __pyx_convert_vector_to_py_int(__pyx_cur_scope->__pyx_v_starts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_14 = ((__pyx_t_2 > ((__pyx_cur_scope->__pyx_v_miscleavages + 1) + __pyx_cur_scope->__pyx_v_methionineCleaved)) != 0); if (!__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L34_bool_binop_done; } __pyx_t_14 = ((__pyx_cur_scope->__pyx_v_i == __pyx_cur_scope->__pyx_v_lenS) != 0); __pyx_t_6 = __pyx_t_14; __pyx_L34_bool_binop_done:; if (__pyx_t_6) { /* … */ }
+055: starts = starts[1 + methionineCleaved:]
__Pyx_TraceLine(55,0,__PYX_ERR(0, 55, __pyx_L1_error)) __pyx_t_4 = __pyx_convert_vector_to_py_int(__pyx_cur_scope->__pyx_v_starts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetSlice(__pyx_t_4, (1 + __pyx_cur_scope->__pyx_v_methionineCleaved), 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_15 = __pyx_convert_vector_from_py_int(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_cur_scope->__pyx_v_starts = __pyx_t_15;
056: else: # peptides with non enzymatic C-terminal
+057: for start in starts:
__Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error)) /*else*/ { __pyx_t_16 = __pyx_cur_scope->__pyx_v_starts.begin(); for (;;) { if (!(__pyx_t_16 != __pyx_cur_scope->__pyx_v_starts.end())) break; __pyx_t_10 = *__pyx_t_16; ++__pyx_t_16; __pyx_cur_scope->__pyx_v_start = __pyx_t_10; /* … */ __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error)) } } __pyx_L23:; }
+058: lenP = i - start + 1
__Pyx_TraceLine(58,0,__PYX_ERR(0, 58, __pyx_L1_error)) __pyx_cur_scope->__pyx_v_lenP = ((__pyx_cur_scope->__pyx_v_i - __pyx_cur_scope->__pyx_v_start) + 1);
+059: if length_accepted(lenP) and starts[-1] == i + 1:
__Pyx_TraceLine(59,0,__PYX_ERR(0, 59, __pyx_L1_error)) __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_lenP); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __pyx_lambda_funcdef_lambda(__pyx_cur_scope->__pyx_v_length_accepted, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L39_bool_binop_done; } __pyx_t_14 = (((__pyx_cur_scope->__pyx_v_starts[-1L]) == (__pyx_cur_scope->__pyx_v_i + 1)) != 0); __pyx_t_6 = __pyx_t_14; __pyx_L39_bool_binop_done:; if (__pyx_t_6) { /* … */ }
+060: yield (seq[start : i + 1])
__Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_seq, __pyx_cur_scope->__pyx_v_start, (__pyx_cur_scope->__pyx_v_i + 1), NULL, NULL, NULL, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; __pyx_cur_scope->__pyx_t_3 = __pyx_t_5; __pyx_cur_scope->__pyx_t_4 = __pyx_t_8; __pyx_cur_scope->__pyx_t_5 = __pyx_t_9; __pyx_cur_scope->__pyx_t_6 = __pyx_t_16; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); __Pyx_Coroutine_ResetAndClearException(__pyx_generator); /* return from generator, yielding value */ __pyx_generator->resume_label = 3; return __pyx_r; __pyx_L41_resume_from_yield:; __pyx_t_5 = __pyx_cur_scope->__pyx_t_3; __pyx_t_8 = __pyx_cur_scope->__pyx_t_4; __pyx_t_9 = __pyx_cur_scope->__pyx_t_5; __pyx_t_16 = __pyx_cur_scope->__pyx_t_6; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 60, __pyx_L1_error)
061: else:
+062: hasMethionineCleavage = False
__Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error)) /*else*/ { __pyx_cur_scope->__pyx_v_hasMethionineCleavage = 0;
+063: if methionineCleavage and seq[0] == 'M':
__Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L1_error)) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_methionineCleavage); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) if (__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L43_bool_binop_done; } __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_seq, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_M, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __pyx_t_14; __pyx_L43_bool_binop_done:; if (__pyx_t_6) { /* … */ }
+064: cleavageSites.push_back(0)
__Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L1_error)) try { __pyx_cur_scope->__pyx_v_cleavageSites.push_back(0); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 64, __pyx_L1_error) }
+065: hasMethionineCleavage = True
__Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error)) __pyx_cur_scope->__pyx_v_hasMethionineCleavage = 1;
+066: for i in range(lenS):
__Pyx_TraceLine(66,0,__PYX_ERR(0, 66, __pyx_L1_error)) __pyx_t_9 = __pyx_cur_scope->__pyx_v_lenS; __pyx_t_10 = __pyx_t_9; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_10; __pyx_t_17+=1) { __pyx_cur_scope->__pyx_v_i = __pyx_t_17;
+067: if pre.find(ord(seq[i])) != pre.end() and not_post.find(ord(seq[min([lenS-1,i+1])])) == not_post.end():
__Pyx_TraceLine(67,0,__PYX_ERR(0, 67, __pyx_L1_error)) __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_seq, __pyx_cur_scope->__pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Ord(__pyx_t_4); if (unlikely(__pyx_t_5 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_14 = ((__pyx_cur_scope->__pyx_v_pre.find(__pyx_t_5) != __pyx_cur_scope->__pyx_v_pre.end()) != 0); if (__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L48_bool_binop_done; } __pyx_t_5 = (__pyx_cur_scope->__pyx_v_i + 1); __pyx_t_8 = (__pyx_cur_scope->__pyx_v_lenS - 1); if (((__pyx_t_5 < __pyx_t_8) != 0)) { __pyx_t_11 = __pyx_t_5; } else { __pyx_t_11 = __pyx_t_8; } __pyx_t_5 = __pyx_t_11; __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_seq, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Ord(__pyx_t_4); if (unlikely(__pyx_t_5 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_14 = ((__pyx_cur_scope->__pyx_v_not_post.find(__pyx_t_5) == __pyx_cur_scope->__pyx_v_not_post.end()) != 0); __pyx_t_6 = __pyx_t_14; __pyx_L48_bool_binop_done:; if (__pyx_t_6) { /* … */ } }
+068: cleavageSites.push_back(i)
__Pyx_TraceLine(68,0,__PYX_ERR(0, 68, __pyx_L1_error)) try { __pyx_cur_scope->__pyx_v_cleavageSites.push_back(__pyx_cur_scope->__pyx_v_i); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 68, __pyx_L1_error) }
+069: cleavageSites.push_back(lenS)
__Pyx_TraceLine(69,0,__PYX_ERR(0, 69, __pyx_L1_error)) try { __pyx_cur_scope->__pyx_v_cleavageSites.push_back(__pyx_cur_scope->__pyx_v_lenS); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 69, __pyx_L1_error) }
+070: for i in cleavageSites:
__Pyx_TraceLine(70,0,__PYX_ERR(0, 70, __pyx_L1_error)) __pyx_t_16 = __pyx_cur_scope->__pyx_v_cleavageSites.begin(); for (;;) { if (!(__pyx_t_16 != __pyx_cur_scope->__pyx_v_cleavageSites.end())) break; __pyx_t_9 = *__pyx_t_16; ++__pyx_t_16; __pyx_cur_scope->__pyx_v_i = __pyx_t_9; /* … */ __Pyx_TraceLine(70,0,__PYX_ERR(0, 70, __pyx_L1_error)) } } __pyx_L10:; CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
+071: for start in starts:
__Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) __pyx_t_18 = __pyx_cur_scope->__pyx_v_starts.begin(); for (;;) { if (!(__pyx_t_18 != __pyx_cur_scope->__pyx_v_starts.end())) break; __pyx_t_9 = *__pyx_t_18; ++__pyx_t_18; __pyx_cur_scope->__pyx_v_start = __pyx_t_9; /* … */ __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) }
+072: lenP = i - start + 1
__Pyx_TraceLine(72,0,__PYX_ERR(0, 72, __pyx_L1_error)) __pyx_cur_scope->__pyx_v_lenP = ((__pyx_cur_scope->__pyx_v_i - __pyx_cur_scope->__pyx_v_start) + 1);
+073: if lenP >= min_len and lenP <= max_len:
__Pyx_TraceLine(73,0,__PYX_ERR(0, 73, __pyx_L1_error)) __pyx_t_14 = ((__pyx_cur_scope->__pyx_v_lenP >= __pyx_cur_scope->__pyx_v_min_len) != 0); if (__pyx_t_14) { } else { __pyx_t_6 = __pyx_t_14; goto __pyx_L55_bool_binop_done; } __pyx_t_14 = ((__pyx_cur_scope->__pyx_v_lenP <= __pyx_cur_scope->__pyx_v_max_len) != 0); __pyx_t_6 = __pyx_t_14; __pyx_L55_bool_binop_done:; if (__pyx_t_6) { /* … */ }
+074: yield (seq[start : i + 1])
__Pyx_TraceLine(74,0,__PYX_ERR(0, 74, __pyx_L1_error)) __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_seq, __pyx_cur_scope->__pyx_v_start, (__pyx_cur_scope->__pyx_v_i + 1), NULL, NULL, NULL, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; __pyx_cur_scope->__pyx_t_6 = __pyx_t_16; __pyx_cur_scope->__pyx_t_7 = __pyx_t_18; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); __Pyx_Coroutine_ResetAndClearException(__pyx_generator); /* return from generator, yielding value */ __pyx_generator->resume_label = 4; return __pyx_r; __pyx_L57_resume_from_yield:; __pyx_t_16 = __pyx_cur_scope->__pyx_t_6; __pyx_t_18 = __pyx_cur_scope->__pyx_t_7; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 74, __pyx_L1_error)
+075: starts.push_back(i + 1)
__Pyx_TraceLine(75,0,__PYX_ERR(0, 75, __pyx_L1_error)) try { __pyx_cur_scope->__pyx_v_starts.push_back((__pyx_cur_scope->__pyx_v_i + 1)); } catch(...) { __Pyx_CppExn2PyErr(); __PYX_ERR(0, 75, __pyx_L1_error) }
+076: methionineCleaved = int(starts[0] == 0 and hasMethionineCleavage)
__Pyx_TraceLine(76,0,__PYX_ERR(0, 76, __pyx_L1_error)) __pyx_t_6 = ((__pyx_cur_scope->__pyx_v_starts[0]) == 0); if (__pyx_t_6) { } else { __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __pyx_t_7; __pyx_t_7 = 0; goto __pyx_L58_bool_binop_done; } __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_cur_scope->__pyx_v_hasMethionineCleavage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __pyx_t_7; __pyx_t_7 = 0; __pyx_L58_bool_binop_done:; __pyx_t_7 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_cur_scope->__pyx_v_methionineCleaved = __pyx_t_9;
+077: if starts.size() > miscleavages + one + methionineCleaved:
__Pyx_TraceLine(77,0,__PYX_ERR(0, 77, __pyx_L1_error)) __pyx_t_6 = ((__pyx_cur_scope->__pyx_v_starts.size() > ((__pyx_cur_scope->__pyx_v_miscleavages + __pyx_cur_scope->__pyx_v_one) + __pyx_cur_scope->__pyx_v_methionineCleaved)) != 0); if (__pyx_t_6) { /* … */ }
+078: starts = starts[one + methionineCleaved:]
__Pyx_TraceLine(78,0,__PYX_ERR(0, 78, __pyx_L1_error)) __pyx_t_7 = __pyx_convert_vector_to_py_int(__pyx_cur_scope->__pyx_v_starts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_7, (__pyx_cur_scope->__pyx_v_one + __pyx_cur_scope->__pyx_v_methionineCleaved), 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_15 = __pyx_convert_vector_from_py_int(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_cur_scope->__pyx_v_starts = __pyx_t_15;
079:
+080: def readFastaMaxQuant(filePath, db = "target", parseId = lambda x : x.split(" ")[0], specialAAs = ['R', 'K']):
/* Python wrapper */ static PyObject *__pyx_pw_3bin_8lambda1(PyObject *__pyx_self, PyObject *__pyx_v_x); /*proto*/ static PyMethodDef __pyx_mdef_3bin_8lambda1 = {"lambda1", (PyCFunction)__pyx_pw_3bin_8lambda1, METH_O, 0}; static PyObject *__pyx_pw_3bin_8lambda1(PyObject *__pyx_self, PyObject *__pyx_v_x) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("lambda1 (wrapper)", 0); __pyx_r = __pyx_lambda_funcdef_3bin_lambda1(__pyx_self, ((PyObject *)__pyx_v_x)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_lambda_funcdef_3bin_lambda1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) { PyObject *__pyx_r = NULL; __Pyx_TraceDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("lambda1", 0); __Pyx_TraceCall("lambda1", __pyx_f[0], 80, 0, __PYX_ERR(0, 80, __pyx_L1_error)); __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __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); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s_) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("bin.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_gb_3bin_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ /* … */ static PyObject *__pyx_pf_3bin_11__defaults__(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_TraceDeclarations __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__defaults__", 0); __Pyx_TraceCall("__defaults__", __pyx_f[0], 80, 0, __PYX_ERR(0, 80, __pyx_L1_error)); __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject*)__pyx_n_s_target)); __Pyx_GIVEREF(((PyObject*)__pyx_n_s_target)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject*)__pyx_n_s_target)); __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_parseId); __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_parseId); PyTuple_SET_ITEM(__pyx_t_1, 1, __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_parseId); __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_specialAAs); __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_specialAAs); PyTuple_SET_ITEM(__pyx_t_1, 2, __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_specialAAs); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("bin.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_3bin_4readFastaMaxQuant(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_3bin_4readFastaMaxQuant = {"readFastaMaxQuant", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_3bin_4readFastaMaxQuant, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_3bin_4readFastaMaxQuant(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_filePath = 0; PyObject *__pyx_v_db = 0; PyObject *__pyx_v_parseId = 0; PyObject *__pyx_v_specialAAs = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("readFastaMaxQuant (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filePath,&__pyx_n_s_db,&__pyx_n_s_parseId,&__pyx_n_s_specialAAs,0}; PyObject* values[4] = {0,0,0,0}; __pyx_defaults1 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self); values[1] = ((PyObject *)((PyObject*)__pyx_n_s_target)); values[2] = __pyx_dynamic_args->__pyx_arg_parseId; values[3] = __pyx_dynamic_args->__pyx_arg_specialAAs; 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] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filePath)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_db); if (value) { values[1] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parseId); if (value) { values[2] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_specialAAs); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readFastaMaxQuant") < 0)) __PYX_ERR(0, 80, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_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); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_filePath = values[0]; __pyx_v_db = values[1]; __pyx_v_parseId = values[2]; __pyx_v_specialAAs = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("readFastaMaxQuant", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 80, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("bin.readFastaMaxQuant", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_3bin_3readFastaMaxQuant(__pyx_self, __pyx_v_filePath, __pyx_v_db, __pyx_v_parseId, __pyx_v_specialAAs); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_3bin_3readFastaMaxQuant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filePath, PyObject *__pyx_v_db, PyObject *__pyx_v_parseId, PyObject *__pyx_v_specialAAs) { struct __pyx_obj_3bin___pyx_scope_struct_1_readFastaMaxQuant *__pyx_cur_scope; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("readFastaMaxQuant", 0); __pyx_cur_scope = (struct __pyx_obj_3bin___pyx_scope_struct_1_readFastaMaxQuant *)__pyx_tp_new_3bin___pyx_scope_struct_1_readFastaMaxQuant(__pyx_ptype_3bin___pyx_scope_struct_1_readFastaMaxQuant, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_3bin___pyx_scope_struct_1_readFastaMaxQuant *)Py_None); __Pyx_INCREF(Py_None); __PYX_ERR(0, 80, __pyx_L1_error) } else { __Pyx_GOTREF(__pyx_cur_scope); } __pyx_cur_scope->__pyx_v_filePath = __pyx_v_filePath; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_filePath); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_filePath); __pyx_cur_scope->__pyx_v_db = __pyx_v_db; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_db); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_db); __pyx_cur_scope->__pyx_v_parseId = __pyx_v_parseId; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_parseId); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_parseId); __pyx_cur_scope->__pyx_v_specialAAs = __pyx_v_specialAAs; __Pyx_INCREF(__pyx_cur_scope->__pyx_v_specialAAs); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_specialAAs); { __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_3bin_5generator1, __pyx_codeobj__3, (PyObject *) __pyx_cur_scope, __pyx_n_s_readFastaMaxQuant, __pyx_n_s_readFastaMaxQuant, __pyx_n_s_bin); if (unlikely(!gen)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; } /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("bin.readFastaMaxQuant", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_gb_3bin_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("readFastaMaxQuant", 0); __Pyx_TraceDeclarations __Pyx_TraceFrameInit(__pyx_codeobj__3) __pyx_L3_first_run:; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 80, __pyx_L1_error) /* … */ /* function exit code */ PyErr_SetNone(PyExc_StopIteration); 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_13); __Pyx_XDECREF(__pyx_t_17); __Pyx_XDECREF(__pyx_t_19); __Pyx_AddTraceback("readFastaMaxQuant", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_XDECREF(__pyx_r); __pyx_r = 0; #if !CYTHON_USE_EXC_INFO_STACK __Pyx_Coroutine_ResetAndClearException(__pyx_generator); #endif __pyx_generator->resume_label = -1; __Pyx_Coroutine_clear((PyObject*)__pyx_generator); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__11 = PyTuple_Pack(10, __pyx_n_s_filePath, __pyx_n_s_db, __pyx_n_s_parseId, __pyx_n_s_specialAAs, __pyx_n_s_i, __pyx_n_s_hasSpecialAAs, __pyx_n_s_name_2, __pyx_n_s_seq, __pyx_n_s_fp, __pyx_n_s_line); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); /* … */ __Pyx_TraceLine(80,0,__PYX_ERR(0, 80, __pyx_L1_error)) __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3bin_4readFastaMaxQuant, 0, __pyx_n_s_readFastaMaxQuant, NULL, __pyx_n_s_bin, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!__Pyx_CyFunction_InitDefaults(__pyx_t_1, sizeof(__pyx_defaults1), 2)) __PYX_ERR(0, 80, __pyx_L1_error) __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3bin_8lambda1, 0, __pyx_n_s_readFastaMaxQuant_locals_lambda, NULL, __pyx_n_s_bin, __pyx_d, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_t_1)->__pyx_arg_parseId = __pyx_t_2; __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_R); __Pyx_GIVEREF(__pyx_n_s_R); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_R); __Pyx_INCREF(__pyx_n_s_K); __Pyx_GIVEREF(__pyx_n_s_K); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_K); __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_t_1)->__pyx_arg_specialAAs = __pyx_t_2; __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_1, __pyx_pf_3bin_11__defaults__); if (PyDict_SetItem(__pyx_d, __pyx_n_s_readFastaMaxQuant, __pyx_t_1) < 0) __PYX_ERR(0, 80, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_bin_digestfast_pyx, __pyx_n_s_readFastaMaxQuant, 80, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 80, __pyx_L1_error)
081: cdef int i
+082: if db not in ["target", "decoy", "concat"]:
__Pyx_TraceLine(82,0,__PYX_ERR(0, 82, __pyx_L1_error)) __Pyx_INCREF(__pyx_cur_scope->__pyx_v_db); __pyx_t_1 = __pyx_cur_scope->__pyx_v_db; __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_target, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 82, __pyx_L1_error) if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_decoy, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 82, __pyx_L1_error) if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_concat, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 82, __pyx_L1_error) __pyx_t_2 = __pyx_t_3; __pyx_L5_bool_binop_done:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ }
+083: sys.exit("unknown db mode: %s" % db)
__Pyx_TraceLine(83,0,__PYX_ERR(0, 83, __pyx_L1_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_sys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyString_FormatSafe(__pyx_kp_s_unknown_db_mode_s, __pyx_cur_scope->__pyx_v_db); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __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); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __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;
084:
+085: hasSpecialAAs = len(specialAAs) > 0
__Pyx_TraceLine(85,0,__PYX_ERR(0, 85, __pyx_L1_error)) __pyx_t_7 = PyObject_Length(__pyx_cur_scope->__pyx_v_specialAAs); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 85, __pyx_L1_error) __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_t_7 > 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_hasSpecialAAs = __pyx_t_1; __pyx_t_1 = 0;
+086: name, seq = None, []
__Pyx_TraceLine(86,0,__PYX_ERR(0, 86, __pyx_L1_error)) __pyx_t_1 = Py_None; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_name = __pyx_t_1; __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_5); __pyx_cur_scope->__pyx_v_seq = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+087: with open(filePath, 'r') as fp:
__Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) /*with:*/ { __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_filePath); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_filePath); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_cur_scope->__pyx_v_filePath); __Pyx_INCREF(__pyx_n_s_r); __Pyx_GIVEREF(__pyx_n_s_r); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_r); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 87, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; 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_5 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_5; __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /*try:*/ { { /*try:*/ { __Pyx_GIVEREF(__pyx_t_4); __pyx_cur_scope->__pyx_v_fp = __pyx_t_4; __pyx_t_4 = 0; /* … */ } __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L17_try_end; __pyx_L12_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /*except:*/ { __Pyx_AddTraceback("bin.readFastaMaxQuant", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_19) < 0) __PYX_ERR(0, 87, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_19); __pyx_t_4 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_19); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 87, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 87, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_2 < 0) __PYX_ERR(0, 87, __pyx_L14_except_error) __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_13); __Pyx_XGIVEREF(__pyx_t_19); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_19); __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_19 = 0; __PYX_ERR(0, 87, __pyx_L14_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; goto __pyx_L13_exception_handled; } __pyx_L14_except_error:; __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); goto __pyx_L1_error; __pyx_L13_exception_handled:; __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); __pyx_L17_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_8) { __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__8, NULL); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } goto __pyx_L11; } __pyx_L11:; } goto __pyx_L38; __pyx_L8_error:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L1_error; __pyx_L38:; } CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); /* … */ __pyx_tuple__8 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8);
+088: for line in itertools.chain(fp, [">"]):
__Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L12_error)) __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_itertools); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chain); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_kp_s__4); __Pyx_GIVEREF(__pyx_kp_s__4); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s__4); __pyx_t_6 = NULL; __pyx_t_12 = 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_12 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_fp, __pyx_t_1}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_fp, __pyx_t_1}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_fp); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_fp); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_cur_scope->__pyx_v_fp); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __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_14 = NULL; } else { __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 88, __pyx_L12_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_14)) { 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, 88, __pyx_L12_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L12_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, 88, __pyx_L12_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_14(__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, 88, __pyx_L12_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_line); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_line, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L12_error)) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+089: line = line.rstrip()
__Pyx_TraceLine(89,0,__PYX_ERR(0, 89, __pyx_L12_error)) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_line, __pyx_n_s_rstrip); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 89, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 89, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_line); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_line, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0;
+090: if line.startswith(">"):
__Pyx_TraceLine(90,0,__PYX_ERR(0, 90, __pyx_L12_error)) __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_line, __pyx_n_s_startswith); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 90, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_kp_s__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_s__4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 90, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 90, __pyx_L12_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L20; }
+091: if name:
__Pyx_TraceLine(91,0,__PYX_ERR(0, 91, __pyx_L12_error)) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_name); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 91, __pyx_L12_error) if (__pyx_t_3) { /* … */ }
+092: if db in ["target", "concat"]:
__Pyx_TraceLine(92,0,__PYX_ERR(0, 92, __pyx_L12_error)) __Pyx_INCREF(__pyx_cur_scope->__pyx_v_db); __pyx_t_4 = __pyx_cur_scope->__pyx_v_db; __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_target, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 92, __pyx_L12_error) if (!__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L23_bool_binop_done; } __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_concat, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 92, __pyx_L12_error) __pyx_t_3 = __pyx_t_2; __pyx_L23_bool_binop_done:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* … */ }
+093: yield (name, "".join(seq))
__Pyx_TraceLine(93,0,__PYX_ERR(0, 93, __pyx_L12_error)) __pyx_t_4 = __Pyx_PyString_Join(__pyx_kp_s__5, __pyx_cur_scope->__pyx_v_seq); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 93, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_name); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_name); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_cur_scope->__pyx_v_name); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_13; __pyx_t_13 = 0; __Pyx_XGIVEREF(__pyx_t_5); __pyx_cur_scope->__pyx_t_0 = __pyx_t_5; __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; __Pyx_XGIVEREF(__pyx_t_8); __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; __Pyx_XGIVEREF(__pyx_t_9); __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; __Pyx_XGIVEREF(__pyx_t_10); __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; __Pyx_XGIVEREF(__pyx_t_11); __pyx_cur_scope->__pyx_t_5 = __pyx_t_11; __pyx_cur_scope->__pyx_t_6 = __pyx_t_14; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); __Pyx_Coroutine_ResetAndClearException(__pyx_generator); /* return from generator, yielding value */ __pyx_generator->resume_label = 1; return __pyx_r; __pyx_L25_resume_from_yield:; __pyx_t_5 = __pyx_cur_scope->__pyx_t_0; __pyx_cur_scope->__pyx_t_0 = 0; __Pyx_XGOTREF(__pyx_t_5); __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; __pyx_cur_scope->__pyx_t_2 = 0; __Pyx_XGOTREF(__pyx_t_8); __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; __pyx_cur_scope->__pyx_t_3 = 0; __Pyx_XGOTREF(__pyx_t_9); __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; __pyx_cur_scope->__pyx_t_4 = 0; __Pyx_XGOTREF(__pyx_t_10); __pyx_t_11 = __pyx_cur_scope->__pyx_t_5; __pyx_cur_scope->__pyx_t_5 = 0; __Pyx_XGOTREF(__pyx_t_11); __pyx_t_14 = __pyx_cur_scope->__pyx_t_6; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 93, __pyx_L12_error)
094:
+095: if db in ["decoy", "concat"]:
__Pyx_TraceLine(95,0,__PYX_ERR(0, 95, __pyx_L12_error)) __Pyx_INCREF(__pyx_cur_scope->__pyx_v_db); __pyx_t_13 = __pyx_cur_scope->__pyx_v_db; __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_13, __pyx_n_s_decoy, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 95, __pyx_L12_error) if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L27_bool_binop_done; } __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_13, __pyx_n_s_concat, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 95, __pyx_L12_error) __pyx_t_2 = __pyx_t_3; __pyx_L27_bool_binop_done:; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* … */ }
+096: seq = list("".join(seq)[::-1])
__Pyx_TraceLine(96,0,__PYX_ERR(0, 96, __pyx_L12_error)) __pyx_t_13 = __Pyx_PyString_Join(__pyx_kp_s__5, __pyx_cur_scope->__pyx_v_seq); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_slice__6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 96, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_seq); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_seq, ((PyObject*)__pyx_t_13)); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; /* … */ __pyx_slice__6 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__6)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__6); __Pyx_GIVEREF(__pyx_slice__6);
+097: if hasSpecialAAs:
__Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L12_error)) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_hasSpecialAAs); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 97, __pyx_L12_error) if (__pyx_t_3) { /* … */ }
+098: for i in range(1, len(seq)):
__Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L12_error)) __pyx_t_15 = PyList_GET_SIZE(__pyx_cur_scope->__pyx_v_seq); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 98, __pyx_L12_error) __pyx_t_16 = __pyx_t_15; for (__pyx_t_12 = 1; __pyx_t_12 < __pyx_t_16; __pyx_t_12+=1) { __pyx_cur_scope->__pyx_v_i = __pyx_t_12;
+099: if seq[i] in specialAAs:
__Pyx_TraceLine(99,0,__PYX_ERR(0, 99, __pyx_L12_error)) __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_seq, __pyx_cur_scope->__pyx_v_i, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 99, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_13, __pyx_cur_scope->__pyx_v_specialAAs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 99, __pyx_L12_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* … */ } }
+100: swapPositions(seq, i, i-1)
__Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L12_error)) __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_swapPositions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyInt_From_long((__pyx_cur_scope->__pyx_v_i - 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_17 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_17, __pyx_cur_scope->__pyx_v_seq, __pyx_t_1, __pyx_t_6}; __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_17, __pyx_cur_scope->__pyx_v_seq, __pyx_t_1, __pyx_t_6}; __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_19 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_seq); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_seq); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_18, __pyx_cur_scope->__pyx_v_seq); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_18, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_18, __pyx_t_6); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_19, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 100, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+101: yield ("REV__" + name, "".join(seq))
__Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L12_error)) __pyx_t_13 = PyNumber_Add(__pyx_n_s_REV, __pyx_cur_scope->__pyx_v_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 101, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_4 = __Pyx_PyString_Join(__pyx_kp_s__5, __pyx_cur_scope->__pyx_v_seq); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 101, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_19 = PyTuple_New(2); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 101, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_19, 1, __pyx_t_4); __pyx_t_13 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_19; __pyx_t_19 = 0; __Pyx_XGIVEREF(__pyx_t_5); __pyx_cur_scope->__pyx_t_0 = __pyx_t_5; __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; __Pyx_XGIVEREF(__pyx_t_8); __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; __Pyx_XGIVEREF(__pyx_t_9); __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; __Pyx_XGIVEREF(__pyx_t_10); __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; __Pyx_XGIVEREF(__pyx_t_11); __pyx_cur_scope->__pyx_t_5 = __pyx_t_11; __pyx_cur_scope->__pyx_t_6 = __pyx_t_14; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); __Pyx_Coroutine_ResetAndClearException(__pyx_generator); /* return from generator, yielding value */ __pyx_generator->resume_label = 2; return __pyx_r; __pyx_L33_resume_from_yield:; __pyx_t_5 = __pyx_cur_scope->__pyx_t_0; __pyx_cur_scope->__pyx_t_0 = 0; __Pyx_XGOTREF(__pyx_t_5); __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; __pyx_cur_scope->__pyx_t_2 = 0; __Pyx_XGOTREF(__pyx_t_8); __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; __pyx_cur_scope->__pyx_t_3 = 0; __Pyx_XGOTREF(__pyx_t_9); __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; __pyx_cur_scope->__pyx_t_4 = 0; __Pyx_XGOTREF(__pyx_t_10); __pyx_t_11 = __pyx_cur_scope->__pyx_t_5; __pyx_cur_scope->__pyx_t_5 = 0; __Pyx_XGOTREF(__pyx_t_11); __pyx_t_14 = __pyx_cur_scope->__pyx_t_6; if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 101, __pyx_L12_error)
102:
+103: if len(line) > 1:
__Pyx_TraceLine(103,0,__PYX_ERR(0, 103, __pyx_L12_error)) __pyx_t_15 = PyObject_Length(__pyx_cur_scope->__pyx_v_line); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 103, __pyx_L12_error) __pyx_t_2 = ((__pyx_t_15 > 1) != 0); if (__pyx_t_2) { /* … */ }
+104: name, seq = parseId(line[1:]), []
__Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L12_error)) __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_line, 1, 0, NULL, NULL, &__pyx_slice__7, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 104, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_parseId); __pyx_t_13 = __pyx_cur_scope->__pyx_v_parseId; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_19 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 104, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 104, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_name); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_name, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_seq); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_seq, ((PyObject*)__pyx_t_13)); __Pyx_GIVEREF(__pyx_t_13); __pyx_t_13 = 0; /* … */ __pyx_slice__7 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__7)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__7); __Pyx_GIVEREF(__pyx_slice__7);
+105: else: seq.append(line)
__Pyx_TraceLine(105,0,__PYX_ERR(0, 105, __pyx_L12_error)) /*else*/ { __pyx_t_20 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_seq, __pyx_cur_scope->__pyx_v_line); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(0, 105, __pyx_L12_error) } __pyx_L20:;
106:
+107: def swapPositions(seq, pos1, pos2):
/* Python wrapper */ static PyObject *__pyx_pw_3bin_7swapPositions(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_3bin_7swapPositions = {"swapPositions", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_3bin_7swapPositions, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_3bin_7swapPositions(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_seq = 0; PyObject *__pyx_v_pos1 = 0; PyObject *__pyx_v_pos2 = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("swapPositions (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_seq,&__pyx_n_s_pos1,&__pyx_n_s_pos2,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] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seq)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("swapPositions", 1, 3, 3, 1); __PYX_ERR(0, 107, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("swapPositions", 1, 3, 3, 2); __PYX_ERR(0, 107, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "swapPositions") < 0)) __PYX_ERR(0, 107, __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_seq = values[0]; __pyx_v_pos1 = values[1]; __pyx_v_pos2 = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("swapPositions", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 107, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("bin.swapPositions", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_3bin_6swapPositions(__pyx_self, __pyx_v_seq, __pyx_v_pos1, __pyx_v_pos2); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_3bin_6swapPositions(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_seq, PyObject *__pyx_v_pos1, PyObject *__pyx_v_pos2) { PyObject *__pyx_r = NULL; __Pyx_TraceDeclarations __Pyx_TraceFrameInit(__pyx_codeobj__9) __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("swapPositions", 0); __Pyx_TraceCall("swapPositions", __pyx_f[0], 107, 0, __PYX_ERR(0, 107, __pyx_L1_error)); /* … */ /* 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_AddTraceback("bin.swapPositions", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__12 = PyTuple_Pack(3, __pyx_n_s_seq, __pyx_n_s_pos1, __pyx_n_s_pos2); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); /* … */ __Pyx_TraceLine(107,0,__PYX_ERR(0, 107, __pyx_L1_error)) __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3bin_7swapPositions, 0, __pyx_n_s_swapPositions, NULL, __pyx_n_s_bin, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_swapPositions, __pyx_t_1) < 0) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+108: seq[pos1], seq[pos2] = seq[pos2], seq[pos1]
__Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error)) __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_seq, __pyx_v_pos2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_seq, __pyx_v_pos1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_v_seq, __pyx_v_pos1, __pyx_t_1) < 0)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_v_seq, __pyx_v_pos2, __pyx_t_2) < 0)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;