Gibt es einen regulären Ausdruck für die (theoretische) tryptische Trennung von Protein Sequenzen? Die Spaltungsregel für Trypsin ist: nach R oder K, aber nicht vor P.
Beispiel:
Die Spaltung der Sequenz VGTKCCTKPESERMPCTEDYLSLILNR
sollte zu diesen 3 Sequenzen ( Peptid ) führen:
Beachten Sie, dass es keine Spaltung nach K im zweiten Peptid gibt (weil P nach K kommt).
In Perl (es hätte genauso gut in C #, Python oder Ruby sein können):
%Vor%Ich habe diesen Workaround benutzt (wo ein Schnittmarker, =, zuerst in die Sequenz eingefügt und wieder entfernt wird, wenn P unmittelbar nach dem Schnittmacher ist):
%Vor%Aber das erfordert eine Änderung an einer Zeichenfolge, die möglicherweise sehr lang sein kann, und es kann Millionen von Folgen geben. Gibt es einen Weg, wo ein regulärer Ausdruck mit Split verwendet werden kann? Wenn ja, was wäre der reguläre Ausdruck?
Testplattform: Windows XP 64 bit. ActivePerl 64 Bit. Von Perl -v: v5.10.0 für MSWin32-x64-Multithread erstellt.
Sie müssen in der Tat die Kombination eines positiven Lookbehinds und eines negativen Lookaheads verwenden. Die richtige Syntax (Perl) lautet wie folgt:
%Vor%Sie können Look-Around-Assertions verwenden, um diese Fälle auszuschließen. So etwas sollte funktionieren:
%Vor% In Python können Sie mit der Methode finditer
nicht überlappende Musterübereinstimmungen einschließlich Start- und Spanneninformationen zurückgeben. Sie können dann die String-Offsets speichern, anstatt die Zeichenfolge neu zu erstellen.
Tags und Links regex perl bioinformatics