#!/usr/bin/perl
use strict;
use Getopt::Long;

my $minlen;
my $minscore;
my $maxeval;
my $minidentity;

GetOptions( "minlen=i"=>\$minlen, "minscore=i"=>\$minscore, "maxeval=s"=>\$maxeval, "minidentity=s"=>\$minidentity );

$/ = ">";

while(<STDIN>) {
  my @lines = split(/\n/);
  my ($len,$score,$eval,$identity) = $lines[0] =~ /\s+len\s+(\d+).+\sscore\s+(\S+)\s+eval\s+(\S+)\s+identity\s+(\S+)/;
#  print "$len,$score,$eval,$identity $minscore\n";
  print if ( (defined($minlen) && $len >= $minlen)  || ( defined($minscore) && $score >= $minscore) || (defined($maxeval) && $eval <= $maxeval ) || (defined($minidentity) && $minidentity <= $identity ) );
}

