私は、既存のモジュールを使用し、十分にテストされたものを使用することが、そのようなタスクに進む方法だと思います。perl には多くのバイオ モジュールと使用法があることが知られているため、cpan ですばやく検索すると、Bio::Grepである可能性があります。良い助け
編集
出来ますか?はい、誰かが以前に作成したので可能ですが、単純な正規表現で行うのは簡単な作業ではないと思います
私は生物学の専門家ではないので、理解できる限り簡単な例を作成しようとしました
use strict;
use warnings;
use Data::Dumper;
my $str1 = 'ATGATCCTG';
my $str2 = 'TCGAGTGGCCATGAACGTGCCAATTG';
my @s1 = split '', $str1;
my $miss = 0;
my $pattern = '';
for (@s1){
my $r = $_;
if ($str2 =~ /$pattern$r/){
$pattern .= $r;
} else {
$miss++;
$pattern .= '[ATCG]'
}
}
##this is the pattern we used
print Dumper $pattern;
##withoud 5 nucleotides on both sides
#$str2 =~ m/($pattern)/g;
#5 nucleotides on both sides match pattern
$str2 =~ m/(\w{0,5}$pattern\w{0,5})/g;
##this is the match
print Dumper $1;
##number of missmatches
print Dumper $miss;
繰り返しますが、これが正確に行う方法であるかどうかはわかりません。また、特に大きなDNA配列を追跡する方法ではありませんが、上記のタスクでは問題ないと思います.