#!/usr/bin/perl; use warnings; use strict; use Bio::SearchIO; my $searchio = new Bio::SearchIO( -format => 'blast', -file => '/tmp/week13/blast_longform.out' ); while ( my $result = $searchio->next_result() ) { print "Query = " . $result->query_name() . "\n"; my $max_len = -1; my ($hit_name, $best_hsp); while ( my $hit = $result->next_hit ) { while ( my $hsp = $hit->next_hsp ) { my $len = $hsp->length( 'query' ); if ($len > $max_len) { $max_len = $len; $hit_name = $hit->name(); $best_hsp = $hsp; } } } print "Best hit = $hit_name\n"; print "Length = $max_len\n"; print $best_hsp->query_string . "\n"; print $best_hsp->hit_string ."\n"; }