diff --git a/docs/enzymes.rst b/docs/enzymes.rst index 1951950c67c882826cd11e9450c62f7bc16c5964..1c5c6e8c209e9ffcb16e94445944271b77e649db 100644 --- a/docs/enzymes.rst +++ b/docs/enzymes.rst @@ -26,10 +26,12 @@ Available enzymes 9: :ref:`casp7` 10: :ref:`casp8` 11: :ref:`casp9` 12: :ref:`casp10` 13: :ref:`chymh` 14: :ref:`chyml` 15: :ref:`clost` 16: :ref:`cnbr` 17: :ref:`enter` -18: :ref:`fxa` 19: :ref:`gluc` 20: :ref:`lysc` -21: :ref:`lysn` 22: :ref:`ntcb` 23: :ref:`peps13` -24: :ref:`peps2` 25: :ref:`throm` 26: :ref:`thromsg` -27: :ref:`tryps` +18: :ref:`fxa` 19: :ref:`form` 20: :ref:`gluc` +21: :ref:`glue` 22: :ref:`gran` 23: :ref:`hydro` +24: :ref:`iodo` 25: :ref:`lysc` 26: :ref:`lysn` +27: :ref:`neut` 28: :ref:`ntcb` 29: :ref:`peps13` +30: :ref:`peps2` 31: :ref:`prol` 32: :ref:`throm` +33: :ref:`thromsg` 34: :ref:`tryps` ================== ================== ================== .. _arg-c: @@ -420,6 +422,24 @@ https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Xa +.. _form: + +Formic acid +........... + +Formic acid preferentially cleaves after D (`P1`). + +**RPG definition:** + +cleaving rule: + +* ``(D,)`` + +More informations: +https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#HCOOH + + + .. _gluc: Glu-C @@ -438,6 +458,78 @@ https://france.promega.com/resources/pubhub/using-endoproteinases-asp-n-and-glu- +.. _glue: + +Glutamyl endopeptidase +...................... + +Glutamyl endopeptidase preferentially cleaves after E (`P1`). + +**RPG definition:** + +cleaving rule: + +* ``(E,)`` + +More informations: +https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Glu + + + +.. _gran: + +Granzyme B +.......... + +Granzyme B preferentially cleaves after D (`P1`) preceded by IEP. + +**RPG definition:** + +cleaving rule: + +* ``(I)(E)(P)(D,)`` + +More informations: +https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#GranB + + + +.. _hydro: + +Hydroxylamine +............. + +Hydroxylamine (NH2OH) preferentially cleaves after N (`P1`) followed by G in `P1'`. + +**RPG definition:** + +cleaving rule: + +* ``(N,)(G)`` + +More informations: +https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Hydro + + + +.. _iodo: + +Iodosobenzoic acid +.................. + +Iodosobenzoic acid preferentially cleaves after W (`P1`). + +**RPG definition:** + +cleaving rule: + +* ``(W,)`` + +More informations: +https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Iodo + + + .. _lysc: Lys-C @@ -472,6 +564,23 @@ More informations: https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.h +.. _neut: + +Neutrophil elastase +................... + +Neutrophil elastase preferentially cleaves after A or V (`P1`). + +**RPG definition:** + +cleaving rule: + +* ``(A or V,)`` + +More informations: https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Elast + + + .. _ntcb: NTCB @@ -543,6 +652,27 @@ More informations: https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.h +.. _prol: + +Proline-endopeptidase +..................... + +Proline-endopeptidase preferentially cleaves after P (`P1`) preceded by H, K or R in `P2` but will not cleaves if followed by P in `P1'`. + +**RPG definition:** + +cleaving rule: + +* ``(H or K or R)(P,)`` + +exception rule: + +* ``(H or K or R)(P,)(P)`` + +More informations: https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Pro + + + .. _throm: Thrombin (PeptideCutter) diff --git a/rpg/enzymes_definition.py b/rpg/enzymes_definition.py index 190fcc7158e7091a7faed3df53fa0aacc543c370..1b2aacf170c1a796e58c25ab52a21ba46984aff4 100644 --- a/rpg/enzymes_definition.py +++ b/rpg/enzymes_definition.py @@ -71,29 +71,29 @@ CPT_ENZ += 1 # Caspase 1 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp1 -# RULES: cut after D if prev1 is H, A or T and prev3 F, W, Y or L. -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after D if prev1 is H, A or T and prev3 F, W, Y or L. +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cut after D, preceded by H -EXECPT_AD = rule.Rule(-1, "A", False, -1) # Never cut after D, preceded by A -EXECPT_TD = rule.Rule(-1, "T", False, -1) # Never cut after D, preceded by T - -EXECPT_HATD__F = rule.Rule(-3, "F", True, -1) # Always cut after D, preceded by H, A or T, preceded by F -EXECPT_HATD__L = rule.Rule(-3, "L", True, -1) # Always cut after D, preceded by H, A or T, preceded by L -EXECPT_HATD__W = rule.Rule(-3, "W", True, -1) # Always cut after D, preceded by H, A or T, preceded by W -EXECPT_HATD__Y = rule.Rule(-3, "Y", True, -1) # Always cut after D, preceded by H, A or T, preceded by Y - -EXECPT_HATD__FLWY_P = rule.Rule(1, "P", False, -1) # Never cut after D, preceded by H, A or T, preceded by F, l, W, Y and followed by P -EXECPT_HATD__FLWY_E = rule.Rule(1, "E", False, -1) # Never cut after D, preceded by H, A or T, preceded by F, l, W, Y and followed by E -EXECPT_HATD__FLWY_D = rule.Rule(1, "D", False, -1) # Never cut after D, preceded by H, A or T, preceded by F, l, W, Y and followed by D -EXECPT_HATD__FLWY_Q = rule.Rule(1, "Q", False, -1) # Never cut after D, preceded by H, A or T, preceded by F, l, W, Y and followed by Q -EXECPT_HATD__FLWY_K = rule.Rule(1, "K", False, -1) # Never cut after D, preceded by H, A or T, preceded by F, l, W, Y and followed by K -EXECPT_HATD__FLWY_R = rule.Rule(1, "R", False, -1) # Never cut after D, preceded by H, A or T, preceded by F, l, W, Y and followed by R +EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cleaves after D, preceded by H +EXECPT_AD = rule.Rule(-1, "A", False, -1) # Never cleaves after D, preceded by A +EXECPT_TD = rule.Rule(-1, "T", False, -1) # Never cleaves after D, preceded by T + +EXECPT_HATD__F = rule.Rule(-3, "F", True, -1) # Always cleaves after D, preceded by H, A or T, preceded by F +EXECPT_HATD__L = rule.Rule(-3, "L", True, -1) # Always cleaves after D, preceded by H, A or T, preceded by L +EXECPT_HATD__W = rule.Rule(-3, "W", True, -1) # Always cleaves after D, preceded by H, A or T, preceded by W +EXECPT_HATD__Y = rule.Rule(-3, "Y", True, -1) # Always cleaves after D, preceded by H, A or T, preceded by Y + +EXECPT_HATD__FLWY_P = rule.Rule(1, "P", False, -1) # Never cleaves after D, preceded by H, A or T, preceded by F, l, W, Y and followed by P +EXECPT_HATD__FLWY_E = rule.Rule(1, "E", False, -1) # Never cleaves after D, preceded by H, A or T, preceded by F, l, W, Y and followed by E +EXECPT_HATD__FLWY_D = rule.Rule(1, "D", False, -1) # Never cleaves after D, preceded by H, A or T, preceded by F, l, W, Y and followed by D +EXECPT_HATD__FLWY_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D, preceded by H, A or T, preceded by F, l, W, Y and followed by Q +EXECPT_HATD__FLWY_K = rule.Rule(1, "K", False, -1) # Never cleaves after D, preceded by H, A or T, preceded by F, l, W, Y and followed by K +EXECPT_HATD__FLWY_R = rule.Rule(1, "R", False, -1) # Never cleaves after D, preceded by H, A or T, preceded by F, l, W, Y and followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_HATD__F.rules.append(EXECPT_HATD__FLWY_P) @@ -160,28 +160,28 @@ CPT_ENZ += 1 # Caspase 2 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp2 -# RULES: cut after DVAD, or DEHD,. -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after DVAD, or DEHD,. +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cut after D, preceded by H -EXECPT_AD = rule.Rule(-1, "A", False, -1) # Never cut after D, preceded by A +EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cleaves after D, preceded by H +EXECPT_AD = rule.Rule(-1, "A", False, -1) # Never cleaves after D, preceded by A -EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by H, preceded by E -EXECPT_VAD = rule.Rule(-2, "V", False, -1) # Never cut after D, preceded by A, preceded by V +EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by H, preceded by E +EXECPT_VAD = rule.Rule(-2, "V", False, -1) # Never cleaves after D, preceded by A, preceded by V -EXECPT_DXXD = rule.Rule(-3, "D", True, -1) # Always cut after D, preceded by H (A), preceded by E (V), preceded by D +EXECPT_DXXD = rule.Rule(-3, "D", True, -1) # Always cleaves after D, preceded by H (A), preceded by E (V), preceded by D -EXECPT_P = rule.Rule(1, "P", False, -1) # Never cut after D followed by P -EXECPT_E = rule.Rule(1, "E", False, -1) # Never cut after D followed by E -EXECPT_D = rule.Rule(1, "D", False, -1) # Never cut after D followed by D -EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cut after D followed by Q -EXECPT_K = rule.Rule(1, "K", False, -1) # Never cut after D followed by K -EXECPT_R = rule.Rule(1, "R", False, -1) # Never cut after D followed by R +EXECPT_P = rule.Rule(1, "P", False, -1) # Never cleaves after D followed by P +EXECPT_E = rule.Rule(1, "E", False, -1) # Never cleaves after D followed by E +EXECPT_D = rule.Rule(1, "D", False, -1) # Never cleaves after D followed by D +EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D followed by Q +EXECPT_K = rule.Rule(1, "K", False, -1) # Never cleaves after D followed by K +EXECPT_R = rule.Rule(1, "R", False, -1) # Never cleaves after D followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_DXXD.rules.append(EXECPT_P) @@ -215,28 +215,28 @@ CPT_ENZ += 1 # Caspase 3 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp3 -# RULES: cut after DMQD, or DEVD,. -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after DMQD, or DEVD,. +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_VD = rule.Rule(-1, "V", False, -1) # Never cut after D, preceded by V -EXECPT_QD = rule.Rule(-1, "Q", False, -1) # Never cut after D, preceded by Q +EXECPT_VD = rule.Rule(-1, "V", False, -1) # Never cleaves after D, preceded by V +EXECPT_QD = rule.Rule(-1, "Q", False, -1) # Never cleaves after D, preceded by Q -EXECPT_EVD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by V, preceded by E -EXECPT_MQD = rule.Rule(-2, "M", False, -1) # Never cut after D, preceded by Q, preceded by M +EXECPT_EVD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by V, preceded by E +EXECPT_MQD = rule.Rule(-2, "M", False, -1) # Never cleaves after D, preceded by Q, preceded by M -EXECPT_DXXD = rule.Rule(-3, "D", True, -1) # Always cut after D, preceded by H (A), preceded by E (V), preceded by D +EXECPT_DXXD = rule.Rule(-3, "D", True, -1) # Always cleaves after D, preceded by H (A), preceded by E (V), preceded by D -EXECPT_P = rule.Rule(1, "P", False, -1) # Never cut after D followed by P -EXECPT_E = rule.Rule(1, "E", False, -1) # Never cut after D followed by E -EXECPT_D = rule.Rule(1, "D", False, -1) # Never cut after D followed by D -EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cut after D followed by Q -EXECPT_K = rule.Rule(1, "K", False, -1) # Never cut after D followed by K -EXECPT_R = rule.Rule(1, "R", False, -1) # Never cut after D followed by R +EXECPT_P = rule.Rule(1, "P", False, -1) # Never cleaves after D followed by P +EXECPT_E = rule.Rule(1, "E", False, -1) # Never cleaves after D followed by E +EXECPT_D = rule.Rule(1, "D", False, -1) # Never cleaves after D followed by D +EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D followed by Q +EXECPT_K = rule.Rule(1, "K", False, -1) # Never cleaves after D followed by K +EXECPT_R = rule.Rule(1, "R", False, -1) # Never cleaves after D followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_DXXD.rules.append(EXECPT_P) @@ -270,29 +270,29 @@ CPT_ENZ += 1 # Caspase 4 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp4 -# RULES: cut after LEVD, or (W/L)EHD,. -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after LEVD, or (W/L)EHD,. +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_VD = rule.Rule(-1, "V", False, -1) # Never cut after D, preceded by V -EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cut after D, preceded by H +EXECPT_VD = rule.Rule(-1, "V", False, -1) # Never cleaves after D, preceded by V +EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cleaves after D, preceded by H -EXECPT_EVD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by V, preceded by E -EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by H, preceded by E +EXECPT_EVD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by V, preceded by E +EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by H, preceded by E -EXECPT_LEVD = rule.Rule(-3, "L", True, -1) # Always cut after D, preceded by V/H, preceded by E, preceded by L -EXECPT_WEHD = rule.Rule(-3, "W", True, -1) # Always cut after D, preceded by H, preceded by E, preceded by W +EXECPT_LEVD = rule.Rule(-3, "L", True, -1) # Always cleaves after D, preceded by V/H, preceded by E, preceded by L +EXECPT_WEHD = rule.Rule(-3, "W", True, -1) # Always cleaves after D, preceded by H, preceded by E, preceded by W -EXECPT_P = rule.Rule(1, "P", False, -1) # Never cut after D followed by P -EXECPT_E = rule.Rule(1, "E", False, -1) # Never cut after D followed by E -EXECPT_D = rule.Rule(1, "D", False, -1) # Never cut after D followed by D -EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cut after D followed by Q -EXECPT_K = rule.Rule(1, "K", False, -1) # Never cut after D followed by K -EXECPT_R = rule.Rule(1, "R", False, -1) # Never cut after D followed by R +EXECPT_P = rule.Rule(1, "P", False, -1) # Never cleaves after D followed by P +EXECPT_E = rule.Rule(1, "E", False, -1) # Never cleaves after D followed by E +EXECPT_D = rule.Rule(1, "D", False, -1) # Never cleaves after D followed by D +EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D followed by Q +EXECPT_K = rule.Rule(1, "K", False, -1) # Never cleaves after D followed by K +EXECPT_R = rule.Rule(1, "R", False, -1) # Never cleaves after D followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_LEVD.rules.append(EXECPT_P) @@ -333,19 +333,19 @@ CPT_ENZ += 1 # Caspase 5 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp5 -# RULES: cut after (W/L)EHD, +# RULES: cleaves after (W/L)EHD, ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cut after D, preceded by H +EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cleaves after D, preceded by H -EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by H, preceded by E +EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by H, preceded by E -EXECPT_LEHD = rule.Rule(-3, "L", True, -1) # Always cut after D, preceded by H, preceded by E, preceded by L -EXECPT_WEHD = rule.Rule(-3, "W", True, -1) # Always cut after D, preceded by H, preceded by E, preceded by W +EXECPT_LEHD = rule.Rule(-3, "L", True, -1) # Always cleaves after D, preceded by H, preceded by E, preceded by L +EXECPT_WEHD = rule.Rule(-3, "W", True, -1) # Always cleaves after D, preceded by H, preceded by E, preceded by W # Add exception to cutting rules: ...preceded by L/W EXECPT_EHD.rules.append(EXECPT_LEHD) @@ -368,29 +368,29 @@ CPT_ENZ += 1 # Caspase 6 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp6 -# RULES: cut after VEID, or VEHD,. -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after VEID, or VEHD,. +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_ID = rule.Rule(-1, "I", False, -1) # Never cut after D, preceded by I -EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cut after D, preceded by H +EXECPT_ID = rule.Rule(-1, "I", False, -1) # Never cleaves after D, preceded by I +EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cleaves after D, preceded by H -EXECPT_EID = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by I, preceded by E -EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by H, preceded by E +EXECPT_EID = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by I, preceded by E +EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by H, preceded by E -EXECPT_VEID = rule.Rule(-3, "V", True, -1) # Always cut after D, preceded by I, preceded by E, preceded by V -EXECPT_VEHD = rule.Rule(-3, "V", True, -1) # Always cut after D, preceded by H, preceded by E, preceded by V +EXECPT_VEID = rule.Rule(-3, "V", True, -1) # Always cleaves after D, preceded by I, preceded by E, preceded by V +EXECPT_VEHD = rule.Rule(-3, "V", True, -1) # Always cleaves after D, preceded by H, preceded by E, preceded by V -EXECPT_P = rule.Rule(1, "P", False, -1) # Never cut after D followed by P -EXECPT_E = rule.Rule(1, "E", False, -1) # Never cut after D followed by E -EXECPT_D = rule.Rule(1, "D", False, -1) # Never cut after D followed by D -EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cut after D followed by Q -EXECPT_K = rule.Rule(1, "K", False, -1) # Never cut after D followed by K -EXECPT_R = rule.Rule(1, "R", False, -1) # Never cut after D followed by R +EXECPT_P = rule.Rule(1, "P", False, -1) # Never cleaves after D followed by P +EXECPT_E = rule.Rule(1, "E", False, -1) # Never cleaves after D followed by E +EXECPT_D = rule.Rule(1, "D", False, -1) # Never cleaves after D followed by D +EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D followed by Q +EXECPT_K = rule.Rule(1, "K", False, -1) # Never cleaves after D followed by K +EXECPT_R = rule.Rule(1, "R", False, -1) # Never cleaves after D followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_VEID.rules.append(EXECPT_P) @@ -430,26 +430,26 @@ CPT_ENZ += 1 # Caspase 7 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp7 -# RULES: cut after DEVD,. -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after DEVD,. +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_VD = rule.Rule(-1, "V", False, -1) # Never cut after D, preceded by V +EXECPT_VD = rule.Rule(-1, "V", False, -1) # Never cleaves after D, preceded by V -EXECPT_EVD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by V, preceded by E +EXECPT_EVD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by V, preceded by E -EXECPT_DEVD = rule.Rule(-3, "D", True, -1) # Always cut after D, preceded by V, preceded by E, preceded by D +EXECPT_DEVD = rule.Rule(-3, "D", True, -1) # Always cleaves after D, preceded by V, preceded by E, preceded by D -EXECPT_P = rule.Rule(1, "P", False, -1) # Never cut after D followed by P -EXECPT_E = rule.Rule(1, "E", False, -1) # Never cut after D followed by E -EXECPT_D = rule.Rule(1, "D", False, -1) # Never cut after D followed by D -EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cut after D followed by Q -EXECPT_K = rule.Rule(1, "K", False, -1) # Never cut after D followed by K -EXECPT_R = rule.Rule(1, "R", False, -1) # Never cut after D followed by R +EXECPT_P = rule.Rule(1, "P", False, -1) # Never cleaves after D followed by P +EXECPT_E = rule.Rule(1, "E", False, -1) # Never cleaves after D followed by E +EXECPT_D = rule.Rule(1, "D", False, -1) # Never cleaves after D followed by D +EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D followed by Q +EXECPT_K = rule.Rule(1, "K", False, -1) # Never cleaves after D followed by K +EXECPT_R = rule.Rule(1, "R", False, -1) # Never cleaves after D followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_DEVD.rules.append(EXECPT_P) @@ -479,27 +479,27 @@ CPT_ENZ += 1 # Caspase 8 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp8 -# RULES: cut after (I/L)ETD, -# Do not cut if followed by P, E, D, Q, K or R +# RULES: cleaves after (I/L)ETD, +# Do not cleaves if followed by P, E, D, Q, K or R ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_TD = rule.Rule(-1, "T", False, -1) # Never cut after D, preceded by T +EXECPT_TD = rule.Rule(-1, "T", False, -1) # Never cleaves after D, preceded by T -EXECPT_ETD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by T, preceded by E +EXECPT_ETD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by T, preceded by E -EXECPT_IETD = rule.Rule(-3, "I", True, -1) # Always cut after D, preceded by T, preceded by E, preceded by I -EXECPT_LETD = rule.Rule(-3, "L", True, -1) # Always cut after D, preceded by T, preceded by E, preceded by L +EXECPT_IETD = rule.Rule(-3, "I", True, -1) # Always cleaves after D, preceded by T, preceded by E, preceded by I +EXECPT_LETD = rule.Rule(-3, "L", True, -1) # Always cleaves after D, preceded by T, preceded by E, preceded by L -EXECPT_P = rule.Rule(1, "P", False, -1) # Never cut after D followed by P -EXECPT_E = rule.Rule(1, "E", False, -1) # Never cut after D followed by E -EXECPT_D = rule.Rule(1, "D", False, -1) # Never cut after D followed by D -EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cut after D followed by Q -EXECPT_K = rule.Rule(1, "K", False, -1) # Never cut after D followed by K -EXECPT_R = rule.Rule(1, "R", False, -1) # Never cut after D followed by R +EXECPT_P = rule.Rule(1, "P", False, -1) # Never cleaves after D followed by P +EXECPT_E = rule.Rule(1, "E", False, -1) # Never cleaves after D followed by E +EXECPT_D = rule.Rule(1, "D", False, -1) # Never cleaves after D followed by D +EXECPT_Q = rule.Rule(1, "Q", False, -1) # Never cleaves after D followed by Q +EXECPT_K = rule.Rule(1, "K", False, -1) # Never cleaves after D followed by K +EXECPT_R = rule.Rule(1, "R", False, -1) # Never cleaves after D followed by R # Add exception to cutting rules: ...followed by PEDQKR EXECPT_IETD.rules.append(EXECPT_P) @@ -537,18 +537,18 @@ CPT_ENZ += 1 # Caspase 9 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp9 -# RULES: cut after LEHD, +# RULES: cleaves after LEHD, ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cut after D, preceded by H +EXECPT_HD = rule.Rule(-1, "H", False, -1) # Never cleaves after D, preceded by H -EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by H, preceded by E +EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by H, preceded by E -EXECPT_LEHD = rule.Rule(-3, "L", True, -1) # Always cut after D, preceded by H, preceded by E, preceded by L +EXECPT_LEHD = rule.Rule(-3, "L", True, -1) # Always cleaves after D, preceded by H, preceded by E, preceded by L # Add exception to cutting rules: ...preceded by L/W EXECPT_EHD.rules.append(EXECPT_LEHD) @@ -570,23 +570,23 @@ CPT_ENZ += 1 # Caspase 10 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Casp10 -# RULES: cut after IEAD, +# RULES: cleaves after IEAD, ENZ = [] # Cutting rule -AFTER_D = rule.Rule(0, "D", False, 1) # Never cut after D, except... +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... # Exceptions -EXECPT_AD = rule.Rule(-1, "A", False, -1) # Never cut after D, preceded by A +EXECPT_AD = rule.Rule(-1, "A", False, -1) # Never cleaves after D, preceded by A -EXECPT_EHD = rule.Rule(-2, "E", False, -1) # Never cut after D, preceded by H, preceded by E +EXECPT_EAD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by A, preceded by E -EXECPT_IEHD = rule.Rule(-3, "I", True, -1) # Always cut after D, preceded by H, preceded by E, preceded by I +EXECPT_IEAD = rule.Rule(-3, "I", True, -1) # Always cleaves after D, preceded by A, preceded by E, preceded by I # Add exception to cutting rules: ...preceded by L/W -EXECPT_EHD.rules.append(EXECPT_IEHD) +EXECPT_EAD.rules.append(EXECPT_IEAD) -EXECPT_AD.rules.append(EXECPT_EHD) +EXECPT_AD.rules.append(EXECPT_EAD) # Add exception to cutting rules AFTER_D.rules.append(EXECPT_AD) @@ -714,44 +714,44 @@ CPT_ENZ += 1 # RULES: after K if preceded by D/E D/E D/E D/E (P5 not in expasy) ENZ = [] # Cutting rule -AFTER_K = rule.Rule(0, "K", False, 1) # Never cut after K, except... +AFTER_K = rule.Rule(0, "K", False, 1) # Never cleaves after K, except... # Exceptions -EXECPT_DK = rule.Rule(-1, "D", False, -1) # Never cut after K, preceded by D -EXECPT_EK = rule.Rule(-1, "E", False, -1) # Never cut after K, preceded by E - -EXECPT_DDK = rule.Rule(-2, "D", False, -1) # Never cut after K, preceded by D, preceded by D -EXECPT_DEK = rule.Rule(-2, "D", False, -1) # Never cut after K, preceded by E, preceded by D -EXECPT_EDK = rule.Rule(-2, "E", False, -1) # Never cut after K, preceded by D, preceded by E -EXECPT_EEK = rule.Rule(-2, "E", False, -1) # Never cut after K, preceded by E, preceded by E - -EXECPT_DDDK = rule.Rule(-3, "D", False, -1) # Never cut after K, preceded by D, preceded by D, preceded by D -EXECPT_DDEK = rule.Rule(-3, "D", False, -1) # Never cut after K, preceded by E, preceded by D, preceded by D -EXECPT_DEDK = rule.Rule(-3, "D", False, -1) # Never cut after K, preceded by D, preceded by E, preceded by D -EXECPT_DEEK = rule.Rule(-3, "D", False, -1) # Never cut after K, preceded by E, preceded by E, preceded by D -EXECPT_EDDK = rule.Rule(-3, "E", False, -1) # Never cut after K, preceded by D, preceded by D, preceded by E -EXECPT_EDEK = rule.Rule(-3, "E", False, -1) # Never cut after K, preceded by E, preceded by D, preceded by E -EXECPT_EEDK = rule.Rule(-3, "E", False, -1) # Never cut after K, preceded by D, preceded by E, preceded by E -EXECPT_EEEK = rule.Rule(-3, "E", False, -1) # Never cut after K, preceded by E, preceded by E, preceded by E +EXECPT_DK = rule.Rule(-1, "D", False, -1) # Never cleaves after K, preceded by D +EXECPT_EK = rule.Rule(-1, "E", False, -1) # Never cleaves after K, preceded by E + +EXECPT_DDK = rule.Rule(-2, "D", False, -1) # Never cleaves after K, preceded by D, preceded by D +EXECPT_DEK = rule.Rule(-2, "D", False, -1) # Never cleaves after K, preceded by E, preceded by D +EXECPT_EDK = rule.Rule(-2, "E", False, -1) # Never cleaves after K, preceded by D, preceded by E +EXECPT_EEK = rule.Rule(-2, "E", False, -1) # Never cleaves after K, preceded by E, preceded by E + +EXECPT_DDDK = rule.Rule(-3, "D", False, -1) # Never cleaves after K, preceded by D, preceded by D, preceded by D +EXECPT_DDEK = rule.Rule(-3, "D", False, -1) # Never cleaves after K, preceded by E, preceded by D, preceded by D +EXECPT_DEDK = rule.Rule(-3, "D", False, -1) # Never cleaves after K, preceded by D, preceded by E, preceded by D +EXECPT_DEEK = rule.Rule(-3, "D", False, -1) # Never cleaves after K, preceded by E, preceded by E, preceded by D +EXECPT_EDDK = rule.Rule(-3, "E", False, -1) # Never cleaves after K, preceded by D, preceded by D, preceded by E +EXECPT_EDEK = rule.Rule(-3, "E", False, -1) # Never cleaves after K, preceded by E, preceded by D, preceded by E +EXECPT_EEDK = rule.Rule(-3, "E", False, -1) # Never cleaves after K, preceded by D, preceded by E, preceded by E +EXECPT_EEEK = rule.Rule(-3, "E", False, -1) # Never cleaves after K, preceded by E, preceded by E, preceded by E # Fifth level -EXECPT_DDDDK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by D, preceded by D, preceded by D, preceded by D -EXECPT_DDDEK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by E, preceded by D, preceded by D, preceded by D -EXECPT_DDEDK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by D, preceded by E, preceded by D, preceded by D -EXECPT_DDEEK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by E, preceded by E, preceded by D, preceded by D -EXECPT_DEDDK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by D, preceded by D, preceded by E, preceded by D -EXECPT_DEDEK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by E, preceded by D, preceded by E, preceded by D -EXECPT_DEEDK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by D, preceded by E, preceded by E, preceded by D -EXECPT_DEEEK = rule.Rule(-4, "D", True, -1) # Always cut after K, preceded by E, preceded by E, preceded by E, preceded by D - -EXECPT_EDDDK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by D, preceded by D, preceded by D, preceded by E -EXECPT_EDDEK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by E, preceded by D, preceded by D, preceded by E -EXECPT_EDEDK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by D, preceded by E, preceded by D, preceded by E -EXECPT_EDEEK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by E, preceded by E, preceded by D, preceded by E -EXECPT_EEDDK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by D, preceded by D, preceded by E, preceded by E -EXECPT_EEDEK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by E, preceded by D, preceded by E, preceded by E -EXECPT_EEEDK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by D, preceded by E, preceded by E, preceded by E -EXECPT_EEEEK = rule.Rule(-4, "E", True, -1) # Always cut after K, preceded by E, preceded by E, preceded by E, preceded by E +EXECPT_DDDDK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by D, preceded by D, preceded by D, preceded by D +EXECPT_DDDEK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by E, preceded by D, preceded by D, preceded by D +EXECPT_DDEDK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by D, preceded by E, preceded by D, preceded by D +EXECPT_DDEEK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by E, preceded by E, preceded by D, preceded by D +EXECPT_DEDDK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by D, preceded by D, preceded by E, preceded by D +EXECPT_DEDEK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by E, preceded by D, preceded by E, preceded by D +EXECPT_DEEDK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by D, preceded by E, preceded by E, preceded by D +EXECPT_DEEEK = rule.Rule(-4, "D", True, -1) # Always cleaves after K, preceded by E, preceded by E, preceded by E, preceded by D + +EXECPT_EDDDK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by D, preceded by D, preceded by D, preceded by E +EXECPT_EDDEK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by E, preceded by D, preceded by D, preceded by E +EXECPT_EDEDK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by D, preceded by E, preceded by D, preceded by E +EXECPT_EDEEK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by E, preceded by E, preceded by D, preceded by E +EXECPT_EEDDK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by D, preceded by D, preceded by E, preceded by E +EXECPT_EEDEK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by E, preceded by D, preceded by E, preceded by E +EXECPT_EEEDK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by D, preceded by E, preceded by E, preceded by E +EXECPT_EEEEK = rule.Rule(-4, "E", True, -1) # Always cleaves after K, preceded by E, preceded by E, preceded by E, preceded by E # Add exception to cutting rules: ...preceded by L/W ICI EXECPT_DDDK.rules.append(EXECPT_DDDDK) EXECPT_DDDK.rules.append(EXECPT_EDDDK) @@ -809,22 +809,22 @@ CPT_ENZ += 1 ENZ = [] # Cutting rules -AFTER_R = rule.Rule(0, "R", False, 1) # Never cut after R, except... +AFTER_R = rule.Rule(0, "R", False, 1) # Never cleaves after R, except... # Exceptions -EXCEPT_GR = rule.Rule(-1, "G", False, -1) # Never cut before R preceded by G +EXCEPT_GR = rule.Rule(-1, "G", False, -1) # Never cleaves before R preceded by G -EXCEPT_DGR = rule.Rule(-2, "D", False, -1) # Never cut before R preceded by G, preceded by D -EXCEPT_EGR = rule.Rule(-2, "E", False, -1) # Never cut before R preceded by G, preceded by E +EXCEPT_DGR = rule.Rule(-2, "D", False, -1) # Never cleaves before R preceded by G, preceded by D +EXCEPT_EGR = rule.Rule(-2, "E", False, -1) # Never cleaves before R preceded by G, preceded by E #A/F/I/L/V/W/G/T in -3 -EXCEPT_AXGR = rule.Rule(-3, "A", True, -1) # Always cut before R preceded by G, preceded by X, preceded by A -EXCEPT_FXGR = rule.Rule(-3, "F", True, -1) # Always cut before R preceded by G, preceded by X, preceded by F -EXCEPT_IXGR = rule.Rule(-3, "I", True, -1) # Always cut before R preceded by G, preceded by X, preceded by I -EXCEPT_LXGR = rule.Rule(-3, "L", True, -1) # Always cut before R preceded by G, preceded by X, preceded by L -EXCEPT_VXGR = rule.Rule(-3, "V", True, -1) # Always cut before R preceded by G, preceded by X, preceded by V -EXCEPT_WXGR = rule.Rule(-3, "W", True, -1) # Always cut before R preceded by G, preceded by X, preceded by W -EXCEPT_GXGR = rule.Rule(-3, "G", True, -1) # Always cut before R preceded by G, preceded by X, preceded by G -EXCEPT_TXGR = rule.Rule(-3, "T", True, -1) # Always cut before R preceded by G, preceded by X, preceded by T +EXCEPT_AXGR = rule.Rule(-3, "A", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by A +EXCEPT_FXGR = rule.Rule(-3, "F", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by F +EXCEPT_IXGR = rule.Rule(-3, "I", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by I +EXCEPT_LXGR = rule.Rule(-3, "L", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by L +EXCEPT_VXGR = rule.Rule(-3, "V", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by V +EXCEPT_WXGR = rule.Rule(-3, "W", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by W +EXCEPT_GXGR = rule.Rule(-3, "G", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by G +EXCEPT_TXGR = rule.Rule(-3, "T", True, -1) # Always cleaves before R preceded by G, preceded by X, preceded by T # Add exception to cutting rules EXCEPT_DGR.rules.append(EXCEPT_AXGR) @@ -858,6 +858,18 @@ CPT_ENZ += 1 +# Formic acid +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#HCOOH +# RULES: after D +ENZ = [] +ENZ.append(rule.Rule(0, "D", True, 1)) +ENZYME = enzyme.Enzyme(CPT_ENZ, "Formic-acid", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + + # Glu-C Sequencing Grade # https://france.promega.com/resources/pubhub/using-endoproteinases-asp-n-and-glu-c-to-improve-protein-characterization/ # RULES: after D or E @@ -871,6 +883,86 @@ CPT_ENZ += 1 +# Glutamyl endopeptidase +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Glu +# RULES: cleave after E +ENZ = [] +ENZ.append(rule.Rule(0, "E", True, 1)) +ENZYME = enzyme.Enzyme(CPT_ENZ, "Glutamyl-endopeptidase", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + + +# Granzyme B +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#GranB +# RULES: cleaves after IEPD, +ENZ = [] + +# Cutting rule +AFTER_D = rule.Rule(0, "D", False, 1) # Never cleaves after D, except... + +# Exceptions +EXECPT_PD = rule.Rule(-1, "P", False, -1) # Never cleaves after D, preceded by P + +EXECPT_EPD = rule.Rule(-2, "E", False, -1) # Never cleaves after D, preceded by P, preceded by E + +EXECPT_IEPD = rule.Rule(-3, "I", True, -1) # Always cleaves after D, preceded by P, preceded by E, preceded by I + +# Add exception to cutting rules: ...preceded by L/W +EXECPT_EPD.rules.append(EXECPT_IEPD) + +EXECPT_PD.rules.append(EXECPT_EPD) + +# Add exception to cutting rules +AFTER_D.rules.append(EXECPT_PD) + +# Add rules to enzyme +ENZ.append(AFTER_D) +ENZYME = enzyme.Enzyme(CPT_ENZ, "Granzyme-B", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + + +# Hydroxylamine (NH2OH) +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Hydro +# RULES: cleaves after N (P1) followed by G (P1') +ENZ = [] + +# Cutting rule +AFTER_N = rule.Rule(0, "N", False, 1) # Never cleaves after N, except... + +# Exceptions +EXECPT_NG = rule.Rule(1, "G", True, -1) # Always cleaves after N, followed by G + +# Add exception to cutting rules +AFTER_N.rules.append(EXECPT_NG) + +# Add rules to enzyme +ENZ.append(AFTER_N) +ENZYME = enzyme.Enzyme(CPT_ENZ, "Hydroxylamine", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + + +# Iodosobenzoic acid +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Iodo +# RULES: cleaves after W (P1) +ENZ = [] +# Add rules to enzyme +ENZ.append(rule.Rule(0, "W", True, 1)) +ENZYME = enzyme.Enzyme(CPT_ENZ, "Iodosobenzoic-acid", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + + # LysC # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#LysC # Cleaves at Lys in position P1 @@ -897,6 +989,19 @@ CPT_ENZ += 1 +# Neutrophil elastase +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Elast +# RULES: after A or V (P1) +ENZ = [] +ENZ.append(rule.Rule(0, "A", True, 1)) +ENZ.append(rule.Rule(0, "V", True, 1)) +ENZYME = enzyme.Enzyme(CPT_ENZ, "Neutrophil-elastase", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + + # NTCB +Ni (2-nitro-5-thiocyanobenzoic acid) # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#NTCB # Cleaves at Cys in position P1' @@ -917,25 +1022,25 @@ CPT_ENZ += 1 ENZ = [] # Cutting rules -BEFORE_F = rule.Rule(0, "F", True, 0) # Always cut before F, except... -BEFORE_L = rule.Rule(0, "L", True, 0) # Always cut before L, except... +BEFORE_F = rule.Rule(0, "F", True, 0) # Always cleaves before F, except... +BEFORE_L = rule.Rule(0, "L", True, 0) # Always cleaves before L, except... -AFTER_F = rule.Rule(0, "F", True, 1) # Always cut after F, except... -AFTER_L = rule.Rule(0, "L", True, 1) # Always cut after L, except... +AFTER_F = rule.Rule(0, "F", True, 1) # Always cleaves after F, except... +AFTER_L = rule.Rule(0, "L", True, 1) # Always cleaves after L, except... # Exceptions -EXCEPT_FLP = rule.Rule(1, "P", False, -1) # Never cut before F or L followed by P -EXECPT_RFL = rule.Rule(-1, "R", False, -1) # Never cut before F or L, preceded by R -EXECPT_P_FL = rule.Rule(-2, "P", False, -1) # Never cut before F or L, preceded by P -EXECPT_H__FL = rule.Rule(-3, "H", False, -1) # Never cut before F or L, preceded by H -EXECPT_K__FL = rule.Rule(-3, "K", False, -1) # Never cut before F or L, preceded by K -EXECPT_R__FL = rule.Rule(-3, "R", False, -1) # Never cut before F or L, preceded by R - -EXCEPT_FL_P = rule.Rule(2, "P", False, -1) # Never cut after F or L followed by P -EXECPT_PFL = rule.Rule(-1, "P", False, -1) # Never cut after F or L, preceded by P -EXECPT_H_FL = rule.Rule(-2, "H", False, -1) # Never cut after F or L, preceded by H -EXECPT_K_FL = rule.Rule(-2, "K", False, -1) # Never cut after F or L, preceded by K -EXECPT_R_FL = rule.Rule(-2, "R", False, -1) # Never cut after F or L, preceded by R +EXCEPT_FLP = rule.Rule(1, "P", False, -1) # Never cleaves before F or L followed by P +EXECPT_RFL = rule.Rule(-1, "R", False, -1) # Never cleaves before F or L, preceded by R +EXECPT_P_FL = rule.Rule(-2, "P", False, -1) # Never cleaves before F or L, preceded by P +EXECPT_H__FL = rule.Rule(-3, "H", False, -1) # Never cleaves before F or L, preceded by H +EXECPT_K__FL = rule.Rule(-3, "K", False, -1) # Never cleaves before F or L, preceded by K +EXECPT_R__FL = rule.Rule(-3, "R", False, -1) # Never cleaves before F or L, preceded by R + +EXCEPT_FL_P = rule.Rule(2, "P", False, -1) # Never cleaves after F or L followed by P +EXECPT_PFL = rule.Rule(-1, "P", False, -1) # Never cleaves after F or L, preceded by P +EXECPT_H_FL = rule.Rule(-2, "H", False, -1) # Never cleaves after F or L, preceded by H +EXECPT_K_FL = rule.Rule(-2, "K", False, -1) # Never cleaves after F or L, preceded by K +EXECPT_R_FL = rule.Rule(-2, "R", False, -1) # Never cleaves after F or L, preceded by R # Add exception to cutting rules BEFORE_F.rules.append(EXCEPT_FLP) @@ -984,29 +1089,29 @@ CPT_ENZ += 1 ENZ = [] # Cutting rules -BEFORE_F = rule.Rule(0, "F", True, 0) # Always cut before F, except... -BEFORE_L = rule.Rule(0, "L", True, 0) # Always cut before L, except... -BEFORE_W = rule.Rule(0, "W", True, 0) # Always cut before W, except... -BEFORE_Y = rule.Rule(0, "Y", True, 0) # Always cut before Y, except... +BEFORE_F = rule.Rule(0, "F", True, 0) # Always cleaves before F, except... +BEFORE_L = rule.Rule(0, "L", True, 0) # Always cleaves before L, except... +BEFORE_W = rule.Rule(0, "W", True, 0) # Always cleaves before W, except... +BEFORE_Y = rule.Rule(0, "Y", True, 0) # Always cleaves before Y, except... -AFTER_F = rule.Rule(0, "F", True, 1) # Always cut after F, except... -AFTER_L = rule.Rule(0, "L", True, 1) # Always cut after L, except... -AFTER_W = rule.Rule(0, "W", True, 1) # Always cut after W, except... -AFTER_Y = rule.Rule(0, "Y", True, 1) # Always cut after Y, except... +AFTER_F = rule.Rule(0, "F", True, 1) # Always cleaves after F, except... +AFTER_L = rule.Rule(0, "L", True, 1) # Always cleaves after L, except... +AFTER_W = rule.Rule(0, "W", True, 1) # Always cleaves after W, except... +AFTER_Y = rule.Rule(0, "Y", True, 1) # Always cleaves after Y, except... # Exceptions -EXCEPT_FLWYP = rule.Rule(1, "P", False, -1) # Never cut before F, L, W or Y followed by P -EXECPT_RFLWY = rule.Rule(-1, "R", False, -1) # Never cut before F, L, W or Y, preceded by R -EXECPT_P_FLWY = rule.Rule(-2, "P", False, -1) # Never cut before F, L, W or Y, preceded by P -EXECPT_H__FLWY = rule.Rule(-3, "H", False, -1) # Never cut before F, L, W or Y, preceded by H -EXECPT_K__FLWY = rule.Rule(-3, "K", False, -1) # Never cut before F, L, W or Y, preceded by K -EXECPT_R__FLWY = rule.Rule(-3, "R", False, -1) # Never cut before F, L, W or Y, preceded by R - -EXCEPT_FLWY_P = rule.Rule(2, "P", False, -1) # Never cut after F, L, W or Y followed by P -EXECPT_PFLWY = rule.Rule(-1, "P", False, -1) # Never cut after F, L, W or Y, preceded by P -EXECPT_H_FLWY = rule.Rule(-2, "H", False, -1) # Never cut after F, L, W or Y, preceded by H -EXECPT_K_FLWY = rule.Rule(-2, "K", False, -1) # Never cut after F, L, W or Y, preceded by K -EXECPT_R_FLWY = rule.Rule(-2, "R", False, -1) # Never cut after F, L, W or Y, preceded by R +EXCEPT_FLWYP = rule.Rule(1, "P", False, -1) # Never cleaves before F, L, W or Y followed by P +EXECPT_RFLWY = rule.Rule(-1, "R", False, -1) # Never cleaves before F, L, W or Y, preceded by R +EXECPT_P_FLWY = rule.Rule(-2, "P", False, -1) # Never cleaves before F, L, W or Y, preceded by P +EXECPT_H__FLWY = rule.Rule(-3, "H", False, -1) # Never cleaves before F, L, W or Y, preceded by H +EXECPT_K__FLWY = rule.Rule(-3, "K", False, -1) # Never cleaves before F, L, W or Y, preceded by K +EXECPT_R__FLWY = rule.Rule(-3, "R", False, -1) # Never cleaves before F, L, W or Y, preceded by R + +EXCEPT_FLWY_P = rule.Rule(2, "P", False, -1) # Never cleaves after F, L, W or Y followed by P +EXECPT_PFLWY = rule.Rule(-1, "P", False, -1) # Never cleaves after F, L, W or Y, preceded by P +EXECPT_H_FLWY = rule.Rule(-2, "H", False, -1) # Never cleaves after F, L, W or Y, preceded by H +EXECPT_K_FLWY = rule.Rule(-2, "K", False, -1) # Never cleaves after F, L, W or Y, preceded by K +EXECPT_R_FLWY = rule.Rule(-2, "R", False, -1) # Never cleaves after F, L, W or Y, preceded by R # Add exception to cutting rules BEFORE_F.rules.append(EXCEPT_FLWYP) @@ -1078,6 +1183,76 @@ CPT_ENZ += 1 +# Proline-endopeptidase +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Pro +# RULES: after P (P1) if preceded by H,K or R in P2 and not followed by another P in P1' +ENZ = [] + +# Cutting rules +AFTER_P = rule.Rule(0, "P", False, 1) # Never cleaves after P, except... + +# Exceptions +EXCEPT_HP = rule.Rule(-1, "H", True, -1) # Always cleaves after P preceded by H +EXCEPT_KP = rule.Rule(-1, "K", True, -1) # Always cleaves after P preceded by K +EXCEPT_RP = rule.Rule(-1, "R", True, -1) # Always cleaves after P preceded by R + +EXCEPT_PP = rule.Rule(1, "P", False, -1) # Never cleaves after P followed by P + +# Add exception to cutting rules +EXCEPT_HP.rules.append(EXCEPT_PP) +EXCEPT_KP.rules.append(EXCEPT_PP) +EXCEPT_RP.rules.append(EXCEPT_PP) + +AFTER_P.rules.append(EXCEPT_HP) +AFTER_P.rules.append(EXCEPT_KP) +AFTER_P.rules.append(EXCEPT_RP) + +# Add rules to enzyme +ENZ.append(AFTER_P) + +ENZYME = enzyme.Enzyme(CPT_ENZ, "Proline-endopeptidase", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 + + +''' +# Proteinase K ICI +# https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#ProtK +# Proteinase K cleaves peptide bonds adjacent to the carboxylic group of aliphatic and aromatic amino acids +# RULES: after F W Y H G A V L I (wiki) F W Y T E A V L I (peptidcutter) +ENZ = [] + +# Cutting rules +AFTER_P = rule.Rule(0, "P", False, 1) # Never cleaves after P, except... + +# Exceptions +EXCEPT_HP = rule.Rule(-1, "H", True, -1) # Always cleaves after P preceded by H +EXCEPT_KP = rule.Rule(-1, "K", True, -1) # Always cleaves after P preceded by K +EXCEPT_RP = rule.Rule(-1, "R", True, -1) # Always cleaves after P preceded by R + +EXCEPT_PP = rule.Rule(1, "P", False, -1) # Never cleaves after P followed by P + +# Add exception to cutting rules +EXCEPT_HP.rules.append(EXCEPT_PP) +EXCEPT_KP.rules.append(EXCEPT_PP) +EXCEPT_RP.rules.append(EXCEPT_PP) + +AFTER_P.rules.append(EXCEPT_HP) +AFTER_P.rules.append(EXCEPT_KP) +AFTER_P.rules.append(EXCEPT_RP) + +# Add rules to enzyme +ENZ.append(AFTER_P) + +ENZYME = enzyme.Enzyme(CPT_ENZ, "Proline-endopeptidase", ENZ, 0) +# Add it to available enzymes +AVAILABLE_ENZYMES.append(ENZYME) +CPT_ENZ += 1 +print(ENZYME) +''' + + # Thrombin as defined in PeptideCutter # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Throm # Good to look: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3288055/ @@ -1087,40 +1262,40 @@ ENZ = [] # SIMPLE CASE # Cutting rules -AFTER_R = rule.Rule(0, "R", False, 1) # Never cut after R, except... +AFTER_R = rule.Rule(0, "R", False, 1) # Never cleaves after R, except... # Exceptions -EXCEPT_GR = rule.Rule(-1, "G", False, -1) # Never cut before R preceded by G -EXCEPT_GRG = rule.Rule(1, "G", True, -1) # Always cut before R preceded by G and followed by G +EXCEPT_GR = rule.Rule(-1, "G", False, -1) # Never cleaves before R preceded by G +EXCEPT_GRG = rule.Rule(1, "G", True, -1) # Always cleaves before R preceded by G and followed by G # Add exception to cutting rules EXCEPT_GR.rules.append(EXCEPT_GRG) AFTER_R.rules.append(EXCEPT_GR) # MUCH COMPLEXE CASE -EXCEPT_PR = rule.Rule(-1, "P", False, -1) # Never cut before R preceded by P +EXCEPT_PR = rule.Rule(-1, "P", False, -1) # Never cleaves before R preceded by P #A/F/I/L/V/W/G/T in -2 -EXCEPT_APR = rule.Rule(-2, "A", False, -1) # Never cut before R preceded by P, preceded by A -EXCEPT_FPR = rule.Rule(-2, "F", False, -1) # Never cut before R preceded by P, preceded by F -EXCEPT_IPR = rule.Rule(-2, "I", False, -1) # Never cut before R preceded by P, preceded by I -EXCEPT_LPR = rule.Rule(-2, "L", False, -1) # Never cut before R preceded by P, preceded by L -EXCEPT_VPR = rule.Rule(-2, "V", False, -1) # Never cut before R preceded by P, preceded by V -EXCEPT_WPR = rule.Rule(-2, "W", False, -1) # Never cut before R preceded by P, preceded by W -EXCEPT_GPR = rule.Rule(-2, "G", False, -1) # Never cut before R preceded by P, preceded by G -EXCEPT_TPR = rule.Rule(-2, "T", False, -1) # Never cut before R preceded by P, preceded by T +EXCEPT_APR = rule.Rule(-2, "A", False, -1) # Never cleaves before R preceded by P, preceded by A +EXCEPT_FPR = rule.Rule(-2, "F", False, -1) # Never cleaves before R preceded by P, preceded by F +EXCEPT_IPR = rule.Rule(-2, "I", False, -1) # Never cleaves before R preceded by P, preceded by I +EXCEPT_LPR = rule.Rule(-2, "L", False, -1) # Never cleaves before R preceded by P, preceded by L +EXCEPT_VPR = rule.Rule(-2, "V", False, -1) # Never cleaves before R preceded by P, preceded by V +EXCEPT_WPR = rule.Rule(-2, "W", False, -1) # Never cleaves before R preceded by P, preceded by W +EXCEPT_GPR = rule.Rule(-2, "G", False, -1) # Never cleaves before R preceded by P, preceded by G +EXCEPT_TPR = rule.Rule(-2, "T", False, -1) # Never cleaves before R preceded by P, preceded by T #A/F/I/L/V/W/G/T in -3 -EXCEPT_AXPR = rule.Rule(-3, "A", True, -1) # Always cut before R preceded by P, preceded by X, preceded by A -EXCEPT_FXPR = rule.Rule(-3, "F", True, -1) # Always cut before R preceded by P, preceded by X, preceded by F -EXCEPT_IXPR = rule.Rule(-3, "I", True, -1) # Always cut before R preceded by P, preceded by X, preceded by I -EXCEPT_LXPR = rule.Rule(-3, "L", True, -1) # Always cut before R preceded by P, preceded by X, preceded by L -EXCEPT_VXPR = rule.Rule(-3, "V", True, -1) # Always cut before R preceded by P, preceded by X, preceded by V -EXCEPT_WXPR = rule.Rule(-3, "W", True, -1) # Always cut before R preceded by P, preceded by X, preceded by W -EXCEPT_GXPR = rule.Rule(-3, "G", True, -1) # Always cut before R preceded by P, preceded by X, preceded by G -EXCEPT_TXPR = rule.Rule(-3, "T", True, -1) # Always cut before R preceded by P, preceded by X, preceded by T +EXCEPT_AXPR = rule.Rule(-3, "A", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by A +EXCEPT_FXPR = rule.Rule(-3, "F", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by F +EXCEPT_IXPR = rule.Rule(-3, "I", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by I +EXCEPT_LXPR = rule.Rule(-3, "L", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by L +EXCEPT_VXPR = rule.Rule(-3, "V", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by V +EXCEPT_WXPR = rule.Rule(-3, "W", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by W +EXCEPT_GXPR = rule.Rule(-3, "G", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by G +EXCEPT_TXPR = rule.Rule(-3, "T", True, -1) # Always cleaves before R preceded by P, preceded by X, preceded by T # non acidic in P1 -EXCEPT_nD = rule.Rule(1, "D", False, -1) # Never cut before R preceded by P, preceded by X, preceded by X, followed by D -EXCEPT_nE = rule.Rule(1, "E", False, -1) # Never cut before R preceded by P, preceded by X, preceded by X, followed by E +EXCEPT_nD = rule.Rule(1, "D", False, -1) # Never cleaves before R preceded by P, preceded by X, preceded by X, followed by D +EXCEPT_nE = rule.Rule(1, "E", False, -1) # Never cleaves before R preceded by P, preceded by X, preceded by X, followed by E # non acidic in P2 -EXCEPT_nXD = rule.Rule(2, "D", False, -1) # Never cut before R preceded by P, preceded by X, preceded by X, followed by X, followed by D -EXCEPT_nXE = rule.Rule(2, "E", False, -1) # Never cut before R preceded by P, preceded by X, preceded by X, followed by X, followed by E +EXCEPT_nXD = rule.Rule(2, "D", False, -1) # Never cleaves before R preceded by P, preceded by X, preceded by X, followed by X, followed by D +EXCEPT_nXE = rule.Rule(2, "E", False, -1) # Never cleaves before R preceded by P, preceded by X, preceded by X, followed by X, followed by E # Adding rules and exceptions EXCEPT_AXPR.rules.append(EXCEPT_nD) @@ -1257,13 +1432,13 @@ CPT_ENZ += 1 ENZ = [] # Cutting rules -AFTER_R = rule.Rule(0, "R", False, 1) # Never cut after R, except... +AFTER_R = rule.Rule(0, "R", False, 1) # Never cleaves after R, except... # Exceptions -EXCEPT_PR = rule.Rule(-1, "P", False, -1) # Never cut before R preceded by P -EXCEPT_VPR = rule.Rule(-2, "V", False, -1) # Never cut before R preceded by P, preceded by V -EXCEPT_LVPR = rule.Rule(-3, "L", False, -1) # Never cut before R preceded by P, preceded by V, preceded by L -EXCEPT_LVPRG = rule.Rule(1, "G", False, -1) # Never cut before R preceded by P, preceded by V, preceded by L, followed by G -EXCEPT_LVPRGS = rule.Rule(2, "S", True, -1) # Always cut before R preceded by P, preceded by V, preceded by L, followed by G followed by S +EXCEPT_PR = rule.Rule(-1, "P", False, -1) # Never cleaves before R preceded by P +EXCEPT_VPR = rule.Rule(-2, "V", False, -1) # Never cleaves before R preceded by P, preceded by V +EXCEPT_LVPR = rule.Rule(-3, "L", False, -1) # Never cleaves before R preceded by P, preceded by V, preceded by L +EXCEPT_LVPRG = rule.Rule(1, "G", False, -1) # Never cleaves before R preceded by P, preceded by V, preceded by L, followed by G +EXCEPT_LVPRGS = rule.Rule(2, "S", True, -1) # Always cleaves before R preceded by P, preceded by V, preceded by L, followed by G followed by S # Add exception to cutting rules EXCEPT_LVPRG.rules.append(EXCEPT_LVPRGS) @@ -1284,36 +1459,36 @@ CPT_ENZ += 1 # https://web.expasy.org/peptide_cutter/peptidecutter_enzymes.html#Tryps # RULES: after K except if next aa is P. This rule doesn't apply if W is before K # RULES: after R except if next aa is P. This rule doesn't apply if M is before R -# RULES: don't cut CKD, DKD, CKH, CKY, CRK, RRH nor RRR -# Other way to see it: cut after K|R except if P after, but cut WKP and MRP. Don't cut CKD, DKD, CKH, CKY, CRK, RRH nor RRR +# RULES: don't cleaves CKD, DKD, CKH, CKY, CRK, RRH nor RRR +# Other way to see it: cleaves after K|R except if P after, but cleaves WKP and MRP. Don't cleaves CKD, DKD, CKH, CKY, CRK, RRH nor RRR ENZ = [] # Cutting rules -AFTER_K = rule.Rule(0, "K", True, 1) # Always cut after K, except... -AFTER_R = rule.Rule(0, "R", True, 1) # Always cut after R, except... +AFTER_K = rule.Rule(0, "K", True, 1) # Always cleaves after K, except... +AFTER_R = rule.Rule(0, "R", True, 1) # Always cleaves after R, except... # Exceptions -EXCEPT_KP = rule.Rule(1, "P", False, -1) # Never cut after K followed by P, except... -EXCEPT_KD = rule.Rule(1, "D", True, -1) # Always cut after K followed by D, except... -EXCEPT_KH = rule.Rule(1, "H", True, -1) # Always cut after K followed by H, except... -EXCEPT_KY = rule.Rule(1, "Y", True, -1) # Always cut after K followed by Y, except... +EXCEPT_KP = rule.Rule(1, "P", False, -1) # Never cleaves after K followed by P, except... +EXCEPT_KD = rule.Rule(1, "D", True, -1) # Always cleaves after K followed by D, except... +EXCEPT_KH = rule.Rule(1, "H", True, -1) # Always cleaves after K followed by H, except... +EXCEPT_KY = rule.Rule(1, "Y", True, -1) # Always cleaves after K followed by Y, except... -EXCEPT_RP = rule.Rule(1, "P", False, -1) # Never cut after R followed by P, except... -EXCEPT_RK = rule.Rule(1, "K", True, -1) # Always cut after R followed by K, except... -EXCEPT_RH = rule.Rule(1, "H", True, -1) # Always cut after R followed by H, except... -EXCEPT_RR = rule.Rule(1, "R", True, -1) # Always cut after R followed by R, except... +EXCEPT_RP = rule.Rule(1, "P", False, -1) # Never cleaves after R followed by P, except... +EXCEPT_RK = rule.Rule(1, "K", True, -1) # Always cleaves after R followed by K, except... +EXCEPT_RH = rule.Rule(1, "H", True, -1) # Always cleaves after R followed by H, except... +EXCEPT_RR = rule.Rule(1, "R", True, -1) # Always cleaves after R followed by R, except... # Counter-exceptions -UNEXCEPT_WKP = rule.Rule(-1, "W", True, -1) # Always cut after K followed by P and preceded by W -UNEXCEPT_CKD = rule.Rule(-1, "C", False, -1) # Never cut after K followed by D and preceded by C -UNEXCEPT_DKD = rule.Rule(-1, "D", False, -1) # Never cut after K followed by D and preceded by D -UNEXCEPT_CKH = rule.Rule(-1, "C", False, -1) # Never cut after K followed by H and preceded by C -UNEXCEPT_CKY = rule.Rule(-1, "C", False, -1) # Never cut after K followed by Y and preceded by C - -UNEXCEPT_MRP = rule.Rule(-1, "M", True, -1) # Always cut after R followed by P and preceded by M -UNEXCEPT_CRK = rule.Rule(-1, "C", False, -1) # Never cut after R followed by K and preceded by C -UNEXCEPT_RRH = rule.Rule(-1, "R", False, -1) # Never cut after R followed by H and preceded by R -UNEXCEPT_RRR = rule.Rule(-1, "R", False, -1) # Never cut after R followed by R and preceded by R +UNEXCEPT_WKP = rule.Rule(-1, "W", True, -1) # Always cleaves after K followed by P and preceded by W +UNEXCEPT_CKD = rule.Rule(-1, "C", False, -1) # Never cleaves after K followed by D and preceded by C +UNEXCEPT_DKD = rule.Rule(-1, "D", False, -1) # Never cleaves after K followed by D and preceded by D +UNEXCEPT_CKH = rule.Rule(-1, "C", False, -1) # Never cleaves after K followed by H and preceded by C +UNEXCEPT_CKY = rule.Rule(-1, "C", False, -1) # Never cleaves after K followed by Y and preceded by C + +UNEXCEPT_MRP = rule.Rule(-1, "M", True, -1) # Always cleaves after R followed by P and preceded by M +UNEXCEPT_CRK = rule.Rule(-1, "C", False, -1) # Never cleaves after R followed by K and preceded by C +UNEXCEPT_RRH = rule.Rule(-1, "R", False, -1) # Never cleaves after R followed by H and preceded by R +UNEXCEPT_RRR = rule.Rule(-1, "R", False, -1) # Never cleaves after R followed by R and preceded by R # Add counter-exceptions to exceptions EXCEPT_KP.rules.append(UNEXCEPT_WKP) diff --git a/tests/test_RapidPeptidesGenerator.py b/tests/test_RapidPeptidesGenerator.py index fe3696d951903177b2bbe22a296aa41c089401bf..1cbfd0d8ea50e2b843f571004560ea560e165775 100644 --- a/tests/test_RapidPeptidesGenerator.py +++ b/tests/test_RapidPeptidesGenerator.py @@ -48,35 +48,28 @@ def test_list_enzyme(capsys): """ RapidPeptidesGenerator.list_enzyme() out, _ = capsys.readouterr() - assert out == "0: Arg-C\n1: Asp-N\n2: BNPS-Skatole\n3: Caspase-1\n4: Casp"\ - "ase-2\n5: Caspase-3\n6: Caspase-4\n7: Caspase-5\n8: Caspas"\ - "e-6\n9: Caspase-7\n10: Caspase-8\n11: Caspase-9\n12: Caspa"\ - "se-10\n13: Chymotrypsin-high\n14: Chymotrypsin-low\n15: Cl"\ - "ostripain\n16: CNBr\n17: Enterokinase\n18: Factor-Xa\n19: "\ - "Glu-C\n20: Lys-C\n21: Lys-N\n22: NTCB\n23: Pepsin-pH1.3\n2"\ - "4: Pepsin-pH>=2\n25: Thrombin\n26: Thrombin-Sequencing-Gra"\ - "de\n27: Trypsin\n" + assert out == "0: Arg-C\n1: Asp-N\n2: BNPS-Skatole\n3: Caspase-1\n4: Caspase-2\n5: Caspase-3\n6: Caspase-4\n7: Caspase-5\n8: Caspase-6\n9: Caspase-7\n10: Caspase-8\n11: Caspase-9\n12: Caspase-10\n13: Chymotrypsin-high\n14: Chymotrypsin-low\n15: Clostripain\n16: CNBr\n17: Enterokinase\n18: Factor-Xa\n19: Formic-acid\n20: Glu-C\n21: Glutamyl-endopeptidase\n22: Granzyme-B\n23: Hydroxylamine\n24: Iodosobenzoic-acid\n25: Lys-C\n26: Lys-N\n27: Neutrophil-elastase\n28: NTCB\n29: Pepsin-pH1.3\n30: Pepsin-pH>=2\n31: Proline-endopeptidase\n32: Thrombin\n33: Thrombin-Sequencing-Grade\n34: Trypsin\n" def test_create_enzymes_to_use(capsys): """Test function 'create_enzymes_to_use(enzymes, miscleavage)'""" - enzymes = [19, 22, 21] + enzymes = [20, 28, 26] miscleavage = [1.1, 20] res = RapidPeptidesGenerator.create_enzymes_to_use(enzymes, miscleavage) - assert res.__repr__() == "[Id: 19\nName: Glu-C\nRatio Miss Cleaveage: 1.1"\ + assert res.__repr__() == "[Id: 20\nName: Glu-C\nRatio Miss Cleaveage: 1.1"\ "0%\nRules: [index=0\nletter=D\ncut=True\npos=1\n,"\ - " index=0\nletter=E\ncut=True\npos=1\n]\n, Id: 22"\ + " index=0\nletter=E\ncut=True\npos=1\n]\n, Id: 28"\ "\nName: NTCB\nRatio Miss Cleaveage: 20.00%\nRules"\ ": [index=0\nletter=C\ncut=True\npos=0\n]\n, Id: "\ - "21\nName: Lys-N\nRatio Miss Cleaveage: 0.00%\nRul"\ + "26\nName: Lys-N\nRatio Miss Cleaveage: 0.00%\nRul"\ "es: [index=0\nletter=K\ncut=True\npos=0\n]\n]" - enzymes = [19, 22] + enzymes = [20, 28] miscleavage = [1.1, 20, 40] res = RapidPeptidesGenerator.create_enzymes_to_use(enzymes, miscleavage) _, err = capsys.readouterr() assert err == "Warning: Too much miscleavage values. Last values will "\ "be ignored.\n" - assert res.__repr__() == "[Id: 19\nName: Glu-C\nRatio Miss Cleaveage: 1.1"\ + assert res.__repr__() == "[Id: 20\nName: Glu-C\nRatio Miss Cleaveage: 1.1"\ "0%\nRules: [index=0\nletter=D\ncut=True\npos=1\n,"\ - " index=0\nletter=E\ncut=True\npos=1\n]\n, Id: 22"\ + " index=0\nletter=E\ncut=True\npos=1\n]\n, Id: 28"\ "\nName: NTCB\nRatio Miss Cleaveage: 20.00%\nRules"\ ": [index=0\nletter=C\ncut=True\npos=0\n]\n]"