Existiert eine reguläre Expression für die enzymatische Spaltung?

8

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:

%Vor%

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.

    
Peter Mortensen 04.12.2009, 19:18
quelle

4 Antworten

14

Sie müssen in der Tat die Kombination eines positiven Lookbehinds und eines negativen Lookaheads verwenden. Die richtige Syntax (Perl) lautet wie folgt:

%Vor%     
Gabriel Reid 04.12.2009, 19:30
quelle
6

Sie können Look-Around-Assertions verwenden, um diese Fälle auszuschließen. So etwas sollte funktionieren:

%Vor%     
Gumbo 04.12.2009 19:20
quelle
4

Sie können Lookaheads und Lookbehinds verwenden, um diese Inhalte zu vergleichen und trotzdem die korrekte Position zu erhalten.

%Vor%

Sollte am Ende nach einem R oder K aufteilen, dem kein P folgt.

    
Anon. 04.12.2009 19:23
quelle
1

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.

    
Joe Koberg 04.12.2009 19:25
quelle

Tags und Links