# Štěpení

## Proteázy

Proteázy jsou zadefinované v souboru `proteases.prs` (editace z programu přes menu `Databases → Proteases`, resp. `Ctrl+P`).

Jména nesmí obsahovat řídící znaky (včetně mezery).

Pro definici proteáz je použita podmnožina regulárních výrazů (Documentation, Lessons). Místo štěpení je reprezentováno znakem '`;`', který se musí ve výrazu vyskytnout právě jednou. Výrazy charakterizující levý a pravý okraj štěpení lze rozdělit do několika tříd. (Obecnější třída znamená rychlejší hledání míst štěpení, zatímco složitější třída znamená méně testovaných peptidů, ale mohou se vyskytnout duplicity.) Implementované třídy:

- Prázdné: nespecifické štěpení. Do třídy prázdné patří i '`.`', neboť tomu odpovídá cokoliv.
- Jeden znak: např. '`A`', '`[KR]`', '`[^PQ]`' nebo '`(A|C|D)`'.
- Konstantní délka: např. '`E..Y.Q`', '`[KR]{4}`' nebo '`(ACD|EFG|B{3})`'. Pozn: '`...`' není totéž jako '`.`', neboť první zápis vyžaduje, aby odpovídající řetězec obsahoval alespoň tři elementy. (Tahle třída asi nebyla moc testovaná, tak si s ní trochu pohraj).

V případě, že některé straně vyhovuje libovolný znak, je možné příslušnou stranu zcela vynechat (např. `;` pro nespecifické štěpení).

Proteáza může vzniklý konec modifikovat, příp. tento konec uzamknout, pak na tento konec nemůže být navěšena modifikace. (TODO: Tohle asi mělo být, že nemůže být zmodifikována sousední aminokyselina? Prázdné pole není totéž jako nulová modifikace.)

## Nastavení

Je-li zatrženo neštěpit na modifikacích, pak neproběhne štěpení na pozici, pokud:

- sousední aminokyselina je modifikována nebo je na ní můstek; a zároveň
- tato pozice je v proteáze zadefinována konkrétní aminokyselinou, nebo pozitivním výčtem aminokyselin (např. '`A`' nebo '`[AC-F]`'); modifikace není zohledněna na pozici nespecifikované nebo specifikované negativním výčtem (např. '`.`' nebo '`[^AC-F]`').

Počet missed-cleavages je omezení na vzniklé peptidy - maximální počet, kolik možných štěpení nesmělo nastat, aby tento peptid mohl vzniknout. Při počítání `m-c` není zohledňována volba neštěpit na modifikacích. Limit na počet `m-c` dle původně zadefinovaného štěpení se uplatňuje i při hledání alternativ, nejde tedy o zcela nespecifické štěpení.

Proteázy lze strukturovat do jednotlivých úrovní, kdy štěpení proteázami i-té úrovně začíná po skončení štěpení v předchozí úrovni. To může mít vliv na počet m-c. Také lze mezi úrovněmi navěsit na peptidy modifikace.