Bio-Gonzales
view release on metacpan or search on metacpan
t/Bio-Gonzales-Range-Cluster.t view on Meta::CPAN
use warnings;
use Test::More;
use Data::Dumper;
use Test::Fatal;
BEGIN {
eval "use 5.010";
plan skip_all => "perl 5.10 required for testing" if $@;
use_ok('Bio::Gonzales::Range::Cluster');
}
my $ranges = [
[ 417, '575', 7991 ],
[ 537, '829', 7992 ],
[ 839, '901', 7993 ],
[ 1103, '1232', 8322 ],
[ 1187, '1476', 8323 ],
[ 1485, '1601', 8324 ],
[ 1353, '1476', 8871 ],
[ 1485, '1741', 8872 ],
[ 304, '387', 10029 ],
[ 321, '626', 10030 ],
[ 639, '801', 10031 ],
[ 1249, '1474', 10695 ],
[ 1485, '1698', 10696 ],
[ 117, '230', 10733 ],
[ 239, '513', 10734 ],
[ 1485, '1730', 13110 ],
[ 217, '429', 13964 ],
[ 439, '683', 13965 ],
[ 39, '289', 14126 ]
];
$ranges = [ sort { $a->[0] <=> $b->[0] or $a->[1] <=> $b->[1] } @$ranges ];
{
my $cr = Bio::Gonzales::Range::Cluster->new;
for my $r (@$ranges) {
$cr->add_next_range($r);
}
my $result = $cr->finish->clusters;
is_deeply(
$result,
[
[
[ 39, '289', 14126 ],
[ 117, '230', 10733 ],
[ 217, '429', 13964 ],
[ 239, '513', 10734 ],
[ 304, '387', 10029 ],
[ 321, '626', 10030 ],
[ 417, '575', 7991 ],
[ 439, '683', 13965 ],
[ 537, '829', 7992 ],
[ 639, '801', 10031 ],
],
[ [ 839, '901', 7993 ], ],
[
[ 1103, '1232', 8322 ],
( run in 1.841 second using v1.01-cache-2.11-cpan-54e63673c56 )