Проверить расстояние между $barcode
и двумя строками, первая строка имеет одинаковые 12 символов спереди, а другая полностью другая, но обе дают одинаковое расстояние?perl: Text :: Fuzzy, другая строка, дающая то же расстояние редактирования?
#!/usr/bin/perl
use warnings;
use strict;
use Text::Fuzzy;
my $barcode = "TCCCTTGTCTCC";
foreach my $line1 (<DATA>) {
print "New string\n";
print "Barcode length:", length $barcode, "\nSequence length:",
length $line1, "\n";
my $tf = Text::Fuzzy->new($barcode);
my $ed = $tf->distance($line1);
print "Edit distance: ", $ed ,"\n\n";
}
__DATA__
TCCCTTGTCTCCCCTGATATCCTGTAAAATCCTTTTCTTCTGATGGGTGCCATTTGCCACTAGAGGAAGCTGAACAGACCTGACTACCTGGA
GACGAGACTGATCACCTGATATCCTGTAAAATCCTTTTCTTCTGATGGGTGCCATTTGCCACTAGAGGAAGCTGCAGACCTGACTACCTGGA
Выходы:
New string
Barcode length:12
Sequence length:93
Edit distance: 81
New string
Barcode length:12
Sequence length:93
Edit distance: 81
В любом случае, чтобы получить разницу в случае с заменами? – SSh
Я думаю, что вы ищете [самая длинная общая подстрока] (http://search.cpan.org/~dyacob/String-LCSS-0.12/lib/String/LCSS.pm) – keety