App-Egaz
view release on metacpan or search on metacpan
lib/App/Egaz/Command/lav2psl.pm view on Meta::CPAN
my ( @sizes, @q_begins, @t_begins );
my @align_pieces = $a_stanza =~ /\s*l (\d+ \d+ \d+ \d+ \d+)/g;
my $t_former_end;
my $q_former_end;
for my $align_piece (@align_pieces) {
unless ( $align_piece =~ /(\d+) (\d+) (\d+) (\d+) (\d+)/g ) {
Carp::croak "l-line error\n";
}
my ( $t_begin, $q_begin, $t_end, $q_end, $percent_id ) = ( $1, $2, $3, $4, $5 );
$t_begin--;
$q_begin--;
$percent_id = 0.01 * $percent_id;
my $bases = $q_end - $q_begin;
my $match_piece = App::Egaz::Common::round( $percent_id * $bases );
$match += $match_piece;
$mismatch += $bases - $match_piece;
if ( $t_former_end and $t_begin != $t_former_end ) {
$t_num_ins++;
$t_base_ins += $t_begin - $t_former_end;
}
if ( $q_former_end and $q_begin != $q_former_end ) {
$q_num_ins++;
$q_base_ins += $q_begin - $q_former_end;
( run in 0.311 second using v1.01-cache-2.11-cpan-05162d3a2b1 )