$seq = "MGPTSGPSLLLLLLTHLPLALGSP"; my ($hit, $frac, $eval) = blast($seq); print "$hit\t$frac\t$eval\n"; sub blast { use strict; use Bio::Tools::Run::StandAloneBlastPlus; use Bio::Seq; use Bio::SearchIO; my $seq = $_[0]; my $seq_obj = Bio::Seq->new(-id =>"test", -seq =>$seq); my $fac = Bio::Tools::Run::StandAloneBlastPlus->new( -db_name => 'db', ); my $report = $fac->blastp( -method => 'blastp', -query => $seq_obj, ); my $hit = $report->next_hit(); my $hit_name = $hit->name(); $hit_name =~ s/\w{3}//; $hit_name; my $hsp = $hit->next_hsp(); my $frac_cons = $hsp->frac_conserved( ['query'|'hit'|'total'] ); $frac_cons = $frac_cons*100; my $evalue = $hsp->evalue(); return ($hit_name, int($frac_cons), $evalue); }