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;