タンパク質配列の(理論上の)トリプシン切断には正規表現が存在しますか?トリプシンの切断規則は次のとおりです。RまたはKの後ですが、Pの前ではありません。
例:
配列の切断VGTKCCTKPESERMPCTEDYLSLILNR
により、次の3つの配列(ペプチド)が生成されます。
VGTK
CCTKPESER
MPCTEDYLSLILNR
2番目のペプチドではKの後に切断がないことに注意してください(PはKの後に来るため)。
Perlの場合(C#、Python、Rubyの場合も同様です):
my $seq = 'VGTRCCTKPESERMPCTEDYLSLILNR';
my @peptides = split /someRegularExpression/, $seq;
私はこの回避策を使用しました(カットマーカー=が最初にシーケンスに挿入され、Pがカットメーカーの直後にある場合は再度削除されます):
my $seq = 'VGTRCCTKPESERMPCTEDYLSLILNR';
$seq =~ s/([RK])/$1=/g; #Main cut rule.
$seq =~ s/=P/P/g; #The exception.
my @peptides = split( /=/, $seq);
ただし、これには文字列を変更する必要があり、非常に長くなる可能性があり、数百万のシーケンスが存在する可能性があります。正規表現をsplitで使用できる方法はありますか?はいの場合、正規表現は何になりますか?
テストプラットフォーム:WindowsXP64ビット。ActivePerl64ビット。perl -vから:MSWin32-x64-multi-thread用にビルドされたv5.10.0。