# List of headers # BLAST file # Output file (BLAST format) use strict; # Specify I/O my $headerfile = $ARGV[0]; my $blastfile = $ARGV[1]; my $outfile = $ARGV[2]; # open header file open (HEADERFILE, $headerfile) or die "Cannot open header file\n"; # open blast file open (BLASTFILE, $blastfile) or die "Cannot open BLAST file\n"; # open output file open(OUTPUT, ">$outfile"); my $ender = "Query="; while (my $headerline = ) { chomp $headerline; my $headercut = substr $headerline, 1; while (my $blastline = ) { if ($blastline =~ $headercut) { print $blastline; print OUTPUT $blastline; print until ( ($_ = ) =~ /$ender/i); print OUTPUT until ( ($_ = ) =~ /$ender/i); } } seek (BLASTFILE,0,0); } exit;