私のコード:
use strict;
use warnings;
my $seq = "ATGGT[TGA]G[TA]GC";
print "The sequences is $seq\n";
my %regex = (
AG => "R",
TC => "Y",
GT => "K",
AC => "M",
GC => "S",
AT => "M",
CGT => "B",
TGA => "D",
ACT => "H",
ACG => "V",
ACGT => "N"
);
$seq =~ s/\[(\w+)\]/$regex{$1}/g;
print "$seq\n";
私の理想的な出力は次のとおりです。ATGGTDGMGCしかし、上記のシナリオでは、ハッシュキーはTAではなくATであるため、実行されません。この問題を解決する1つの方法は、別のKey-Valueを追加することです:TA=>"M"。しかし、可能性が多すぎるため、すべてのキーと値のペアに対してこれを行うことはできません。
それで、この問題に対処するためのより良い方法はありますか?
ありがとう..